From 0b9fdac9fcf2d268ebb056451963fa5be8e51259 Mon Sep 17 00:00:00 2001 From: pedroll Date: Sun, 22 Jul 2018 19:37:03 +0200 Subject: [PATCH 01/37] Spanish translation RC5 --- app/src/main/res/values-es/strings.xml | 198 +++++++++++++++++++++---- 1 file changed, 172 insertions(+), 26 deletions(-) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 3a0eb9de6e..4c67a29273 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -11,6 +11,8 @@ DanaR dispositivo Bluetooth Usar siempre valor basal absoluto Por favor reinicia el teléfono o AndroidAPS desde ajustes de sistema, sino AndroidAPS no guardará registros (importantes para trazar y verificar que el algoritmo funcione correctamente) + Objetivo: + Meta: Inicio Verificar Unidades @@ -69,7 +71,7 @@ Objetivos OpenAPS MA Sinopsis - Perfil NS + Perfil NS Perfil simple Basal temporal Tratamientos @@ -81,6 +83,7 @@ APS General días + Duración mínima Restricciones Loop Loop @@ -191,6 +194,7 @@ Conectado Desconectado Ajustes de la bomba DanaR + Nightscout Acuerdo de licencia de usuario final No deben utilizarse para tomar decisiones médicas. NO HAY GARANTÍA PARA EL PROGRAMA, la extensión permitida por la legislación aplicable. Excepto cuando se indique de otra forma por escrito, los tenedores del copyright y / u otras partes proporcionan el programa \"tal cual\" sin garantía de ningún tipo, ya sea expresa o implícita, incluyendo, pero no limitado a, las garantías implícitas de COMERCIALIZACIÓN E IDONEIDAD PARA UN FIN DETERMINADO . TODO EL RIESGO EN CUANTO A LA CALIDAD Y RENDIMIENTO DEL PROGRAMA ES CON USTED. SI EL PROGRAMA TIENE UN ERROR, asume el coste de cualquier servicio, reparación o corrección. Entiendo y acepto @@ -217,7 +221,7 @@ Esperando resultado Números de teléfono permitidos XXXXXXXXXX +; + YYYYYYYYYY - Para entregar bolo %1$.2fU responder con código %2$s + Para entregar bolo %.2fU responder con código %s Bolo falló Bolo %.2fU entregado con éxito Bolo %.2fU enviado correctamente @@ -269,7 +273,7 @@ Configuración de visualización y monitoreo, y el análisis de los basales y ratios Comprobar que los datos de BG están disponibles en Nightscout, y que los datos de la bomba de insulina se están subiendo Empezar con bucle abierto - Ejecutar en modo de Loop abierto durante unos días, y aceptar manualmente las basales temporales. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) + Ejecutar en modo de Loop abierto durante unos días, y aceptar manualmente las basales temporales Entender el Loop abierto, incluidas las recomendaciones de basales temporales Sobre la base de esa experiencia, decidir valores de máximo basal, y ajustar la bomba y preferencias Iniciar el bucle cerrado con suspensión con baja glucosa @@ -296,8 +300,8 @@ Asistente Asistente configuración No permitidos ajustes basales remotos - Para iniciar basal %1$.2fU/h responder con código %2$s - Basal temporal %1$.2fU/h para %2$d min iniciada correctamente + Para iniciar basal %.2fU/h responder con código %s + Basal temporal %.2fU/h para %d min iniciada correctamente Fallo inicio basal temporal Para parar basal temporal responder con código %s Basal temporal cancelada @@ -330,12 +334,12 @@ Sueco Max U/h para el perfil base "Max IOB basal OpenAPs puede emitir " - Para enviar calibracion %1$.2f responder con código %2$s + Para enviar calibración %.2f responder con código %s Entregaré %.2fU Duración de acitividad de insulina - %1$.2f limitado a %2$.2f + %.2f limitado a %.2f no permitido el mando remoto - Para cancelar loop por %1$d minutos responde con código %2$s + Para cancelar loop por %d minutos responde con código %s Rellenar/Llenar Llenar/Rellenar cantidad de insulina estándar mg/dl @@ -416,13 +420,13 @@ Usa siempre delta media corto en vez de delta simple Recomendado si los datos de origen no filtrados como xDrip son inestables. Ajustes avancados - Modelo: %1$02X Protocolo: %2$02X Codigo: %3$02X + Modelo: %02X Protocolo: %02X Codigo: %02X Perfiles "Valor por defecte: 3 Esto es valor de seguridad establecido pos OpenAPS. Limita tu base al máximo de x3 de tu base máxima. No necesitas cambiar esto, pero debes tener en cuenta, que esto se esta discutiento sobre „3 x max diario; 4x actual“ pro razones de seguridad. " "Ajuste pro defecto: 4 Esto es la otra mitad de los ajustes de seguridad de OpenAPS y la otra mitad de \"3x max diario, 4x actual\". Esto significa, que tu base no puede ser mas alta que el numero que multiplica tu base. Esto es para evitar que las personas se encuentren en situaciones peligrosas por aumentar mucho la base sin entender el algoritmo del sistema. El ajuste por defecto es x4. La mayoría de las personas nunca tendra que cambiar estos ajustes, si no debe modificar otros ajustes en la terapia. " "Ajuste por defecto: 1.2\nEsto es un multilicador para autosens (y pronto autotune) para poner un 20% limite máximo a la cota de autosens ratio, la que determina cuantos ajustes autosens puede hacer a la base, a cuanto puede ajustar ISF y a cuanto puede bajar el objective de glucosa. " Ajuste pro defecto: 0.7\nEl otro lade de limitaciones de seguridad de autosens, limitando a cuanto puede bajar la base y a cuanto puede subir ISF y BG objectivos. - Ajuste por defecto: true\nEsto se usa para permitir autosens a ajustar objectivos BG ademas de ISF y bases. + Ajuste por defecto: true\nEsto se usa para permitir autosens a ajustar objectivos BG además de ISF y bases. Ajuste por defecto: 2 \nDormir bolo es iniciado después de proveder un bolo para comida, así el loop no interactuará con low temps cuando acabas de comer. El ajuste pro defecto es 2; quiere decir con el DIA de 3 h el bolo será dormido por fases por 1.5 h (3DIA/2). "Ajustes pro defecto: 3.0\nEsto es un ajuste pro defecto para la absorción de carbohidratos pro 5 minutos. Por defecto se espera 3mg/dl/5min. Esto afecta la velocidad de reducción de COB y cuanta absorción se usa para calcular el BG futuro previsto, si la glucosa diminua mas de lo previsto o aumenta mas de lo previsto. " "Atención!\nNormalment no tienes que editar los valores a continuación. Por favor PINCHA AQUI y LEE el texto y PROCURA ENTENDER antes de cambiar alguno de los valores. " @@ -431,6 +435,7 @@ Copiado al clipboard mostrar log Calibración + Calibración Mandar calibración %.1f a xDrip? xDrip+ no instalado Calibración mandada a xDrip @@ -482,6 +487,8 @@ Adulto Por favor elige edad del paciente para emplear limites de seguridad Glimp + Aparato parece no soportar optimización de bateria whitelisting! + Por favor conceda permiso %s necesita optimización de bateria whitelisting para funcionar bien Loop desactivado desactivado (%d m) @@ -510,6 +517,7 @@ Novorapid, Novolog, Humalog Fiasp INS + Insulina acción rápida prolongada activar superbolo en wizard Activar función superbolo en wizard. No lo actives hasta que hayas aprendido lo que realmente hace. PUEDE CAUSAR SOBREDOSIS DE INSULINA usandolo sin precaución! IOB @@ -569,6 +577,8 @@ UPLD BAS EXT + Bloqueo de pantalla + Bloqueo Al activar autosens recuerda editar todos carbohidratos comidos. Si no, sensibilidad será calculada incorrectamente !!! Sensitivity WeightedAverage OK @@ -588,7 +598,7 @@ Free-Peak Oref Rapid-Acting Oref Ultra-Rapid Oref - DIA de %1$f demasiado corto - usando %2$f! + DIA de %f demasiado corto - usando %f! ACTIVAR PERFIL Fecha INVALIDO @@ -682,12 +692,12 @@ Estado Actividad Ninguna conexión por %d min - %1$d%% (%2$d min restan) + %d%% (%d min restan) Apagado por error Apagado por usario Funcionando Cancelando TBR - Poniendo TBR (%1$d%% / %2$d min) + Poniendo TBR (%d%% / %d min) Emitiendo bolo (%.1f U) Actualizando "Acción no disponible en la bomba " @@ -695,11 +705,11 @@ "Uso inseguro: la bomba usa base diferente a la primera. El loop ha sido apagado. Elige primero perfil en la bomba y acualiza. " Un bolo de mismo valor ha sido dado durante el pasado minuto. Para evitar bolos dobles y asegurarse contra bugs esto no es permitido. Ahora - Leiendo historia bomba + Leyendo historia bomba " Activando perfil base " "Nivel del deposito bajo " Bateria casi agotada - La bomba muesta el error E%1$d: %2$s + La bomba muesta el error E%d: %s Bajo Vacio Historial @@ -708,7 +718,9 @@ Alerta TBR cancelada, advertencia acceptada Emisión del bolo fallada. Ningún bolo se ha emitido. Para asegurarse, por favor controle la bomba para evitar bolo doble. Para evitar bugs no se reinician bolos automaticamente. - "Solo %1$.2f U del bolo mandado de %2$.2f U ha sido emitido por causa de un error. Por favorn controla la bomba para confirmar y toma acciones apropiadas. " + "Solo %.2f U del bolo mandado de %.2f U ha sido emitido por causa de un error. Por favorn controla la bomba para confirmar y toma acciones apropiadas. " + "Fallo de emitir bolo y de controlar historical de la bomba.Por favor controla manualmente y crea un record en Careportal si el bolo ha sido emitido. " + Reestablecido conexión fallada. "No hay suficiente insulina en el deposito para emitir bolo. " "Error al emitir bolo prolongado. " Bomba no alcanzable durante [min] @@ -719,7 +731,7 @@ Actualizando estado bomba Rechazando temporal alta ya que el calculo no consideró los cambios recientes en el historial de la bomba El bolus se administró con éxito, pero no se pudo agregar la entrada al tratamiento. Esto puede suceder si se administran dos bolos pequeños del mismo tamaño en los últimos dos minutos. Verifique el historial de la bomba y las entradas de tratamiento y use Careportal para agregar entradas faltantes. Asegúrese de no agregar ninguna entrada para el mismo minuto exacto y la misma cantidad. - El historial de la bomba ha cambiado después de que se realizó el cálculo del bolo. El bolo no fue entregado. Por favor, vuelva a calcular si aún se necesita un bolo. + El historial de la bomba ha cambiado después de que se realizó el cálculo del bolo. El bolo no fue entregado. Por favor, vuelva a calcular si aún se necesita un bolo. Si se requiere la misma cantidad de bolo, espere dos minutos ya que los bolos con la misma cantidad se bloquean cuando se solicita con menos de dos minutos entre ellos por seguridad (independientemente de si se administraron o no). Leyendo perfil basal Inicio TT Hipo Ninguna acción seleccionada, nada sucederá @@ -728,10 +740,11 @@ Insulina activa IOB Desviaciones Sensibilidad + Autorelleno de lecturas perdidas de BG El Bolo solo será anotado Categoría Subcategoría - No administrar Bolo, solo anotar + No administrar Bolo, solo anotar min TT Inicio TT Actividad @@ -763,7 +776,7 @@ Conectar automáticamente cuando se abre AndroidAPS, antes de solicitar ningún comando de bomba, para reducir el retraso de la conexión Estadísticas Estado de Mantener-Activo - %1$ds expira en %2$s + %ds expira en %s Adulto resistente a la insulina Habilitar SMB durante 6 h después de Carbohidratos, incluso con 0 COB. Solo posible con fuente BG con buen filtrado de datos como G5 Habilitar SMB siempre de forma independiente a los Bolos. Solo posible con fuente BG con buen filtrado de datos como G5 @@ -791,10 +804,14 @@ Companion app parece no instalada! ¡La aplicación Companion no parece estar instalada! Permanecer siempre conectado + Usar cancelación Basal Temporal (TBR) real + Actualmente, cancelar una Basal Temporal TBR (crea una alarma de bomba) en su lugar establecer el 90% durante 1 minuto Advertencia W31: Cartucho insulina bajo Advertencia W32: Bateria baja Advertencia W33: Fecha/hora inválida Advertencia W34: Final de garantía + Advertencia W36: Basal Temporal cancelada + Warning W38: Bolo cancelado Warning W39: Adevertencia tiempo de prestamo SMB administrado por bomba Inicializando @@ -839,18 +856,18 @@ Loop cerrado desabilitado en preferencias Autosens desabilitado en preferencias SMB desabilitado en preferencias - limitando max basal rate a %1$.2f U/h debido a %2$s + limitando max basal rate a %.2f U/h debido a %s Limite de la bomba Tiene que ser un valor positivo Multiplicador basal máximo Multiplicador diario basal máximo Un Bolo entregado en los últimos 3 minutos Basal establecida correctamente - Limitando porcentaje máximo de tasa a %1$d%% debido a %2$s - "Limitando el bolo a %1$.1f U debido a %2$s " - Limitando max IOB to %1$.1f U debido a %2$s - Limitando carbs to %1$d g debido a %2$s - Limitando IOB to %1$.1f U debido a %2$s + Limitando porcentaje máximo de tasa a %d%% debido a %s + "Limitando el bolo a %.1f U debido a %s " + Limitando max IOB to %.1f U debido a %s + Limitando carbs to %d g debido a %s + Limitando IOB to %.1f U debido a %s Valor máximo en preferencias Limite estricto uso no seguro @@ -870,7 +887,7 @@ "Tiempo en el que cualquier comida se considera absorbida. Los carbohidratos restantes serán cortados. " Tiempo Mostrar el campo notas en dialogos de tratamientos - Solicitado: %1$.2fU Entregado: %2$.2fU Codigo de error: %3$d + Solicitado: %.2fU Entregado: %.2fU Codigo de error: %d Primer incremento insulina Segundo incremento insulina Tercer incremento insulina @@ -923,4 +940,133 @@ Mostrar configuración Configuración general Rumano + Botones para acceder rápidamente a las funciones comunes + Ingrese entradas de libro de registro avanzadas. + Utilizado para configurar los plugins activos + Programa de aprendizaje + Muestra los ajustes preestablecidos de alimentos definidos en Nightscout + Ajuste de insulina para Humalog y NovoRapid / NovoLog + Ajuste de insulina para Fiasp + Le permite definir el pico de actividad de la insulina y solo debe ser utilizado por usuarios avanzados + Active o desactive la implementación que desencadena el Loop. + Sincroniza sus datos con Nightscout + Estado del algoritmo en 2016 + Estado del algoritmo en 2017 + Algoritmo más reciente para usuarios avanzados + Muestra el estado actual de su Loop y botones para las acciones más comunes + Muestra una notificación ongoing con una breve descripción de lo que está haciendo su Loop + Define un perfil que está disponible fuera de línea. + Proporciona el perfil que ha definido en Nightscout + Define un perfil con solo un bloque de tiempo. + Integración de la bomba para las bombas Comcu-Chek Combo, requiere tener Ruffy instalado + Integración de bomba para bombas DANA Diabecare R + Integración de bomba para bombas domésticas DANA Diabecare R + Integración de bomba para bombas DANA Diabecare R con firmware actualizado + Pump integration for DANA Diabecare RS pumps + Integración de la bomba para las bombas Accu-Chek Insight requiere la instalación de SightRemote + Integración de bomba para personas que realizan múltiples inyecciones diarias (MDI) para su terapia de diabetes + Integración de bomba para bombas que aún no tienen ningún controlador (Open Loop) + " 179/5000 La sensibilidad se calcula de la misma manera que Oref0, pero puede especificar un lapso de tiempo para el pasado. La absorción mínima de carbohidratos se calcula a partir del tiempo máximo de absorción de carbohidratos en las preferencias." + La sensibilidad se calcula a partir de datos de 24 horas en el pasado y los carbohidratos (si no se absorben) se cortan después del tiempo especificado en las preferencias. + La sensibilidad se calcula a partir de datos de 8 h en el pasado y los carbohidratos (si no se absorben) se cortan después del tiempo especificado en las preferencias. El complemento también calcula UAM. + La sensibilidad se calcula como un promedio ponderado de las desviaciones. Las desviaciones más nuevas tienen un mayor peso. La absorción mínima de carbohidratos se calcula a partir del tiempo máximo de absorción de carbohidratos de las preferencias. Este algoritmo es el más rápido en los siguientes cambios de sensibilidad. + Recibe los valores de BG de la aplicación parcheada Dexcom G5. + Recibe los valores de BG de Glimp. + Recibe los valores de BG del 600SeriesAndroidUploader + Descarga los datos de BG de Nightscout + Recibe los valores de BG de xDrip. + Guarda todos los tratamientos que se hicieron + Monitorice y controle AndroidAPS con su reloj WearOS. + Muestra información sobre tu Loop en tu cara de reloj xDrip. + Control remoto de AndroidAPS utilizando comandos de SMS. + Perfil NS + ¿Qué bomba te gustaría usar con AndroidAPS? + ¿Qué complemento debería usarse para el tratamiento? + ¿Qué perfil debería usar AndroidAPS? + ¿Qué algoritmo de APS debería hacer ajustes en la terapia? + Estos son algunos complementos generales que pueden serle útiles. + ¿Qué restricciones se aplican? + Use esto para activar la integración de Loop de AndroidAPS. + ¿De dónde debería obtener AndroidAPS sus datos? + Polski + ¡Debes leer la wiki y subir a maxIOB para que las SMB funcionen bien! Un buen comienzo es maxIOB = mealbolus promedio + 3 x máximo diario basal + Eliminar tratamientos en el futuro + ¿Qué tipo de insulina estás usando? + ¿Qué algoritmo de sensibilidad se debe usar? + Sensibilidad Oref1 + Mantener la pantalla encendida + Evite que Android apague la pantalla. Consumirá mucha energía cuando no esté enchufado a una toma de corriente. + Configuración de carga de Poctech + Valor basal reemplazado por el valor máximo soportado + No administrar solo anotar + Autorelleno de valores BG omitidos. + Siguiente + Anterior + "Asistente de configuración " + TERMINAR + Elige tu idioma + idioma + Irish + Habilitar NSClient + Bienvenido al asistente de configuración. Lo guiará a través del proceso de configuración + Configuración de la bomba + Leer estado + Los cambios deben hacerse en NS + Omitir asistente de configuración + Presione el botón a continuación para permitir que AndroidAPS sugiera / realice cambios basales + Presione el botón de abajo para habilitar Objetivos. Mire en la pestaña Objetivos, después de terminar este asistente, para que AndroidAPS sea completamente funcional. + Activar objetivos + Configurar el plugin APS + Configurar el plugin de sensibilidad + El plugin de sensibilidad se usa para la detección de sensibilidad y el cálculo de COB. Para más información, visite: + NSClient maneja la conexión a Nightscout. Puede omitir esta parte ahora, pero no podrá pasar objetivos hasta que la configure. + Recuerde: los nuevos perfiles de insulina requieren DIA al menos 5 h. DIA 5-6h en el nuevo perfil es igual a DIA 3h en los viejos perfiles de insulina. + Configurar fuente BG + Por favor seleccione la fuente del perfil. Si el paciente es un niño, debe usar el perfil NS. Si no hay nadie que lo siga en Nightscout, probablemente prefiera el perfil Local. Recuerde que solo está seleccionando el origen del perfil. Para usarlo debes activarlo ejecutando el cambio de Perfil + Seleccione uno de los algoritmos disponibles. Se ordenan desde el más antiguo al más nuevo. Algoritmo más nuevo es generalmente más poderoso y más agresivo. Por lo tanto, si eres un looper nuevo, probablemente comiences con AMA y no con el último. No olvide leer la documentación de OpenAPS y configurarla antes de su uso. + Comience su primer objetivo + Permisos + Preguntar por permisos + La aplicación necesita permiso de ubicación para escanear BT + La aplicación necesita permiso de almacenamiento para poder almacenar archivos de registro + "Solicitud " + Configurar el complemento de Insulina + Salir + "Opciones de usuario " + Formato de tiempo mostrado + Botón de desplazamiento + Beep on button press + Alarma + Sonido + Vibrar + Ambos + LCD en tiempo [s] + Luz de fondo a tiempo [h] + Unidades de glucosa + Parada (horas) + Depósito bajo (Unidades) + Guardar las opciones en bomba + Encendido + Apagado + Abrir navegación + Cerrar navegación + Preferencias del plugin + Completado, bien hecho! + Aún no completado + Tiempo transcurrido + %1$d. Objetivo + Recibe valores de BG de la aplicación Poctech + Objetivos temporales Altos (high TT) aumentan la sensibilidad + = 100]]> + Objetivos temporales Bajos (low TT) disminuye la sensibilidad + = 100]]> + La configuración de la bomba no válida, verifique la documentación y verifique que el menú Información rápida se llame \"Quick Info\" utilizando el software de configuración 360. + Personalizar + "Gran diferencia de tiempo " + Gran diferencia de tiempo: El tiempo en la bomba está desfasado en más de 1,5 horas. Ajuste la hora manualmente en la bomba y asegúrese de que la lectura del historial de la bomba no cause un comportamiento inesperado. Si es posible, elimine el historial de la bomba antes de cambiar la hora o deshabilite el ciclo cerrado para un DIA después de la última entrada incorrecta del historial, pero como mínimo un DIA a partir de ahora. + Configuraciones almacenadas encontradas + Atención: si activa y conecta una bomba de hardware, AndroidAPS copiará las configuraciones basales del perfil a la bomba, sobrescribiendo la tasa basal existente almacenada en la bomba. Asegúrate de tener la configuración basal correcta en AndroidAPS. Si no está seguro o no desea sobrescribir la configuración básica de su bomba, presione cancelar y repita el cambio a la bomba más adelante. + Datos de tratamiento incompletos + o se pudo agregar un tratamiento (insulina: %.2f, carbs: %d, en: %s) a los tratamientos. Verifique y añada manualmente un registro según corresponda. + ECarbs generados con cantidad: %1$dg, duración: %2$dh, demora: %3$dm From 325142cedd0b5cfcd0f0c93fb3c02fcc4a982a31 Mon Sep 17 00:00:00 2001 From: Nico Schmitz Date: Wed, 25 Jul 2018 12:16:47 +0200 Subject: [PATCH 02/37] Use positional format strings in Chinese translation --- app/src/main/res/values-zh-rCN/strings.xml | 26 +++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index af5cf76930..563f0e3c84 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -249,8 +249,8 @@ 等待结果 允许的电话号码 +XXXXXXXXXX;+YYYYYYYYYY - 要输入大剂量胰岛素 %.2fU 请回复 %s - 要发送校准值 %.2f 请回复 %s + 要输入大剂量胰岛素 %1$.2fU 请回复 %2$s + 要发送校准值 %1$.2f 请回复 %2$s 大剂量输注失败 大剂量 %.2fU 输注成功了 将要输注 %.2fU @@ -321,13 +321,13 @@ 闭环已经被启用 禁用闭环 启用闭环 - %.2f 仅限于 %.2f + %1$.2f 仅限于 %2$.2f 数值 %s 超出限制 远程基础率设置没有被允许 远程命令没有被允许 - 开始基础率 %.2fU/h 请回复如下代码 %s - 暂停闭环 %d 分钟,请回复 %s - 临时基础率 %.2fU/h for %d 分钟,启用成功 + 开始基础率 %1$.2fU/h 请回复如下代码 %2$s + 暂停闭环 %1$d 分钟,请回复 %2$s + 临时基础率 %1$.2fU/h for %2$d 分钟,启用成功 临时基础率启用失败 为了停止现在的临时基础率请回复 %s 临时基础率取消了 @@ -447,7 +447,7 @@ 总是使用短时间的平均增量代替简单增量 当数据来自没有过滤的源头时,例如 xDrip 偶尔出现噪音数据. 高级设置 - 模块: %02X 协议: %02X 代码: %02X + 模块: %1$02X 协议: %2$02X 代码: %3$02X Profile current_basal_safety_multiplier Default value: 4 This is the other half of the key OpenAPS safety caps, and the other half of “3x max daily; 4x current” of the safety caps. This means your basal, regardless of max basal set on your pump, cannot be any higher than this number times the current level of your basal. This is to prevent people from getting into dangerous territory by setting excessively high max basals before understanding how the algorithm works. Again, the default is 4x; most people will never need to adjust this and are instead more likely to need to adjust other settings if they feel like they are “running into” this safety cap. @@ -694,7 +694,7 @@ Free-Peak Oref Rapid-Acting Oref Ultra-Rapid Oref - DIA of %s too short - using %s instead! + DIA of %1$s too short - using %2$s instead! 激活配置文件 日期 不合规 @@ -813,15 +813,15 @@ 状态 活动 %d 分钟无连接 - %d%% (剩余 %d 分钟) - %.1f %s (%s) + %1$d%% (剩余 %2$d 分钟) + %1$.1f %2$s (%3$s) 正在初始化 断开连接 由于错误导致泵暂停了 被用户暂停(Suspended) 正在运行 正在取消临时基础率(TBR) - 正在设置临时基础率(TBR) (%d%% / %d 分钟) + 正在设置临时基础率(TBR) (%1$d%% / %2$d 分钟) 正在输注大剂量 (%.1f U) 正在刷新中 Never @@ -836,7 +836,7 @@ 正在设置基础率配置文件 泵储药器快没胰岛素了 泵电池电量低 - 泵上正在显示这个错误 E%d: %s + 泵上正在显示这个错误 E%1$d: %2$s 长按这个按钮,读取泵的错误历史 长按这个按钮,读取泵的TDD历史 最小值: %3.1f U @@ -855,7 +855,7 @@ 临时基础率取消告警被确认了 找不到泵,大剂量输注失败 大剂量输注失败,看起来好像没有大剂量被输注。安全起见,请检查泵,避免重复输注大剂量。软件考虑安全因素,不会再自动重试大剂量输注. - 由于遇到一个错误,只有 %.2f U of the requested bolus of %.2f U 输注成功了. 请在泵上检查并核实,看是否需要采取适当的措施. + 由于遇到一个错误,只有 %1$.2f U of the requested bolus of %2$.2f U 输注成功了. 请在泵上检查并核实,看是否需要采取适当的措施. 输注大剂量和核实泵的历史失败,请检查泵,如果大剂量已经输注成功,请在记录Tab里手动创建一个大剂量记录. 正在从连接中断中恢复 储药器里没有足够的胰岛素可用于大剂量输注了 From 4fa78ecee50a59794bbda959b9f51e0a05f00656 Mon Sep 17 00:00:00 2001 From: Nico Schmitz Date: Wed, 25 Jul 2018 12:28:28 +0200 Subject: [PATCH 03/37] Fix strings.xml --- app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f908818749..5ac3b1f4b6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1165,7 +1165,7 @@ Attention: If you activate and connect to a hardware pump, AndroidAPS will copy the basal settings from the profile to the pump, overwriting the existing basal rate stored on the pump. Make sure you have the correct basal setting in AndroidAPS. If you are not sure or don\'t want to overwrite the basal settings on your pump, press cancel and repeat switching to the pump at a later time. Treatment data incomplete - A treatment (insulin: %.2f, carbs: %d, at: %s) could not be added to treatments. Please check and manually add a record as appropriate. + A treatment (insulin: %1$.2f, carbs: %2$d, at: %3$s) could not be added to treatments. Please check and manually add a record as appropriate. Generated eCarbs with amount: %1$dg, duration: %2$dh, delay: %3$dm key_plugin_stats_report_timestamp No autosens data available From 0a29e8a055411bd482f3135bd38f1120c0eec72e Mon Sep 17 00:00:00 2001 From: Tanja Schmidt Date: Wed, 25 Jul 2018 22:04:44 +0200 Subject: [PATCH 04/37] delete now value even if empty/deleted --- .../java/info/nightscout/androidaps/PreferencesActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java b/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java index a8def0ebf9..349828b7cb 100644 --- a/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java @@ -86,7 +86,7 @@ public class PreferencesActivity extends PreferenceActivity implements SharedPre pref.setSummary("******"); } else if (pref.getKey().equals(MainApp.gs(R.string.key_danars_name))) { pref.setSummary(SP.getString(R.string.key_danars_name, "")); - } else if (editTextPref.getText() != null && !editTextPref.getText().equals("")) { + } else if (editTextPref.getText() != null ) { ((EditTextPreference) pref).setDialogMessage(editTextPref.getDialogMessage()); pref.setSummary(editTextPref.getText()); } else if (pref.getKey().contains("smscommunicator_allowednumbers") && TextUtils.isEmpty(editTextPref.getText().trim())) { From 1e68165c82656d67e038d2a4e93528c8fd01d554 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 27 Jul 2018 11:35:32 +0200 Subject: [PATCH 05/37] AUTOSENS logging cleanup --- app/src/main/java/info/nightscout/androidaps/Constants.java | 3 +++ .../androidaps/plugins/IobCobCalculator/AutosensData.java | 2 +- .../androidaps/plugins/IobCobCalculator/AutosensResult.java | 4 +++- .../plugins/IobCobCalculator/IobCobCalculatorPlugin.java | 2 +- .../plugins/IobCobCalculator/IobCobOref1Thread.java | 2 +- .../androidaps/plugins/IobCobCalculator/IobCobThread.java | 2 +- .../plugins/Sensitivity/AbstractSensitivityPlugin.java | 3 ++- .../androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java | 3 ++- .../plugins/Sensitivity/SensitivityOref0Plugin.java | 3 ++- .../plugins/Sensitivity/SensitivityOref1Plugin.java | 3 ++- .../plugins/Sensitivity/SensitivityWeightedAveragePlugin.java | 3 ++- 11 files changed, 20 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index a66d4e77f1..b03f896d0b 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -67,4 +67,7 @@ public class Constants { //SMS Communicator public static final long SMS_CONFIRM_TIMEOUT = T.mins(5).msecs(); + + // logging + public static final String AUTOSENS = "AUTOSENS"; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java index dd2c50d8c9..95a3976155 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java @@ -26,7 +26,7 @@ import info.nightscout.utils.SP; */ public class AutosensData implements DataPointWithLabelInterface { - private static Logger log = LoggerFactory.getLogger("AUTOSENS"); + private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); public void setChartTime(long chartTime) { this.chartTime = chartTime; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java index c83095e620..92a5ad1217 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java @@ -5,11 +5,13 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 06.01.2017. */ public class AutosensResult { - private static Logger log = LoggerFactory.getLogger("AUTOSENS"); + private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); //default values to show when autosens algorithm is not called public double ratio = 1d; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java index d124bfea20..daabef245a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java @@ -49,7 +49,7 @@ import static info.nightscout.utils.DateUtil.now; */ public class IobCobCalculatorPlugin extends PluginBase { - private Logger log = LoggerFactory.getLogger("AUTOSENS"); + private Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); private static IobCobCalculatorPlugin plugin = null; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java index 1c8c3f925a..a51e0e95f4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java @@ -43,7 +43,7 @@ import static java.util.Calendar.MINUTE; */ public class IobCobOref1Thread extends Thread { - private static Logger log = LoggerFactory.getLogger("AUTOSENS"); + private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); private final Event cause; private IobCobCalculatorPlugin iobCobCalculatorPlugin; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java index ebd35b01e3..3c072abb99 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java @@ -42,7 +42,7 @@ import static info.nightscout.utils.DateUtil.now; */ public class IobCobThread extends Thread { - private static Logger log = LoggerFactory.getLogger("AUTOSENS"); + private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); private final Event cause; private IobCobCalculatorPlugin iobCobCalculatorPlugin; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/AbstractSensitivityPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/AbstractSensitivityPlugin.java index ab657ed710..3e43b6a3d0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/AbstractSensitivityPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/AbstractSensitivityPlugin.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.R; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; @@ -16,7 +17,7 @@ import info.nightscout.utils.SafeParse; public abstract class AbstractSensitivityPlugin extends PluginBase implements SensitivityInterface { - private static final Logger log = LoggerFactory.getLogger("AUTOSENS"); + private static final Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); public AbstractSensitivityPlugin(PluginDescription pluginDescription) { super(pluginDescription); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java index c90c1948d1..e5949e7298 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java @@ -11,6 +11,7 @@ import java.util.Date; import java.util.List; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; @@ -28,7 +29,7 @@ import info.nightscout.utils.SP; */ public class SensitivityAAPSPlugin extends AbstractSensitivityPlugin { - private static Logger log = LoggerFactory.getLogger("AUTOSENS"); + private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); static SensitivityAAPSPlugin plugin = null; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java index 81ceca968b..142feba8da 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java @@ -11,6 +11,7 @@ import java.util.Date; import java.util.List; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; @@ -27,7 +28,7 @@ import info.nightscout.utils.DateUtil; */ public class SensitivityOref0Plugin extends AbstractSensitivityPlugin { - private static Logger log = LoggerFactory.getLogger("AUTOSENS"); + private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); static SensitivityOref0Plugin plugin = null; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java index d6370c03a4..4eb67cc69f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java @@ -11,6 +11,7 @@ import java.util.Date; import java.util.List; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; @@ -27,7 +28,7 @@ import info.nightscout.utils.DateUtil; */ public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { - private static Logger log = LoggerFactory.getLogger("AUTOSENS"); + private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); static SensitivityOref1Plugin plugin = null; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java index d4b9f58ab5..0a98b19289 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java @@ -9,6 +9,7 @@ import java.util.Date; import java.util.List; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; @@ -26,7 +27,7 @@ import info.nightscout.utils.SP; */ public class SensitivityWeightedAveragePlugin extends AbstractSensitivityPlugin { - private static Logger log = LoggerFactory.getLogger("AUTOSENS"); + private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); private static SensitivityWeightedAveragePlugin plugin = null; From 3d57d52271f522ed64741e85a0ab581ec0b275e2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 27 Jul 2018 11:40:27 +0200 Subject: [PATCH 06/37] EVENTS logging cleanup --- app/src/main/java/com/squareup/otto/LoggingBus.java | 3 ++- app/src/main/java/info/nightscout/androidaps/Constants.java | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/squareup/otto/LoggingBus.java b/app/src/main/java/com/squareup/otto/LoggingBus.java index 3417e7dd41..13b69c5029 100644 --- a/app/src/main/java/com/squareup/otto/LoggingBus.java +++ b/app/src/main/java/com/squareup/otto/LoggingBus.java @@ -10,6 +10,7 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.events.Event; /** Logs events has they're being posted to and dispatched from the event bus. @@ -18,7 +19,7 @@ import info.nightscout.androidaps.events.Event; * after 10s (after startup) and then again every 60s. * */ public class LoggingBus extends Bus { - private static Logger log = LoggerFactory.getLogger(LoggingBus.class); + private static Logger log = LoggerFactory.getLogger(Constants.EVENTS); private static long everyMinute = System.currentTimeMillis() + 10 * 1000; private Map> event2Receiver = new HashMap<>(); diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index b03f896d0b..3bdfbecfbc 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -70,4 +70,5 @@ public class Constants { // logging public static final String AUTOSENS = "AUTOSENS"; + public static final String EVENTS = "EVENTS"; } From bfccda21cb05d98ac8dee3a22dcddb8cc6bae094 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 27 Jul 2018 12:17:29 +0200 Subject: [PATCH 07/37] QUEUE logging cleanup --- .../info/nightscout/androidaps/Config.java | 2 +- .../info/nightscout/androidaps/Constants.java | 1 + .../nightscout/androidaps/data/Profile.java | 10 ++++- .../androidaps/queue/CommandQueue.java | 45 ++++++++++++------- .../androidaps/queue/QueueThread.java | 40 ++++++++++------- .../androidaps/queue/commands/Command.java | 9 ++++ .../queue/commands/CommandBolus.java | 9 ++++ .../commands/CommandCancelExtendedBolus.java | 8 ++-- .../commands/CommandCancelTempBasal.java | 10 ++++- .../queue/commands/CommandExtendedBolus.java | 8 ++-- .../queue/commands/CommandLoadEvents.java | 9 ++++ .../queue/commands/CommandLoadHistory.java | 10 ++++- .../queue/commands/CommandLoadTDDs.java | 11 ++++- .../queue/commands/CommandReadStatus.java | 9 ++++ .../queue/commands/CommandSMBBolus.java | 20 ++++++--- .../queue/commands/CommandSetProfile.java | 10 ++++- .../commands/CommandSetUserSettings.java | 14 +++--- .../commands/CommandTempBasalAbsolute.java | 7 +-- .../commands/CommandTempBasalPercent.java | 7 +-- 19 files changed, 172 insertions(+), 67 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index a12e0a9ea0..fd823a22a3 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -33,9 +33,9 @@ public class Config { public static final boolean logNSUpload = true; public static final boolean logPumpActions = true; public static final boolean logCongigBuilderActions = true; + public static final boolean logQueue = true; public static final boolean logAutosensData = false; public static final boolean logEvents = false; - public static final boolean logProfile = false; // DanaR specific public static final boolean logDanaBTComm = true; diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index 3bdfbecfbc..aad4444042 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -71,4 +71,5 @@ public class Constants { // logging public static final String AUTOSENS = "AUTOSENS"; public static final String EVENTS = "EVENTS"; + public static final String QUEUE = "QUEUE"; } diff --git a/app/src/main/java/info/nightscout/androidaps/data/Profile.java b/app/src/main/java/info/nightscout/androidaps/data/Profile.java index 7412f8ce4c..748710f17a 100644 --- a/app/src/main/java/info/nightscout/androidaps/data/Profile.java +++ b/app/src/main/java/info/nightscout/androidaps/data/Profile.java @@ -52,6 +52,14 @@ public class Profile { protected Profile() { } + @Override + public String toString() { + if (json != null) + return json.toString(); + else + return "Profile has no JSON"; + } + // Constructor from profileStore JSON public Profile(JSONObject json, String units) { init(json, 100, 0); @@ -295,8 +303,6 @@ public class Profile { Integer getShitfTimeSecs(Integer originalTime) { Integer shiftedTime = originalTime + timeshift * 60 * 60; shiftedTime = (shiftedTime + 24 * 60 * 60) % (24 * 60 * 60); - if (timeshift != 0 && Config.logProfile) - log.debug("(Sec) Original time: " + originalTime + " ShiftedTime: " + shiftedTime); return shiftedTime; } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java index 47fe4acd6a..07ef303dbf 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java @@ -12,6 +12,8 @@ import org.slf4j.LoggerFactory; import java.util.LinkedList; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -75,7 +77,7 @@ import info.nightscout.androidaps.queue.commands.CommandTempBasalPercent; */ public class CommandQueue { - private static Logger log = LoggerFactory.getLogger(CommandQueue.class); + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); private final LinkedList queue = new LinkedList<>(); protected Command performing; @@ -109,12 +111,14 @@ public class CommandQueue { private synchronized void inject(Command command) { // inject as a first command - log.debug("QUEUE: Adding as first: " + command.getClass().getSimpleName() + " - " + command.status()); + if (Config.logQueue) + log.debug("Adding as first: " + command.getClass().getSimpleName() + " - " + command.status()); queue.addFirst(command); } private synchronized void add(Command command) { - log.debug("QUEUE: Adding: " + command.getClass().getSimpleName() + " - " + command.status()); + if (Config.logQueue) + log.debug("Adding: " + command.getClass().getSimpleName() + " - " + command.status()); queue.add(command); } @@ -147,15 +151,18 @@ public class CommandQueue { // start thread again if not already running protected synchronized void notifyAboutNewCommand() { while (thread != null && thread.getState() != Thread.State.TERMINATED && thread.waitingForDisconnect) { - log.debug("QUEUE: Waiting for previous thread finish"); + if (Config.logQueue) + log.debug("Waiting for previous thread finish"); SystemClock.sleep(500); } if (thread == null || thread.getState() == Thread.State.TERMINATED) { thread = new QueueThread(this); thread.start(); - log.debug("QUEUE: Starting new thread"); + if (Config.logQueue) + log.debug("Starting new thread"); } else { - log.debug("QUEUE: Thread is already running"); + if (Config.logQueue) + log.debug("Thread is already running"); } } @@ -164,8 +171,8 @@ public class CommandQueue { tempCommandQueue.readStatus(reason, callback); } - public synchronized boolean bolusInQueue(){ - if(isRunning(Command.CommandType.BOLUS)) return true; + public synchronized boolean bolusInQueue() { + if (isRunning(Command.CommandType.BOLUS)) return true; for (int i = 0; i < queue.size(); i++) { if (queue.get(i).commandType == Command.CommandType.BOLUS) { return true; @@ -180,17 +187,19 @@ public class CommandQueue { if (type == Command.CommandType.SMB_BOLUS) { if (isRunning(Command.CommandType.BOLUS) || bolusInQueue()) { - log.debug("Rejecting SMB since a bolus is queue/running"); + if (Config.logQueue) + log.debug("Rejecting SMB since a bolus is queue/running"); return false; } if (detailedBolusInfo.lastKnownBolusTime < TreatmentsPlugin.getPlugin().getLastBolusTime()) { - log.debug("Rejecting bolus, another bolus was issued since request time"); + if (Config.logQueue) + log.debug("Rejecting bolus, another bolus was issued since request time"); return false; } } - if(type.equals(Command.CommandType.BOLUS) && detailedBolusInfo.carbs > 0 && detailedBolusInfo.insulin == 0){ + if (type.equals(Command.CommandType.BOLUS) && detailedBolusInfo.carbs > 0 && detailedBolusInfo.insulin == 0) { type = Command.CommandType.CARBS_ONLY_TREATMENT; //Carbs only can be added in parallel as they can be "in the future". } else { @@ -213,7 +222,7 @@ public class CommandQueue { add(new CommandSMBBolus(detailedBolusInfo, callback)); } else { add(new CommandBolus(detailedBolusInfo, callback, type)); - if(type.equals(Command.CommandType.BOLUS)) { + if (type.equals(Command.CommandType.BOLUS)) { // Bring up bolus progress dialog (start here, so the dialog is shown when the bolus is requested, // not when the Bolus command is starting. The command closes the dialog upon completion). showBolusProgressDialog(detailedBolusInfo.insulin, detailedBolusInfo.context); @@ -337,7 +346,8 @@ public class CommandQueue { // returns true if command is queued public boolean setProfile(Profile profile, Callback callback) { if (isThisProfileSet(profile)) { - log.debug("QUEUE: Correct profile already set"); + if (Config.logQueue) + log.debug("Correct profile already set"); if (callback != null) callback.result(new PumpEnactResult().success(true).enacted(false)).run(); return false; @@ -381,7 +391,8 @@ public class CommandQueue { // returns true if command is queued public boolean readStatus(String reason, Callback callback) { if (isLastScheduled(Command.CommandType.READSTATUS)) { - log.debug("QUEUE: READSTATUS " + reason + " ignored as duplicated"); + if (Config.logQueue) + log.debug("READSTATUS " + reason + " ignored as duplicated"); if (callback != null) callback.result(executingNowError()).run(); return false; @@ -496,8 +507,10 @@ public class CommandQueue { if (activePump != null && current != null) { boolean result = activePump.isThisProfileSet(profile); if (!result) { - log.debug("Current profile: " + current.getData().toString()); - log.debug("New profile: " + profile.getData().toString()); + if (Config.logQueue) { + log.debug("Current profile: " + current.toString()); + log.debug("New profile: " + profile.toString()); + } } return result; } else return true; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java b/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java index a5ad59ca0b..3073ecb950 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java @@ -8,6 +8,7 @@ import android.os.SystemClock; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -26,7 +27,7 @@ import info.nightscout.utils.SP; */ public class QueueThread extends Thread { - private static Logger log = LoggerFactory.getLogger(QueueThread.class); + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); private CommandQueue queue; @@ -54,7 +55,8 @@ public class QueueThread extends Thread { while (true) { PumpInterface pump = ConfigBuilderPlugin.getActivePump(); if (pump == null) { - log.debug("QUEUE: pump == null"); + if (Config.logQueue) + log.debug("pump == null"); MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.pumpNotInitialized))); SystemClock.sleep(1000); continue; @@ -64,15 +66,17 @@ public class QueueThread extends Thread { if (!pump.isConnected() && secondsElapsed > Constants.PUMP_MAX_CONNECTION_TIME_IN_SECONDS) { MainApp.bus().post(new EventDismissBolusprogressIfRunning(null)); MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.connectiontimedout))); - log.debug("QUEUE: timed out"); + if (Config.logQueue) + log.debug("timed out"); pump.stopConnecting(); //BLUETOOTH-WATCHDOG boolean watchdog = SP.getBoolean(R.string.key_btwatchdog, false); long last_watchdog = SP.getLong(R.string.key_btwatchdog_lastbark, 0l); watchdog = watchdog && System.currentTimeMillis() - last_watchdog > (Constants.MIN_WATCHDOG_INTERVAL_IN_SECONDS * 1000); - if(watchdog) { - log.debug("BT watchdog - toggeling the phonest bluetooth"); + if (watchdog) { + if (Config.logQueue) + log.debug("BT watchdog - toggeling the phonest bluetooth"); //write time SP.putLong(R.string.key_btwatchdog_lastbark, System.currentTimeMillis()); //toggle BT @@ -91,7 +95,8 @@ public class QueueThread extends Thread { pump.connect("watchdog"); } else { queue.clear(); - log.debug("QUEUE: no connection possible"); + if (Config.logQueue) + log.debug("no connection possible"); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING)); pump.disconnect("Queue empty"); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED)); @@ -100,7 +105,8 @@ public class QueueThread extends Thread { } if (pump.isConnecting()) { - log.debug("QUEUE: connecting " + secondsElapsed); + if (Config.logQueue) + log.debug("connecting " + secondsElapsed); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.CONNECTING, (int) secondsElapsed)); SystemClock.sleep(1000); continue; @@ -108,7 +114,8 @@ public class QueueThread extends Thread { if (!pump.isConnected()) { - log.debug("QUEUE: connect"); + if (Config.logQueue) + log.debug("connect"); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.CONNECTING, (int) secondsElapsed)); pump.connect("Connection needed"); SystemClock.sleep(1000); @@ -118,12 +125,14 @@ public class QueueThread extends Thread { if (queue.performing() == null) { if (!connectLogged) { connectLogged = true; - log.debug("QUEUE: connection time " + secondsElapsed + "s"); + if (Config.logQueue) + log.debug("connection time " + secondsElapsed + "s"); } // Pickup 1st command and set performing variable if (queue.size() > 0) { queue.pickup(); - log.debug("QUEUE: performing " + queue.performing().status()); + if (Config.logQueue) + log.debug("performing " + queue.performing().status()); MainApp.bus().post(new EventQueueChanged()); queue.performing().execute(); queue.resetPerforming(); @@ -138,14 +147,17 @@ public class QueueThread extends Thread { long secondsFromLastCommand = (System.currentTimeMillis() - lastCommandTime) / 1000; if (secondsFromLastCommand >= 5) { waitingForDisconnect = true; - log.debug("QUEUE: queue empty. disconnect"); + if (Config.logQueue) + log.debug("queue empty. disconnect"); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING)); pump.disconnect("Queue empty"); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED)); - log.debug("QUEUE: disconnected"); + if (Config.logQueue) + log.debug("disconnected"); return; } else { - log.debug("QUEUE: waiting for disconnect"); + if (Config.logQueue) + log.debug("waiting for disconnect"); SystemClock.sleep(1000); } } @@ -154,6 +166,4 @@ public class QueueThread extends Thread { mWakeLock.release(); } } - - } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/Command.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/Command.java index 7156a72f25..13208fb9f1 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/Command.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/Command.java @@ -1,5 +1,10 @@ package info.nightscout.androidaps.queue.commands; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.PumpEnactResult; @@ -9,6 +14,8 @@ import info.nightscout.androidaps.queue.Callback; * Created by mike on 09.11.2017. */ public abstract class Command { + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + public enum CommandType { BOLUS, SMB_BOLUS, @@ -33,6 +40,8 @@ public abstract class Command { PumpEnactResult result = new PumpEnactResult(); result.success = false; result.comment = MainApp.gs(R.string.connectiontimedout); + if (Config.logQueue) + log.debug("Result cancel"); if (callback != null) callback.result(result).run(); } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java index 2be3831ace..c0c2090177 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java @@ -1,5 +1,10 @@ package info.nightscout.androidaps.queue.commands; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; @@ -14,6 +19,8 @@ import info.nightscout.utils.DecimalFormatter; */ public class CommandBolus extends Command { + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + DetailedBolusInfo detailedBolusInfo; public CommandBolus(DetailedBolusInfo detailedBolusInfo, Callback callback, CommandType type) { @@ -28,6 +35,8 @@ public class CommandBolus extends Command { BolusProgressDialog.bolusEnded = true; MainApp.bus().post(new EventDismissBolusprogressIfRunning(r)); + if (Config.logQueue) + log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelExtendedBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelExtendedBolus.java index 536c2d876c..e5d69e2b6d 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelExtendedBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelExtendedBolus.java @@ -4,7 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; @@ -14,7 +14,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandCancelExtendedBolus extends Command { - private static Logger log = LoggerFactory.getLogger(CommandCancelExtendedBolus.class); + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); public CommandCancelExtendedBolus(Callback callback) { commandType = CommandType.EXTENDEDBOLUS; @@ -24,8 +24,8 @@ public class CommandCancelExtendedBolus extends Command { @Override public void execute() { PumpEnactResult r = ConfigBuilderPlugin.getActivePump().cancelExtendedBolus(); - if (Config.logCongigBuilderActions) - log.debug("cancelExtendedBolus success: " + r.success + " enacted: " + r.enacted); + if (Config.logQueue) + log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelTempBasal.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelTempBasal.java index d2496c871a..a79df63569 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelTempBasal.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelTempBasal.java @@ -1,6 +1,10 @@ package info.nightscout.androidaps.queue.commands; -import info.nightscout.androidaps.MainApp; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; @@ -10,6 +14,8 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandCancelTempBasal extends Command { + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + boolean enforceNew; public CommandCancelTempBasal(boolean enforceNew, Callback callback) { @@ -21,6 +27,8 @@ public class CommandCancelTempBasal extends Command { @Override public void execute() { PumpEnactResult r = ConfigBuilderPlugin.getActivePump().cancelTempBasal(enforceNew); + if (Config.logQueue) + log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandExtendedBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandExtendedBolus.java index 0641d9139d..b3470e6e48 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandExtendedBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandExtendedBolus.java @@ -4,7 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; @@ -14,7 +14,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandExtendedBolus extends Command { - private static Logger log = LoggerFactory.getLogger(CommandExtendedBolus.class); + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); private double insulin; private int durationInMinutes; @@ -29,8 +29,8 @@ public class CommandExtendedBolus extends Command { @Override public void execute() { PumpEnactResult r = ConfigBuilderPlugin.getActivePump().setExtendedBolus(insulin, durationInMinutes); - if (Config.logCongigBuilderActions) - log.debug("setExtendedBolus rate: " + insulin + " durationInMinutes: " + durationInMinutes + " success: " + r.success + " enacted: " + r.enacted); + if (Config.logQueue) + log.debug("Result rate: " + insulin + " durationInMinutes: " + durationInMinutes + " success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadEvents.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadEvents.java index 2d6bc5b5fc..da307b0c21 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadEvents.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadEvents.java @@ -1,5 +1,10 @@ package info.nightscout.androidaps.queue.commands; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.interfaces.DanaRInterface; import info.nightscout.androidaps.interfaces.PumpInterface; @@ -11,6 +16,8 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandLoadEvents extends Command { + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + public CommandLoadEvents(Callback callback) { commandType = CommandType.LOADEVENTS; this.callback = callback; @@ -22,6 +29,8 @@ public class CommandLoadEvents extends Command { if (pump instanceof DanaRInterface) { DanaRInterface danaPump = (DanaRInterface) pump; PumpEnactResult r = danaPump.loadEvents(); + if (Config.logQueue) + log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadHistory.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadHistory.java index 16e9a18048..065e194ef0 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadHistory.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadHistory.java @@ -1,17 +1,23 @@ package info.nightscout.androidaps.queue.commands; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.interfaces.DanaRInterface; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; -import info.nightscout.androidaps.queue.commands.Command; /** * Created by mike on 10.11.2017. */ public class CommandLoadHistory extends Command { + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + byte type; public CommandLoadHistory(byte type, Callback callback) { @@ -26,6 +32,8 @@ public class CommandLoadHistory extends Command { if (pump instanceof DanaRInterface) { DanaRInterface danaPump = (DanaRInterface) pump; PumpEnactResult r = danaPump.loadHistory(type); + if (Config.logQueue) + log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadTDDs.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadTDDs.java index 363781a379..77a74369f2 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadTDDs.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadTDDs.java @@ -1,5 +1,10 @@ package info.nightscout.androidaps.queue.commands; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; @@ -10,6 +15,8 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandLoadTDDs extends Command { + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + public CommandLoadTDDs(Callback callback) { commandType = CommandType.LOADHISTORY; //belongs to the history group of commands @@ -20,9 +27,11 @@ public class CommandLoadTDDs extends Command { public void execute() { PumpInterface pump = ConfigBuilderPlugin.getActivePump(); PumpEnactResult r = pump.loadTDDs(); + if (Config.logQueue) + log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); - } + } @Override public String status() { diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandReadStatus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandReadStatus.java index 44c778c5f7..78e4f3cdf1 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandReadStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandReadStatus.java @@ -1,5 +1,10 @@ package info.nightscout.androidaps.queue.commands; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; import info.nightscout.utils.LocalAlertUtils; @@ -9,6 +14,8 @@ import info.nightscout.utils.LocalAlertUtils; */ public class CommandReadStatus extends Command { + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + String reason; public CommandReadStatus(String reason, Callback callback) { @@ -21,6 +28,8 @@ public class CommandReadStatus extends Command { public void execute() { ConfigBuilderPlugin.getActivePump().getPumpStatus(); LocalAlertUtils.notifyPumpStatusRead(); + if (Config.logQueue) + log.debug("CommandReadStatus executed. Reason: " + reason); if (callback != null) callback.result(null).run(); } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSMBBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSMBBolus.java index 46336f7d4b..c4e613e04b 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSMBBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSMBBolus.java @@ -3,6 +3,8 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; @@ -20,7 +22,8 @@ import info.nightscout.utils.T; */ public class CommandSMBBolus extends Command { - private static Logger log = LoggerFactory.getLogger(CommandSMBBolus.class); + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + DetailedBolusInfo detailedBolusInfo; public CommandSMBBolus(DetailedBolusInfo detailedBolusInfo, Callback callback) { @@ -34,20 +37,25 @@ public class CommandSMBBolus extends Command { PumpEnactResult r; long lastBolusTime = TreatmentsPlugin.getPlugin().getLastBolusTime(); if (lastBolusTime != 0 && lastBolusTime + T.mins(3).msecs() > DateUtil.now()) { - log.debug("SMB requsted but still in 3 min interval"); + if (Config.logQueue) + log.debug("SMB requsted but still in 3 min interval"); r = new PumpEnactResult().enacted(false).success(false).comment("SMB requsted but still in 3 min interval"); - } else if (detailedBolusInfo.deliverAt != 0 && detailedBolusInfo.deliverAt + T.mins(1).msecs() > System.currentTimeMillis()) + } else if (detailedBolusInfo.deliverAt != 0 && detailedBolusInfo.deliverAt + T.mins(1).msecs() > System.currentTimeMillis()) { r = ConfigBuilderPlugin.getActivePump().deliverTreatment(detailedBolusInfo); - else { + } else { r = new PumpEnactResult().enacted(false).success(false).comment("SMB request too old"); - log.debug("SMB bolus canceled. delivetAt=" + detailedBolusInfo.deliverAt + " now=" + System.currentTimeMillis()); + if (Config.logQueue) + log.debug("SMB bolus canceled. delivetAt: " + DateUtil.dateAndTimeString(detailedBolusInfo.deliverAt)); } + if (Config.logQueue) + log.debug("Result success: " + r.success + " enacted: " + r.enacted); + if (callback != null) callback.result(r).run(); } public String status() { - return "SMBBOLUS " + DecimalFormatter.to1Decimal(detailedBolusInfo.insulin) + "U"; + return "SMBBOLUS " + DecimalFormatter.to2Decimal(detailedBolusInfo.insulin) + "U"; } } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetProfile.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetProfile.java index 03764dee0b..3fa375cfac 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetProfile.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetProfile.java @@ -3,6 +3,8 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; @@ -20,7 +22,8 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandSetProfile extends Command { - private static Logger log = LoggerFactory.getLogger(CommandSetProfile.class); + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Profile profile; public CommandSetProfile(Profile profile, Callback callback) { @@ -32,13 +35,16 @@ public class CommandSetProfile extends Command { @Override public void execute() { if (ConfigBuilderPlugin.getCommandQueue().isThisProfileSet(profile)) { - log.debug("QUEUE: Correct profile already set"); + if (Config.logQueue) + log.debug("Correct profile already set. profile: " + profile.toString()); if (callback != null) callback.result(new PumpEnactResult().success(true).enacted(false)).run(); return; } PumpEnactResult r = ConfigBuilderPlugin.getActivePump().setNewBasalProfile(profile); + if (Config.logQueue) + log.debug("Result success: " + r.success + " enacted: " + r.enacted + " profile: " + profile.toString()); if (callback != null) callback.result(r).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetUserSettings.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetUserSettings.java index f3d9fe2a4b..59f0fe3ba9 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetUserSettings.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetUserSettings.java @@ -3,13 +3,12 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.interfaces.DanaRInterface; -import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; -import info.nightscout.androidaps.plugins.PumpDanaRv2.DanaRv2Plugin; import info.nightscout.androidaps.queue.Callback; /** @@ -17,7 +16,8 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandSetUserSettings extends Command { - private static Logger log = LoggerFactory.getLogger(CommandSetUserSettings.class); + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + public CommandSetUserSettings(Callback callback) { commandType = CommandType.SETUSERSETTINGS; this.callback = callback; @@ -28,11 +28,9 @@ public class CommandSetUserSettings extends Command { PumpInterface pump = ConfigBuilderPlugin.getActivePump(); if (pump instanceof DanaRInterface) { DanaRInterface danaPump = (DanaRInterface) pump; - boolean isDanaRv2 = MainApp.getSpecificPlugin(DanaRv2Plugin.class) != null && MainApp.getSpecificPlugin(DanaRv2Plugin.class).isEnabled(PluginType.PUMP); - if(isDanaRv2){ - log.debug("MsgSetUserOptions detected for DanaRv2"); - } PumpEnactResult r = danaPump.setUserOptions(); + if (Config.logQueue) + log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalAbsolute.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalAbsolute.java index 35c2435558..6e1a174364 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalAbsolute.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalAbsolute.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.PumpEnactResult; @@ -15,7 +16,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandTempBasalAbsolute extends Command { - private static Logger log = LoggerFactory.getLogger(CommandTempBasalAbsolute.class); + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); int durationInMinutes; double absoluteRate; @@ -34,8 +35,8 @@ public class CommandTempBasalAbsolute extends Command { @Override public void execute() { PumpEnactResult r = ConfigBuilderPlugin.getActivePump().setTempBasalAbsolute(absoluteRate, durationInMinutes, profile, enforceNew); - if (Config.logCongigBuilderActions) - log.debug("setTempBasalAbsolute rate: " + absoluteRate + " durationInMinutes: " + durationInMinutes + " success: " + r.success + " enacted: " + r.enacted); + if (Config.logQueue) + log.debug("Result rate: " + absoluteRate + " durationInMinutes: " + durationInMinutes + " success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalPercent.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalPercent.java index bbb421e128..8b210de2c4 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalPercent.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalPercent.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; @@ -14,7 +15,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandTempBasalPercent extends Command { - private static Logger log = LoggerFactory.getLogger(CommandTempBasalPercent.class); + private Logger log = LoggerFactory.getLogger(Constants.QUEUE); int durationInMinutes; int percent; @@ -33,8 +34,8 @@ public class CommandTempBasalPercent extends Command { @Override public void execute() { PumpEnactResult r = ConfigBuilderPlugin.getActivePump().setTempBasalPercent(percent, durationInMinutes, profile, enforceNew); - if (Config.logCongigBuilderActions) - log.debug("setTempBasalPercent percent: " + percent + " durationInMinutes: " + durationInMinutes + " success: " + r.success + " enacted: " + r.enacted); + if (Config.logQueue) + log.debug("Result percent: " + percent + " durationInMinutes: " + durationInMinutes + " success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); } From 6a058f5036073da71506ff27cb06cbef2bc9ceff Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 27 Jul 2018 13:41:25 +0200 Subject: [PATCH 08/37] BGSOURCE refactor & logging --- .../info/nightscout/androidaps/Config.java | 3 +- .../info/nightscout/androidaps/Constants.java | 1 + .../androidaps/Services/DataService.java | 344 ++---------------- .../interfaces/BgSourceInterface.java | 4 + .../plugins/ProfileNS/NSProfilePlugin.java | 27 +- .../SmsCommunicatorPlugin.java | 9 +- .../SmsCommunicator/events/EventNewSMS.java | 15 - .../plugins/Source/SourceDexcomG5Plugin.java | 54 +++ .../plugins/Source/SourceGlimpPlugin.java | 33 ++ .../plugins/Source/SourceMM640gPlugin.java | 60 +++ .../plugins/Source/SourceNSClientPlugin.java | 60 +++ .../plugins/Source/SourcePoctechPlugin.java | 56 +++ .../plugins/Source/SourceXdripPlugin.java | 37 +- 13 files changed, 364 insertions(+), 339 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/events/EventNewSMS.java diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index fd823a22a3..3325c7623c 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -33,9 +33,10 @@ public class Config { public static final boolean logNSUpload = true; public static final boolean logPumpActions = true; public static final boolean logCongigBuilderActions = true; - public static final boolean logQueue = true; public static final boolean logAutosensData = false; public static final boolean logEvents = false; + public static final boolean logQueue = true; + public static final boolean logBgSource = true; // DanaR specific public static final boolean logDanaBTComm = true; diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index aad4444042..49bf17ec86 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -72,4 +72,5 @@ public class Constants { public static final String AUTOSENS = "AUTOSENS"; public static final String EVENTS = "EVENTS"; public static final String QUEUE = "QUEUE"; + public static final String BGSOURCE = "BGSOURCE"; } diff --git a/app/src/main/java/info/nightscout/androidaps/Services/DataService.java b/app/src/main/java/info/nightscout/androidaps/Services/DataService.java index ca7d760cc4..a254f9bf5f 100644 --- a/app/src/main/java/info/nightscout/androidaps/Services/DataService.java +++ b/app/src/main/java/info/nightscout/androidaps/Services/DataService.java @@ -13,11 +13,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.data.ProfileStore; -import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.events.EventNsFood; import info.nightscout.androidaps.events.EventNsTreatment; @@ -26,15 +23,13 @@ import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin import info.nightscout.androidaps.plugins.NSClientInternal.data.NSDeviceStatus; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSMbg; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSettingsStatus; -import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSgv; import info.nightscout.androidaps.plugins.Overview.OverviewPlugin; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.ProfileNS.NSProfilePlugin; -import info.nightscout.androidaps.plugins.ProfileNS.events.EventNSProfileUpdateGUI; import info.nightscout.androidaps.plugins.PumpDanaR.activities.DanaRNSHistorySync; -import info.nightscout.androidaps.plugins.SmsCommunicator.events.EventNewSMS; +import info.nightscout.androidaps.plugins.SmsCommunicator.SmsCommunicatorPlugin; import info.nightscout.androidaps.plugins.Source.SourceDexcomG5Plugin; import info.nightscout.androidaps.plugins.Source.SourceGlimpPlugin; import info.nightscout.androidaps.plugins.Source.SourceMM640gPlugin; @@ -44,20 +39,12 @@ import info.nightscout.androidaps.plugins.Source.SourceXdripPlugin; import info.nightscout.androidaps.receivers.DataReceiver; import info.nightscout.utils.BundleLogger; import info.nightscout.utils.JsonHelper; -import info.nightscout.utils.NSUpload; import info.nightscout.utils.SP; public class DataService extends IntentService { private static Logger log = LoggerFactory.getLogger(DataService.class); - boolean xDripEnabled = false; - boolean nsClientEnabled = true; - boolean mm640gEnabled = false; - boolean glimpEnabled = false; - boolean dexcomG5Enabled = false; - boolean poctechEnabled = false; - public DataService() { super("DataService"); registerBus(); @@ -67,58 +54,6 @@ public class DataService extends IntentService { protected void onHandleIntent(final Intent intent) { if (Config.logFunctionCalls) log.debug("onHandleIntent " + BundleLogger.log(intent.getExtras())); - if (ConfigBuilderPlugin.getPlugin().getActiveBgSource() == null) { - xDripEnabled = true; - nsClientEnabled = false; - mm640gEnabled = false; - glimpEnabled = false; - dexcomG5Enabled = false; - poctechEnabled = false; - } else if (ConfigBuilderPlugin.getPlugin().getActiveBgSource().getClass().equals(SourceXdripPlugin.class)) { - xDripEnabled = true; - nsClientEnabled = false; - mm640gEnabled = false; - glimpEnabled = false; - dexcomG5Enabled = false; - poctechEnabled = false; - } else if (ConfigBuilderPlugin.getPlugin().getActiveBgSource().getClass().equals(SourceNSClientPlugin.class)) { - xDripEnabled = false; - nsClientEnabled = true; - mm640gEnabled = false; - glimpEnabled = false; - dexcomG5Enabled = false; - poctechEnabled = false; - } else if (ConfigBuilderPlugin.getPlugin().getActiveBgSource().getClass().equals(SourceMM640gPlugin.class)) { - xDripEnabled = false; - nsClientEnabled = false; - mm640gEnabled = true; - glimpEnabled = false; - dexcomG5Enabled = false; - poctechEnabled = false; - } else if (ConfigBuilderPlugin.getPlugin().getActiveBgSource().getClass().equals(SourceGlimpPlugin.class)) { - xDripEnabled = false; - nsClientEnabled = false; - mm640gEnabled = false; - glimpEnabled = true; - dexcomG5Enabled = false; - poctechEnabled = false; - } else if (ConfigBuilderPlugin.getPlugin().getActiveBgSource().getClass().equals(SourceDexcomG5Plugin.class)) { - xDripEnabled = false; - nsClientEnabled = false; - mm640gEnabled = false; - glimpEnabled = false; - dexcomG5Enabled = true; - poctechEnabled = false; - } else if (ConfigBuilderPlugin.getPlugin().getActiveBgSource().getClass().equals(SourcePoctechPlugin.class)) { - xDripEnabled = false; - nsClientEnabled = false; - mm640gEnabled = false; - glimpEnabled = false; - dexcomG5Enabled = false; - poctechEnabled = true; - } - - boolean isNSProfile = MainApp.getConfigBuilder().getActiveProfileInterface() != null && MainApp.getConfigBuilder().getActiveProfileInterface().getClass().equals(NSProfilePlugin.class); boolean acceptNSData = !SP.getBoolean(R.string.key_ns_upload_only, false); Bundle bundles = intent.getExtras(); @@ -127,71 +62,44 @@ public class DataService extends IntentService { } - if (intent != null) { - final String action = intent.getAction(); - if (Intents.ACTION_NEW_BG_ESTIMATE.equals(action)) { - if (xDripEnabled) { - handleNewDataFromXDrip(intent); - } - } else if (Intents.NS_EMULATOR.equals(action)) { - if (mm640gEnabled) { - handleNewDataFromMM640g(intent); - } - } else if (Intents.GLIMP_BG.equals(action)) { - if (glimpEnabled) { - handleNewDataFromGlimp(intent); - } - } else if (Intents.DEXCOMG5_BG.equals(action)) { - if (dexcomG5Enabled) { - handleNewDataFromDexcomG5(intent); - } - } else if (Intents.POCTECH_BG.equals(action)) { - if (poctechEnabled) { - handleNewDataFromPoctech(intent); - } - } else if (Intents.ACTION_NEW_SGV.equals(action)) { - if (nsClientEnabled || SP.getBoolean(R.string.key_ns_autobackfill, true)) - handleNewDataFromNSClient(intent); - // Objectives 0 - ObjectivesPlugin.bgIsAvailableInNS = true; - ObjectivesPlugin.saveProgress(); - } else if (isNSProfile && Intents.ACTION_NEW_PROFILE.equals(action) || Intents.ACTION_NEW_DEVICESTATUS.equals(action)) { - // always handle Profile if NSProfile is enabled without looking at nsUploadOnly - handleNewDataFromNSClient(intent); - } else if (acceptNSData && - (Intents.ACTION_NEW_TREATMENT.equals(action) || - Intents.ACTION_CHANGED_TREATMENT.equals(action) || - Intents.ACTION_REMOVED_TREATMENT.equals(action) || - Intents.ACTION_NEW_STATUS.equals(action) || - Intents.ACTION_NEW_DEVICESTATUS.equals(action) || - Intents.ACTION_NEW_FOOD.equals(action) || - Intents.ACTION_CHANGED_FOOD.equals(action) || - Intents.ACTION_REMOVED_FOOD.equals(action) || - Intents.ACTION_NEW_CAL.equals(action) || - Intents.ACTION_NEW_MBG.equals(action)) - ) { - handleNewDataFromNSClient(intent); - } else if (Telephony.Sms.Intents.SMS_RECEIVED_ACTION.equals(action)) { - handleNewSMS(intent); - } + final String action = intent.getAction(); + if (Intents.ACTION_NEW_BG_ESTIMATE.equals(action)) { + SourceXdripPlugin.getPlugin().handleNewData(intent); + } else if (Intents.NS_EMULATOR.equals(action)) { + SourceMM640gPlugin.getPlugin().handleNewData(intent); + } else if (Intents.GLIMP_BG.equals(action)) { + SourceGlimpPlugin.getPlugin().handleNewData(intent); + } else if (Intents.DEXCOMG5_BG.equals(action)) { + SourceDexcomG5Plugin.getPlugin().handleNewData(intent); + } else if (Intents.POCTECH_BG.equals(action)) { + SourcePoctechPlugin.getPlugin().handleNewData(intent); + } else if (Intents.ACTION_NEW_SGV.equals(action)) { + SourceNSClientPlugin.getPlugin().handleNewData(intent); + } else if (Intents.ACTION_NEW_PROFILE.equals(action)) { + // always handle Profile if NSProfile is enabled without looking at nsUploadOnly + NSProfilePlugin.getPlugin().handleNewData(intent); + } else if (acceptNSData && + (Intents.ACTION_NEW_TREATMENT.equals(action) || + Intents.ACTION_CHANGED_TREATMENT.equals(action) || + Intents.ACTION_REMOVED_TREATMENT.equals(action) || + Intents.ACTION_NEW_STATUS.equals(action) || + Intents.ACTION_NEW_DEVICESTATUS.equals(action) || + Intents.ACTION_NEW_FOOD.equals(action) || + Intents.ACTION_CHANGED_FOOD.equals(action) || + Intents.ACTION_REMOVED_FOOD.equals(action) || + Intents.ACTION_NEW_CAL.equals(action) || + Intents.ACTION_NEW_MBG.equals(action)) + ) { + handleNewDataFromNSClient(intent); + } else if (Telephony.Sms.Intents.SMS_RECEIVED_ACTION.equals(action)) { + SmsCommunicatorPlugin.getPlugin().handleNewData(intent); } + if (Config.logFunctionCalls) log.debug("onHandleIntent exit " + intent); DataReceiver.completeWakefulIntent(intent); } -/* - @Override - public int onStartCommand(Intent intent, int flags, int startId) { - super.onStartCommand(intent, flags, startId); - - if (Config.logFunctionCalls) - log.debug("onStartCommand"); - - return START_STICKY; - } -*/ - @Override public void onDestroy() { super.onDestroy(); @@ -207,142 +115,6 @@ public class DataService extends IntentService { MainApp.bus().register(this); } - private void handleNewDataFromXDrip(Intent intent) { - Bundle bundle = intent.getExtras(); - if (bundle == null) return; - - BgReading bgReading = new BgReading(); - - bgReading.value = bundle.getDouble(Intents.EXTRA_BG_ESTIMATE); - bgReading.direction = bundle.getString(Intents.EXTRA_BG_SLOPE_NAME); - bgReading.date = bundle.getLong(Intents.EXTRA_TIMESTAMP); - bgReading.raw = bundle.getDouble(Intents.EXTRA_RAW); - String source = bundle.getString(Intents.XDRIP_DATA_SOURCE_DESCRIPTION, "no Source specified"); - SourceXdripPlugin.getPlugin().setSource(source); - MainApp.getDbHelper().createIfNotExists(bgReading, "XDRIP"); - } - - private void handleNewDataFromGlimp(Intent intent) { - Bundle bundle = intent.getExtras(); - if (bundle == null) return; - - BgReading bgReading = new BgReading(); - - bgReading.value = bundle.getDouble("mySGV"); - bgReading.direction = bundle.getString("myTrend"); - bgReading.date = bundle.getLong("myTimestamp"); - bgReading.raw = 0; - - MainApp.getDbHelper().createIfNotExists(bgReading, "GLIMP"); - } - - private void handleNewDataFromDexcomG5(Intent intent) { - // onHandleIntent Bundle{ data => [{"m_time":1511939180,"m_trend":"NotComputable","m_value":335}]; android.support.content.wakelockid => 95; }Bundle - - Bundle bundle = intent.getExtras(); - if (bundle == null) return; - - BgReading bgReading = new BgReading(); - - String data = bundle.getString("data"); - log.debug("Received Dexcom Data", data); - - try { - JSONArray jsonArray = new JSONArray(data); - log.debug("Received Dexcom Data size:" + jsonArray.length()); - for (int i = 0; i < jsonArray.length(); i++) { - JSONObject json = jsonArray.getJSONObject(i); - bgReading.value = json.getInt("m_value"); - bgReading.direction = json.getString("m_trend"); - bgReading.date = json.getLong("m_time") * 1000L; - bgReading.raw = 0; - boolean isNew = MainApp.getDbHelper().createIfNotExists(bgReading, "DexcomG5"); - if (isNew && SP.getBoolean(R.string.key_dexcomg5_nsupload, false)) { - NSUpload.uploadBg(bgReading); - } - if (isNew && SP.getBoolean(R.string.key_dexcomg5_xdripupload, false)) { - NSUpload.sendToXdrip(bgReading); - } - } - - } catch (JSONException e) { - e.printStackTrace(); - } - } - - private void handleNewDataFromPoctech(Intent intent) { - - Bundle bundle = intent.getExtras(); - if (bundle == null) return; - - BgReading bgReading = new BgReading(); - - String data = bundle.getString("data"); - log.debug("Received Poctech Data", data); - - try { - JSONArray jsonArray = new JSONArray(data); - log.debug("Received Poctech Data size:" + jsonArray.length()); - for (int i = 0; i < jsonArray.length(); i++) { - JSONObject json = jsonArray.getJSONObject(i); - bgReading.value = json.getDouble("current"); - bgReading.direction = json.getString("direction"); - bgReading.date = json.getLong("date"); - bgReading.raw = json.getDouble("raw"); - if (JsonHelper.safeGetString(json, "units", Constants.MGDL).equals("mmol/L")) - bgReading.value = bgReading.value * Constants.MMOLL_TO_MGDL; - boolean isNew = MainApp.getDbHelper().createIfNotExists(bgReading, "Poctech"); - if (isNew && SP.getBoolean(R.string.key_dexcomg5_nsupload, false)) { - NSUpload.uploadBg(bgReading); - } - if (isNew && SP.getBoolean(R.string.key_dexcomg5_xdripupload, false)) { - NSUpload.sendToXdrip(bgReading); - } - } - - } catch (JSONException e) { - e.printStackTrace(); - } - } - - private void handleNewDataFromMM640g(Intent intent) { - Bundle bundle = intent.getExtras(); - if (bundle == null) return; - - final String collection = bundle.getString("collection"); - if (collection == null) return; - - if (collection.equals("entries")) { - final String data = bundle.getString("data"); - - if ((data != null) && (data.length() > 0)) { - try { - final JSONArray json_array = new JSONArray(data); - for (int i = 0; i < json_array.length(); i++) { - final JSONObject json_object = json_array.getJSONObject(i); - final String type = json_object.getString("type"); - switch (type) { - case "sgv": - BgReading bgReading = new BgReading(); - - bgReading.value = json_object.getDouble("sgv"); - bgReading.direction = json_object.getString("direction"); - bgReading.date = json_object.getLong("date"); - bgReading.raw = json_object.getDouble("sgv"); - - MainApp.getDbHelper().createIfNotExists(bgReading, "MM640g"); - break; - default: - log.debug("Unknown entries type: " + type); - } - } - } catch (JSONException e) { - log.error("Got JSON exception: " + e); - } - } - } - } - private void handleNewDataFromNSClient(Intent intent) { Bundle bundles = intent.getExtras(); if (bundles == null) return; @@ -422,20 +194,6 @@ public class DataService extends IntentService { log.error("Unhandled exception", e); } } - // Handle profile - if (intent.getAction().equals(Intents.ACTION_NEW_PROFILE)) { - try { - String activeProfile = bundles.getString("activeprofile"); - String profile = bundles.getString("profile"); - ProfileStore profileStore = new ProfileStore(new JSONObject(profile)); - NSProfilePlugin.getPlugin().storeNewProfile(profileStore); - MainApp.bus().post(new EventNSProfileUpdateGUI()); - if (Config.logIncommingData) - log.debug("Received profileStore: " + activeProfile + " " + profile); - } catch (JSONException e) { - log.error("Unhandled exception", e); - } - } if (intent.getAction().equals(Intents.ACTION_NEW_TREATMENT) || intent.getAction().equals(Intents.ACTION_CHANGED_TREATMENT)) { try { @@ -477,27 +235,6 @@ public class DataService extends IntentService { } } - if (intent.getAction().equals(Intents.ACTION_NEW_SGV)) { - try { - if (bundles.containsKey("sgv")) { - String sgvstring = bundles.getString("sgv"); - JSONObject sgvJson = new JSONObject(sgvstring); - storeSgv(sgvJson); - } - - if (bundles.containsKey("sgvs")) { - String sgvstring = bundles.getString("sgvs"); - JSONArray jsonArray = new JSONArray(sgvstring); - for (int i = 0; i < jsonArray.length(); i++) { - JSONObject sgvJson = jsonArray.getJSONObject(i); - storeSgv(sgvJson); - } - } - } catch (Exception e) { - log.error("Unhandled exception", e); - } - } - if (intent.getAction().equals(Intents.ACTION_NEW_MBG)) { try { if (bundles.containsKey("mbg")) { @@ -580,7 +317,7 @@ public class DataService extends IntentService { } if (eventType.equals(CareportalEvent.ANNOUNCEMENT)) { - long date = JsonHelper.safeGetLong(json,"mills"); + long date = JsonHelper.safeGetLong(json, "mills"); long now = System.currentTimeMillis(); String enteredBy = JsonHelper.safeGetString(json, "enteredBy", ""); String notes = JsonHelper.safeGetString(json, "notes", ""); @@ -600,17 +337,4 @@ public class DataService extends IntentService { log.debug("Adding/Updating new MBG: " + careportalEvent.log()); } - private void storeSgv(JSONObject sgvJson) { - NSSgv nsSgv = new NSSgv(sgvJson); - BgReading bgReading = new BgReading(nsSgv); - MainApp.getDbHelper().createIfNotExists(bgReading, "NS"); - SourceNSClientPlugin.getPlugin().detectSource(JsonHelper.safeGetString(sgvJson, "device"), JsonHelper.safeGetLong(sgvJson, "mills")); - } - - private void handleNewSMS(Intent intent) { - Bundle bundle = intent.getExtras(); - if (bundle == null) return; - MainApp.bus().post(new EventNewSMS(bundle)); - } - } diff --git a/app/src/main/java/info/nightscout/androidaps/interfaces/BgSourceInterface.java b/app/src/main/java/info/nightscout/androidaps/interfaces/BgSourceInterface.java index a45ab083e7..d42ead7950 100644 --- a/app/src/main/java/info/nightscout/androidaps/interfaces/BgSourceInterface.java +++ b/app/src/main/java/info/nightscout/androidaps/interfaces/BgSourceInterface.java @@ -1,8 +1,12 @@ package info.nightscout.androidaps.interfaces; +import android.content.Intent; + /** * Created by mike on 20.06.2016. */ public interface BgSourceInterface { boolean advancedFilteringSupported(); + + void handleNewData(Intent intent); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java index 404aff0608..ec4cc22055 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java @@ -1,10 +1,9 @@ package info.nightscout.androidaps.plugins.ProfileNS; import android.content.Intent; +import android.os.Bundle; import android.support.annotation.Nullable; -import com.squareup.otto.Subscribe; - import org.json.JSONException; import org.json.JSONObject; import org.slf4j.Logger; @@ -65,12 +64,24 @@ public class NSProfilePlugin extends PluginBase implements ProfileInterface { MainApp.bus().unregister(this); } - @Subscribe - public void storeNewProfile(ProfileStore newProfile) { - profile = new ProfileStore(newProfile.getData()); - storeNSProfile(); - MainApp.bus().post(new EventNSProfileUpdateGUI()); - MainApp.bus().post(new EventProfileStoreChanged()); + public void handleNewData(Intent intent) { + try { + Bundle bundles = intent.getExtras(); + if (bundles == null) return; + + String activeProfile = bundles.getString("activeprofile"); + String profileString = bundles.getString("profile"); + profile = new ProfileStore(new JSONObject(profileString)); + storeNSProfile(); + if (isEnabled(PluginType.PROFILE)) { + MainApp.bus().post(new EventProfileStoreChanged()); + MainApp.bus().post(new EventNSProfileUpdateGUI()); + } + if (Config.logIncommingData) + log.debug("Received profileStore: " + activeProfile + " " + profile); + } catch (JSONException e) { + log.error("Unhandled exception", e); + } } private void storeNSProfile() { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java index 847ead4482..55f7ee9e50 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java @@ -2,6 +2,7 @@ package info.nightscout.androidaps.plugins.SmsCommunicator; import android.content.Intent; import android.content.pm.ResolveInfo; +import android.os.Bundle; import android.os.SystemClock; import android.telephony.SmsManager; import android.telephony.SmsMessage; @@ -39,7 +40,6 @@ import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Loop.LoopPlugin; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; -import info.nightscout.androidaps.plugins.SmsCommunicator.events.EventNewSMS; import info.nightscout.androidaps.plugins.SmsCommunicator.events.EventSmsCommunicatorUpdateGui; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.androidaps.queue.Callback; @@ -165,10 +165,11 @@ public class SmsCommunicatorPlugin extends PluginBase { return false; } - @Subscribe - public void onStatusEvent(final EventNewSMS ev) { + public void handleNewData(Intent intent) { + Bundle bundle = intent.getExtras(); + if (bundle == null) return; - Object[] pdus = (Object[]) ev.bundle.get("pdus"); + Object[] pdus = (Object[]) bundle.get("pdus"); if (pdus != null) { // For every SMS message received for (Object pdu : pdus) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/events/EventNewSMS.java b/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/events/EventNewSMS.java deleted file mode 100644 index dfaebb3942..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/events/EventNewSMS.java +++ /dev/null @@ -1,15 +0,0 @@ -package info.nightscout.androidaps.plugins.SmsCommunicator.events; - -import android.os.Bundle; - -import info.nightscout.androidaps.events.Event; - -/** - * Created by mike on 13.07.2016. - */ -public class EventNewSMS extends Event { - public Bundle bundle; - public EventNewSMS(Bundle bundle) { - this.bundle = bundle; - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5Plugin.java index af040c8c90..b47f8ae1e1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5Plugin.java @@ -1,17 +1,32 @@ package info.nightscout.androidaps.plugins.Source; +import android.content.Intent; +import android.os.Bundle; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.utils.NSUpload; +import info.nightscout.utils.SP; /** * Created by mike on 28.11.2017. */ public class SourceDexcomG5Plugin extends PluginBase implements BgSourceInterface { + private static Logger log = LoggerFactory.getLogger(Constants.BGSOURCE); private static SourceDexcomG5Plugin plugin = null; @@ -37,4 +52,43 @@ public class SourceDexcomG5Plugin extends PluginBase implements BgSourceInterfac public boolean advancedFilteringSupported() { return true; } + + @Override + public void handleNewData(Intent intent) { + // onHandleIntent Bundle{ data => [{"m_time":1511939180,"m_trend":"NotComputable","m_value":335}]; android.support.content.wakelockid => 95; }Bundle + + if (!isEnabled(PluginType.BGSOURCE)) return; + + Bundle bundle = intent.getExtras(); + if (bundle == null) return; + + BgReading bgReading = new BgReading(); + + String data = bundle.getString("data"); + if (Config.logBgSource) + log.debug("Received Dexcom Data", data); + + try { + JSONArray jsonArray = new JSONArray(data); + if (Config.logBgSource) + log.debug("Received Dexcom Data size:" + jsonArray.length()); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject json = jsonArray.getJSONObject(i); + bgReading.value = json.getInt("m_value"); + bgReading.direction = json.getString("m_trend"); + bgReading.date = json.getLong("m_time") * 1000L; + bgReading.raw = 0; + boolean isNew = MainApp.getDbHelper().createIfNotExists(bgReading, "DexcomG5"); + if (isNew && SP.getBoolean(R.string.key_dexcomg5_nsupload, false)) { + NSUpload.uploadBg(bgReading); + } + if (isNew && SP.getBoolean(R.string.key_dexcomg5_xdripupload, false)) { + NSUpload.sendToXdrip(bgReading); + } + } + + } catch (JSONException e) { + log.error("Exception: ", e); + } + } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceGlimpPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceGlimpPlugin.java index 38b891ff65..761457d296 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceGlimpPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceGlimpPlugin.java @@ -1,15 +1,27 @@ package info.nightscout.androidaps.plugins.Source; +import android.content.Intent; +import android.os.Bundle; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.utils.BundleLogger; /** * Created by mike on 05.08.2016. */ public class SourceGlimpPlugin extends PluginBase implements BgSourceInterface { + private static Logger log = LoggerFactory.getLogger(Constants.BGSOURCE); private static SourceGlimpPlugin plugin = null; @@ -32,4 +44,25 @@ public class SourceGlimpPlugin extends PluginBase implements BgSourceInterface { public boolean advancedFilteringSupported() { return false; } + + @Override + public void handleNewData(Intent intent) { + + if (!isEnabled(PluginType.BGSOURCE)) return; + + Bundle bundle = intent.getExtras(); + if (bundle == null) return; + + if (Config.logBgSource) + log.debug("Received Glimp Data: " + BundleLogger.log(bundle)); + + BgReading bgReading = new BgReading(); + + bgReading.value = bundle.getDouble("mySGV"); + bgReading.direction = bundle.getString("myTrend"); + bgReading.date = bundle.getLong("myTimestamp"); + bgReading.raw = 0; + + MainApp.getDbHelper().createIfNotExists(bgReading, "GLIMP"); + } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceMM640gPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceMM640gPlugin.java index 041b084efd..e96ea1b318 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceMM640gPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceMM640gPlugin.java @@ -1,6 +1,19 @@ package info.nightscout.androidaps.plugins.Source; +import android.content.Intent; +import android.os.Bundle; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; @@ -10,6 +23,8 @@ import info.nightscout.androidaps.interfaces.PluginType; * Created by mike on 05.08.2016. */ public class SourceMM640gPlugin extends PluginBase implements BgSourceInterface { + private static Logger log = LoggerFactory.getLogger(Constants.BGSOURCE); + private static SourceMM640gPlugin plugin = null; public static SourceMM640gPlugin getPlugin() { @@ -31,4 +46,49 @@ public class SourceMM640gPlugin extends PluginBase implements BgSourceInterface public boolean advancedFilteringSupported() { return false; } + + @Override + public void handleNewData(Intent intent) { + + if (!isEnabled(PluginType.BGSOURCE)) return; + + Bundle bundle = intent.getExtras(); + if (bundle == null) return; + + final String collection = bundle.getString("collection"); + if (collection == null) return; + + if (collection.equals("entries")) { + final String data = bundle.getString("data"); + if (Config.logBgSource) + log.debug("Received MM640g Data: ", data); + + if ((data != null) && (data.length() > 0)) { + try { + final JSONArray json_array = new JSONArray(data); + for (int i = 0; i < json_array.length(); i++) { + final JSONObject json_object = json_array.getJSONObject(i); + final String type = json_object.getString("type"); + switch (type) { + case "sgv": + BgReading bgReading = new BgReading(); + + bgReading.value = json_object.getDouble("sgv"); + bgReading.direction = json_object.getString("direction"); + bgReading.date = json_object.getLong("date"); + bgReading.raw = json_object.getDouble("sgv"); + + MainApp.getDbHelper().createIfNotExists(bgReading, "MM640g"); + break; + default: + if (Config.logBgSource) + log.debug("Unknown entries type: " + type); + } + } + } catch (JSONException e) { + log.error("Exception: ", e); + } + } + } + } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceNSClientPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceNSClientPlugin.java index c99fbcb9bb..89408d3e46 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceNSClientPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceNSClientPlugin.java @@ -1,16 +1,32 @@ package info.nightscout.androidaps.plugins.Source; +import android.content.Intent; +import android.os.Bundle; + +import org.json.JSONArray; +import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin; +import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSgv; +import info.nightscout.utils.JsonHelper; +import info.nightscout.utils.SP; /** * Created by mike on 05.08.2016. */ public class SourceNSClientPlugin extends PluginBase implements BgSourceInterface { + private static Logger log = LoggerFactory.getLogger(Constants.BGSOURCE); private static SourceNSClientPlugin plugin = null; @@ -39,6 +55,50 @@ public class SourceNSClientPlugin extends PluginBase implements BgSourceInterfac return isAdvancedFilteringEnabled; } + @Override + public void handleNewData(Intent intent) { + + if (!isEnabled(PluginType.BGSOURCE) && !SP.getBoolean(R.string.key_ns_autobackfill, true)) + return; + + Bundle bundles = intent.getExtras(); + + try { + if (bundles.containsKey("sgv")) { + String sgvstring = bundles.getString("sgv"); + if (Config.logBgSource) + log.debug("Received NS Data: " + sgvstring); + + JSONObject sgvJson = new JSONObject(sgvstring); + storeSgv(sgvJson); + } + + if (bundles.containsKey("sgvs")) { + String sgvstring = bundles.getString("sgvs"); + if (Config.logBgSource) + log.debug("Received NS Data: " + sgvstring); + JSONArray jsonArray = new JSONArray(sgvstring); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject sgvJson = jsonArray.getJSONObject(i); + storeSgv(sgvJson); + } + } + } catch (Exception e) { + log.error("Unhandled exception", e); + } + + // Objectives 0 + ObjectivesPlugin.bgIsAvailableInNS = true; + ObjectivesPlugin.saveProgress(); + } + + private void storeSgv(JSONObject sgvJson) { + NSSgv nsSgv = new NSSgv(sgvJson); + BgReading bgReading = new BgReading(nsSgv); + MainApp.getDbHelper().createIfNotExists(bgReading, "NS"); + SourceNSClientPlugin.getPlugin().detectSource(JsonHelper.safeGetString(sgvJson, "device"), JsonHelper.safeGetLong(sgvJson, "mills")); + } + public void detectSource(String source, long timeStamp) { if (timeStamp > lastBGTimeStamp) { if (source.contains("G5 Native") || source.contains("AndroidAPS-DexcomG5")) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourcePoctechPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourcePoctechPlugin.java index 13cb99d392..071943065d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourcePoctechPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourcePoctechPlugin.java @@ -1,16 +1,32 @@ package info.nightscout.androidaps.plugins.Source; +import android.content.Intent; +import android.os.Bundle; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.utils.JsonHelper; +import info.nightscout.utils.NSUpload; +import info.nightscout.utils.SP; /** * Created by mike on 05.08.2016. */ public class SourcePoctechPlugin extends PluginBase implements BgSourceInterface { + private static Logger log = LoggerFactory.getLogger(Constants.BGSOURCE); private static SourcePoctechPlugin plugin = null; @@ -36,4 +52,44 @@ public class SourcePoctechPlugin extends PluginBase implements BgSourceInterface return false; } + @Override + public void handleNewData(Intent intent) { + + if (!isEnabled(PluginType.BGSOURCE)) return; + + Bundle bundle = intent.getExtras(); + if (bundle == null) return; + + BgReading bgReading = new BgReading(); + + String data = bundle.getString("data"); + if (Config.logBgSource) + log.debug("Received Poctech Data", data); + + try { + JSONArray jsonArray = new JSONArray(data); + if (Config.logBgSource) + log.debug("Received Poctech Data size:" + jsonArray.length()); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject json = jsonArray.getJSONObject(i); + bgReading.value = json.getDouble("current"); + bgReading.direction = json.getString("direction"); + bgReading.date = json.getLong("date"); + bgReading.raw = json.getDouble("raw"); + if (JsonHelper.safeGetString(json, "units", Constants.MGDL).equals("mmol/L")) + bgReading.value = bgReading.value * Constants.MMOLL_TO_MGDL; + boolean isNew = MainApp.getDbHelper().createIfNotExists(bgReading, "Poctech"); + if (isNew && SP.getBoolean(R.string.key_dexcomg5_nsupload, false)) { + NSUpload.uploadBg(bgReading); + } + if (isNew && SP.getBoolean(R.string.key_dexcomg5_xdripupload, false)) { + NSUpload.sendToXdrip(bgReading); + } + } + + } catch (JSONException e) { + log.error("Exception: ", e); + } + } + } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java index fa61c9ea61..77cf5e61d0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java @@ -1,18 +1,31 @@ package info.nightscout.androidaps.plugins.Source; +import android.content.Intent; +import android.os.Bundle; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.Services.Intents; +import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.utils.BundleLogger; /** * Created by mike on 05.08.2016. */ public class SourceXdripPlugin extends PluginBase implements BgSourceInterface { + private static Logger log = LoggerFactory.getLogger(Constants.BGSOURCE); private static SourceXdripPlugin plugin = null; - + boolean advancedFiltering; public static SourceXdripPlugin getPlugin() { @@ -35,6 +48,28 @@ public class SourceXdripPlugin extends PluginBase implements BgSourceInterface { return advancedFiltering; } + @Override + public void handleNewData(Intent intent) { + + if (!isEnabled(PluginType.BGSOURCE)) return; + + Bundle bundle = intent.getExtras(); + if (bundle == null) return; + + if (Config.logBgSource) + log.debug("Received xDrip data: " + BundleLogger.log(intent.getExtras())); + + BgReading bgReading = new BgReading(); + + bgReading.value = bundle.getDouble(Intents.EXTRA_BG_ESTIMATE); + bgReading.direction = bundle.getString(Intents.EXTRA_BG_SLOPE_NAME); + bgReading.date = bundle.getLong(Intents.EXTRA_TIMESTAMP); + bgReading.raw = bundle.getDouble(Intents.EXTRA_RAW); + String source = bundle.getString(Intents.XDRIP_DATA_SOURCE_DESCRIPTION, "no Source specified"); + SourceXdripPlugin.getPlugin().setSource(source); + MainApp.getDbHelper().createIfNotExists(bgReading, "XDRIP"); + } + public void setSource(String source) { this.advancedFiltering = source.contains("G5 Native"); } From 9141e0f66d5e6a88acaf9c7d3edf30d0898378c8 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 27 Jul 2018 14:01:56 +0200 Subject: [PATCH 09/37] OVERVIEW & NOTIFICATION logging cleanup --- .../info/nightscout/androidaps/Config.java | 2 + .../info/nightscout/androidaps/Constants.java | 2 + .../plugins/Overview/OverviewFragment.java | 279 +++++++++--------- .../plugins/Overview/OverviewPlugin.java | 3 +- .../events/EventOverviewBolusProgress.java | 1 - .../plugins/Overview/graphData/GraphData.java | 6 +- .../Overview/notifications/Notification.java | 2 - .../NotificationRecyclerViewAdapter.java | 10 +- .../notifications/NotificationStore.java | 19 +- 9 files changed, 167 insertions(+), 157 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index 3325c7623c..04f40669e7 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -37,6 +37,8 @@ public class Config { public static final boolean logEvents = false; public static final boolean logQueue = true; public static final boolean logBgSource = true; + public static final boolean logOverview = true; + public static final boolean logNotification = true; // DanaR specific public static final boolean logDanaBTComm = true; diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index 49bf17ec86..6b2f3d4ac1 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -73,4 +73,6 @@ public class Constants { public static final String EVENTS = "EVENTS"; public static final String QUEUE = "QUEUE"; public static final String BGSOURCE = "BGSOURCE"; + public static final String OVERVIEW = "OVERVIEW"; + public static final String NOTIFICATION = "NOTIFICATION"; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java index f844c11609..b5e97a59d8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java @@ -126,7 +126,7 @@ import info.nightscout.utils.ToastUtils; import static info.nightscout.utils.DateUtil.now; public class OverviewFragment extends Fragment implements View.OnClickListener, View.OnLongClickListener { - private static Logger log = LoggerFactory.getLogger(OverviewFragment.class); + private static Logger log = LoggerFactory.getLogger(Constants.OVERVIEW); TextView timeView; TextView bgView; @@ -201,143 +201,136 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - try { - //check screen width - final DisplayMetrics dm = new DisplayMetrics(); - getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); - int screen_width = dm.widthPixels; - int screen_height = dm.heightPixels; - smallWidth = screen_width <= Constants.SMALL_WIDTH; - smallHeight = screen_height <= Constants.SMALL_HEIGHT; - boolean landscape = screen_height < screen_width; + //check screen width + final DisplayMetrics dm = new DisplayMetrics(); + getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm); + int screen_width = dm.widthPixels; + int screen_height = dm.heightPixels; + smallWidth = screen_width <= Constants.SMALL_WIDTH; + smallHeight = screen_height <= Constants.SMALL_HEIGHT; + boolean landscape = screen_height < screen_width; - View view; + View view; - if (MainApp.sResources.getBoolean(R.bool.isTablet) && (Config.NSCLIENT || Config.G5UPLOADER)) { - view = inflater.inflate(R.layout.overview_fragment_nsclient_tablet, container, false); - } else if (Config.NSCLIENT || Config.G5UPLOADER) { - view = inflater.inflate(R.layout.overview_fragment_nsclient, container, false); - shorttextmode = true; - } else if (smallHeight || landscape) { - view = inflater.inflate(R.layout.overview_fragment_smallheight, container, false); - } else { - view = inflater.inflate(R.layout.overview_fragment, container, false); - } - - timeView = (TextView) view.findViewById(R.id.overview_time); - bgView = (TextView) view.findViewById(R.id.overview_bg); - arrowView = (TextView) view.findViewById(R.id.overview_arrow); - if (smallWidth) { - arrowView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 35); - } - sensitivityView = (TextView) view.findViewById(R.id.overview_sensitivity); - timeAgoView = (TextView) view.findViewById(R.id.overview_timeago); - timeAgoShortView = (TextView) view.findViewById(R.id.overview_timeagoshort); - deltaView = (TextView) view.findViewById(R.id.overview_delta); - deltaShortView = (TextView) view.findViewById(R.id.overview_deltashort); - avgdeltaView = (TextView) view.findViewById(R.id.overview_avgdelta); - baseBasalView = (TextView) view.findViewById(R.id.overview_basebasal); - extendedBolusView = (TextView) view.findViewById(R.id.overview_extendedbolus); - activeProfileView = (TextView) view.findViewById(R.id.overview_activeprofile); - pumpStatusView = (TextView) view.findViewById(R.id.overview_pumpstatus); - pumpDeviceStatusView = (TextView) view.findViewById(R.id.overview_pump); - openapsDeviceStatusView = (TextView) view.findViewById(R.id.overview_openaps); - uploaderDeviceStatusView = (TextView) view.findViewById(R.id.overview_uploader); - iobCalculationProgressView = (TextView) view.findViewById(R.id.overview_iobcalculationprogess); - loopStatusLayout = (LinearLayout) view.findViewById(R.id.overview_looplayout); - pumpStatusLayout = (LinearLayout) view.findViewById(R.id.overview_pumpstatuslayout); - - pumpStatusView.setBackgroundColor(MainApp.gc(R.color.colorInitializingBorder)); - - iobView = (TextView) view.findViewById(R.id.overview_iob); - cobView = (TextView) view.findViewById(R.id.overview_cob); - apsModeView = (TextView) view.findViewById(R.id.overview_apsmode); - tempTargetView = (TextView) view.findViewById(R.id.overview_temptarget); - - iage = (TextView) view.findViewById(R.id.careportal_insulinage); - cage = (TextView) view.findViewById(R.id.careportal_canulaage); - sage = (TextView) view.findViewById(R.id.careportal_sensorage); - pbage = (TextView) view.findViewById(R.id.careportal_pbage); - - bgGraph = (GraphView) view.findViewById(R.id.overview_bggraph); - iobGraph = (GraphView) view.findViewById(R.id.overview_iobgraph); - - treatmentButton = (SingleClickButton) view.findViewById(R.id.overview_treatmentbutton); - treatmentButton.setOnClickListener(this); - wizardButton = (SingleClickButton) view.findViewById(R.id.overview_wizardbutton); - wizardButton.setOnClickListener(this); - insulinButton = (SingleClickButton) view.findViewById(R.id.overview_insulinbutton); - if (insulinButton != null) - insulinButton.setOnClickListener(this); - carbsButton = (SingleClickButton) view.findViewById(R.id.overview_carbsbutton); - if (carbsButton != null) - carbsButton.setOnClickListener(this); - acceptTempButton = (SingleClickButton) view.findViewById(R.id.overview_accepttempbutton); - if (acceptTempButton != null) - acceptTempButton.setOnClickListener(this); - quickWizardButton = (SingleClickButton) view.findViewById(R.id.overview_quickwizardbutton); - quickWizardButton.setOnClickListener(this); - quickWizardButton.setOnLongClickListener(this); - calibrationButton = (SingleClickButton) view.findViewById(R.id.overview_calibrationbutton); - if (calibrationButton != null) - calibrationButton.setOnClickListener(this); - cgmButton = (SingleClickButton) view.findViewById(R.id.overview_cgmbutton); - if (cgmButton != null) - cgmButton.setOnClickListener(this); - - acceptTempLayout = (LinearLayout) view.findViewById(R.id.overview_accepttemplayout); - - notificationsView = (RecyclerView) view.findViewById(R.id.overview_notifications); - notificationsView.setHasFixedSize(false); - llm = new LinearLayoutManager(view.getContext()); - notificationsView.setLayoutManager(llm); - - int axisWidth = 50; - - if (dm.densityDpi <= 120) - axisWidth = 3; - else if (dm.densityDpi <= 160) - axisWidth = 10; - else if (dm.densityDpi <= 320) - axisWidth = 35; - else if (dm.densityDpi <= 420) - axisWidth = 50; - else if (dm.densityDpi <= 560) - axisWidth = 70; - else - axisWidth = 80; - - bgGraph.getGridLabelRenderer().setGridColor(MainApp.gc(R.color.graphgrid)); - bgGraph.getGridLabelRenderer().reloadStyles(); - iobGraph.getGridLabelRenderer().setGridColor(MainApp.gc(R.color.graphgrid)); - iobGraph.getGridLabelRenderer().reloadStyles(); - iobGraph.getGridLabelRenderer().setHorizontalLabelsVisible(false); - bgGraph.getGridLabelRenderer().setLabelVerticalWidth(axisWidth); - iobGraph.getGridLabelRenderer().setLabelVerticalWidth(axisWidth); - iobGraph.getGridLabelRenderer().setNumVerticalLabels(3); - - rangeToDisplay = SP.getInt(R.string.key_rangetodisplay, 6); - - bgGraph.setOnLongClickListener(new View.OnLongClickListener() { - @Override - public boolean onLongClick(View v) { - rangeToDisplay += 6; - rangeToDisplay = rangeToDisplay > 24 ? 6 : rangeToDisplay; - SP.putInt(R.string.key_rangetodisplay, rangeToDisplay); - updateGUI("rangeChange"); - return false; - } - }); - - setupChartMenu(view); - - return view; - } catch (Exception e) { - FabricPrivacy.logException(e); - log.debug("Runtime Exception", e); + if (MainApp.sResources.getBoolean(R.bool.isTablet) && (Config.NSCLIENT || Config.G5UPLOADER)) { + view = inflater.inflate(R.layout.overview_fragment_nsclient_tablet, container, false); + } else if (Config.NSCLIENT || Config.G5UPLOADER) { + view = inflater.inflate(R.layout.overview_fragment_nsclient, container, false); + shorttextmode = true; + } else if (smallHeight || landscape) { + view = inflater.inflate(R.layout.overview_fragment_smallheight, container, false); + } else { + view = inflater.inflate(R.layout.overview_fragment, container, false); } - return null; + timeView = (TextView) view.findViewById(R.id.overview_time); + bgView = (TextView) view.findViewById(R.id.overview_bg); + arrowView = (TextView) view.findViewById(R.id.overview_arrow); + if (smallWidth) { + arrowView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 35); + } + sensitivityView = (TextView) view.findViewById(R.id.overview_sensitivity); + timeAgoView = (TextView) view.findViewById(R.id.overview_timeago); + timeAgoShortView = (TextView) view.findViewById(R.id.overview_timeagoshort); + deltaView = (TextView) view.findViewById(R.id.overview_delta); + deltaShortView = (TextView) view.findViewById(R.id.overview_deltashort); + avgdeltaView = (TextView) view.findViewById(R.id.overview_avgdelta); + baseBasalView = (TextView) view.findViewById(R.id.overview_basebasal); + extendedBolusView = (TextView) view.findViewById(R.id.overview_extendedbolus); + activeProfileView = (TextView) view.findViewById(R.id.overview_activeprofile); + pumpStatusView = (TextView) view.findViewById(R.id.overview_pumpstatus); + pumpDeviceStatusView = (TextView) view.findViewById(R.id.overview_pump); + openapsDeviceStatusView = (TextView) view.findViewById(R.id.overview_openaps); + uploaderDeviceStatusView = (TextView) view.findViewById(R.id.overview_uploader); + iobCalculationProgressView = (TextView) view.findViewById(R.id.overview_iobcalculationprogess); + loopStatusLayout = (LinearLayout) view.findViewById(R.id.overview_looplayout); + pumpStatusLayout = (LinearLayout) view.findViewById(R.id.overview_pumpstatuslayout); + + pumpStatusView.setBackgroundColor(MainApp.gc(R.color.colorInitializingBorder)); + + iobView = (TextView) view.findViewById(R.id.overview_iob); + cobView = (TextView) view.findViewById(R.id.overview_cob); + apsModeView = (TextView) view.findViewById(R.id.overview_apsmode); + tempTargetView = (TextView) view.findViewById(R.id.overview_temptarget); + + iage = (TextView) view.findViewById(R.id.careportal_insulinage); + cage = (TextView) view.findViewById(R.id.careportal_canulaage); + sage = (TextView) view.findViewById(R.id.careportal_sensorage); + pbage = (TextView) view.findViewById(R.id.careportal_pbage); + + bgGraph = (GraphView) view.findViewById(R.id.overview_bggraph); + iobGraph = (GraphView) view.findViewById(R.id.overview_iobgraph); + + treatmentButton = (SingleClickButton) view.findViewById(R.id.overview_treatmentbutton); + treatmentButton.setOnClickListener(this); + wizardButton = (SingleClickButton) view.findViewById(R.id.overview_wizardbutton); + wizardButton.setOnClickListener(this); + insulinButton = (SingleClickButton) view.findViewById(R.id.overview_insulinbutton); + if (insulinButton != null) + insulinButton.setOnClickListener(this); + carbsButton = (SingleClickButton) view.findViewById(R.id.overview_carbsbutton); + if (carbsButton != null) + carbsButton.setOnClickListener(this); + acceptTempButton = (SingleClickButton) view.findViewById(R.id.overview_accepttempbutton); + if (acceptTempButton != null) + acceptTempButton.setOnClickListener(this); + quickWizardButton = (SingleClickButton) view.findViewById(R.id.overview_quickwizardbutton); + quickWizardButton.setOnClickListener(this); + quickWizardButton.setOnLongClickListener(this); + calibrationButton = (SingleClickButton) view.findViewById(R.id.overview_calibrationbutton); + if (calibrationButton != null) + calibrationButton.setOnClickListener(this); + cgmButton = (SingleClickButton) view.findViewById(R.id.overview_cgmbutton); + if (cgmButton != null) + cgmButton.setOnClickListener(this); + + acceptTempLayout = (LinearLayout) view.findViewById(R.id.overview_accepttemplayout); + + notificationsView = (RecyclerView) view.findViewById(R.id.overview_notifications); + notificationsView.setHasFixedSize(false); + llm = new LinearLayoutManager(view.getContext()); + notificationsView.setLayoutManager(llm); + + int axisWidth = 50; + + if (dm.densityDpi <= 120) + axisWidth = 3; + else if (dm.densityDpi <= 160) + axisWidth = 10; + else if (dm.densityDpi <= 320) + axisWidth = 35; + else if (dm.densityDpi <= 420) + axisWidth = 50; + else if (dm.densityDpi <= 560) + axisWidth = 70; + else + axisWidth = 80; + + bgGraph.getGridLabelRenderer().setGridColor(MainApp.gc(R.color.graphgrid)); + bgGraph.getGridLabelRenderer().reloadStyles(); + iobGraph.getGridLabelRenderer().setGridColor(MainApp.gc(R.color.graphgrid)); + iobGraph.getGridLabelRenderer().reloadStyles(); + iobGraph.getGridLabelRenderer().setHorizontalLabelsVisible(false); + bgGraph.getGridLabelRenderer().setLabelVerticalWidth(axisWidth); + iobGraph.getGridLabelRenderer().setLabelVerticalWidth(axisWidth); + iobGraph.getGridLabelRenderer().setNumVerticalLabels(3); + + rangeToDisplay = SP.getInt(R.string.key_rangetodisplay, 6); + + bgGraph.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + rangeToDisplay += 6; + rangeToDisplay = rangeToDisplay > 24 ? 6 : rangeToDisplay; + SP.putInt(R.string.key_rangetodisplay, rangeToDisplay); + updateGUI("rangeChange"); + return false; + } + }); + + setupChartMenu(view); + + return view; } private void setupChartMenu(View view) { @@ -833,7 +826,8 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, builder.setPositiveButton(MainApp.gs(R.string.ok), (dialog, id) -> { synchronized (builder) { if (accepted) { - log.debug("guarding: already accepted"); + if (Config.logOverview) + log.debug("guarding: already accepted"); return; } accepted = true; @@ -1038,7 +1032,8 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, @SuppressLint("SetTextI18n") public void updateGUI(final String from) { - log.debug("updateGUI entered from: " + from); + if (Config.logOverview) + log.debug("updateGUI entered from: " + from); final Date updateGUIStart = new Date(); if (getActivity() == null) @@ -1433,7 +1428,8 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, final long now = System.currentTimeMillis(); // ------------------ 1st graph - Profiler.log(log, from + " - 1st graph - START", updateGUIStart); + if (Config.logOverview) + Profiler.log(log, from + " - 1st graph - START", updateGUIStart); final GraphData graphData = new GraphData(bgGraph, IobCobCalculatorPlugin.getPlugin()); @@ -1465,7 +1461,8 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, graphData.addNowLine(now); // ------------------ 2nd graph - Profiler.log(log, from + " - 2nd graph - START", updateGUIStart); + if (Config.logOverview) + Profiler.log(log, from + " - 2nd graph - START", updateGUIStart); final GraphData secondGraphData = new GraphData(iobGraph, IobCobCalculatorPlugin.getPlugin()); @@ -1519,12 +1516,14 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, // finally enforce drawing of graphs graphData.performUpdate(); secondGraphData.performUpdate(); - Profiler.log(log, from + " - onDataChanged", updateGUIStart); + if (Config.logOverview) + Profiler.log(log, from + " - onDataChanged", updateGUIStart); }); } }).start(); - Profiler.log(log, from, updateGUIStart); + if (Config.logOverview) + Profiler.log(log, from, updateGUIStart); } //Notifications diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java index 3b787fd768..eea249c2e2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java @@ -7,6 +7,7 @@ import org.json.JSONException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; @@ -24,7 +25,7 @@ import info.nightscout.utils.SP; * Created by mike on 05.08.2016. */ public class OverviewPlugin extends PluginBase { - private static Logger log = LoggerFactory.getLogger(OverviewPlugin.class); + private static Logger log = LoggerFactory.getLogger(Constants.OVERVIEW); private static OverviewPlugin overviewPlugin = new OverviewPlugin(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/events/EventOverviewBolusProgress.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/events/EventOverviewBolusProgress.java index 6f9526369e..18e8ff91bc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/events/EventOverviewBolusProgress.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/events/EventOverviewBolusProgress.java @@ -7,7 +7,6 @@ import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.events.Event; public class EventOverviewBolusProgress extends Event { - private static Logger log = LoggerFactory.getLogger(EventOverviewBolusProgress.class); public String status = ""; public Treatment t = null; public int percent = 0; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java index df53dd3dd1..d750965d38 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java @@ -18,6 +18,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -50,7 +51,7 @@ import info.nightscout.utils.Round; */ public class GraphData { - private static Logger log = LoggerFactory.getLogger(GraphData.class); + private static Logger log = LoggerFactory.getLogger(Constants.OVERVIEW); private GraphView graph; public double maxY = Double.MIN_VALUE; @@ -74,7 +75,8 @@ public class GraphData { List bgListArray = new ArrayList<>(); if (bgReadingsArray == null || bgReadingsArray.size() == 0) { - log.debug("No BG data."); + if (Config.logOverview) + log.debug("No BG data."); return; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/Notification.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/Notification.java index 8c91e2896b..57e6b72377 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/Notification.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/Notification.java @@ -20,8 +20,6 @@ import info.nightscout.utils.SP; */ public class Notification { - private static Logger log = LoggerFactory.getLogger(Notification.class); - public static final int URGENT = 0; public static final int NORMAL = 1; public static final int LOW = 2; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/NotificationRecyclerViewAdapter.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/NotificationRecyclerViewAdapter.java index 895b99a43e..02390154b6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/NotificationRecyclerViewAdapter.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/NotificationRecyclerViewAdapter.java @@ -15,6 +15,8 @@ import org.slf4j.LoggerFactory; import java.util.List; import java.util.Objects; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastAckAlarm; @@ -24,7 +26,7 @@ import info.nightscout.utils.DateUtil; import info.nightscout.utils.SP; public class NotificationRecyclerViewAdapter extends RecyclerView.Adapter { - private static Logger log = LoggerFactory.getLogger(NotificationRecyclerViewAdapter.class); + private static Logger log = LoggerFactory.getLogger(Constants.NOTIFICATION); private List notificationsList; @@ -96,11 +98,13 @@ public class NotificationRecyclerViewAdapter extends RecyclerView.Adapter store = new ArrayList(); - public long snoozedUntil = 0L; + private static Logger log = LoggerFactory.getLogger(Constants.NOTIFICATION); + public List store = new ArrayList<>(); private boolean usesChannels; public NotificationStore() { @@ -52,7 +52,8 @@ public class NotificationStore { } public synchronized boolean add(Notification n) { - log.info("Notification received: " + n.text); + if (Config.logNotification) + log.debug("Notification received: " + n.text); for (Notification storeNotification : store) { if (storeNotification.id == n.id) { storeNotification.date = n.date; @@ -107,7 +108,8 @@ public class NotificationStore { } public void snoozeTo(long timeToSnooze) { - log.debug("Snoozing alarm until: " + timeToSnooze); + if (Config.logNotification) + log.debug("Snoozing alarm until: " + timeToSnooze); SP.putLong("snoozedTo", timeToSnooze); } @@ -116,7 +118,8 @@ public class NotificationStore { Notification notification = new Notification(Notification.NSALARM, MainApp.gs(R.string.nsalarm_staledata), Notification.URGENT); SP.putLong("snoozedTo", System.currentTimeMillis()); add(notification); - log.debug("Snoozed to current time and added back notification!"); + if (Config.logNotification) + log.debug("Snoozed to current time and added back notification!"); } } @@ -125,7 +128,7 @@ public class NotificationStore { NotificationManager mgr = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); Bitmap largeIcon = BitmapFactory.decodeResource(context.getResources(), R.mipmap.blueowl); int smallIcon = R.drawable.ic_notification; - if (Config.NSCLIENT || Config.G5UPLOADER){ + if (Config.NSCLIENT || Config.G5UPLOADER) { largeIcon = BitmapFactory.decodeResource(MainApp.instance().getResources(), R.mipmap.yellowowl); smallIcon = R.drawable.nsclient_smallicon; } From 8fbdc9b07ce38ce26278cbc25e9aa73560348f46 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 27 Jul 2018 14:41:23 +0200 Subject: [PATCH 10/37] translations cleanup pass 1 --- app/src/main/res/values-bg/strings.xml | 28 +++++------ app/src/main/res/values-cs/strings.xml | 26 +++++------ app/src/main/res/values-de/strings.xml | 16 +++---- app/src/main/res/values-el/strings.xml | 12 ++--- app/src/main/res/values-es/strings.xml | 54 +++++++++++----------- app/src/main/res/values-fr/strings.xml | 18 ++++---- app/src/main/res/values-ga/strings.xml | 24 +++++----- app/src/main/res/values-it/strings.xml | 6 +-- app/src/main/res/values-ko/strings.xml | 6 +-- app/src/main/res/values-nl/strings.xml | 24 +++++----- app/src/main/res/values-pl/strings.xml | 24 +++++----- app/src/main/res/values-ro/strings.xml | 22 ++++----- app/src/main/res/values-ru/strings.xml | 14 +++--- app/src/main/res/values-sv/strings.xml | 24 +++++----- app/src/main/res/values-zh-rCN/strings.xml | 16 +++---- app/src/main/res/values/strings.xml | 38 +++++++-------- 16 files changed, 176 insertions(+), 176 deletions(-) diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 97540d4d3c..5627b193dd 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -248,7 +248,7 @@ КЗ въглехидрати аларма - Общо %d записа качени + Общо %1$d записа качени S болус Аларми Базален по часове @@ -259,7 +259,7 @@ КЗ Презареждане Спиране - Свързва се с помпата за %d сек. + Свързва се с помпата за %1$d сек. Парола за помпата Грешна парола за помпата! Помпата е заета @@ -354,13 +354,13 @@ MM640g Текущи известия СТАРИ ДАННИ - преди %d мин + преди %1$d мин %dmin ago Локален профил OpenAPS AMA Краткоср. Δ: Дългоср. Δ: - Масив от %d елемента.Актуална стойност: + Масив от %1$d елемента.Актуална стойност: Autosens данни Script debug Разреши AMA autosens @@ -465,10 +465,10 @@ Възрастен Изберете възраст за определяне лимитите на безопасност Glimp - %s се нуждае от зключване на оптимизиране на батерията за пълна функционалност + %1$s се нуждае от зключване на оптимизиране на батерията за пълна функционалност Loop изключен - Изключен (%d мин) - Суперболус (%d мин) + Изключен (%1$d мин) + Суперболус (%1$d мин) Изключи Loop за 1ч Изключи Loop за 2ч Изключи Loop за 3ч @@ -656,11 +656,11 @@ Стартира доставка на болус Неподдържан фърмуер на помпата Спешна аларма - Очаква края на болуса. Остават %d сек. + Очаква края на болуса. Остават %1$d сек. Показвай делта с още един десетичен знак Показвай подробна делта Да - Невалиден профил: %s + Невалиден профил: %1$s En Използвай системни известия за аларми и съобщения Внимание @@ -698,7 +698,7 @@ Програмиране на помпа за болус Състояние Активност - Няма връзка от %d мин. + Няма връзка от %1$d мин. %1$d%% (%2$d мин. остават) Инициализация Прекратен поради грешка @@ -818,8 +818,8 @@ Старт на вр. цел за Eating soon Вр.цел Старт на вр. цел при хипо - ЦЕЛ %d не е стартирана - ЦЕЛ %d не е завършена + ЦЕЛ %1$d не е стартирана + ЦЕЛ %1$d не е завършена Помпата не може да подава временен базал Няма валидна базална прочетена от помпата Closed loop е забранен в настройките @@ -845,8 +845,8 @@ SMB \"винаги\" и \"след въглехидрати\" е забранен, защото е активен източник на КЗ, който не поддържа необходимата филтрация SMB не е позволен в режим open loop Храна - Очаква синхронизация (%d sec) - Прекъснат (%d m) + Очаква синхронизация (%1$d sec) + Прекъснат (%1$d m) Автоматично careportal събитие Автоматично изпраща смяна на резервоар, сет и аларми на помпата към Nightscout Максималният общ IOB OpenAPS не може да бъде повече от [U] diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 4d20892429..f2dabea2d7 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -226,7 +226,7 @@ Hodinové bazály Bolusy Sacharidy - Připojování %d sec + Připojování %1$d sec Denní inzulín Chyby Glykémie @@ -235,7 +235,7 @@ Načíst plnění S bolus - Celkem nahráno %d záznamů + Celkem nahráno %1$d záznamů Nahrávám Pumpa je zaneprázdněna Špatné heslo k pumpě @@ -330,18 +330,18 @@ Pera Glykémie: Poslední glykémie: - před %d min + před %1$d min Bazál: Bolus: Rozdíl: IOB: - před %d min + před %1$d min Bolus %.2fU aplikován úspěšně Průběžné oznámení ZASTARALÉ Místní profil Aktivita - Pole %d prvků. Aktuální hodnota: + Pole %1$d prvků. Aktuální hodnota: Před jídlem Greek Inicializuji ... @@ -464,7 +464,7 @@ Odpojit pumpu na 3 h Povolit smyčku Smyčka pozastavena - Pozastaveno (%d min) + Pozastaveno (%1$d min) %s potřebuje vypnout optimalizace baterie pro optimální výkon Uvolnit Pozastavit smyčku na 10 h @@ -482,7 +482,7 @@ Inzulín Rychlý inzulín INZ - Superbolus (%d m) + Superbolus (%1$d m) 15min trend COB Superbolus @@ -612,7 +612,7 @@ Spouštím bolus Fiasp Ultra rychlý - Oref - Čekání na konec bolusu. Zbývá %d sek. + Čekání na konec bolusu. Zbývá %1$d sek. Povolit další funkce pro běžné používání jako SMB Výchozí hodnota: 3 Toto je klíčová hodnota zabezpečení. Říká, že maximánlní nastavitelný bazál je trojnásobkem maximálního denního bazálu. Patrně to nebudete muset měnit, případně si přečtete o tématu \"3x max denní; 4x aktuální\" Výchozí hodnota: 4 Toto je druhá klíčová hodnota. Říká, že maximální hodnota dočasného bazálu nikdy nebude větší, než čtyřnásobek aktuálního bazálu. Je to proto, aby se lidé nedostali do hodnot nebezpečných bazálu dříve, než pochpí jak OpenAPS pracuje. Znovy vychozí hodnota je 4 a většina lidí ji nidky nebude muset změnit. Pokud nestačí, obvykle je problém někde jinde. @@ -678,7 +678,7 @@ Obnovit Stav Aktivita - Žádné spojení %d min + Žádné spojení %1$d min %1$d%% (%2$d min zbývá) Inicializace Vypnuto díky chybě @@ -857,9 +857,9 @@ Cílová glykémie při hypoglykémii m h - Výukový cíl %d nespuštěn + Výukový cíl %1$d nespuštěn Novorapid, Novolog, Humalog - Výukový cíl %d nedokončen + Výukový cíl %1$d nedokončen Pumpa nepodporuje dočasné bazály Z pumpy nepřečten žádný platný bazál Uzavřená smyčka zakázána v nastavení @@ -887,8 +887,8 @@ SBM není povoleno v otevřené smyčce Jídlo reset - Čekání na synchronizaci času (%d s) - Odpojeno (%d m) + Čekání na synchronizaci času (%1$d s) + Odpojeno (%1$d m) Automatické vkládání péče Automaticky vloží výměnu inzulínu, setu, baterie a alarmů pumpy do NS Maximální celkové IOB, které OpenAPS nemůže překročit [U] diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index f3fd2e5986..850aa02f3a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -272,7 +272,7 @@ Button 2 Button 3 Konfiguration - vor %d min + vor %1$d min AKT WEAR VP @@ -356,7 +356,7 @@ Status zu Nightscout hochladen Superbolus Pausiere Loop für 10 h - Insgesamt %d Einträge. Aktueller Wert: + Insgesamt %1$d Einträge. Aktueller Wert: IAGE Batteriealter PUMP @@ -715,9 +715,9 @@ Alarm stoppen Bolus gestoppt Bolus wird gestoppt - Basalraten beginnen nicht zur vollen Stunde: %s - Ungültiges Profil: %s - vor %.1f h + Basalraten beginnen nicht zur vollen Stunde: %1$s + Ungültiges Profil: %1$s + vor %1$.1f h Es wurde keine hohe TBR gesetzt, da nach der Berechnung Boluseinträge in der Pumpenhistorik gefunden wurden. Der letzte Bolus liegt mehr als 24 Stunden zurück oder liegt in der Zukunft. Prüfe bitte das Datum auf der Pumpe. Zeit/Datum des abgegebenen Boluses auf der Pumpe erscheint falsch, IOB ist wahrscheinlich nicht korrekt. Bitte prüfe Zeit/Datum der Pumpe. @@ -729,7 +729,7 @@ mit Wlan SSID Woche - Warte auf Zeitsynchronisierung (%d Sek.) + Warte auf Zeitsynchronisierung (%1$d Sek.) Warte auf Code-Bestätigung Benutze nur WLAN Verbindung Benutze Super Micro Bolus anstelle von temporären Basalraten, um eine schnellere Wirkung zu erreichen. @@ -784,8 +784,8 @@ Erste KH-Erhöhung Nur wenn geladen wird Verbindungs-Einstellungen - Zielsetzung %d nicht gestartet. - Zielsetzung %d nicht abgeschlossen. + Zielsetzung %1$d nicht gestartet. + Zielsetzung %1$d nicht abgeschlossen. Bolus nur erfassen Bolus wird nur erfasst. diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 3ccc0ef424..c443e4882e 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -244,7 +244,7 @@ γλυκόζη υδατάνθρακες συναγερμός - "Σύνολο %d εγγραφών φορτώθηκαν " + "Σύνολο %1$d εγγραφών φορτώθηκαν " S bolus Συναγερμοί Ώρες Βασικού @@ -255,7 +255,7 @@ Γλυκόζη Ξαναγέμισμα Κλείσιμο - Σύνδεση με %d s + Σύνδεση με %1$d s Κωδικός αντλίας Λάθος κωδικός αντλίας! Αντλία απασχολημένη @@ -357,7 +357,7 @@ OpenAPS AMA Βραχυπρόθεσμος Μέσος Όρος ΜΑκροπρόθεσμος Μέσος Όρος - Πίνακας στοιχείων %d.Τρέχουσα Τιμή + Πίνακας στοιχείων %1$d.Τρέχουσα Τιμή Δεδομένα Autosens Πληροφορίες συντονισμού Χρήση τοy AMA autosense @@ -464,8 +464,8 @@ Glimp Το %s πρέπει να απενεργοποιήσει τη βελτιστοποίηση της μπαταρίας για βέλτιστη απόδοση Κύκλωμα σε παύση - Παύση (%d m) - Superbolus (%d m) + Παύση (%1$d m) + Superbolus (%1$d m) Κύκλωμα σε παύση για 1h Κύκλωμα σε παύση για 2h Κύκλωμα σε παύση για 3h @@ -605,7 +605,7 @@ Έλεγχος από ρολόι Ρυθμίστε Στόχους-Προσ. και βάλτε Θεραπείες από το ρολόι Ο χρόνος σύνδεσης έληξε - Περιμένετε το τέλος του bolus. Απομένουν %d sec + Περιμένετε το τέλος του bolus. Απομένουν %1$d sec Επεξεργασία Έναρξη bolus Η εντολή εκτελείται τώρα diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 4c67a29273..e66bb94537 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -247,7 +247,7 @@ glucosa carbohidratos alarma - Total %d registros subidos + Total %1$d registros subidos S bolo alarmas Basal Horas @@ -258,7 +258,7 @@ Glucosa Rellenar Suspender - Conexión de %d s + Conexión de %1$d s Contraseña de la bomba Contraseña de la bomba incorrecta! Bomba ocupada @@ -290,7 +290,7 @@ Loop se ha activado Loop inactivo loop activo - Valor %s fuera de limites + Valor %1$s fuera de limites Botón Texto: Carbs: Validar: @@ -300,8 +300,8 @@ Asistente Asistente configuración No permitidos ajustes basales remotos - Para iniciar basal %.2fU/h responder con código %s - Basal temporal %.2fU/h para %d min iniciada correctamente + Para iniciar basal %1$.2fU/h responder con código %2$s + Basal temporal %1$.2fU/h para %2$d min iniciada correctamente Fallo inicio basal temporal Para parar basal temporal responder con código %s Basal temporal cancelada @@ -339,7 +339,7 @@ Duración de acitividad de insulina %.2f limitado a %.2f no permitido el mando remoto - Para cancelar loop por %d minutos responde con código %s + Para cancelar loop por %1$d minutos responde con código %2$s Rellenar/Llenar Llenar/Rellenar cantidad de insulina estándar mg/dl @@ -377,7 +377,7 @@ OpenAPS AMA Delta media corta Delta media larga - Matriz de %d elementos. Valor actual: + Matriz de %1$d elementos. Valor actual: Datos Autosens Script debug Usar característica AMA autosens @@ -489,10 +489,10 @@ Glimp Aparato parece no soportar optimización de bateria whitelisting! Por favor conceda permiso - %s necesita optimización de bateria whitelisting para funcionar bien + %1$s necesita optimización de bateria whitelisting para funcionar bien Loop desactivado - desactivado (%d m) - Superbolus (%d m) + desactivado (%1$d m) + Superbolus (%1$d m) Desactivar loop por 1h Desactivar loop por 2h Desactivar loop por 3h @@ -642,7 +642,7 @@ Pr Grasa ]]> - Esperando terminar bolo. Faltan %d seg. + Esperando terminar bolo. Faltan %1$d seg. Processando "Iniciando emisión bolo " Orden se esta efectuando en este momento @@ -685,20 +685,20 @@ Modo cerrado activado Máximo IOB puesto correctamente BG adquirible del origen seleccionado - Valores base no asignados a las horas: %s - Perfil invalido: %s + Valores base no asignados a las horas: %1$s + Perfil invalido: %1$s Programando bomba para emitir bolo Actualizar Estado Actividad - Ninguna conexión por %d min - %d%% (%d min restan) + Ninguna conexión por %1$d min + %1$d%% (%2$d min restan) Apagado por error Apagado por usario Funcionando Cancelando TBR - Poniendo TBR (%d%% / %d min) - Emitiendo bolo (%.1f U) + Poniendo TBR (%1$d%% / %2$d min) + Emitiendo bolo (%1$.1f U) Actualizando "Acción no disponible en la bomba " Uso inseguro: bolo prolongado o multiwave activo. Modo Loop ha sido puesto a baja emisión para solo 6 horas. Solo bolo normal se puede emitir en modo loop. @@ -709,7 +709,7 @@ " Activando perfil base " "Nivel del deposito bajo " Bateria casi agotada - La bomba muesta el error E%d: %s + La bomba muesta el error E%1$d: %2$s Bajo Vacio Historial @@ -849,8 +849,8 @@ Objetivo Hipo m h - Objetivo %d no iniciado - Objetivo %d no finalizado + Objetivo %1$d no iniciado + Objetivo %1$d no finalizado La bomba no tiene capacidad basal temporal Tasa Basal no valida en la bomba Loop cerrado desabilitado en preferencias @@ -863,10 +863,10 @@ Multiplicador diario basal máximo Un Bolo entregado en los últimos 3 minutos Basal establecida correctamente - Limitando porcentaje máximo de tasa a %d%% debido a %s + Limitando porcentaje máximo de tasa a %1$d%% debido a %2$s "Limitando el bolo a %.1f U debido a %s " Limitando max IOB to %.1f U debido a %s - Limitando carbs to %d g debido a %s + Limitando carbs to %1$d g debido a %2$s Limitando IOB to %.1f U debido a %s Valor máximo en preferencias Limite estricto @@ -878,8 +878,8 @@ "SMB no permitido en modo de Loop abierto " Comida reset - Esperando para sincronización de tiempo (%d sec) - Desconectado (%d m) + Esperando para sincronización de tiempo (%1$d sec) + Desconectado (%1$d m) Eventos Careportal automáticos "Subi automáticamente la insulina, la cánula y los cambios de batería y las alarmas de bombeo a Nightscout " Este valor se denomina IOB máx. En el contexto de OpenAPS. OpenAPS no agregará más insulina si el IOB actual es mayor que este valor. @@ -887,7 +887,7 @@ "Tiempo en el que cualquier comida se considera absorbida. Los carbohidratos restantes serán cortados. " Tiempo Mostrar el campo notas en dialogos de tratamientos - Solicitado: %.2fU Entregado: %.2fU Codigo de error: %d + Solicitado: %1$.2fU Entregado: %2$.2fU Codigo de error: %3$d Primer incremento insulina Segundo incremento insulina Tercer incremento insulina @@ -966,7 +966,7 @@ Integración de la bomba para las bombas Accu-Chek Insight requiere la instalación de SightRemote Integración de bomba para personas que realizan múltiples inyecciones diarias (MDI) para su terapia de diabetes Integración de bomba para bombas que aún no tienen ningún controlador (Open Loop) - " 179/5000 La sensibilidad se calcula de la misma manera que Oref0, pero puede especificar un lapso de tiempo para el pasado. La absorción mínima de carbohidratos se calcula a partir del tiempo máximo de absorción de carbohidratos en las preferencias." + "La sensibilidad se calcula de la misma manera que Oref0, pero puede especificar un lapso de tiempo para el pasado. La absorción mínima de carbohidratos se calcula a partir del tiempo máximo de absorción de carbohidratos en las preferencias." La sensibilidad se calcula a partir de datos de 24 horas en el pasado y los carbohidratos (si no se absorben) se cortan después del tiempo especificado en las preferencias. La sensibilidad se calcula a partir de datos de 8 h en el pasado y los carbohidratos (si no se absorben) se cortan después del tiempo especificado en las preferencias. El complemento también calcula UAM. La sensibilidad se calcula como un promedio ponderado de las desviaciones. Las desviaciones más nuevas tienen un mayor peso. La absorción mínima de carbohidratos se calcula a partir del tiempo máximo de absorción de carbohidratos de las preferencias. Este algoritmo es el más rápido en los siguientes cambios de sensibilidad. @@ -1067,6 +1067,6 @@ Configuraciones almacenadas encontradas Atención: si activa y conecta una bomba de hardware, AndroidAPS copiará las configuraciones basales del perfil a la bomba, sobrescribiendo la tasa basal existente almacenada en la bomba. Asegúrate de tener la configuración basal correcta en AndroidAPS. Si no está seguro o no desea sobrescribir la configuración básica de su bomba, presione cancelar y repita el cambio a la bomba más adelante. Datos de tratamiento incompletos - o se pudo agregar un tratamiento (insulina: %.2f, carbs: %d, en: %s) a los tratamientos. Verifique y añada manualmente un registro según corresponda. + o se pudo agregar un tratamiento (insulina: %1$.2f, carbs: %2$d, en: %3$s) a los tratamientos. Verifique y añada manualmente un registro según corresponda. ECarbs generados con cantidad: %1$dg, duración: %2$dh, demora: %3$dm diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 8524b72624..e215f283c6 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -243,7 +243,7 @@ Glucose Glucides Alarme - Total %d des enregistrements téléchargés + Total %1$d des enregistrements téléchargés Bolus S Alarmes Heures Basal @@ -351,13 +351,13 @@ MM640g Notification En Cours DONNÉES ANCIENNES - %d min passées - %dmin passées + %1$d min passées + %1$dmin passées Profil Local OpenAPS AMA Courte moyenne delta Longue moyenne delta - Panoplie de %d d\'élements. Valeur réelle + Panoplie de %1$d d\'élements. Valeur réelle Données autosens Script de débogage Utiliser la fonction AMA autosens @@ -463,8 +463,8 @@ Glimp %s a besoin de la liste blanche de l\’optimisation batterie pour une bonne performance Loop suspendu - Suspendu (%d m) - Superbolus (%d m) + Suspendu (%1$d m) + Superbolus (%1$d m) Suspendre Loop pour 1h Suspendre Loop pour 2h Suspendre Loop pour 3h @@ -559,7 +559,7 @@ ACTIVITÉ et FEEDBACK Question Succès - Se connecter pour %d s + Se connecter pour %1$d s POMPE "Valeur Basal [U/h] " Durée [min] @@ -605,7 +605,7 @@ Définir les Cibles Temp et entrer les Traitements depuis la montre Connexion interrompue Aliments - Attendre la fin du bolus. %d sec. restants + Attendre la fin du bolus. %1$d sec. restants Traitement d\'événement Administration du bolus lancée Commande exécutée à l\'instant @@ -675,7 +675,7 @@ Actualiser État Activité - Pas de connexion depuis %d min + Pas de connexion depuis %1$d min %1$d%% (%2$d min restantes) Suspendu pour cause d\'erreur Suspendu par l\'utilisateur diff --git a/app/src/main/res/values-ga/strings.xml b/app/src/main/res/values-ga/strings.xml index e7d78ec815..3adb841cf1 100644 --- a/app/src/main/res/values-ga/strings.xml +++ b/app/src/main/res/values-ga/strings.xml @@ -116,11 +116,11 @@ APS APS AndroidAPS thosaigh - %dnóim ó shin - %d nóim ó shin - %.1fu ó shin - %.2f A/u - %1$d%% (%2$d nóim fágtha) + %1$dnóim ó shin + %1$d nóim ó shin + %1$.1fu ó shin + %1$.2f A/u + %1$d%% (%2$d nóim fágtha) Gníomhartha GNÍ Cuir @@ -132,7 +132,7 @@ Cear Cear Seachadta - Seachadadh %.2fA + Seachadadh %1$.2fA Seachadadh anois Dhícheangal Caidéil do 1 u Dhícheangal Caidéil do 2 u @@ -174,7 +174,7 @@ Cóireálacha Bailí: Fhíorú - Ar fionraí (%d n) + Ar fionraí (%1$d n) Ar fionraí ag úsáideoir Tosaigh ag lúb oscailte Stádas: @@ -189,11 +189,11 @@ Tosaithe ... Léigh próifíl bunaidh Léigh stair caidéil - Socrú BRS (%1$d%% / %2$d nóim) + Socrú BRS (%1$d%% / %2$d nóim) Cealú BRS Is ceallraí Caidéil íseal Is leibhéal cartús íseal - Ag bólas (%.1f A) + Ag bólas (%1$.1f A) Carbí Carbí Carbí @@ -201,7 +201,7 @@ Carbí: Carbí: CARBÍ & BÓLAS - Ag nascadh le %d s + Ag nascadh le %1$d s Tuairim DanaR Bluetooth gléas Seice @@ -244,10 +244,10 @@ Bólas Bólas stopadh Ag stopadh bólas - Ag dul a sheachadadh %.2fA + Ag dul a sheachadadh %1$.2fA Socrú próifíl bunaidh Ag féachaint d\'athruithe stair - Níl nasc le haghaidh %d nóim + Níl nasc le haghaidh %1$d nóim Is nuashonrú gá clog Caidéil Cláir Caidéil bólas Gníomhaíocht diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index fec70c4992..5146667f1a 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -103,7 +103,7 @@ Basale oraria Boli Carboidrati - Connessione %d s + Connessione %1$d s Insulina Giornaliea Errore Glucosio @@ -182,9 +182,9 @@ APS Loop Loop disabilitato da vincolo - Superbolo (%d m) + Superbolo (%1$d m) Sospensione Loop - Sospendi (%d m) + Sospendi (%1$d m) Batteria scarica Manuale MDI diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index d518aadb0d..00e99c0f56 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -249,7 +249,7 @@ 혈당 탄수화물 알람 - 총 %d 기록들이 업로드되었습니다. + 총 %1$d 기록들이 업로드되었습니다. S bolus 알람 기초주입 시간 @@ -260,7 +260,7 @@ 혈당 교체 중지 - %d 초 동안 연결중 + %1$d 초 동안 연결중 펌프 비밀번호 펌프 비밀번호가 잘못되었습니다! 펌프가 바쁩니다 @@ -363,7 +363,7 @@ OpenAPS AMA Short avg. delta Long avg. delta - Array of %d elements.\nActual value: + Array of %1$d elements.\nActual value: Autosens 정보 Script debug AMA autosens 기능 사용하기 diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 9cb91508e7..6e0caa0b21 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -311,9 +311,9 @@ Ok Basaal Loop gedeactiveerd door doelen tab - Superbolus (%d m) + Superbolus (%1$d m) Loop pauzeren - Pauzeer (%d m) + Pauzeer (%1$d m) Batterij bijna leeg Manueel MDI @@ -383,7 +383,7 @@ STOP INGEDRUKT Kalibratie Oude gegevens druk \"VERNIEUW\" a.u.b. - %d min geleden + %1$d min geleden Berekening Dosis Periode @@ -459,7 +459,7 @@ Totale IOB: русский Gebruik altijd kleine gemiddelde verschillen ipv gewone verschillen - Tabel met %d elementen. Actuele waarde: + Tabel met %1$d elementen. Actuele waarde: Verwijder Wijzig Home @@ -565,8 +565,8 @@ Gedurende 1 week succesvol closed loop met KH ingave ACTIVITIJD & FEEDBACK Model: %1$02X Protokoll: %2$02X Code: %3$02X - Verbonden gedurende %d s - Totaal %d gegevens geupload + Verbonden gedurende %1$d s + Totaal %1$d gegevens geupload %1$.2f gelimitteerd tot %2$.2f Om de loop te onderbreken voor %1$d minuten antwoord met de code %2$s Tijdelijk basaal %1$.2fE/u voor %2$d minuten succesvol gestart @@ -640,7 +640,7 @@ Lokaal gegenereerde waarschuwingen Bolus toediening gestart Toon delta met eenextra decimaal punt - Wacht op complete bolus toediening Resterend %d sec. + Wacht op complete bolus toediening Resterend %1$d sec. Dringend alarm TT Gebruik systeem notficaties voor waarchuwingen en notificaties @@ -675,7 +675,7 @@ "Bolus in pomp programmeren " Vernieuw Status - Geen verbinding gedurende %d minuten + Geen verbinding gedurende %1$d minuten %1$d%% (%2$d min resterend) Waarschuwing Pomp klok moet bijgesteld worden @@ -827,7 +827,7 @@ CGM Voeding Reset - Wachttijd voor syncronisatie (%d sec) + Wachttijd voor syncronisatie (%1$d sec) Voorbij met Actieve TBR @@ -848,7 +848,7 @@ TT Aantal bolussen Aantal TBR - Doel %d niet gestart + Doel %1$d niet gestart Toon SMB op horloge zoals gewone bolussen. Toon de voorspellingen op het horloge Data Keuzes @@ -878,7 +878,7 @@ Start Hypo TT Engineering modus is geactiveerd Engineering modus is niet geactiveerd en dit is niet de relaese branche - Doel %d niet afgewerkt + Doel %1$d niet afgewerkt Pomp kan geen tijdelijk basaal aanvaarden Geen plausibel basale snelheid van pomp kunnen lezen Autosens gedeactiveerd in de voorkeuren @@ -892,7 +892,7 @@ Begrezen van max procentuele wijzigen tot %1$d%% want de %2$s SMB altijd gedeactiveerd doordat de gekozen BG bron geen optimale filtering toepast SMB niet toegestaan in Open Loop modus - Niet verbonden (%d m) + Niet verbonden (%1$d m) max limiet (SC) Onveilig gebruik Dev cersie actief. Closed loop gedeactiveerd diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index e8ff881837..c3dae2559b 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -263,7 +263,7 @@ glukoza węglowodany alarm - Wszystkie %d rekordy załadowane + Wszystkie %1$d rekordy załadowane S bolus Alarmy Godziny Bazy @@ -274,7 +274,7 @@ Glukoza Napełnij Wstrzymaj - Łączę przez %d s + Łączę przez %1$d s Hasło pompy Błędne hasło pompy! Pompa jest zajęta @@ -373,13 +373,13 @@ MM640g Nadchodzące powiadomienia NIEAKTUALNE DANE - %d min temu + %1$d min temu %dmin temu Lokalny Profil OpenAPS AMA Krótka średnia delta Długa średnia delta - Lista %d elementów.\nBieżąca wartość: + Lista %1$d elementów.\nBieżąca wartość: Dane Autosens Debugowanie skryptów Używaj funkcji AMA autosens @@ -496,8 +496,8 @@ Glimp %s Potrzebuję wpisu na białąlistę optymalizacji baterii w celu zapewnienia poprawnego działania Pętla wstrzymana - Wstrzymana (%d m) - Superbolus (%d m) + Wstrzymana (%1$d m) + Superbolus (%1$d m) Wstrzymaj pętlę na 1h Wstrzymaj pętlę na 2h Wstrzymaj pętlę na 3h @@ -656,7 +656,7 @@ Bi ]]> - Oczekuję na zakończenie bolusa. Pozostało %d sec. + Oczekuję na zakończenie bolusa. Pozostało %1$d sec. Przetwarzanie zdarzenia Rozpoczynam podawanie bolusa Polecenie jest teraz wykonywane @@ -707,7 +707,7 @@ Odśwież Stan Aktywność - Brak połączenia przez %d min + Brak połączenia przez %1$d min %1$d%% (%2$d min pozostało) Rozpoczynanie Wstrzymane z powodu błędu @@ -850,8 +850,8 @@ Brakuje ZmianyProfilu. Proszę wykonać ZmianęProfilu lub nacisnąć "Aktywuj Profil" w ProfiluLokalnym Obliczenia Bolusa Obliczenia TBR - Zadanie %d nie uruchomione - Zadanie %d nie zakończone + Zadanie %1$d nie uruchomione + Zadanie %1$d nie zakończone Pompa nie jest zdolna do wykonywania dawek bazowych tymczasowych Brak prawidłowej dawki bazowej odczytanej z pompy Tryb zamkniętej pętli wyłączony w ustawieniach @@ -879,8 +879,8 @@ SMB nie dozwolone w trybie otwartej pętli Posiłek ponowne uruchomienie - Oczekiwanie na synchronizację czasu (%d sec) - Rozłączono (%d m) + Oczekiwanie na synchronizację czasu (%1$d sec) + Rozłączono (%1$d m) Automatyczne działania PortaluOpieki Automatycznie przesyłaj zmianę zasobnika, wkłucia i baterii oraz alarmy pompy do Nightscout Maksymalna, całkowita IOB, której OpenAPS nie może przekroczyć [U] diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 554dabc628..6cac6c17cd 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -218,7 +218,7 @@ glicemie carbohidrați alarmă - S-au transmis %d înregistrări + S-au transmis %1$d înregistrări S bolus Alarme Ore bazale @@ -229,7 +229,7 @@ Glicemie Reumplere Suspendare - Conectare de %d s + Conectare de %1$d s Parola pompei Parola pompei greșită! Pompa face altă acțiune @@ -330,7 +330,7 @@ OpenAPS AMA Media scurtă a deviației Media lungă a deviației - Matrice cu %d elemente.\nValorea efectivă: + Matrice cu %1$d elemente.\nValorea efectivă: Date Autosens Script debug Folosește opțiunea autosens AMA @@ -443,8 +443,8 @@ Glimp %s necesită excluderea din lista de optimizare a bateriei pentru funcționare corespunzătoare Buclă suspendată - Suspendată (%d m) - Superbolus (%d m) + Suspendată (%1$d m) + Superbolus (%1$d m) Suspendă bucla pentru 1h Suspendă bucla pentru 2h Suspendă bucla pentru 3h @@ -651,7 +651,7 @@ Pr Grăsime ]]> - Se așteaptă finalul bolusării. Mai sunt %d sec. + Se așteaptă finalul bolusării. Mai sunt %1$d sec. Se procesează activitatea Pornire livrare bolus Se execută comanda chiar acum @@ -702,7 +702,7 @@ Reîncarcă Stare Activitate - Fără conexiune de %d min + Fără conexiune de %1$d min %1$d%% (%2$d min rămase) Inițializare Suspendat din cauza unei erori @@ -860,8 +860,8 @@ Eroare E13: Eroare de limbaj Folosește doar conexiune WiFi CGM - Obiectivul %d nu este pornit - Obiectivul %d nu este atins + Obiectivul %1$d nu este pornit + Obiectivul %1$d nu este atins Pompa nu suportă bazale temporare Nu s-a citit o rată bazală validă din pompă Modul buclă închisă dezactivat în preferințe @@ -887,8 +887,8 @@ SMB dezactivat întotdeauna și după carbo deoarece sursa glicemiei nu suportă filtrare avansată SMB nu este permis în mod buclă deschisă Mâncare - Se așteaptă sincronizarea (%d s) - Deconectat (%d min) + Se așteaptă sincronizarea (%1$d s) + Deconectat (%1$d min) Evenimente Careportal automate Încărcare automată a schimbărilor de insulină, rezervor, baterie și alarme de pompă în Nightscout Maximul total IOB peste care OpenAPS nu poate trece [U] diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index c1eaf74d33..221781887d 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -14,7 +14,7 @@ полезно когда данные из нефильтруемых источников вроде Xdrip зашумляются приближается суточный лимит инсулина режим APS - массив %d элементов. актуальная величина: + массив %1$d элементов. актуальная величина: базал скорость усвоения базала: шаг базала @@ -120,7 +120,7 @@ почасовые базалы болюсы углеводы - связь установлена за %d сек. + связь установлена за %1$d сек. суточный инсулин ошибки гликемия @@ -150,7 +150,7 @@ возможны неточности если болюсы использовались для заполнения вес замена режима с U/d на U/h на помпе - всего передано %d записей + всего передано %1$d записей для величин >200% пользуйтесь увеличенным болюсом величина не задана должным образом просмотр профиля @@ -222,16 +222,16 @@ после наложенных ограничений ЗЦ ЗЦ ОТМЕНЕН ОГРАНИЧЕНИЯМИ - суперболюс(%d m) + суперболюс(%1$d m) ЗЦ остановлен - остановлен на(%d m) + остановлен на(%1$d m) отметка НИЗКИЙ низкий заряд батареи вручную MDI болюс на еду mg/dl - %d м. назад + %1$d м. назад отсутствует mmol/l о приложении @@ -406,7 +406,7 @@ дельта: IOB: прошлый СК: - %d мин назад + %1$d мин назад SMS коммуникатор разрешенные телефонные номера +XXXXXXXXXX;+YYYYYYYYYY diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index b97e007b3d..219ea3b121 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -114,7 +114,7 @@ Basaltimmar Bolusar Kolhydrater - Ansluter (%d s) + Ansluter (%1$d s) Daglig insulinmängd Fel Glukos @@ -198,7 +198,7 @@ Efter begränsningar Loop LOOP STOPPAD PGA BEGRÄNSNINGAR - Superbolus (%d min) + Superbolus (%1$d min) Loop pausad LÅG-markering Svagt batteri @@ -488,7 +488,7 @@ Kan visa fel om man använder bolus för priming/fyllning! MUST NOT BE USED TO MAKE MEDICAL DECISIONS. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. mmol/l - %d m + %1$d m mg/dl OK MDI @@ -508,7 +508,7 @@ Bolus: Delta: IOB: - %d min + %1$d min Första varning efter [min] Akut varning efter [min] Akut hög @@ -519,7 +519,7 @@ Basal [%] BG-källa Svenska - Laddade upp totalt %d värden + Laddade upp totalt %1$d värden Aktiverar ytterligare funktioner för användning dagtid, t ex SMB. Otillåtet fjärrkommando Ändra inställningen från E/d till E/tim i pumpen @@ -533,7 +533,7 @@ "Standardvärde: 4 Detta är en grundsten i OpenAPS säkerhet. Detta begränsar dina tempbasaler till maximalt 4x din nuvarande basal, oberoende av din max basalhastighet. Detta för att undvika att man av misstag gör farliga inställningar. Om man når taket i denna inställning så kanske ändringar i andra inställningar behövs. De flesta behöver inte ändra denna inställning. " Standardvärde: 0.7 Med standardvärdet 0.7 kan autosens justera ner dina basaler, kvoter etc med upp till 30% för att kompensera för t ex tillfällig hög insulinkänslighet. %s behöver kunna kringgå batterisparfunktionerna för att fungera korrekt - Pausad (%d min) + Pausad (%1$d min) Uppladdare Känslighetsavkänning Basal [E/tim] @@ -579,7 +579,7 @@ En Pr Fett - Väntar på att bolus ska slutföras (%d sek) + Väntar på att bolus ska slutföras (%1$d sek) Behandlar Påbörjar bolus Kommandot kör just nu @@ -625,7 +625,7 @@ Uppdatera Läge Aktivitet - Ingen anslutning på %d min + Ingen anslutning på %1$d min %1$d%% (%2$d min återstår) Pausad pga fel Pausad av användaren @@ -764,8 +764,8 @@ Profilbyte saknas. Vänligen gör ett profilbyte eller tryck Aktivera profil under Lokal Profil. Antal bolus Antal temp basaler - Mål %d inte startat - Mål %d inte nått + Mål %1$d inte startat + Mål %1$d inte nått Pumpen är inte kapabel till temp basal Ingen giltig data om temp basaler fanns i pumpen Closed Loop inaktiverat i Inställningar @@ -793,8 +793,8 @@ SMB inte tillåtet i Open Loop Mat Återställ - Väntar på tidssynkronisering (%d sek) - Frånkopplad (%d min) + Väntar på tidssynkronisering (%1$d sek) + Frånkopplad (%1$d min) Automatisk loggning i Careportal Ladda upp insulin-, kanyl- och batteribyten samt pumplarm till Nightscout Max IOB som OpenAPS inte kan överstiga [E] diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 563f0e3c84..5a68ba4558 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -278,7 +278,7 @@ 血糖 碳水化合物 报警 - 总计 %d 个记录已经上传了 + 总计 %1$d 个记录已经上传了 S 大剂量 报警 基础 小时 @@ -289,7 +289,7 @@ 血糖 重新充盈 中止 - 正在连接中 %d s + 正在连接中 %1$d s 胰岛素泵密码 错误的胰岛素泵密码! 胰岛素泵忙碌中 @@ -401,7 +401,7 @@ OpenAPS AMA 短 平均增量 长 平均增量 - Array of %d elements.\nActual value: + Array of %1$d elements.\nActual value: autosens 脚本调试 使用 AMA autosens功能 @@ -549,8 +549,8 @@ 请允许权限 %s 为了达到适当的性能请将android APS加入电池优化白名单 闭环暂停 - 暂停 (%d m) - 超级大剂量 (%d m) + 暂停 (%1$d m) + 超级大剂量 (%1$d m) 闭环菜单 暂停闭环 1小时 暂停闭环 2小时 @@ -751,7 +751,7 @@ Pr Fat ]]> - 正在等待大剂量输注结束. 剩余 %d 秒. + 正在等待大剂量输注结束. 剩余 %1$d 秒. 正在处理事件 正在开始大剂量输注 命令正在执行 @@ -812,9 +812,9 @@ TDDS 状态 活动 - %d 分钟无连接 + %1$d 分钟无连接 %1$d%% (剩余 %2$d 分钟) - %1$.1f %2$s (%3$s) + %1$.1f %2$s (%3$s) 正在初始化 断开连接 由于错误导致泵暂停了 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5ac3b1f4b6..8c4894ed0a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -313,7 +313,7 @@ glucose carbohydrate alarm - Total %d records uploaded + Total %1$d records uploaded S bolus Alarms Basal Hours @@ -324,7 +324,7 @@ Glucose Refill Suspend - Connecting for %d s + Connecting for %1$d s Pump password Wrong pump password! Pump is busy @@ -425,13 +425,13 @@ MM640g Ongoing Notification OLD DATA - %d min ago - %dmin ago + %1$d min ago + %1$dmin ago Local Profile OpenAPS AMA Short avg. delta Long avg. delta - Array of %d elements.\nActual value: + Array of %1$d elements.\nActual value: Autosens data Script debug Use AMA autosens feature @@ -572,8 +572,8 @@ Glimp %s needs battery optimalization whitelisting for proper performance Loop suspended - Suspended (%d m) - Superbolus (%d m) + Suspended (%1$d m) + Superbolus (%1$d m) Suspend loop for 1h Suspend loop for 2h Suspend loop for 3h @@ -771,7 +771,7 @@ Pr Fat ]]> - Waiting for bolus end. Remaining %d sec. + Waiting for bolus end. Remaining %1$d sec. Processing event Starting bolus delivery Command is executed right now @@ -834,7 +834,7 @@ Refresh State Activity - No connection for %d min + No connection for %1$d min %1$d%% (%2$d min remaining) %1$.1f %2$s (%3$s) Initializing @@ -1000,8 +1000,8 @@ ProfileSwitch missing. Please do a profile switch or press \"Activate Profile\" in the LocalProfile. Bolus count TBR count - Objective %d not started - Objective %d not finished + Objective %1$d not started + Objective %1$d not finished Pump is not temp basal capable No valid basal rate read from pump Closed loop mode disabled in preferences @@ -1037,8 +1037,8 @@ Food IobCobCalculator reset - Waiting for time synchronization (%d sec) - Disconnected (%d m) + Waiting for time synchronization (%1$d sec) + Disconnected (%1$d m) Automatic careportal events Automatically upload insulin, cannula and battery changes and pump alarms to Nightscout openapsmb_max_iob @@ -1171,15 +1171,15 @@ No autosens data available - %d day - %d days + %1$d day + %1$d days - %d hour - %d hours + %1$d hour + %1$d hours - %d minute - %d minutes + %1$d minute + %1$d minutes From 71a75999024b16e2ef597925533f604a03bdb9be Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 27 Jul 2018 15:14:46 +0200 Subject: [PATCH 11/37] remove comment --- app/src/main/res/values/strings.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8c4894ed0a..c691ab2b8a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1164,7 +1164,6 @@ Stored settings found Attention: If you activate and connect to a hardware pump, AndroidAPS will copy the basal settings from the profile to the pump, overwriting the existing basal rate stored on the pump. Make sure you have the correct basal setting in AndroidAPS. If you are not sure or don\'t want to overwrite the basal settings on your pump, press cancel and repeat switching to the pump at a later time. Treatment data incomplete - A treatment (insulin: %1$.2f, carbs: %2$d, at: %3$s) could not be added to treatments. Please check and manually add a record as appropriate. Generated eCarbs with amount: %1$dg, duration: %2$dh, delay: %3$dm key_plugin_stats_report_timestamp From 4df750b6dce2f490f74ece7732552d9361ced97f Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 27 Jul 2018 17:48:53 +0200 Subject: [PATCH 12/37] logo update --- logo/androiaps.eps | Bin 0 -> 3940610 bytes logo/androiaps_tshirt.pdf | 4922 +++++++++++++++++++++++++++++++++++++ logo/tshirt.jpg | Bin 39306 -> 0 bytes logo/tshirt.png | Bin 0 -> 503422 bytes 4 files changed, 4922 insertions(+) create mode 100644 logo/androiaps.eps create mode 100644 logo/androiaps_tshirt.pdf delete mode 100644 logo/tshirt.jpg create mode 100644 logo/tshirt.png diff --git a/logo/androiaps.eps b/logo/androiaps.eps new file mode 100644 index 0000000000000000000000000000000000000000..42262c55dc9eacfb4c7ba6a58d59f644db4f0c9a GIT binary patch literal 3940610 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 z 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 tOjUfMPyy4W$w(15$?EK>qf;1RyVV4H0H+ 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

RHDvU@WZY zl)w;Vq0}VSed20)b65n4UpIvXCKD%>3WYtmDeOov~4k!X>$9 z$Afti#b6#rJ{~UTIeg_V89d^VBOgO!=SYaOLI1n>neY)cjr9#^0PeSFEI7Luh+E^W z297%1P8JJJ@>%9cSgZ$iVv?z5vsfCNBx%kxSuD7&iZ+Yo_)n70s{hSmJ*;KA1QlG? zI-}q$`U?+>-6B-P`Rynq5Zo-5SC-B%i$#*;vs7Ic3ryAlU|1~G%ryycvsfhAOQBOJ zjv}&j(ij+v$$_MF+yrarnPh4lZwOA}S*zO*q7WRvPz?8c74e$vZ2TAOItCh(Z#< zNjp0v5}dTN;9;_el6DqRn!rfYpeCuK2aS8e)|`GtYR>obV-?O9#&9%~UBl8$_TXW% zNA&NREV_~P?<2BkN7ByDG^ZIkJwIkZ)sPY$B8w<#XE7!+S)j=wv^AM-S_65Cwx^ja zqFlv56eg<;$xEBbE`Ch*lc<>N5rxTulXjM>hspAl?B0Nf$*Q`>h14#YEZ8khV2G?$ z*KvV|$Rf%CFkT)aOMhhT2u>gttY`DZczH*g9!%a@o^+Z4lXe!EIkos1!4dH{Gn2o0 z!_3_N#-XuOi=O;b$)d5KwBi{KYNwfB9t+OKJte|pt$iFe{oR4sBN`sNB8_w>Pn`!J zv)fX`V^`4h5S&|~w320G#vn;&!4o8$CL zS@#XtdcDT^hLlA6In`jy<2a_8gNMbc6e)1pI-=7fBU%=_&%HqGicrI5u}36}1y=2( zZFW-E|B+Z4TrJco;18w)^jN6fc2VK(qU4;7Q>!A$IU5#Ny;=bx9%&BiSjii7jW7$K zD|ozMTpWs)q_a9!JXpSg!E$MgC=^!JO@f4`u=IA4&OQpe5}qgudnBQ-;Ou&i3KO;EXF!q5gaR`HCOZI`h|1EY}QkLV`4H_KDj0q?6h=av0f20`fi&H)67M? z*WH_Q7F|zdeD3Pe*&(rupZy*YW0#elZry3pB$j_C>8!@OS*-PtZ)>7uvD}bM(phj= ztT!l)WT9HaVi6@J8lrNmysg(%Zr|oguWx)LRu@fumc-5|IFBT;2M>u|QIlA3PEArT zd4`Xa$}fqv^WB)Fgd`T2oU_1?Sa7n}fSbh9j>^KqC{mtPa5{q4__(279Th{_dya^b zaF))^t|VPo!QOV3gL{rex4H;J7MDA(0PB(GBaHC)Y(%xEJ6^pjiC&b~?`EJk*p{+% zD5k0UR3%v;Esdr%kF{U4Nc?+v>=DiEn?h%bj_C2&ea`7#v7sXx9(zRLvEZberC$<} zb?9jQjmRR(VJ(WJ1q`a!3xSEq^6#3ph10V$v8TvP{C>ljhR0;>9+z-ijrNa>MOE|R zVX}6zj+P?-p2>0!C|OB*CTkNBCEcu5aI$l%A&E_BSI!i0@FBNR?1o!Yu{ne zK{){j%#`EqVbaZl@vqSWL`jl^C`{JVFepggph7QZdf+?k!%w1OvPTpq%UhFfmYRpj zf_++L8YYXVg28mT1cACH7Ys#0WvzRHymzS*8R zKuND7lZmzX*}@Uwfx~6z4Ksbgbq3(g@To_W*{Noc*=ff!AV`vHRuki?0(v4BtH2?% z_KY(TJY@EWhRm*ru5L2BqDSynG-P%K%@V=nuHj?NBEd;E3m!6yC>PTZh0KDJY!)0c zJA>c2Riut)z9PxPy05@J^g)IF3gje)bSi>HiwBvC4jwwonYJo$T05fCCnH)qyU#s3 zyCSE5ohvvZ#zLL1+BKa8R|C)n=uWq}+Q=-G&r+oN04$;1ZYrEd2wjO=uB?L+B=98R}9WB?zMhC)un{wizwzSjTnwYfx4NHV%e*B`B-HCpwB6 zc7B+V@I*1%E#r){Eu5o?XKqFd))-pRVYC{rtTv>hJ_4~zESR<$l-1tper$U)T12jq zrU2G6Yo_M2oSjUnS-(*p3`yS5bQU=03_@oQZaO;>Z28dH6*W5oC)ez-C#z``tj#i` z_78k^l%)-RY716Jq&S#!`e0B?=!V-IMa?N70LmR;%R$BFDnutO} zwCeI%aB|Ip!)L)c58F7p2T^Vv)WHLLlo z8U|vrwZdBqi8oUsY}Q&PdfIH3h9uc6FB&#WTa#?ocN>!hdjbv^G7C(yS>8M$SvoMu zX8pSCb;f{4!e$R1HoKx`v%DhNW~pb`EVwj&*({PIo7H#l4XTmzAi%I$aB|Js&|2@( zGuP48axhrDBN{HSP(fUQLm4x$_EeKarj2M`foH z##u+*@K739?`!ivVUX_|HUnxtN^uzf3P+jN5E(y!UKW7a+rl1Aw~0by=2X?Di-+VE{YYWpxCHP9$?v@w$SVp z;iv%zSM0I;1_Gy#zS8sF`$%zYIj4!(@yVO)JsJB~v^;s37sF}kntr5;prxK3q)1-D z-1C?{n8#tp#pmh%d|y+>_Kd@k`hmUIvrWKgOsZ{K^_3pO{p5(c-Qu-RvHSI6)8C4J za%y6_sYPG=VCul1UNvGE_fnO$$k>)!7IG|XG$@h=wX~%*N`E$6S@hk`TD{nl4>O6)p!Xw zeLy$?a{hX$aQBi)2~fo@;(W6cz?=iMqkXxUld>}wo-$RGqyJ7BJJyRB*2*P_|Ark` zc^)PDufV%ss`D3Kt#%m^5dUO~i@gG!T8&8d(mnP>A9`%(O}8z#p}}4#Nj3H*((_cE z`f|}Pr+UR+6A}MF-3I5oSb9v{h%BOst5^Kjk1x(yTS8N7UMO-WJFSIG1#=WZ>?z}m zZ3!QFqMGrH{faOWAE>wZYpfs9SX`dqU502np9m7_6+vby~ zbnKIe>5rcMC1R$kh?>J#=f=OdoD+jSW{C(gh9U;t8-YCX&9212=XYJfQmw)1ee9ck zw?&{MEK~9dne!hUdH??x>YPWIo6c$;`5lAr;n!O+I4#<8eba|0Xst-QuMZT5KGwv? zy@9`ByT=3il@FX@+(r)v*o!0Dbcf6T2V*J5hOY=?fvQ-<6P(&@59+WJPDNEEmt^HM z5jo492Lw7PB0cmGthHAt{=f}lg7Hl~v)}@l*(hJ!D%LSG3;l%rbNz^jOKG@Q%es#Z zu0_M+?|K+eX_v4wD$doWm`CJAD@VaYTvjs+Ww7_0#BQzhN4~HOQ1sI+HtJzQKC!9J z#XlTa@VX?J4l7~%qr4U~fGUgQ)#!}hQikXEkeG?<>v%=5N04K#^_mCopiGhWz4MCk z&ES0Gy6>*XdiSm;xV(QiE9`@HdwC31rgomORdA$~pYO5o@4(5O*9AiT8_?7(&S)N3&cLs!5|Jg;VRE z&_2>dGU4|XF!AWg`$$_2N>nw*y-hV6GaR;~KN24tqejE9d;iPn*dP45%7-(H5poX$ z2CL|s`qxvOEf`!>SqaTMN%a!6JXS(ccwZ4%;|4ddXnL z`oq{rM(yHeuz!na-xbMV#cn%Tbs4PKbGhPXu-3(Bs3K;x(46o>DQv3FycIWvwQ;Op z5tR~)%kUP3wSNpn92%?0=;6>Fbd!l8sPgE4q(J>LtP{@pyMr}!^ z5<-GXDs0StEO@IFp1HZ~E3)j5^_R=~e}AoHu)UASSl@`m-T)H+!a!lWnTqvDb6G{YMT^K~fADiq zE}~z>SWtCHghf`gk)N0{rfiWoGJkSPbBL{%%l`03s^m!R3sW&eoK~#IgJ0nK9q%zq zkH*-FrcFe)stATVlLTxUkm0iVigRYEEEii@zo@`PWyK$Qv8J+wzOnRuiL4^7wxx(f zR%}8bACbs9L^2g|6In$L(zq;IYX1J=v9{d2#gE6@H@{+~D!LKT@mYBOxDLNxFqOsE!q3efm(iXKg0- zDN?JB_l8<<4X0h}(VTXT%hVF<64%SnG^gDnF>e2k(=zk?RkoSOT14jOPoozz)%oB@ zhNDdZZB8pc|v9y&KfMrD7X9ww&L;AGNiTqP&qA+_j-x1eISB(-2HdR}2z_TnM6 zr$~ooZ>f-4iu}^wQTLEqKJ0;JF@qL+fT-fZ=&j#jaII-`THv1!+773salg`-=Ct%j z7La@^3J*46^X0UfIGw2dqJDsl&n>52{7m5yh11R}hSSbh9;cmp45yuXj)9n_920`* zHvy_xPf0EKryfeHBdGEW-5l*&tMey)h#s0gjor%K`6br|4p?V-bJ!9OUPYV1oi%&EJqmJ()D6dR%a z!K^B0S=jDC>uFYo)bJO^?3DK?sF+xLYx6E^xE274z+0{Hud537Wo+k`x%mNOmxzUX>7vL>0+ZJc2$Mif4E?a`n}wisr#2BToZp;pwS z7VPQtCAHv>DB5GSRwUexy2}1IT;hdOHOT<&j~t^>otM=j@sMV8&#)1_@MSg-nABn! zKiWF9mM+w>M!)0udK4%kt(`$}rdE9Rib880goGHH*80Zi`=hmd_E+M8jHk2~>@Oq5 z!K7hSGppW5YiWt*WqB=a|H#zEj4~MZg*4;vT6*hG3{~@5@b3hLk;`ij-Z7aX&1>fs z3}YPhe1z%J+pB&z^}r0q%}+hS#%I&x3H80`7p?u4r5V#nJLMomyNu3?viIqvtN82{ z?fjckXO@oW(b|32(ApyyT00_aZfLDIi>s!!;6I5dEahZCzb4Glq|^bAl7TgF;7nYt zIJhTn=5~uT4v7cN8_G8D-wFq>@jw!8ZD+*QP9+;NFvDu6NNn4`W3?WHP7w7)YB`<# zp(gUSEMUQ&uF+h?7I1v&Ybe_@7o0_kce7h$wP4P?@JO>-j*mdh0tlTlZ&5&}SSnnJ{ zb{~9u{ zLu}D7R`uW^wrFX#gLRh@TlJXO!4g~aT-6f~v0V|}(Zu$MLTtfxV8QOd;DUc=6T<$e zwy|uEy_A(g#;|mZcq)o{4lZwLTXU+yBH8~eiSVNr5As@XnPfAKPxQ$HL}qJ9V>SEW zIf)Qnd+_ku6+K=%B8)|NEx6Xi&7}Ua(G1)_@Y>Or*nWc(D|oziMbBfd=<(VWJzjf6 z@><|;dSnSCI223sKDJ3NqFI&Z)FWCCahR>=e8b%fM;TdpBr5uf$PMxe!?ipjI|v^A zbwi?xgxPYs&kOcjF%HZB%vYYP;@qVPHP)MJu6$_eA{)}kJO0 zWtVZ*A&s#w!=iX3MKIo(CB7o|rH&qO6qbsjH;>p_4@tO|S^h^oe`Mv>#FnN&f}(02 zuJy7&j3pCFVoT#46kjc`1%5Qo9b!ulddj$_yXLkBfkz~^3m>sPq7YlKc_*x8;5^BMo{MQ4)EgOAp3siCz;Ftm0=Fv!qaaP0^*qXc)Tttlr0&o(DIYcLKR6)Y0_ z^rLX*EX%J1nWjijdr5BI(3auR+OZu&Ysa)~CEH;#FhgsnNKD(mqqR-~XECPKbIS?V zI?+)oZ)zI5X2fF%e$q%+jtuZmBYHn+QtgKz$;KoSN@qNIB}o35(RHm3_Tp<>u(%XN zf8t_#et~~7-M0hzWM6stTNF+^PigNoosI%(#Z%vySYq!RiS7ITa5j_>ePN+u-C{av ztI7GqZ2IwtCufQ+&^SgKfk(h?JWeeA<#ld5=eO2ISA+qL6*S^W|KW|Cw-zyZ+gCkv z*{g#3?3}52C0q>A5T2+vuo`fqc0a;Wmvv%3GWEbtVlS;1wNz)&)NKaXwP;#iie?da zMlveW4{=y?PaW`=9#;A<(-4tsg6{GX!4!$oeG(Zi$O#`izDi-Dhs!+?>wQZwFi;>J znJBxxV3&_QP&At&Sao}iBIYy}v*-}UD;CTHv_peC1!%b|(S07xGJ0`8p>vL;D$(zhOAI+5! zDZ!?C7%T(A(i&l|r(TS;{ zk7Qld*v>)p!P9x9izLWkkzO=;Up4SA@~aRN)nx7nZnzQWABI zPU?oR?lSa2&#IWN%=}FWCyuujZOAv*W$2c=o@&7+WwMCMwL%SzzkyYGzU7)vsCDk% z%90+Derv}7>{Ndkh2>3oq=(6R(6JWrYPj_(Dhn5P%)o!fxv+RK>P=I=Aj(>|F~z{t zQ_9W%*B`m4zb=cO%=B%CM(Yzx(%81oql4t>Na7WNrsC72$7?P=V=_g`_09|0G4Cgy z??zO$z@6&ed3S0#?tdBr9)5u6iy=IgF|T-KT7+T$gw-3P+G9*+n3UUrJ0w~QkR_fA4&_(K9~9@V+Fh0bTrm&hqR_S zt=keBS-LDr5B`Dayqp%%mpId&I&`UKr>0edH|<)`^Kzf=HbYUcECZaK5&l1P_K1eguISOX6+M!-qDNm!$1)vJ6Iw@BV^(|?lx>iLDnAnM7Hk1FLE;?daf5~a`%z|A)5aoSB^Z$Sk0P}E zd*Be-6`i(Dsna7PdW3c#Tta&!Lugl2X0G;WtY0%){$EXaj22O~vKj4mLetglro!D% zIe``jhYzHPe8sOwX@UHnd*D!72TKA$i8yMoOFMBmEz0*NOFEovb6P}SvPy1Fi@tK} zfJd6ss_-}|wQo4>iXNw3ksX3#1^+hO&WDXd0o@9<8ck`D)I_8^^zUGE`&uNF7F(AC zPmR+ZR647gSHyeDK2lqZQiGxh!)bX-f=Cnzrv+y}8XQi$_;K15p&GsBTTydbaCW(e z(}J&Ermp|MX;)<)r(MzGv?Ic#4W~V#;j}Ayoc4&qX~k}tXrtw{;Lt10dUIMtp&^=e zIW1AG+@%mpSiw0g)Hp+cNAq^@DPrhVD5d2If3zaFDXk|e>VYs?!Z$f>#1mn(;18Dv z;0d_UnOeJHv;($bPY2|6HeN{h&Usi5UrJ!{+ws>;(f&2Wd( z(t#e{&n%F_&Jd`-pYWr!Tcjy1*k7;A{Pi>~U-{yY9ZHLc?3{?2(t`bU`Z$=72+t!1 z4x^k50?a*k?b;BMmTpHhLL8(EmDMa6=E4Jl1%I=Fw2i-#A6!xe>A|`idy)`&MX=kH=26!h?-OT|P^P{f;N?Y2&$dci|XI7b6Sb zyjxLE&3!|&+Wp9z-CK_~0A0Q*oGUM76T_|NkUB-I(RUxQB6o{FR#VIO*A*W7OYwF5pnthlI|8;i+sd=8enLxw|vqPK0@R31fj(a zU5D1r#ULIDtzBF#=|>WvL>q_JZmFh8d^a0NL!-by6C5k!%v=6})~?Ew**8?XqDN~- zgkc+pc|=2NSM+G@5rx)@U5#q0rM2KtEUkOfT12Mt4+)jlf*m7`y{vX_b~d(e5cy-x zw@7a8T0~mQ|5=~Z|67N-kNDNy1&V~%f^#bp9A3-yMAI+&|K_#aEzDi#ab(=T`{q78 zU6M%c+{Zh-mMeVRb3_xG*UptbEO~hC;%CZN)V$VLsBKMa{Rk~Ov=&JY$1x8=YpJFk zyR_DOmI*#QT8rpwmhX179ZclNop`iQjkjyEfMlpTQcDN^3is0pFvVvKcp|iRG5Xq( z+9OJ&7M#PCE=#4gV4`KI=R|7xut{^5)`H2!987bno>}}pr$kedr-jys*Mf6Kov2{8 z9_bA&@8z|KGAY_O0?p62w07|slPOXTcwW%%8CaiqtafYBPJU{Ms)W_r;Wp&Z1VnJx z(k5vwI42k>BCQ4H`ZdZow01?0)*jK$(thyJ+9`Et?TQ|)J)+QB#;bM&I!5aFCCKwg zC!)k|o0bCIWE@%x%#Cae*l1Nv>=HQ5Gwp$i^NwXWtQJv>$FN#)mTb*x4<1&#qW^%^ zCZ|Z2V9RP1CAmq@c9UWx`AJ&?bBg4~%GwKab9`}0g+y9gxjM??IP1h_0rvmRYfToB zL^_D%wVNygEU$fddF|gKcD56e_V}nsN1GRS0N5*ESg`%)$6wkv4;yC?Gt3^BSR#L3?Jzg_cTwhpL z`zle>e=FJMVcP+2TB|7eWDrSf#kqkcrpb1V)W&I)U8^T(N;`sOZzEWSH-aUzPk;gh zgoIRpR{T9Qba|$tTwG&rNM*&bVWF-&;QY6ktdbnpEQ!#Z?9Rk`9G{S=;`suMB&203 zfgz3C2$S^<1DnY{(P`(DI(;!B8x>CW9vminCCy}?sH~f~>Q_uwTuoRetEgJ3COUG{ z3B_E+NtA@sY9?zx=ICsT(yxhpOYYLmZpwzq)tLiJgg5YnOjdOtsN);~>XWOWGlNGBoIR68Yb$Clfm&iWR64@1Dw%SErQ4`rGV%pc4gDaBA2D<>& zHp91)LvGA@5m`m#+)NSUvq>Une`?-gvYSP&v7N&sIXkpPJnCOhK>LzJuA{A9IL;F? z!jzE5VqaOlO|{HW#K{uR+w#J(U#{CFA51@#+x&0IN;#gbQ=}alJ4w`r#+s@vs?;=g z@tW?r|&Es@j;&)SgEvkuPMQqL)?dgV_! zxH7v3Hk^KGQrj$65x+H2`VG(A{#SWFVU)F4>?=~iSzlpqHi;FMy5o@RxPhYI+0;RG z5LrzRWa&X9vEuLXddCG3BFd_~NUTk*4Y%=P%*#;aKo<3GFKv?~vG` zRixZ4u-?$l7+fED{(9@tE*+eDuFLPHfcwCKt@~%YG`Bkw0LRoaf`v1?nvRmm}B)s9T_5&b7Twx@D_aI{ky&SWQ; z7nL7lVEgT!F&F3!CMsVx5Tn)dV3>4;zZv2o6HK)Fx50-tNpUUwkmCm~YP*a#eAD&N zBS}dM)@J3A&!T9-h^QJnIW-R2LiCppX6V96>9m=xXbFzVBKnWay?Vl2=Bc?+7k{xc zksF&ErS~^IQ-XIHWa3vqy}VIp70~`}7o{{&{6d?NfXpaA$1la%-iKX^ce|K$DZ-K) zduNe)1;ZIG?&Hj1EJnJazt8XW>2Rld{Cc97R<;4)$-nJ{)373Pm(5`d`)`+SaJ$v{a!>Z=Pwj|#e(P{69 zPOpr}$WC{`h|p8&pI&()?=$@+a_VQwr-qo{sA{)?>5b9oMpr8#Zkd_}c4(4jT+2G$ zRJfl=3fe6~&$@Jn~IZ!){3+l!g9GEj>KOwkwJXR zsM|Q5c_*Re|Kfa?nQLgLMHb1)m%M_=uIm6>!Z&JagtqA45t-+4X$*}^Ok$W0*p~2- zSEMFAje8=zobfe3lm$26C&m-9C=~?GM+}s)mBld}`tqSG= zW}_r=3czi2c|NaQVDk5WKhVEC0EaT5L<#w*E2*quw^9>fd9I0-Qw3q#d$CTaAWeI> zSvS0%-lYY-n6a1z3pU)b+NB7VV{G^qp$nWN;6x0t+xZa*zoP%gcxu3G3!>aTXA*e4 z(ZyR%_@g)989SGR$v_MKpgYoh7?Ou!R6X8i^K)WK?TlHZdyHX&H=!&GM#&5!f6aUc z0n9J^9PGMntz5>*im-0Wg4e?sRMcOj7W3s`uch@sCI>A=Jb+@wa!eoWPqL+=jx2bc zl7!G{G=7T-z|Bf~$fjfgY*U}(LzEn}80h##aJHB<*jkyzXIQ34d*6LUduMP3sGk4s zYOHtfYOeRE%cG-@AFxKs>WXoSnKC#;_ed~kklodYjpFXC671xw5@&*z0L^9SG8ZGL zdHxCinU!Z1U^=Lve$sUf3d`x);H01hd%UG9ksP#$vIysq-%%}UA1B?DmH&(LNKfY$ zsY;pd`--**;QdM)4MbIuae7nH!BYPlI}EWcG^WNe)hu&^C+AU}@EsXDY!XC{b60NkR+O z6NsZTjhSfK%+zmg5xkmVynThi!oNO3_|4cJMI^JnBD)?+4U5c*s}Zud+VMtI?S#Hzi!74;*7z>>yQZu3Wg!HLl7;pZNfuf$ z%+LQP3oW?mtfFuTM7nB6G>Q7a@>#JKQIFYtR;|o<6rGJ48@|Co=7bMwowHh~T+>;L zlxXSf6-j5s$wSL`q_gH~HRSAfi_R*^8F3`iS#k2vf~BwG9C2zK)xkKq3A;tKMAaA$ zm?b}~L4E!`bk@z}dLV3e_LgZ|?XXD*)wRcFw@6L=n6N3;Y}Os=*q>rh)-+M#N3#Aq zoqZZJbao|=&OXt4%O_eo`$X0&F7%3^vqJI<#F|TIJ)aV4_2{gkA_qlh#dT>SbXJ%{ zFH2{YBn@pzgmv&Mbk_4MNkS{TZS6&r+;L53JsOrIv`uHtBUo3$xPLJMv-Yim8_hAv8Gg}o4!%i3Mv`rng$3sJJrs@(4N&j^6! zvJWqpy&}16#w4+Z;)qwDid?%9OS6IL-s5NqWCvN@3^!UqIoTckDcR}*K(FP_cAn9 z^4d9VtX-1V9z4AEFOg1RMa^r$Nklum)>F@M5|7s+s;Dr!NyN*O+U@|UkkVRU?G&ua zdS*QbC}@Nw=#Q)-N9VywMEhv1N7l1O?s?;pb!k3h7h1dcO}!O0t=(5Nt(}h?T08Y< z6EM{r3o#7=_j=g2<@z_G@LF)T^TFY@;2c^953fC<;k7Gz3~oh_=dI}R+9L|D1t$;f z5K3_J(1JUF>iFgq1fnoo$Jg)=ILvm&zp?ZLQErB85zMg1f%X+Nu2}4TgyzSuG_jo% z=tFD|9%8$q(_lK)9e0NVG8*k1(Id9|;3Kw2G{p9ZLTtfRLwYPa+ihUHn%7dITG_mI zdqF>j`Phys+#Qufv~hJ+B#CIn@>(8AB3kh9T1U)F1c>6Z!AaEz4zEQAlZX~PycSVX z(c+Yi({3tSaEL96o@=$}+z{IpQGtrnZYo-y3bA#%c+`~-h1i0fn<1TvB=|&9(NZGB z7MxVH;1F93UwO>Jb_k-RqCG{DiZ-vPt37mOzJW38Cvwb>5@EKJRMu)TFq@hdJaO7B z@|f+4nk-R|tco!x#s;m|wb6X|ADHc`%re`N@R|H6yVxr z=%HHtEcuF>*ZPWBmkQJ7^7UWD)`~Q_3$dl5m@71`i7jpWn%%ocY!M|(nwlrGr8_*b z6y=oK+C4o{iPCis=iaE=Et8!w0EgKwe$4iW!fYLe#2K2|f|H4sxjW33@8%4zE<|Pv zCQwbi&?U))^~}omcqPI{ZtPMd)Ygm62Fb>+848wOJ!(sTC2iwSTW~Vb4z*o;MrDe$ z3*J|>i_UFTbz!OPR0E05++@J1=5X6-2^hsq4|Av_cgCCBQsOXMP@N{g7BsUxqMdtF z>dep)J!U%(K4yC)!)#a7j8UBENHa=s64Am+I+m(V8-ikzBMrnI*OyYp9$iJ>NYEk!UP` zUFUi%QQC$H8I$29!-V3S*n)FLjv|?MoQF>?S}k7(Y&{}x@NkIjB!aZf}#*$T>T(m=M`AUx4gC}5%s3OHEm?QyQd17d`yw$qrz{DynlDfFt%$5%Lw3_qi zh?M3{3Qvk;#oW`zlOjf^8N4vt#c$@VsG04)qM7Y{M_YiY<`{@+2zZz+qNJil z6lP1?bLR>iW^3OViUAL^J)&W@D|!@eMGQ1{HbXP-ddzl9(MBV-;H093b0$;@_8W50 zA)SbFZEa|&1MIOeaG32VKx6F-qU2ybMUuDXydtS+!TS{|5YI9d;a~2s4z=Yp*x;eI zD>^NnQm0==#2C~8gw0NZ*XjcZS2WaiUtfHqawZLvtLagVc-)qDS38^AZa?VBAgsr`HoJNE3g!Xar4gc6pb{$byc+LHrT#lXTTX%|6)g{V2Ei0^ zCM(l3rBdXNODbCMcq)>?RR+p-X5>dpD%v5plP~R%+oV*p9kb5R$(1or&~_5HVNWJ# zyP_tyz9RO;$phW-G zvptewwkvAN2u?2Ap_Jebw+-n;lKZxl2(bkxe9*iWSo-pK?M!N(kThxsGU@jXZ5P1% zkv1KO!fbh@oa0G9%rOrxerQuar=$HKsDUP_Mll9pcSJTF?FVa^ zI_IM(Ta<`?5oA%BeJ87EHvL8UeF?A|h;78;R6cN>?hHyqK*1(o)xVahDQbetvNXm{ibvJi7J70AU5t3^#%?0 z`N;2DFLb3+kKdjWF{+bF{-%TBPumKxXGna2h9!c9=sSmh#JOh%p47dWc4CN09_a~% z$W=jic$MO_L{2}6ToCNAR4J_V(7Ab+vBq*!jLUD#Bh6L|dl`Iik_^sYcRYXq^vKCuqRS^He_- z?s3goH(okLyfiLkC*Gd*;)wVMthS$UX^X@Ie$gdkm*8IvmpD0T!5>^6_X+fo<82gS z3{ZYmI@^|DPw`|@ctQl-^2S>pVV*?9%&dj^D`jug#7ItBK9qT(3#pp^?4PocAed>8 z5&UYDnWB6M{hum+#KtM{o1eV73#6Xk_GCYyEY%?7olg$T0 zd}yle=uecW=DY*FrPv`-zrnI=4NFYGXS2*p{s$_HrTIy}Co0ie#%qi|UzNgwed9}i ziPW-BBIZBM|4a0f10JeY4!UWh!}B?Q=Iqg|6AG}QF0SCccoYJ2n$u!-V(edV@;x-} zN0N~C6iJ{#j0JY}n}oDt6grPUag6c#;g}B=Q^te0VjX$`kAq^7lZ>>O`S>t!qBr39 zxLG>18_ZXvG^l8g$gD>&;~B8U&yKGMmB~Ee4O$o1dbR|z8b!lSU;*+C786E5m<9yq zDMB@MVCc@T4k9HZE!aFEd4$6puKv-sa;_L6194!yqTQ8@v_Q@scW-6Ei^OQlE^xuW zJr*|$UiB44&m(=n!fId|ERuw@;G(lcAmsK`dom;N-6W(%WF*3RBm)81qMMM`mX1rp zy}6f$sJs^4mbu$L%>{5=z;k=_k7S)5jbj8RAuaYgj&t!DlPOZ(cV5uGc|LL6H=@)6 zQ9QiyB5TkOWZ( zEjamT!6CHZ?2w4tZy(VR+7&(SwxY-IR)lS6LVHA^iee8Z4V47vTFxPx3|tb@4j*-3 zos`XJf!PjetokELO4=>L!awezNika)N$AS|htVQp*W}d0Dp$R#o(~VDoehygX;*Z* zWgdK#c1tmMO=*v4DD8^M*14xsHEd1`u0|}UMN-XV*2-zO8=A0gPZjQ-%6YUnIV>DS zl9W~~sRbu1EqF++BPNSL6mJdoxKSLbtQHkaR$Bf)tQJwS(&7ihYSCJ*F7OB)AgfjF zv8U?fu-X+dHJjD0$PTftc7$*7Z=l!EVEv85w;!}xIShi`?(vwjBAD@7grML05$wsvCPqXz$!UE< z>`RkckCQ~v9;x-P4CcUD5K?PB-7b(#N@_jC!>hzYY7r%28p>AAl?r)oQuTCR(KpR; zo7B>QNl8nAkXmqt031@g7iOBq?dB_K;dcNlA++q!yfP1K^Na zaBBHDEe*+y07`_@()Mh8j9&xi_}_7TbeDSpOKQPMNjs!=@fnmUQto%(FcGKz$Z_9O z4@64|^`lX*o|#{*8=4raM?)G}eH_)Y+^(27}|$$w`YSlr{&d zd7>FDCy{ge6+Da?vAJal&7ylYR-Dl(dI(BFgayLqSxXTy?$BIBepAg#P*1W*siFFEjTBB z^g+>CH$}>c^)~o6vx)6?gI-LXbAwy{SXgU;h!X%S68npZDI&3@^OKjBM~2usWLYIN zu>~hDEkzQpMZ=Pp7CgijHBDYxd|`+!IC*KoA+~6G^3tMoLu^-6gfR1bN;R={z9hg? z#1@#mw0w7%Euu_IYj3y~GdB_4Fk5g=A@P54Is}?N9b!b6B5v5^4H^oJmuI@cLu?V{ z2p}Ta+T11rN^BQaJMxJMf7R4a(?+DDbQ(YfV}Od-0+W=s%`-3g2V%SW@`&w-FiS&h zSM-SO5e>0j(Id7;6k;oOMXIfqL4w1vH1ADp5hXh%<~_s~Y}OmCy*)M87aQ9(USCX5 z^cBfHUW-UvGvwvLK2VIBC=mp#}Hc@pA)UBC(3KzWC2OHRkW54Oj243gxJm)fJ1B-qpnSC zk0`_zoO6~#Y{5xNOSOmC^4%n*MHFHSPEuNMh^^IR_(I`3T1!ikxrHKOw&0vrAJ0Z- z%_@QtLbCf z(IaM@NLE@670h5->gs+_T1D~482o{A-29ETng?rBB9Bqrzw~2sjzB+%BJF0? zCNnKq<|@ub(Z+TMqGYDsA}j{8Zt@jo6!Ltbsz_UFrKc#FX%RutgmVx9Fa2OOBj1=3 zOJ!fFqDJD{JPMVyRym8)7MYj)cPjhTWvT3n9+iEfrLtGlRQ8Ebpo-C6kyJL=MX1IZ zD!bVywdX};6?rOJ;whCCCx4~(-L9I`K;6@h%RVDJ?#u_#elyl9TYMV&X1 zEg>BDEfGm$t)*v;#nM=D($d<@qOr+7nMFBch))#PuA55^N1aKTu;TG`tfw*L!(%N{ zQQ&r$i+4y~k@C2ds5cam-H#lXJ@r5&N#1&n)9;o5o5Q!(o983ON&S* zDo$EjFhurgL}1U^OzT%5vwoj<8LE3YpJ1R9z?xcsvq+mtKHN-p&ChG?zc_Wkx$7_< zV#vP<&={fh+_eWm+*0zesP|;p0Qt&hqRV$1GKRD9a$~ZWKZM z-N6LAJnj$Y`g~&EDWOXQ{bJ&$=5AntJuumgb0&YKi}D*nwEw3I8?c-I_QxMn`w+_a zXhj}jCcC}FeucknU>E*0yu*IRS3JYRtN{9K%@$F~iF<(a3U;bKVAlH;How@!%SXB% z-??n(p-VbF^#r^9zD@a#w&F{=DPA}y)h0vdOBok8lfhon5j(QLp9B%|#7ey0VV6%C zFM8JT+L2H*8gt7yhd-C0j>cno$Rn}AW@d6zD^PS6F4zZN$gQ3qH$Y^-Jq?L^>jfn0*6is>}4+#2{m)ESB$BD#Qhgyw&Nj^)}y%>jq zlS!qi9McnXBy@3_=9!y%Cnqja#Giag>wNo#~HePH) z@{uW0Q$B5L5mq9fRs%=foOCJgz`o9b2hkENsUh`mpa# z5ls@%aKHcl)&KTyo}kyA*A#Jy^dmRI{OHt6^W_`0a^;|Y^1ZyZeb`UbrpN`ikIsK2#HjcvVBOK+Ffc0Ym@)g$x+9>Mk zJufTj!6!87E2GDh%J~XlyB4p*$?sJ?T`P@eEd*u)5L^>~c$@i8|NYLR-Fxi+QFBpng6ivIsp z%IW@>z>|De1l!O=`~94#@iYZfNbKT9HUhEj>f{t660h6Tcvp#E+BcrawDtd^R6Vm> zCPFvV=biVv0_bUiGk%Z1qLT`&X|}>Rq)VRVqiZ#RHNCF&Vs+VV%8=}XAd4a z`M;gj>Ny5tnsRIiB10CM zmGD_GA?V=nSv#ls?GV}{8b-UKN8eWTNZyJbsa;XCMX((^WD@w>T}ANlO+*qsMIp7| zWbg-v)q_T`Vm$07+TpZxSHQ=c6;ctSw!E` zBd%Pm&1MmWLg*#+)GAUI8_w*SM!&VsdfAvFlri^zb&|4K)z^R) znin>!y0^a@HoGEvquJ~ch0TJE1X{DOSxi;V3xS)>YP_-_v4RjP@Q-%y;i};BlD4&& zx=}gLCGnCf;^wz%=__~xdJ`~Y)>uuvJ8jk2gMYbAM^i&)4<0hRqDN*&H1r5uOW>wY zRP-8VH2WXOEQ770@{Z!NgE7%fWk>RyP_^+1X>F#dF&yh&BA<|i#39II3Fa9B3vM2ZDA%NTBs`Xop+7CT zJl3dXzVdkNZ+g*}jPHWhxG2WDSEz;+uv-)D{j3+)|C2OlXsqc0;xA^=(HL_wq-ly^ zs%xp|5>y3h8vBc{M8O`7rC!+-&=5=atf%KJ(V@^-xjZ*9TXim)eMp4jiu_3$Rcv0StLXj zoFCc(hsaXTB=83hlSSnDj%BhmHb++0k=eCQ$Yrv0Pd3-q8A_7;Xfs*zJ;7nJ)0E2%Sfn>~4V9(!B;1ICh05AHnj;<=DtkmjWmj}&={)$T z?3Qx2XWmX30v1hWrwpVqR2H0EDMKQ`IcfD+CX(#>A_50{}MTn zM-&Y=evhKsive8QXFYu>#(kKxcYt0Ryf``VsRhGuIHq#$jKaRG8 zV~<}{7Kzo_sH|HNev@&-rts0h&lDa}SnRxFCT@S^&1?jpRp{`5_^IdMM__qN z6*=?p_yoSnP`Ejb^b&6c!6kYG?hhFgenTB^Ko^FeZC?|dg?1AvmWN^Fzy6pIiKR8ADv0aEC(`T zYr9@R_P0~d@lKrJ_^O?w>e*NP&>P60X})oq50p}8RXdYb3&}TED#K+t0`VtKqq*#0 z49C!>6*ZUj6|q=y4O-$yqGpfFQjhP_ZtbyL)_P`<)?C&DF#da~EP~v;vFh~CoB_umz0G7%wd{p*`LS@0ddlDwgH%i$blSTB)eM;I9CJW9{ zSa6suIKgN;wfqVd&w1K$R-Un;lO(p;VFYW#50Ry>lG%FvA^3N~z?eUGF%RAmnIi3V z=M_U_=Oc&6PCdr8Pd&jQvfYwH4v>6{_vd4VWWnrEMYqCZ!P&ybE_FoqNruIavDX36}qNn3RG2nrKE7*bKCt-t=@8;SpFwnbBLMXS~>O z?ihvhk+K>HLSQLS?z0)}V8&!9>=FITSnN+uH76@o&tOO_%SPrjI@xnv{6!6G8^DQr z=9Uy~N$gJ!=;mlSB1x<`H;XVd&Nj~1u_~10E{j$4Ez9C!u|K&=QfuB~u@^Us{ab|X zy&`F&*i_`!T^5_K=x@NyVii>s7`^(M61f*b30Z8a9+S2#R#6e|Qe``UJxyL(hYQ5n zp?|Z%KKrKg>j+`c&*?SIW6}UJ#F_Z%VW15J@vPqZ5p;I7?ZXhHlA2W z%qG-bC}Y>!5RgvSG^=eIdqvG-pJ++j6D_rSqNTD=R2(swj~9~_d7|ZUOeHbykrYU-Pi}aLCtuJr*i7b1EJzyGV*W zWfxZ0MUr06BFs?xyn;l$vf{8ACRqbT3^j?J)N!5AEY&PgRosj#AJwvhM)FtT9}hpG zWb)VOdG-vKzdjLtQT+9a*OsGe@N88&{+0(>3Ekte53fQA`Vz0qOtH-ae|D^UoUR{`b0I=Rfc&A>)@dR zzgzo5#b3qODE}jY9c|$qiNh{l`nr;Jjw`|AqG3lbG2G2vw+yC4MoTk13P4oZSA79bb^(WW)KKTAn zS21-u_41^;k36Tu^*ayGBayn2Fubk;k6Qzqwe@gUdH@!to9b}@f6InpkJDgmMKdKI zNfE4cO%7L`)T86Del<5YvB_(sSTjnqnGkYUPF*wge5AN5o4jn8IlqRyDlr_a(#4zd zAQmBd34yXN@&hR7X>(V5F!!<5?0C5z1Tfrn$AmX_81{W1?j#MPp5gJw|1hFC*`xYsOPFHmi(;?#gPrLgb8=CD`LBz8qm3?rNlSXuJoj~T!OafZbzN%9w-kb;VTB@9%oRh*gY z|1ox%xiz<2vQvNG(AEK5OxY5#A4p`e;<(qTWI;xzIqVdOS;Ij6?_t>1rW;;zKX?Ujq-c@?F&ojkz zulEzqF_d*{QIiUoIxeyi{RQXXZE2S|-O&;{zD@_v#57xO&g36~zvz<=>xWQ0LOvF# zdKtX3cc$uSVeQB&s@7p1AdTW`yr%nhPvP#+oLVC_>=el%CUFfx68e}q7V_3lgpV{)M)KWNA0kgoErkJ_bNu0INq;0P2PJg2r*Tbuum}F&NWPPa$N~e}^|w{# zE&n|T>u^UCiD|KSniC(tTtw(7C+Oy zA}pOV#8&n@4)bgpc;Utt(=axW>Q^cjhuyd8K0p_H=!Z ziG%MCnEh^l+V%OdepwAKKM{S!Y1PQ*wP+pdldO6GM$@rK~+ zBw?lFEf=3rnIh$K_YLil_ao0~Z#~+tPd&%)gX>pp8H%9>Mub|SVx)M~En6N*5Q1o# zPFu1;h@tzdL}&g@sWVAigkpLQGjno8HQhgnnD)?}zeL{0a>Uq+qHlE-HG(;B3HI1S z*NCB@2n(ce6(*iz47bt}b!4$%%DYCs|IfrfPscXg548E%I<%FNv|Gi6HX>hW$+q-= z=drVw(lgoP1ccpXEHl}&%b}XJF<|Ld8#Ze#l*F|mal#r?|6+_C?3@$3VgojfbsHnw zdWfX4yR8A1#y-3>_HPk`c13<)Tt8l0G}iAX6FN0-8mp*&0vFA~Qi!vErQ*R+#Yxo( zZe6u?+1qG!wm}ca$*pX^HI!w6sie^Ux;P+z$URr(j0ar%h^`440a_;V2=cDD9S;pW{%?A zssT5DbtJzS0AhB?Uo)}>#lX0N9r%K%z7m(nTY%w3^WO7lge$H42?$AiNwH|RLO5le zB3AOiX0T86n!2T4f2?Rp?0axn?3FZ)eWEgO;;LWqSaCIBd90#pCC&>T`#M3-b-Sr> z_Y=RnN-JNHWatvtyi5KbVDs3FR(x6USaCfsi&gE6ull}bv5Jx|4QD5fjqd*cl)Xuk zCcDmU*VicC5V9`DBQtem8h~c6wKgh7+@trO+sfPsx;qOH*aS&@PJf+Y)C>cueL>Hf z#;WcmqCrJtPh@xa7Uqz9t$Ya6BK+xbG+@(MMLF_q-Er+=e#tFGq^+@Z`W*h=G*(ga zMYTwr%Z7P{Uojk6t!o~uD6u1o$YX!ZHZnNBowK-_VxO<5=DU__Mc9&<1cOyJr`VHU zq0tju;3fY_V^3k0$DU}3?252n&17FuQ`r+OmwiQ&S@F*fPDp0OAy!)TBD0GAxa!oZ zLuPZd#Z{-6skW!T8b=>d0ypZPB01hA#)Rgm%ly6AtY@6Oj9D61fJmlXAd0%p5a=27JNlTX7h@emm;%bcFP&k zA+sKJNqSr6fn?Td{_)xq^F%UhL-GRm0mC?ycy2qBO}|P{9%G~G?$w@7%0hi4PIE#wP=8X;rxT&n)&F>HEIGEVtBs2n3Ecj1& z{Zd(5lC%62k;>Zk>~J)d73T=wQCYhy8S0wKij(5LsqEorOr}Wr-F-t*+55WmDx`rAlU+&K`S6%7^Gwl_9F3i)&`7<)^OQPS zBzDUbK@@&XzZZuU=L$SeG>3IGb2*_|Xa?I253t6KKbI~9wsz!#(-i0#zt6W(ct6p0 z1CdO6?Fv{L`{L%YC)&pT3nJ^;^F&WJAnRH49D--Ga*Y=3ujnn4on!Q8DmeK3tu0uX zYz{(~tqGIm3~_F)^2AVCM7d{yC{&h1!r7byhsrKKD*H*~U_PQyS#W-=1?rkCsUBx` z%i^K3h$T_hQ(lWPR3Lmd3+hmde^U zO>KwEKB6JBD{{6~4ucgP$6L|y*+(Q-1coIvlLUH1?%|q968ma4>)>YXUu<^9o=H@3 z4z=Oug=>Ym5KDouVQ^A@ykCHp7_moWOc-v)k|!_~Tr^yE{{A$x%RGJ2k|VP7)biL9 z42>O0SvTuZ^=cNoRX-NHt!owwuEy)LFc{!WsQ9qDm5M0$ds}3YIBkOd!$T~QUyw4PFS2hPE{ zL1;@CEsF&vlLc^CETWo%{)yIO*8aGbPSg0VW-eg{o0?#(q9l!Zig?I3Jb*Y*F8VOr z#lvE`$dmJXh{9s$Vh=bhc5yXD%fF(U>9%e~O^d+UBO2QD$t3fZf1t6WFvns?awN7T z4~IR;P}q?igFQ(IEYQ3`^2QKYaM+Z#ya_C#pK67+TmlPDb{aAEX>Z{+wp+L_NW!gp zq>JR5twkiT{QY~j(!fn%y^HF(G>U}4f^(4(90tpcLQG2j-VB!8fF2;)2n@Pm$YK22 z+@O0HY%bZUzO$fU%0`W5!7=#k_T1CMgc$1bwqI%v;W8ZS1;eDpJ_d^6GTVX#!w zO=ssw7%UC>87s__O<@svK@2@Be+tp|xP+?dRF|1JsdzC4x%>B5KM@8?f94)6MZ#bg zqp8hc9}$+Jh9I=LDJ*~Y$cWV(3X8~-HHm#lVW~)dgp8I^Ecj`205O-vE{(eYTY z0ZjfpB$hM|$$f(;BzDp|fJ0&zABp`WQUxASNG$lb-j14v#Da5v9z5|_M8!zaElDg@ zlYr9Jgk!C_TnaoK)~p+8OzSh4goWubPZgLaB|CyQBTVfP=iZYBOqF<|=G4NQbt~$L zxo>C+3(hy79X++T7R_L%mKcyMaHk>QVX%mj14bKTI2N26RAL#1U1PunJRJ5B4ToLP z@wOEmxm(e3*heHq1TuH{S`$d{_fXIa$|52#MUkeV;4)`LV}VHp!k?SQn&YRYB!c7t ziFcUC*)_=bCg@A?L~gbUShBber)HiXI4qVYO7ygJL{EQ==!on-xJ>qu43%9`8M!1m z%CJk`)U;~AFWeImo7G2Ew|RQxZKdrH|GcvXuScheC= zjj&RG@sz@$vKlTgIj{W|6q_O;bW<&Hm=9Q!G=R>~D?JF?b!1 zMm$AS453`sWN=OZadTNj{#2f#a9NVQCDR@_Ty|1Ig4;Qfmn}&n$9;kS8W zGCS$dW-unH8U{S!*u`hTSJY(IS7djm$*f;Vpey5Q+pR}J@J(jH(%vPrwB%dN@sU{? z`zNQOn$3cfAwcbP=|;&Wx5H);Y5vvUu-O>{aM=GhGXp- zHJDPkmW+E#%E)UArp!&ymOMOmBunk)DRr{Lu~Vk`A+X~8O&`Jel_Q=Q5{u|twgBYP zJ>fbIB#B*BSQ3jQbGk_^FlSx*abT8C_kp$AnObR%$*ar`XUD3AmUy#_D!+s89 zq$OmqlRH)?=*|PU%z%|sebCK}4C;b)%E+MM?mXhsZm_i!O(5v4TAkO!r%0Cl^9KH&BWU3Hh+5Ar72leAfWuN%`8eLg zwj^H}(KUCUx;|MEosTz-s?LL`DlPaV`pv%LCy}|Mr6pBEEN_+?(+DOxcBk82?Iecd z{M>$k^mfHU>nkpl&EHX+BT)=OnM?8iaGO~jcfEh^TT;2-ZGprU4CtnKQpfr>G&SY%nYoMMdY4X1UF@W((?nU$Kd}Nz z>R3J=7v_4WjecC5YX;phb?<&o-q*x4dMKd9S)8c%4%Onb;VW{J$);kuVqN%pFkg|@ zqfXkew1tZBC#Qg0qMJGvwfWA-P3l;n+o5@aR=a z1lXN7;CLf7KnjH@4hx*LJMGUHv+UMB9uHBH$1>&P6kXU#k2TjCn8nYSOp$iI`-*nW z;Mxb_Z@4@woHVyAr%6K5DdW=V$dJdM6tuZNw9NR|Y{spC-J(ix#IVcNT z_mT`lkoit9K7q+L2ieAP#Li+MihDzJv3M;+Gg<@h@_n!y#CC{r?Hn&@MmvFQiiFWV zco^*`k%PA)J|Lq7=QuM}52FPqeJpqwEuvfxR>9;5Zi!^ypeZdl`D0IIXn=y%qKB+*kDM1?MBr1fP1e37Be*g_wps zMg&og5+Vwv1t)tfIF#1D(Vc*Y(>|ghwJSOXx1!^DD>`2Lh(Z{_xYFg5z+AR@C?}$1 zj~!MDPWD)Eh%GqVAC03}D3l&_i@0ttE?ir4)LQN4??Y_a&&b^gL?O1lzoDUYIv*Tb zJCdihwMpVoG&`6w$7x4Gr#GcN$uQcJgwO)3W~gA4bt->^mLk=@CbZyczy1sFvt3lU z=U&ps#>G_;r)?2B8?5&!uQ-GjQD}sYQtzxLX%xUAwBV$V1rMP`ACo{9uNXqB1{=Kr zhtR6=83@L-N#BZiTNBzx6haG50$Dy3LW})M0$D3krq_{*KO=VA#9c<6Llm!o!iAfAYqSuu;nuyBL5*UsBgYtcT(gYbb90No4wXfe+;50NWj))X+tp=A zuQ|$+6d<wQ%Yrr)-&WF7|+RaIQVu9OSqj&Y_aTYi3b_mbg`c>8?e`;4|H7O^P&= z1t)u~>k;RQUol?wFj-H-c=}93ER(gK24!WCGFcDlcuEI6RF>8z&zU+$k9)Ew_d&s- zvhu&ijD?!020 za({)H(qwk3v5vi~xsJbE0&X@-Ly|ofG7&aQ+fheU5(6fiwQsaV;%2jtXxQwEo*6n1 z9-Ey~$7UbNu-O$gO9Vso8NX(cV7=hWW)UTSEJZ>^9dZNl;84|7iDR>fvRuCsnfcEf zYSnd=8EX>zvGr(wIn``gUuzDBDrC(V0X>4)|bLQcsT5ep61R|PoIqFXzV_SrZ$g# zL_=gBQJ5?^r+M@}QPye1FBE!23h_*L>5tU$l{DcWYu6NJUB#FjrZIE+BZaYMMq>GQHU%! zIb``zh%7icWWh~jkt8_>k`P&Na>#;1WU+VUCJU!Oh00PSSAu9%C4v;eXQ3!)hvl3SpZ{6LS?~^Y395Cz+_irmdcKVw@hSq zMdvD4L>+qVwW6c5k4QcXbj72MmO27MuE0ZQ5haPN1XMcfO-zqyG+hN|C%IsH5?+xQ zXz^JJ)D7I?v%n;f^>t{d4{+l!31kt4&wA%jXVrBACV?z?=qy)qlR$R-7gqs2l(PP< zuh(JTCot>oUlEJdbk>hV$1X7I6-6WQ+GFXg_4HT? zN)$Tl)ybML!)B2r^OteRA_@>rAXN9i~u-ncJZ;jhm$jA{>=MU)h>h(cz;Ng)dknFS{(eO#8BC+P|$!ezZi4GosH4wnTdh3s(I#m|^bk@ma$isrK3)ei4m&pp*(;1iggYL4sgh8#CQkOZ>mR;VnP zZK~*2s4O_^BAVAs_9Qd!MskyLBu8Ugvc%4z&fZXQKds3~nj8Wv?B5&~oD8z)@I+)8 z*c{qI6b_q#w%41Xt|A%1%mrLJ+liLlooLzYE0WFz z^RWtpiZ~7T1WJ{}@)r@!(1vXlcio|HZi|molrx$w5+{c&ST-z99#(KiV=KFm-eRhO zRtOn|)Nx@m*-04UFreAd!7lUkM@yE*?o+5~vDin_B=(VL;e-h=>2ac`Q+X*{b`P(8 z#bK}g#aYD_D=OSwl(Vw&Yn^1r6Ek8stesx5qUEp|Ck{#shZQG@ERRTH)w4uam&2-< zS<@GV6?%4ZC~Q=nUQo}P!k&npt61zSlERAXNJ3Fqani_Ijl^P=WF8`shicoBMmBBJ zkP+r^#o5^IK$JAHPm!dN%`14qfK(BKrm%`~$(j;U*i8uA6!yhUVNX=EU7eY%O;~f8 zk@cv3BKnraq&T^u+ALGm|KzZ%FhgNSfE{WEyOQ;hD_Q=!lBKVY1okRQ9!M=S^i>=- z1#bGPD0yTx=FnHMs~#ZsWfSEUj223Gq>@{p(jZFqQa*`TeOs|t^SmX8EF#%!^1kKd z!qlmA$Wo`KuO@nPXLY<*@=9KGW|N#<4_6*EJwXq`B#50sT6|V}MMYopig44SulY)* z!qQhoxrD3{hQ6kri60bwHIZU+$f8iqUlk?fTlCe&Cy6X7D18+ti7dG3t6iQXvWTRw zI|N|q>*1xZuSohTP8M0}X)sn?$7+_p`r%}e)nULw#mOQImcOQ=A@h$1>g=o(k-*xt zWCCd)Hu+s2FNY{uWShX+Uls9fN4fYJl_^pL)<^0UMPS91Q*#~mRAXE^I7wvDj<|fg z+?E_EK;nt<&<4#DxKtVoMld#ggH!eIO<`YAbJ!C-6I2y1E%fkwJWPw0#_n@SIv9JR zB8ZMxS@I%~8NUQ_mSQSO7FiTrA}dZ7S+K!aaZa)~&djZuy(N0$?;F}SfSbpz`9LI* z701I)H5)FC-2yRdH2+_)Smu;GlkH{9>Bl^>e=4k=X@)rf{$bBUy-Ob1Klp??zN09+ zj);EYgY3{Gk_GEB#o_Q^7jkXK;!#+|eub-Shf%~sYcGaj%p>VjiYUtPb~jVE-&{th zVL-LOKbZI8B$5S7!t!A>LIaA(Non0;LBVMqRab}T5BIh5MCWHkL^M6~&byjy`~78W zHB&4}sQl3)NfPT;tK&G30i=8Si7G*ZII?1qdPC{&euQwlXFj@G zNh3>;-`tm7B5ZY?74>WNE^J;qtDF~d&zfaK2Fu-CPdn84Ohw5f>o#`GBGb%m zF7OYWgMW`oG)|3qTK~31eAGtHE0||`Snz&DHw{MNQ+ZTzt5VIwMzG%ZBh`Ejc=?{{ zp~9&>?MjbaksNnqTkU(NO;0jex7q64vi+QcLx>=;QJkEc1^;5G9NHw41skQzSG@H| zA9=~6e07q^+In`bRp>+lP%JkL^Tdegj#`CZDf^>mj;HJR4yr97NHSTg#gxoT;0PWQ zLgdDyMc6A2{+`7$FL&|G-^F=^m$Nt>kxV4#Tk;Am1aG$`v~^|$54-$BgdSKRiDH5A z1p})c{fR2UfRDyZDT9Evg|9dnF(WYmAMG+P`TwV}m>C~60?{slm&hs~jly_+<1-&6 z>ewsM=zJ{WF=e~J6%~D;b&d^W#p0zY4LSkDG||O{B4|mxI{sfvjD1fZVftiZjr)mY zl6{IKoFK;Zx&})oSuv`dN1z?FBHz_yuz*S?*{K)nrKI}+k8fgWW9Sw09`EH!$5k8H zt?gYdwEy!Xv!dvcm<0#MyMj7>LIMLa)_aR!BAgz+AqItoEiNG+iH2bwnELq$^?)eE zI%gT9`_W~fzl@wKzoe1{f1z9+;Xq96Ba;jzvhg`|q+&Xwq+}X4G{4;tp+dvENIV+3 zi(0T}R1c%5teexpJxo@E0nZrN;ozdO9uD%AxG?-d9%0R7tQC=wt1NQuaq#!F%!ror z=ll>gPbOJJaaA;yba@nMR|Zbl=<#-pTQbQa(urhE>t-8PIS!M*XNTz>l@XQK-8ZyT zo{v0!d+LEGu6^p+o*$T&0GAsW7HV~hfif=SEMPc^=i3>%69P8*NB38Wv}ry6rqnY@ zN5o97YeD<2p6;2rT}s_#c6|~#ReXy5bvnvOz6OzKQ97=cKwTql-lfRb&=oa3Q01La z2rn3VQ&YPH{yh^PI8VnmfL&wd18qJKRUO*zN!_jDLL1Q!#KF=$3>(e*pP8)t9|j+L zBIkfCB%LbHT+eogYSy;E%?z{>yw*Zd92+8;tRe2Ck_9{G#Ga@CHj#C|DZ6`GDTu5% z8%`9F$iBFV>}L_pJ5do?vEfduDv|ZOZu5zo$R_&EyjLWV6=x$0?9n7^?vBzatBuR< zL#eaf;Vru%vSN+Y%?DFhCXsCOSaA}`GLBf9gKG&-RMYa_P}6q4aT9xM(Q|(**|uTZ zappr&P7WfH#)^|j7Mwf}U>Ux!9JVD|(kyl*OW0Pjq;4fkVIN6;hnCmo$W#+Y|C}2( z$1NSmWRgWBgU!Gi7X#}GcHkSM{ECuGc8gS`YZz=cL21{+V6#mcZ&FlR%;`{y6oq|p zbJ!DId-tj9loc(Fy$A7N#baMl6WJ4$l@sSihrUN`1t*;>cy_p_nbaL7d)=V-^2|U_ zta!89nMIUrvMsVmvdM~Jvf`wZ1vis*h{7NcVG3*3&`-r4N*BUbNOXcl(U)aiHacQ zGp>G%KM5bZ%sc**$ey;8!OxknR$<=KRCY^YznaUwqIRYyS~mNNq_g7WlGR2tmf|og z&3e&UMad;gd!@5E?BmK)GjC7LA(zIPx7unA=oQI1FEM=9M}E!Ui_dx#ENS8VFizTh zpV)5QOVx|5lB@~NL2;-h$z-we^4U5%=Oe{uljpUpzTuoys{)lX9CIoJ8(wGa`bbC* zXg`ttc2~U45l@N4x)hz=T(X+%qO+-nha#8-HfWQ{$|K=DHY{&gHmfA*&rr2^R=Og0 zLcw^o^bCeU^)5DR_vP3T64~sI09ZDA7-cOs`-)_<;!L3;v%=ElC9{6kof+F9nH49C z09Z0BP6Afj$=}mk#9bUTM3ULfB|8o+$B^XZ%s!MakFcB$Wp1zN86!;IkXd`P@Hy5M zmFor88;ZUK_r>A!&A@p{?n3&AJ|xlpSq-x0%I?O8HZrQ?fkj9tR*5@ zD*H%wiguYLvQy@G>`Io#J`&BfFu7!#L5g!F9^53;(ab#sMDoxKHq%Vv3kekF0AIn3 z0z@gnq%P1iexGln0Nziu-9RLdUAqFVTDHvsHFAZOC(n~i7E!n?_&1(I>yjCV!sZSuc*rcG+_}(XNoLXE+y{ird7Mx_V)HP(5uVfzwJY*J8g@dWH^Z=Y&1{BfCS#=5AqpXOEcQYoI&`wyQ zwH=&1md}Ks%aTfV*sKT7J&eO>$z~Vcq+3z5*?mLL+xf^dwWl7m*&v!VPc>;!ti!Yf zJO%_&7HE!~eU7SID@I3t!M{10E^apah=$It=&0L@j^M5680{kpr3Hr~G?4_l#=tpr zu+;h_^woUUv5hHfK09OI15xJcnrM^V*DZOG zj^t@;Kk{@)OODFUQ_P`evL_iLJCf$Hz^WP6A&NScm$}8bZ}ZSddF(d7c`P_{3QdvM zb`RysZ;N~+`DDfNSo%B(WmT?<$SMkRKolRX5+%ygOcv~kasE6+mj7bZm&XE=P?mz> zvFJA8R{qY2S3uSoQ6eT~1!PauJk}YKXoB5AMF~lH-OO4wk42P;h$uW3+m?i~V0mk9 z-6Yyj*zTZ+ryG3B6iGtayaMCER;=0i{Ch`a73DM^BH5Xnw?-R*dhvzTkbGlG9FN^n z&5XdcQM#ay+&r*rB1ZBRLj(k|D7pVbasDF{-7#SmIDv3M8AX zmO1thZsxX!#=I#kMUqVxV;%|%PQIGqr_82Y%4{4(^xl9$l%}v0$)#Jd6c(JEtm4sK zHyjvpKP-i17Uy2$R*YcLryxrVFi*7W(nKflfT<)Tn?$dgln7bN{m^U+fDje z*}>v7-79Ji3r@}H1Y<&*O_r%P9M*cswtH%sE;Z?7nIYk@d@bo@!5xz2$9HLb)T}%z zMA?%QDyB1^uE|nS-&7Ob{i}K)9Cn64wUxszMp2u?KB90~hame~O=7{xCQGfK1hmN} zizpdG9!~)(G9qhtC7Uc2 zG9r8U24#!1$DKDciRI7vhyzifMmsq5Kok-?^<+4s_1zL+M`Uy3wMlD8tb-7hu86E% zoV(L#->}#fm5tAAn^Mmt9nlfld60^CoN`}JMLQzj2(Qv;jdBF3T{+#Ws~aI81gV+tz;(lkK#H z4A1b`Nm4@hXR?#3BH3ie7;sD}_fIe%!(%oh(H%>%a+PqPomFd&4uV zv-u>A1t;-`Hp!UmgNMd`5~%|#Y8nepI$5e38Vk;8dhpO#L`6zbF4+N9^Lh^@WU*FU zHuY#LZOfIs)@LAwG;9nsS%BRVR(4<46&L_=m*RF*D@k5WVF zoBCQ!SS|~$CN`G^rw4GRu79_W3is4=Qii*Akz|y`!-dN7NK(pzhsq)fgFqB2t1iXY zG?fJ>r7V9RE{jIyxH7KT-7(cZDP@Pus`Cks9+_QHallOQDP?c;O0*`m}9CO_BUeY)>&LE2^C-!^}JWfy=J49GM*v?s(Yjiq2C$qT#bE z;=4^~A5j=B*agh+M$Qw;lz_u$k+>>=dxp*eIhPWgh%7i+6PvrHUs!9 zmL2pC$y$#bLaUXcDdmz-cIYfk z@w$i$!lARYHVI`>ym(e{QU<7-F4gFqrnk*!ktCli1;S@%4Aflt>|(yveD)EA&pHUP zDa~hnWdaPxXAvczEY2f*7VNopok{pC)ieqT96C$elBX3>=qxy!vg6Uf9%p#zEZviQ zvh--^EVv@S?KT%bgEB?R_wF0oHP1&LIy?0kItxxc+x>S#K*MH{B%Le_B5anX=dQSn z!jP<8qdL;Rb-Z9DW#KgiQ|2bUJW&jom430N3PVJMk-uF8&&hYTbTI?vUhuZ|--9yPyCin+Yp%-hb@{KE^h|#}N)C`8`TZ^Kiv{+*CkC-R= ztfr`M2OxqJcqSh-LNSl{k0YI1_|?gfSFsi@4gR}u#H_kN5zNfdK&=z zRY5yN*$Y7Qn`nhy@YhqK;6F^TbP2pw{1+3LM$k(wB8r@@9tmHqlRftw@1rRnO0geP zQMD^Y>+o0NUs`iU-1Uh#*+JO#@I+jH{hJmH(I0x=B40e`2=;L24twJ~f{(yoJ|%Kx zcHh9q9J1#d{udS9YJffB2d-)!?vUYkpH7jdy(4;hWkd`>PQu=EXeqIv^wSj5E9Ow~ zm15S}O_WIeh!;jry9LZvx}uw0ZG;;Tm$X;X1*WuemiBaEevA8wzuvHFQTo;Jm6*vV z_IjK6H#eesD3Z(o5$ry*#eu*JFjhjg-hw@fo(G)rSOS#T9HA=n7ei?LYwkF4(pI5t zy)HNrozZLXeG>7l4-%{a%kxhnuWR_V9NNL0 z|6oNTPACxkZB&c)$!rjL*54wzu+Pbkzf@41sDI;he+B2iZV^He32v#0FnT-I*TFYa z9H$R6Q&e^XmoH%hSEXPJ#`wYGm1y@b4V`DhbX=Z*!G37myoWiAzQ)Mv8@nox^~8^1{w*gj)81D4=dV^QyozIU`{7wVauVC8$aM2oN(I9|YzL z&L=&Etg+>Xr}e5UvhPOrOe8WZq?)9V~R2d|Y- z6vh|o%C05@US=j6xZtnyV;)dXsVnS`X0>rLj|(_kcp3tCG#}jD^|OePJ5h00ah(z< z?kfJRuR)!fyIQw8Yf#)(Y^ch{N?ud<#1&RaZJa;oWRaYc0J|eP?6H-; zhyAh7Er)$Y&0$Xz8yA@R6^9j96QpgmX^5y=SzOE_)eFU1ucHe0^!t{Mxgxe!*C&hh z5l$urH;Yvi?x1%hqUyYflPMZ2_M)qAXd0_RW-yAyMuSaopHGiKPhL$V-aETG7`uQ_=rqv8OJ} zVo$Uzc14)5X0flReCbJ+#l9k0tk`}1A&ft`ED}nE*=`oAD8vAfELNO5rA<-AIfH#H zRuSBVw-(VACl@g5D1w*R1Nr8%SViA(?r|qt4z7pz6ChV9Uej@qX0edl#QD~Rc^@$w zfPC3FBzI$fW))XnP@O=OgG)0STuAglvo^ez9D~n>Z;@iLKft;CQ!F+g(M>FgwOYwz zt3`(DiF5XaDI$se;q_HF98jw!u{O3jYh0^WV_N;8u<4rqb5mGFIU2`1q_ErnU@7e3 zrLeC^3Y+mre5)v|uPkjJ3ajM1`;xj2+hM@2Jk6i9i&|!lyA;-TWWg2&YeTt-nZAk6 zFdt)n&e_p5$wb!-)~@3098a{rT>K2j6e$MlBlU`M%HCPcN6u|;HL%^x#Hr*semgrs zyyFIla+6Q`pnam{bp@;ltT;hW32jl>6KT>Ups!?R=R9{rc1xjR7mMX;jZ9(2-pN@u~@;sS@xf^(4(JaqOE zHJx1vU#*a=@2TgG-mU29>>~)dIt$F10-#Y@)$ePQ$f2`{lI{`bY;56&I_#VuK8udChYO}Ml?TF^Q6jpd zdSfN_26_$lAW(>;d=_k09P#j3M8C2dAsMYlbgC9H3dCP?n6zH{7kQcjmrAj*E;i-e;~B0 zLPuy93lyw{RTzLNz>-4;3UU* z=q#ez(7z(CRd@w@<>Ca|;_E6X`{Ntj(-T{WvJn2pdbiyRl!Zs!m#;_GLD|95aAqFC z8%`Vbi8n?|I{S@|ie))Ei|BiAsbws{wWrWywfKzqiki;)ikOxJW%H3J+3{KH(X1|f z_8SA9)mrmen&QXRyWz8le)fhzIag@+Y#7LB?VX;c6_d3Kb8%Vym(b1#fSEoIK0>=i zDkhszNNAx6t*?x>FQMhLxr?Xs&>LYrv#Wz9Noc`evf6#z5m6!naZdj@ERXTnRP3D( zFe9@-JcmbTx#?_})-6g0(eYhIyZ9NADbk*IUr~;EKXQx~QB|WEE!~}3GH(*gnufdt zf%^wpjWwmE2+fkf5*D@P+0}dq?TWN%;iZpcXJIDWQg^%ki~KQAbw@P47q2BPrUF)QGz1I zx-?euihPTQ=pZkT5Ily)U{hqIi* zi7?n7cnq+4ctbYppn;;Al1*tbbNQu=G!AbGE^ldL>y|nq{HQMp=>_KGCOC|ipFTI~ zWj<1j7D;{zfD&P};5l~?M!R?!?MiCe$AZm6&5|fGE8(yxs`1)q2JRmi?dr=h+7%t6 z9T8@1eC8u+$GVbZw2vr^7W_NMOBp-qBRB*L(>;_H5$9B5@WW}rq#^`2Vf_I!k+(mb z7LolvB7W-@8lW9k6pG|4O1g!JtaY!`eSFdQLw7{?F zigIZ5glzR39)cWhA3_VRC~*7C#m{g|kqITuE6OqVC(dzi723B?4cGT~Bft~yvYm2! zM2XOX&3eCtmX6Aq(}&QmCSpJ=OrD1??L%7ZqceeeWmSM=Wy+MdNM zXtB;oC(Dm`GSR>NFMi1q5z5b?YY6yp9~Nb$cCs?DXS6f%4aJnmm6NK=-=R<5qH=&) zp^Lp;8E495U`eCMNip-wSN?(VzSx8I{fND45k;*8C6eaUTMVUJanluK%E7$FkgjV&?OGZ;Td_w*xG1UHNyut;9PW`?JN_A6|M5Ez?kr6TU3a2QEjKs7=n5`qiiVRwj_>Dm;YvYg8iTx2z`^s4toDVz#k7_)V&aY6b4-$7ucTnm@Xb~Uy zP>SX;K7NZ)VV7gPl?T?uo)zg~qRkQgGAfKVn=!*QT0?i9m@hQeB|!miJ9B74DApDBCxZtWFV_X&{WyCw{8k z{+T_hej;kaXZbryM3~aQo5oe_&$*JHl~~;BC5P7{BF9Zs*R4tQ>I+MeXurk<>{`lC zI3XgUFA&)mkBHy<$x{*|KkSJfO_Z5O#lH!Hly|UF3-!3Ui_OO#zR-5`7bHMxopU`+D^8?&C>kYaqA6IA zZ!r%=tHvPnmj8bS>r1>sW%{jAGT!r(lhdz8VXTO_e-u&WPZA6PUHsuWG}w;d)t+P1 z^crw?bz}~*7<3fPhPt4lR~3D8m|aj2(2Iemg0r9++>gkuMr08q3&HpjmrGta4#qO& z5h?_iQUvj(h#Sgp#VXYDdL~vjU$t}8JKlv>qBe?MRbt3NU&40&4*#>5V$ zo<(ADzR_pGQR7%7?$s10epb1SO~z2ct$M}!A}A`Be!Ug_l$qPE%tddk|9Lz5N7WdA z2>eO)VyZPVi_fL5sJ(8#VVv@OwQjKx#C|7DZt{?o3Wy8x25Pg9KM45Vp|A#$C z@plixFecg}u@~TbOh)9YH`8rOJ=1hV5KZjdhf+1=KZ&?U_@NYJ<8M5tK_hz(dJvx= zd$Q|U?@a`VvBje(!uDs#qh~PoIO|b~!f8WKZl0JTnf&*Ln1}ZpZ9x!KHOBo-H5+Rb zX-PhEB266a{TIg#*b#A`WoEN>k&wK7pD|J&3Ba2~YYjs0=Daoo(XSXYeN-asUz)6D z<`Llbv_-5?lT-IASi8km$!9yF?MuUFA3S{algRO0QS({wcfB6!6Fv+6qW=LmpG_>@ z?>Zt_9XHEZEao;&558j4e32^azH_u4sAN zN{-yE=(y}73YQgg1W6Ac776yg&C4?xwyzqFp`s3}Q?kh{P`5Bx-AD8X(l;Xa=#6FE z8w?ZH--j|&gkmXD^}w3NgEX7%4Uu@LX0t1L8az*3uZ)CtmWkQNj?JzJHEde(h;%i; zs$SDsaJAs*ETU>;)7kBW=BnFIM`sav=BykX#02bbOb5$n!E&nL=Ch8M6hh`m0sWbp zf(q*IP`$qz?1#`IGEAW;gcfb(f&sV*t?JJGGw~4G74b+D+D8;Z3pO#c9}b}fOP8!w z^I0UBh={^x!TdQz!e=pco^bLJanuHS-fM;_LMo6H38Cc?$(fIoyGLLENkJ)d?LpgC z2`ztiOFB(&Lc5|Pv?J1X_g=Rf+e@GL`)iY_=sytJQ5Rk^gmy(oXjgQeaz#sMS8{~* z5rxo-VP=}=5L$4!mAtYEEuxT+A+#QPaR~}Ghs>M}8l3KjmCykrvIrs9K>4g^UhGZZ z(0rCdE~<{7mCky`C5~mPg^A75Ks(og7K3G0qvX`M9l5<@3AKl1po?N(K=(+9b1cb*X#%TS zjG8H`m(PN~v8-J_yZ9NBDKb%{e#JQD`N~6Rry@gW>G9Na2yM6IB?m;avLs`eJa~L|OC6tmM8juC1ltIo1+!jSIt%=gsLs(@hS*yS zLuWJM^+dSp>detuM48%rql(P>qX_XB2mU;idF%(G&{=Vu?bNcdCb8-46lnwZ@93;L z$MZ9rrL!uT>Npb~tT!5afRed4D;|@*joqDKB+1-cgssW zY!*=#_gW}R(C;y^O=iK`^OwxhU%z#uGjG7U^`*0mZ|be6Deb(1k0&}iU*X@G;8PKb z#s+jffm(=Z2*W#+7Lhj-Vr9@?+s+PFa40RiZrKv@I+`=bS+-dcFRhZ(>{`k(5?t=Y)<=#bT`1NUUOPnR4tIiRRm@m*_?Je zp*bx$Q%e%p!~>C9rBh3Y7VIy11M+kI4$aGMj^E;L0a_mXZyV2v@4=Jn$td_a9XhQHtyIUE%+NZ(!@h*5oJOm3aRCT z6UPl>bw(t^r_wD=Pje{nYnbWNf8eyEF8n*3c16c&S9IQTMayYda-8-Nh0}^-Et@=o z!>=Tlty+luxd{z>g0x`A2N+6A!J9Q_n8$XMr-}peP163_TJsN!Bni~_YO$k=37!b*x3TR>_=)R z0?S9WG}fp=b6P*aA1{x3@agup?w z?TVgRIu9PF-BQPCAJK5y5nFDMjThA*|p`+{RJf zn%Y~UXFfPDXxjiBN=v85d>{&?701_3B^x6jN;^gP_g_b7lQ|@7+&ynF8BAunqoFvg zvKX2JGl#gp`B)57aC}LiJ)E{Oa+J++-iiPA?o*#QFeikma$>2lMQQi>p1k5Z9iWx0PfRUv;gZ&^WnB8TLu<*O ztrSf&XH2XNoL200E3ur`uF>!{qdnMsb_7G)1~0Q4!7|ws==p=fKZ-tz&8_k#U?^3C)Syb zbo=(p6ya@&dV_Ji_VlmtFmTaWMPUv+(i0_1jH0n>&v&f??zd^IDwyqGM6Th~+TRAl zP$_Aw*mL#brm-jDk)pA$$j^)GID-9w8hH*)V{3QxY-9CPP19>y;AeYvNvqf^plN!M zSVjIo`G`!X6h^~KWwA-G6vb;6tH57!@PX*E=QJ5UTTcMSKM%ASF##j0N$%KBDQz|t z5}OBVNRze7$r~J!XTNyMf3jG|wl@El#hz$c?1|Pto+xVe>LNC`j~ZMdbl8sYYcY?- z7ESo}bu4+YSVjKWgqBdhKVQ=t4K@W6fiK0zaY{mD=QLfL)5aRu(tG1jAT(*v55p! zM2{JyW17-7g;iw!&?q-Lx&xr@e!$GR_9aY6TW&3=jc;&uMI~jh!qV<#u!??XC#M*! z)%wy05oEBbW<1{Ge(I`BGgw<%+ic^%4E@@$$HlRZ4oxl!YiCvHx4q=z9gr*1o|Ync z1yfEA>)-R0$5&59n00d4LD6LFB|PlBrYYR`RZejdgGa1%*Urh7X14Ljd5PM-(dF0=eHU?o4{4g!&9q~FcQ<+ z6K$W2h~EFeS?OH2pVCQPhCMAU;U`hdC?%{NCEO9U#nvDA8$;X;P74vab8ZP;p__3W z2-+@c+)tQW_KMJ}?tJKiqh^q~W&Map`}18i+n^hw zzi7Hl!Q8UJSrGGmS+0Kv=Ml`RA)OZaNY1+C6$X5%P&WlK%M(cptJ$N3Dl%ze#s2j5 zi*3q0BAZ4po$R!3OK}v#Q|96jCy!#pK7268yySmFV|nH`Js+DrdPlT?L3wowL-my} zeGu8TA0${vQ@p>0FvZ?^)~n>iH~1%~t;F7L(sX+aCY?!RvJodEQycZ|s0Kwm3M$T; zs&O8{K4!CTint`Hw{qo*M_5ht-#y}%M`&9DWG+WlK)7aCq$)PCmGeuie=7Xau8UQI z31(y8b#1e1Xz%A&W??Y{G7FC$uw97snD!&#co+}o2~Q+ez&5ED9`g}>KQ`Q?gn5Dq z5XV7PrIpk(C*qkXzZgDOgC>|&w>&{rhH%g&fIb zVg>B59tMiIUVSl&osV=0>yatXsMy6|^OQO&`bDvu{CR|+kO6K){uYq+$gzB|2mHj@ zfn&~(Ka!1U7207j1DKR{Py88uk&w~j@(}3>S=g0F1ZQ7KYpuszd`@*m?RWPT?U%vz zmB)2YMaHvFJ;(D;OCEASSje@N{2{i=u#o-3t2pbNFhG!-zujB)=b3+eo&wJlEdia1 zGtYD!fm8hvcq}(2Wj?~ROuUftE^5$Mvq@yg7&>i`bFeGn;$Bhs9fPc90sU>rRg1>0 z7n#sckxck`Lz@KPext3%R$~m*RP(Uy=#OM|-e!%qV*8B$({QgH;Zd;3Uw@%SU;fws z`TzXC|M&m#f3d6MoU`)FUlsW?FEh!Fz1NmZ836LXoZw`^2}h)uD$0=Dv-q z8#xNN`Kw{;Z0;eFzlv+Wsrc*RBC9m-vxw%sBKfO0Cz_kTicK+l{527NLro}{{8gMy zEEN!TnyO>8)Ak~;*;lYN6w!{0V|nQ@32e3|ywgRuH;GkbZk-{qVpGhjQ!>TFJKs)J zQ}SL>Q&wz>*@wtpMQY+-MPnDPDPuU4xX*>%kjDybvzA95E6(nRmZ)6zN|wi7q2;l! zsF~e~hR42=cz=dQV?G2jL#56wja6cp1xf9nF}8-qm?N@S{~V2J91YQQzeQYl+u(VH zOzYD}8231mqSKSu&PS@6{9Q)^E*^U&mdC!L=CLQD^R+rBU=mUNSA;uh9=oLwVc-I- z9Z()CP6NPAWEG{2h$OP&^g%P%?WSY0ip(!NOjc}`G`}K~6`Nl+xR|V>PzQ?O)*MW8 z@L57CD>lEZxT&nl=ujY$$wqyR*`QlF&x1PWWY#iSOGLsG&17GZOjc}uSzjuX)livV zR@_WhQI3NnlF5qAFKZE*t2pPG8b@oOS z4U=8TG1(KL#8gdeg4x)08tgHiP%4agGg(EoUsX&tCw=TpisUDc_g$~1U1Yd7x|5@qL{2A^TR2U$$E&&B(q|ftY^RKhqRkxbR+Sul;ajw8#hDu}8HT~zNv5HJGJ2ch~&lvDdY3z%O#;(L#q#b$) z4QtU@-x!StH;q-4*f1h#tXKyd=aPm|O&VlFi^kdxXxwR@jxw)eNY(+>2e2?8S1%t{a>u{PZ_ zv*P@=9hi|1ZW?Qm5fza=$x_)9Et!2qO=nNEg!UClX@e82DM~9gUjI;9MW&f;N~;1y z^NZ1*J{0a*tMMDsYmr(HgcA#68jjJf^=L-B)&-neVqMDBRzv*AipsqGJ4V}y3}+^L zP!{KBR^G5WCp(&7C+FK3ptRZc#C~){*7Nsqafqa}&d(e&XiBTr%1*RE6<_rPdM;rg z3Z(_-L^{}z?4D4^0(D6Cvq(~~Pf;}~E!Z@(+O0{PYMNOwmc>q@DhUOnZlSbbH-6Mc z>8drS&1ripENwH(tfDYl9aUD4t@0X%_A0|@Lm%wHo;YA;F1RPw;+uOb>glsICt(x(0rR)XwNXq!v*wf@~3dNj${7f~^Aw z;`s=CBtB*8fkjKadg^(&Iqe)s_gfX4#h>>>Pp6EC?hk?8GRJ90B87D*2EQ6i*vZUTWr zY9BnLc0_3AklGbBsr5U(5H>oS>q3c#RkVSs{sXBU9m3WOsa?^L+D9~`c16*&Owm?Z ztYwF1R~<3SA+GzLX;Arw9LG0CO3{cGSjkec0~xo z*CSF|9x>6ZuNX>8Cz>BlQ5g?>bvu|)S`00_!uk8UD35Abk?~@vjv;x>dMK^tJ;r4_ z+gp6Ok2jPSTpJ8MUW?C+uc#=kZ-{YeN(=V4!k^%5Zdo_83#a8{CYoJNOH<6xrg9Fa zMPwed%mNIMcQH*gD-Nr*cY3ZuI=YKq?U#_t%ud>F0+}46_pj+@2+(;X^dtXf=X+u z&^u$alWA6i9#%`3$yA}bh~DtLBJF%BQm<&|yk9w1yA^2{zx8Yiuq|PDhb2JvQrD)n z6tQ8LGVHY@RGXe?5PUc-IZ>0^Ep()IMMr8M(U95|9jSdpp^M_It(w$=O*LyjbqrOV z$muOavOWjA!$ZbtS7rFKxV0+jsamA52odTRlxcXs(8h!AtklEfBAe6le7WA^v@7~= zIPGL6d7`u=u}Ja~C#0}5UT`?=;^VZRL|WlT6iy2^)vQ&W+^IQTf1K8286N4OapAP!&ShBbBa+nuQ#(q8 z)zY9eKnI4C={Bd0h(c?p58}b#tl-S8#{EbR&OSxVGh4LIIZw~4Yz+KqRdN z8U+-F)}mXi&4Y*5qMz9YrbuY5D(odQ)GMJ{RNOqXs$Vbb7CO5mSmTHq+Al&mxu#I zQrc|jtKJY+JL#KvVp#2nP|abrD{7VmHqq<`20vM6YWfeXb`%CprFFI#xS{Fw9}KU=z*8wi^)zhhXvdp|yxOw2~s>wO|v?`bc=~q>O8v{%7T3_dP`_ zWg?HrYk9CBz&tJlg(?BgVOG9PX{*H z>;!nM7}?iMHoGG-+1T*Q>_o8cz&wAlle57_o?R@tY?VQ1WyQG%BO1?_|KBV>$&Fq^(M{2jwk=jQzq;^F|Y9CQZE!cFkbNIl)OO)+6EfTG= zo-?eE(JmB9%U{(^|2mX*rge+71ex~pf;J4mq0N+t?HE!EE>GK}_Q8Ghz?W8$|BBT1 zLslA>WuSK6!@s}Tr3rbQQhxoT{lmF^E(F7+cRoB<8$Z4}rz3E09!%5S=KLPmjrEu} zScvC35P6p*EX5Tf*c1Qjp&R!jNnH382~ib8oAkd)TqvHeK(pmOh@9%1xDZ?wYvPWp z{*C3#SD0CPZA9)YNL0i9dAoatIzls@Q+aT^N_`Y_oMw9~SKk;jKxco?93PB5CeD?w zjB{k#TXo(*XK3~U`9_>Amjd7%U9DVJ{Ei8QiDn7nz5>`QrUWBk>)Jc-cr*#JQCdV4 zl(%OM;wlcT`q^K}Tu2~E=990e%TfmogQRD8lH}(jo{O|wgo?n6d?cw0saV-W6i0Ue zu3HFxH<=5Opo*bQIo(Kg^&fP6^8N8=%vx%NS|#GhDDroP7l-!^FT&r2S&PtjznG=n zS26XvL2G2dQX=BQsYWyyi?qYhMHn$h(nov)Fc0)67+(oiKGBt+wQdMl=~U6yhaPn! zXsd~?x)n)Us3H-?N%tGV2LI%UK)OYrX7^zJ@`xt8L^JtD^32c?aS9Q_n)x^)XZy!w zhw3D*>Qkw&QB#*6wi=hk{INng;RE)LP**5HRzzuni%aJUP7JkKb!nU@m?oLmSET0s zzM(9`^NlecQ;ji7`T)E7ur0|)PNa3Cagag|T)94#W-%(xRjr;UiPSbn!Rd^XlRoWq z#}Fs>_gDl(NlS>P;m{H5^WJDEg@C+*oio43BjIx&xiT1P8ZQHW}9_OFcj=DGBN-7=g~?U7v?{T z>-yZ4!6-I3>ChhCN0hvTJv-=8jLOWMMmM!eFmrF7g<)iF&g-Aqizqed`8^esLv91k zHrT@K9cb+AYFgU3ayQx|8bSK?f^8!*g@sdrr%HrP!4!TFVOJRD4XHYd}uvcyJXh!2!rX(fYA}CQT|GdF9rDpy4h@rBw zcvTOqRh+}rbFdA`H%9O@c0^B?jL7g$b-+ouhW1f}3gR--Z&Qk~Qje#0C}Wg#8ldNB zJ)Sn=fB2N$QhlIb!Zd9+74B}z35B?>Dw3RpV*HPf!1U=Ra0e|MF4+Mhy)H0G3H6V9 zGBhtq3H6^?m3+idLwQ-x(pHSQoZGh!C?_c)%G!Qg_2*?eT{I-UaT5295@C+dwL6@n zbrz3GnIt=3#bz0Pv7R2ZqJ+Jjrr<#|bJ-2IY2Z8p`_5675?LfE3G)iu3M)5m8-x(dG=&W3)LalI&ZWTxy@ABs|bIn?^*lenvKmd4*Hlk2e z22ZQ*F&d})*lcjJ{X90C4omv2w%NdB-x{mE`0VzGFe_nA^MZ4t%T0F7uYCOEmb z9;1pVpvhi^p`Y z;99$)>ys6&>3$?*x>t0j`w?lnf!XNLNNBogU^PHvRi+zJwGqps>E1p7Yr4U8BCc?E zQ?5v8zq&|LZ^fQry6O3(-V(RzcD&*Q%X9<%#icB5G~MV{a&J-3G2JL{kF z7U~t#jeaNh)|u{=tm%FvG2P$<2+|!+MBZg6U8~x*8&T#WqS$VXTQYB@ZFUbY&+>@2 zwe3cf%v(KZ3IT;C#>3(pV?vXsEdqr)!sYOm?j_C#` z^;TQuGTr|dcaSutROhU*Pa-bOGx=u8G%Np6ZE(Oipjyb3%icr;r}v+bu6w5cA! z8l@4e;Tl03>49bWf-l2pc)V2{N)@!8nUK$N61TLgj@B4F3kRPR(q?f6KzwUT6& zu@-crIF~TN8t507fnLcO=o6KJ7S~$8xV6=K4KX!M5X9lEVC;r|Pqd-m6K!DWMAWix z@6D^2^A-BNLa42c_iGX<%&-yGTnF#CZijvqC7**N#X z|Mougx=43Ftk$^D!E2`XN;P)bCFf+4!7S@THj|7tnFglm&`g(5%mM?yRx6ogzy^Lz zso*+}N>i%q;aP>}zNJ!KQ~#pp5wjk)s|y3#;I-v~z!f^_Q;9pMhnTVoYcs z{u6DkpL+FD6wovvmdG!i{&HW`-`Zp|sn1g&%8!B~QmqM!!=w0lOK^Tk{K4}};-5qY zSXP8vG6u|By+>+Qe;FeN`wK{74N9tND5!o<*8AQT!3E}LK#A(7>R1l({8A{b`J2|j z+r8&R`(2*eWyZ$Ef3X~5GqvR-%m;k5zd*~&?9rcoQ$ps}>0+n{-PTW35j4Zg7Zj;C zV1B)SxgTM=u&I_urXHLhu&rH9<|LaW+YqNHx|Ii@%k&CEz`!|7hM)YMTs*eHVzA>1 zoZk^Y39A4*d<1;5W5pwpr+qBr1g^mFl%Z|V3}5mSgW@lBXAuwfy2|?#;)rlg5#=Yu z!7O|%;V*{oxHq0RLeNMVxv**p}ogQ{PM_+XR~0r$!M~E15p@*YyG%AHH!N zRk%CqFJ8=FCQgxbZT${$enA}k6&L2;f5U2`IId8ui03-cGy@Wr$S;V4HRa;@1##5X z6TJRn_@7t=<_NoS`wQaEfQ$xI5T2BejEGiOcWfcMqvnMB@O}sPMLnd~4zc~Q6EB~o z?wJH=7#e2@gN9_H#+a)Fh4WdKvN-n!J}VB+NR{e>s*SJK8jq51D>FbRH8!t+Hw z;dPnAX-Gd&C2GEBBF#f?xH-Qi4AxZpZreWEW!~}+q2bl4x@4yDUJ-M+OQN*-!F!Z&FtXZNJRMoaf-N`NbW*LUj@dpaIRpm zU4uvk8If3%gs%ACU-=U*f@oGs^CBlT-;Cw>NkF9QP<4V$fli_V>dVpZQ)9Mvn#b4_^_}0xPMHns@E}0debr zU5+s(TFoH}W`c8!6&C}?gkm`Wgzt7J5sCL?6veC3cvd~Z`2lh8A6$ihpC1sX3;iu= zMfm}7a0URJ9}r)xEouulMIe6$EGfeGtya={151@%_0^a-Job(cQl7vfCOS?f?P6Ku zbUHUgJATviikzcBvz6O7x-t6UcN%_<4$*fMz~2;)F9d(ZSI184D;GcGF-6+r?kmb6 z1M4H_vbP%T)u)!sns|NMWjh{TfaI4oMU-C%UQZN-!WX1;42}w-K}^Lu3)fwIQPGfBfbjJq$2Y4s1TY*q~s@Q+-W!3>jKd{b{l&1CltJ$u3Rk(=OK zk1_#M%{CCzkjI1|`p!JigoMe0J%|&dBa^jnH2VB~sO%$ZF1r%G+GKV`NAFg2boLR2 zCxSymn$7}c4lmP0^pmB*l2NeP_Qc_{;3!RF=fH1P{^220gk>p_fqMo1A$FG48hoiA z`4*Ql6`{wqvrT7tW5Z#yBY9feWu7i+$x_*Q=$PzDhRBX2X3nNmy_&~@tLn#N5moD& z$AYW%IxZaOc2ME8R^LCqt%|t85MKwO^AX%|@bFkfp$~dUpFoSU$Y>r5{+)%~@mN&R zW4p^^RbF~~d92Fb-fnp8ik8Q&#O}affz8PjM=p=WOu5A^9v-XZ%2K3>EZAiA)i}H) zxEvVYZ$JD8R*qG_A}qo~Y?{dO_x?s1S+MscQVVG;*eIqrGEcEhGwvcJeaB|4EDE%v_4pMBG#5K zJU)qDC|6Kk%kZgozn$7Iv?jLX2<$J0EGv{*OrXWO3aoZ5HU^*7=8-DW1lCu?mK1^Y zBT+8dT^+;ujn>MwwZRfS@E={)5ZK?|9xaU<21{eT6BCsqSb+1*>3?w;ES*Eg>~<;bwqU9Lt%MkDf&`aB;PrB7DXGd$!ZSUhK9cmg&oO%!(dS+7qbt6WliKMjGgPOfPVLA#1`P%Wv*J2VX%7pwqPn zr79HyZUPJTOsb9jB7wE)I41FED~3iMLP20+2)pmtsir)1nrvaqz%adkE}D+N|)q_7SVk(Vj22yyB7 zg$~3r{eNe{_nmbQDeKMkDulwB5*GDw`bwx38q$KS6 zHGu_J6C`Zq4G~oC^xU{KrG!J_P|>t zu)rpX6b54W8c!S+k(U>izpA`Wc6_0WupcUWySm}8D_Z`#5_;#c#nnoIENjs#+zENKdz-W>?j)B5p|?=o0Q zn50o02D^9}>`H37$8gO<&5bBB3*InT@MDz!nZT~P9D`laQP>e-&xXT3q9(B`ITrhf zLSw-)3GK6SSYSvMc;c{#%qwY;#9?*9QpDk?V1Jf(aAqz1BRgeA6$sT*#B0jDBLDx^ zQPrWbv_XCG3!$+FA$(!i3HUYE{``_9L%x}K#$l-o=Ms5@!7>i}hZUcreJmD)$)GXFl#9S4N^&3&KW3g1jU!9C8mg`x~tj#(MOG|pQWJoL$FI+|I zB(Y%qqBta$2ARWDJS3Jzd7MvCNbK}KI3#xQk=RGXG_UbcwL1)}4n@_M!y@tgoeePz z3-nh8;!@HsoN9TTaYEGFUthF@6qbg2J#Hv0@Vh)v?+2MuMbw_yr*?#3*8&@cUHpv4 z6ln^(uPAT4A31-$)o71CwX}I|zVff_;Gf|H{x=J-X0Tv(s3^j?$Y8;)g@hf29Z8J4 zHsAy^FOsuP<)?`dNeuoQSGnF~p_^v8o1O^OZ2|<*$k=@>~2>>{(`8D}PPh zHEH11RYk?MOPlQgb}`du9wiXhj{Hst`|MjhXQqtMpYBj$BoBvo(w(RX?7gAp?R{jY z_SFOGL}RC#Wg502z&0MX)nP#*ffdTsfgU7C&orOy@aroo278jFYbRP#ccLY+uSo70 z%(sg>iehS)T`GyuFaDX4jTtM-x+BkoG8W4mQ{=gfp|E1^wFi5aK>Q_v!{;M5y^Ns_ z@h3;_6EffWus)<=H31P}B*66FGO?5j%;U!K`NX)UgA5qh`{ZRdsVOwP!&+11Pe-C_h0Tec%-omzr8-SgSZJ3f!z!k%yFH$hAV?L`sX1{^W*=DR&;ys>s9lBNCf{ zgg5ZCD-et07Ap42Sy)JF{v6UO{+iDR z1O0P+z#X@CA*N zLoiGg;+n2ela9Hb=q4WROrd9Twg@8D;B15l^R$1|4jv2k)>ThnT z$h)}BUxmLq_9I^vm&z=Eomt)Vbtiq%S79x#mcA;A<)DNCV6l@FSe0DZ>~#xlTmNVB z+N)1E7>@o|G9$25;ietgq0k-=XkkaNGhp=1^Er%)OI)!O9qX#dV{(cx?pdnfDg1rc zB&S0a&~#z{8o2b{C`f(*7T+>-KQCZ1zSu)Iexp|e7Ey#TK9Tmn-jX{S)I2vwwcGTV zErEKaq9`Srr-UOPscG_&g1=*FQgc?`{(XMGUJJ<6_E4fRbjNR;tk|CqwR^A?{(`5D zH6OulW5xU(Sy`jY$KQSw&u>D5!}vIsK>bJ+!5Elq#^s`~&=W8-<|8T{)-F$UHMAS- z!8-)0CYY$rHpJP;pS$hutokdj+G&e$_%7HTRxzLQ&voSNuyJeqdnA0a@{5eXxlltg z5^BfB#QP8}qi20bez*zZq_+}#>d+tAm0eg-m4i-Dlnh?rTpkDelixe+jr)=0LfRs% zudv+r3Vadu`S2A6j0z}9MY8l`oaypZ^uabIUvU9xk!$ak+CEu{TPvle^H{N=Xzqy6 zLw0~aiIBLQt?Ic=<(|N_05v2`)zzs+Vjoxs+Aq}!+HRwjwT9--SaA2#4;Bd{vPdrB zS_Ic3#=g|wabrH>fZ;cNq=u^=_jiL;x<7bZR-xF-)=O6iCGuu@G}p_16 za2{dMU`QjfNPayauP}f@5G`%NCf7GGXqrB&5oNBxob87W{^%f_(1zp_Q=;a2+SVe> z!^Ho-VMpgz!9Q7KUh<#hRc(kS@(wQ#c;stESbr8XuS#L6$j1IrM2$a5nD_9A56_{( zm>Xa1B0V8V&2}RC!@5|5ZaxV^`1$=-uu(>_%fT4@))f61V>cp;xC<7{ zl1iLJ(7uB3O1?tJI<5V13_hy~hGXkhn}Xu;OhoZ=3ms9Mm*IJ|VVxWF3UfK`FWphSKEX@+Ysc4Msfim-arn-|2e@Tml*_(Ze}ZR1<{27kijIw{;MWTG$`v_-7c z89Vng@&-IGot7sUotQ~x8clWs#1s5#q8CiW9C;6(gk1Dr?iV=$Vo`bsRNfDmNBbjF zf@(Ou9RanSUM9{bG_EN2FkKHwlBy%(ie;*i8{J@k7Tjv(w*|rDhG?4yp899OZMq9W zVf+}_jn3z1!QFMq4fJt_UGuOJzGeuj%6ep)` z7{52wJUiAu2!3{KTl+6qY##-hd8|F;5J}QHIykDLr*!lWV+lAiVtnW|790ur79&

{T>R9&6PlbNqdHETW>^{3%7~dX3EJyQgZH(tAkP1Nq?uxKRIJv2@VtIpyfRj^Q4bed2~@KD$l z@ujA)k0=xt`~#BcXG3AZUi1_HZVHPiQxH)oELJT)OlMQ1uv$5ql%|8#7DTyE`xG&$ zwnctP-8{`mL{?lr9zl|UB8Ud}@kbjgg?->q*cH_*cjQMjoCsV$F2Ewi749cF6 z;nre{ei-8tWvsl{>JXrA#OpL+y z9!}cQ1{>^8TCKtMDv$R20uSExQI*GDgZ*8=wbzT!UazR_^}J&2HQ0|l=6b3zgl($X z=6V|Pm}^8{30r#&&d=A3!M1B$UWm7^S}+EC%dCM~$r-T~oxy%YQFrjy%(^y}U>6sf z&atM5Sc63rn+;BWjkeJ{_Kh>RY?Il5w(4B$AtT`P2IL<1`^mQ0eKY7a z*(-XQJ5ODojAX6$K6Yk%MQ67kkt+jWRj&;y6!3*AoHIR@C}sMQ67kQS7!j>y@_K7^(bJgVk!gt=%$eh$wa&{4+5R8;9KnCo{W^ zYrBmoDJ5FuwaH}K$SbhJUZW)Do95P>V1YmwT|p`G(DSm}eGM}{YuYv?&TdbsvD2n$0s3(t2v|&XTZCKGQWmXhI5W_jIx@f}|Vz_i!VBIqoJ;4U= zewV$TSOXH8s0B}`0Z6z#IH3lxwTy-5-^@=O=@WhMa=41X8$2rHwfrwJr59;H^hcGJ z>lYu{TSw8%LIH|KDiThcux({~^4!%sYfCPgVXXWWGTXjW-4d z2-<3#2=xpzykrB7Gwn0U2B4$0$p)|oT)g3p?%@m?M0g*j26k6vG&(>oeuiX<^t5Ph zF=2R~@rfodPrsp*tv!& za|SvRreK|G7|G7QeNyg&PIf}OB}@a8YXDX@t0(#3oX+{=0TA)23VOA24ZwW!0hnCF zm~7)V*;w^cM5FH;a6vLamuYCP!S6{lj8g%pj)S!?=)`hil zPZ6dB%)q^*Zow)5x4Nfb#%M|^HWh)2xQ0O8WBmPnm2C=YQQ2lBajt%RhABds91h-3 zwn*XW3k?IP>1#Bhv7Lb^@$4z$aVkC}ci?vqjSaA zn12%r(tm9{q-;5%Ny-Wg;%dlLOgg7uC1Dghb=VM@q(ndu2 z7})f|eCZ3Ei1d6643S61)Te>U>$;~VU%$c*Q~{5S3FdFqj3GDV@DxIeT2^P+BBoo! z9vS1$zJlM1nU6jq%E!R85EEi3R;G%of5rm6T7!v%E9PThQwUK$1_t)X7@w1mfq|V% ziRWWrh>Ubd@+~m9gGa^$o4W*OrtI(F)D()wF1NQx7H@M4O$zPlTeg!$vY*<;0xY5O zc!zup?7{Ofuo0n}^D(d$5#2&ac#aeghvA6MnK9#)sp>!F8%7%;?)1E_do>MLz@o#e zR=BJA7}%DIroDymoAZg=DTIS|i-@-l*?qjh1V9$NL9l*$DsCOn=SV^B!^ zVp32a{iOM(h@2!Cis_;63`U;P^N1ObnP+fve#UF@Iq((X_M9?u2Xh2`6TsP39wMoK zz6EAIT;kFlhf-2cSt@4oi^1!2W7Mqq6c`i2{k}5($2nux)G3m0ftiSK?Fl@u(9(r& zuGw#afisn*NWKO3V5-++k`h)UEn!RyZ!#S`1{Xx(!Sg9FM4lUC5z{kC1-TFd&Zoer zmPuvW*@4Iui|nZ*70|ct?3)BK1}uvZ&$qx3d2q~r3(QHZ)L36_xLo`U$P}TQwW+;D z2W4K~Mq(l4GvqS$h1jT7`fW(ty!XG60j(|%nkcE8V)~*RTz!fs4-M=HElVW{S z=rPd|!K0aBe=1ex{z)WfuBEkopzad)43=^4$H2h#xzfrqcZJyGMiDwpb8x)X)Jj#0 zOCJj7ini=6(w0AWXx{*w&w;h~z<%^9f^@fO;o}V`~_3zkiy=G1DydgRHY*J`v2&|9AwKJSd_u~vF89vT%lI7zJ z7oY8|sGOm9h^K33=tG?DJkHRi0@K#x46UZKdVENnp-UL9VLaZD#^SRhs=~_J`Y&bBKsMgJlF4Lmj_jwcHQT1#5L5#YcEdIh4;onZ!#0rQ!f_EZdq8Xsj0M~!wO^`4Mz5z-ChuSqdOLXsd(eQGhv^}+ z|3s&N@;G@1XNMJ-QdRTJvrivsTeja&B(ryS#e{3LO1p7J^F5_U;yD95d1tE)8@Iu2 zH;d1-R@7`{Z_$(YdC1u>l24Rpt4RQ{L(#xAWGNF84;qMnbnXt$q7F_bb9Zp~5Z&7w z*jjLN_bGBS)sxJ0b|gD@KSAciK+hT2IWyRE2E;S1X4tYChNyOSF|68K&)sL#8)sPQ zd{$Yn2*EnOf9~M&wZA_PaUYHr*K_x57OZ+yJsDm(Kfm|feM>M1J$HXZlg(HW9Us=U zf}6XKh@dfZ_ebR19hlltB6D|e8en814yMiBMnsvr(=GMkYJ5E%y2kO$-6`UWf;)Ey zd&+?E&F>9)iKh$%_uSpllOIsT;04qbfHHMQ={#jXJX3c>o-&{)Q+G92OGnKhg504_ z8Bh&-3O5q2n5p|C%G4dq1-WUa?qIi;`;eKsBXZmnW$q64l!4&vpN9_{R{Xu^?zlcr z85q%=GElc*7Q*kIG9d1`I}%SBP*O@Fv#pzE?#}OnXYM{Cv~}k0E9$u**kcBE?hbxj zGGqM@Q}@xAhp4XTnCc@Ms=A`(sv~*G>WZ4Jg5?VObEodW@Fwt(RYbme9EYA^Mqga5 zqe!Oiv-7%f6d0vRYW0fLn+MHSxx}Lea?75(v-8>){1j#G?rv+kADDUp>phH%OnFtq zdNf;Q541-O7yuI7JO)7Dax-_gIA^-rnUvYWJY;q8dG8e!S@jNaSWQ-aM&?6kN3TRu zjqHXPvT8MrTv$oSDlJKp?Pl&s>f5fUo-q~dE6h<&ZtA9V#wB=W?sQIgN z`R+*4RyJ2=VkYY@ss_?V8%{3O?BAq}ie(umd0XP)3y~Z$9U`147h>3*<4@X_m zOH!ef|NXNCnl>hWpV``-uKj_M-RasNFmeA{cDmj-PTcdBovwTah1D!!cDe#t^aT?K zr77U~EFz+$e-IHWGO^2q+&e(`cBdW>nNQgc@sFsIGLI;qMFiIuv)Ph?6Y;^>=}J@P zvxtbY)fG`bWed(U-_K?cI8t{t4?Lemq&bOx{h6&CQfG7o=OfKd-DErWJrDaVTV3mm zA3}0dl#pJ)oEJO&FTyyY{;bH}VZMtv54kUsY(47RCDy!xG`)Q7*bkrhdwiZV5_=pj zsS9+sPmNJ#hJHt-vuk!$2#W7P)^gK|NVH+D&LdVtAZD;XiEy)@1vol`z@~ zm~^e^Vz1^?Kmv{=-$Zm=^@QMj6LH49u@;6X`&^$QNpe27n9phLLrf#pbDbQy!8A)8 zQ^|%lB2Q@iw6i5oXS9SK>#kS^o9+qio5Zm^7e?T zZT6C5H*MEr!(PELCch*F?(Rv(wnY}nHrIS?szzkK-ZS4qbdU^S6!BdQ)yKI9AMeR$ zY{8+sJd3}1hCDk3@+Cwy)@X)C+~2 z+;2yn=1Yi(VtrPV)R3D+v&%ItqjSu5xvQhG6-AU?u1^seXIh#yW`1SWeUH*Z)_MWQ8 zU(bRH9xETQC9|GwuH&ysqh~tw_-jPj=Bl^l!6w%2Rbc!z*nKg;ao1#_vv`Ln?s~G) z-avP~_}uj;(dN*T%eH2|GD?wbbEW2S*WeI4@VIM4<$K#*Q?Ra?W`$~ZLZ_27oW2p5zZwau?6Q2EJ5RUe#f0 z(Y|^r2}DJw73ZswWc>Y84r)c`#a1-ldIjwW!P(?W zYvU)u+2jfySBfb4kny(QY;pz1VS{Vkt8jXR%)Bj_5>AK88OPPZN z;zXyZ<>2wxvxH&9?7+05r$gqlb=g}8ztui_Md!31kzN~EwQH{p9yir%t<%2t*%V0g z+huPDoy$g)J+68wy*fC1T;sKH+2HJP70(U{XF~N{UA9`3Mf!Hx;B0cmOO4M)5wpov z$K}REHP>u8iWR4=rYBjjPJ1PBb;hqp5~nSOqvkVjz4)3fuDVm=YzCh?J5NLur;QKG z7T2^*i!gm=?4TSe&c38R%~qn_;+k97Sn@G4S#UdTBuV7cwm9usBL>H5Ke(OtNFJxX zqITNg>~Wos^L_TmR1}~6|NcM1FRqQ+P@FADWQLVwZ^ut}L-NZntO!2@%slfKo@tzDZ2LKYX7I{KZ|F;AH=PU_wkdc{VfWil~Up-MS^CZ~E1M_F$)| zx#Ef_Vmz-DRrC4WGzlcC>KP(=h?WTE==XW{)4yLkGmoyGhmh&i*#)I7uyoS*@ z)yKEkA6o=lalzkPsGN*`wm^!>!}KLNR{>FyIp_;IoJ*v-z*Lt+B#bi`bYEjzt;EJ9 z6)aoSv;#Lm*ga(Da>a-^W`}-CZ=C42o|mhBdvpV}$XYt?DO-lY-)a&TkEIP-ch`$4 z!nY9%=PzSs4#(fYc`(7(u+}0rbCOr@?ubz^s4{Jzg7?cMWPW^+7EviMtfD(0JYH7Z z*tYZ~5uszf1mJ^8M~MtUj!hWO&d@v}ST9_^)D9T_zGI$pXZ%zdE1j~eOsGvQSW zqMxQgK4~L<*$+Xy7vUt*?4CR6xw{A5h=HciUEOosKPdv!PuTJBghmkyp7B(Guo@Y{(}K);O< zKc4XBynq{4nDY_Zy{{19xYP4G3Y(1Ac3>8slU@-{EfG<2<}*!lS{wIJc`1rgscc1A zn?&W^5N6SAETG9bZ-k=1(m=vbt@vmimQ>3UJMqSDyjBq%2|bC~5wQNZJIm0c$h8mt zWCZ+c8htTli52vSR1vBXm1acjU!MKjSqcv+Rd!8eA3|59NK(NR^%yTN$!;|M{*vYL zcft*g3!U<>5sAOwop<}!`8J)A9nt)qpvHfH>XqoX=~`!Yam%_CelPrt%7{9;?kzg{ zg6k<4ptmB4;8rj9p7`D^c_~2mi!8z1x`SX01OJNSAuSpbK)+Q^$|56L>l@Ko=ty9d z9aBb9mL3y5(Qks}ClTyL-Dti8!T25@uLD;3i-)z2e5eeFeua}T;;yBFv+O@g(zul* z7IP(H_j?BjqY4R@?DZANydbK2v;*o|t`D;rDZdiE8V$qQ{f|8GHbsz(0KsH4R+_XImzC=qfeItOil&Dp)tzWEGUX&EO%cG%cI-=%0{P zdLuiA!HhmAhIgibeL230sPCA_<`<(}`|cY6Jrr5kPe4NYIT8Z~(DNSS81+OC z9>TgJn_AvwMb{xCqGyM*t_VGC()x&owLYTIR&XkaCkbr@rwL$;i+O{W$W!^E zHg%-cjng66WoCC%1n;Ytwul4{_xLN5_T#OHvPZ&-s46a0cMuD2eem$s5utv=TUS){ z2>4U(HtY#}ZkdYyXF~W?^hoUJ5O*0CyP^$}E0HD^k6jV!&_wnTrJKc6uX!v;Qib~- z8q0Uy^e;MeX$rMY7)yW zeKBxJtdB@oKN9OIjcgki5fW=HGb1xN(IMbJamGht{S+VB#wfqWnD6iv4vV#Cn$-@A zMf69~f|_b-@3Lt?FF!Qrq- zj3#o{a9G-!T|9;qLn+wLs@Q$QVd*ZvvAG-;oQIiO(7h~v24#wL)ZJS&hux=K;NFTP zux~Xx>~}*RVn9>#;x?jCSg^T8RV@_OuAx1^VX!Azv+FWvnk`uRI@cU~J;{*QkrXQg z#o&fBf;|fErIn0p5~{;IGtQbpGt<$7#%-%H=ckC)zIP~h037Pt?xKn7I+L#B1Y4JX zin?xzZR!8!t{lG%FJAj)7XSSVx~T#>P#QQVExRVN4uG$J_+2Lb*!T!UiD!tCZ1n>n zndW!0)qQ5!C~@pHTg}S->44ls*EbD&eekf?zeKXv6*YSW|IVzp*{cr;CqDLyD9ffQ zm8}B*HUSDwvX!bQ%V6s}*@`H8s)xVQA$h;G_$%lmtY_`O9^|ZO?pdZH_H|o_+GOkD zwYC$LLEbHz!0uDdrneex_FK(%3)2!D%XkhNOOy4PC?25vO4tj?gF51dI=S?ShP{sH zVXrGX_PU~Dua77JUtC<$z60rzk69v+?KJarSmV8#y6&(abw%XIJiH>@75p{xm?FRK zYR>Fxxhs-N*A#sQCT+rVb)5%?xsK$B>qzMSrT{IWe}}e?)OBUC-}1nZjE(X?2KX3W$yx{w2-mB zxEbq;j> z9Anc}@Q?Q4!&ecJaSxXaVFiD&7l)0qBimzn21gHJ6?WTG#P5R#Ta-)u`hj>DD?7hG zd_SletK0T7(Vcpso?iKeBiucLCaml*bkpg@GcJrbS;opPMUE(@L^D>fTRDcYE?jrb zAt+s<8LM|ljO?^4&&*p<_{mATBFc)h-d6>7k76>U%~;t2PwUaSW329qSAy#49^ouXvP1=?IOLBK8>*5=g6*Xn0i|ZCm zS;6&`4b_f9RV0*^4zFr9Wu2D1WB@C3#wB0yFGc(`lQ^6eoE1y(kk&`E);FcjLPxT^ zbuU{w=fmpeMfyU4MpU$r5`QvvYS!rRrQ?rQBKn@Rj?)HA(GgE9Zt4n-)izI!TD4)f z$nY4$2iGmyH-Lw{Ql#9+R0Qm3b~PIvd9}R1Z)5)jcl|1@1}z#IaCuFc4Sam+V=<-$*Rzm=E*AT+xZwSJc#XMMqsvwAA%POI=@4BEOGI zuZB7Lvo8Z2c~#=OL(N`=<%Nox-q0_5Rb(7(@+z#wyO38QQQ^}QBtvRTR{m*jJ>Bv&yNUp)0!DO#oAAL)A7Ckt9}}wYuW4 z!k865%V~3kk-vDHqI7KHkUX#S;9DpexHzmu+yZ4hl*6hz*)9_bE6Qm;mv>bgGk-v& zQ&fMy=87h<;Ot!X`-<{B^B1~N+HWrb@@^Vt%9Pla4VtsunOBhr{77I>Fk>-ZQK6qH{h#nTZ zqGGYYS`gAfdDGV|Q_=qh=#H1jG6+lzXbGB_pbE}e4{9cfU3<%e ztYfCdWEJJBA{2qi?hpWFvWFSDVzRGDCYvG2_L*X`;@T^-Ojc2CYpUF<^~@ZcrpaW* zotm9cMB_XmadNLVHhV2Q_iAU<4vq_Wh&U3BOFATili+P4>m`MsQ5jJO-n~T!X7KD2 znb^G*No?P0cI5AdJlp`uNAp&BtWEWk%PN~ZHeDk-pnq%kz$0lEyOJ|c6JK039Ck}A zt9vA!dtFJGp(u%ch@$KD;=KKH)Kbx}F4Bn>x3j#Y9Om6)T`j+f#8#%dj4~tSe@+vUdbI;pU z;o>LANuz{m97C7YMU&XXq-d=}3w9s5{gY{V(%97<`br!c5)bX%9`g=~Pwnu)^@i13 z0!bL`l%Zl|aBCFkQ!4r$wj%!F=I34pXs4N#Aw+(#Fy`j08TwAs-Ns^QI$%T^QFisLy}Cu2$;78ps2}%AkxV=A5~?dEo+h}9xpqJ( zN-N!lTK$qv5XSP_MjH2+=8%~!LeILkDK0DW+n#|aX!83ix?q#gzxfA_PV z*2}kRa~GUfRWx~6dRvavO~ct`-dwPY`ze4efXfS?rJ>GfWix374`_>!uE>(O$1jIy z=nFXWj>XlCJfukvil@1!Wg{|iU=Q*j`5hiZS{~A4>Z#o_clj?AmWw<@GUeVUym*3#}OC;z1Bx1b^fAg2f51Kn4aw?8T_S=?1h-C2Zc4CP93TB+TnR9R!-CU|f zf5e$lHMVb<9_e^p*sdZ>RrQoW2Ew16NO&~o<_nYl`?QIvrVDjqH4(T z0J((DHrs&}V8;}335lv>ByNFoDj51mHHSqIrgfBPTLo5=)rAdp_E)}f$?rO&?yn!2 zv+5Caq%*BWfn5q*jKU7{og&l&UhQ37hNW6ECLv$C4*t`D1yK%2H*^?_oaLJF2DA59 zXnxOj&IM>=ro}J>M$4w=jk5`6bVXi5dg2|TpYc;262Vze(peia7hhCeQ3u|+#RO(> zp7O-*sR*KkcW^2?;lG;#9D;y^gSJbXGEp!&RJ23VV|OJvBENPS3kWIeP+;uLoP?Ye!^{&08%& z;l;URth+=ODeIqGjDvWd(k^7`G2Tl0Zaoj%lssfa+u;9AYQK?%&!GTq&^Sg#IUcJ` z-mJUiq8!3EvhG>IIiH~@uX!NKjFq%D%z;aa(wYd*UJ7t!WzAxv;VF@G=qHQq9rQjA zE=v2CgpoT570adsGvmgEqO|^An~Q1#4n35Ne7H91g@wEL7Z@vTUEfvqTxLoZ?5 z(w1{1ifXrDQCe|cxWKj61@-pUQd$d)s5$M4mcpHAS?!AOH%)6_k$h2{&{MQFqg52P z38xYleX*jPECtNLHe%-xt0K#4UFgVS;}*e<8zc4>P?PK>TUMK`14QIuwX>C=N$mrh z(~iV}(0?p`x`SXr{pj~5v|C0Csu#9;{p9HEmeI@M5VIg-7$`O?PSwH9W)-D%h@|Sk zG+t3bPN3zG*6ZBEw7E`-$ue3|jli+ADqGUvR!mN~N00D*Bn3hGeuZsTU`^ zWlY4f4I$93UFu7?j$5LG&R!4n8aoMaPCyz!Y93YBh)tMqmLM^U#^fOWf z^=mG>S2Z`vgLuGjS=;e?WA5^wTsFEv<&Mg(WSQ(rHbOp<4x=ks8v96OvBHl`J&VSQ z!>IJ*MPuEGl0_>-9@!yIv@D7$%-)t`v5G!iu5XbzTe_OYivLLT#6@G>aP-SPP(D`% z$7Ysn9|B8b#o6Nq?kr2T!4gf#z)ClP&Bv&~v%(-1CXUHL{p8}+*_FEK#lLtPoEcqz$F@ucMM=#6aAJ1T33m1wE#E9x2N ziI&QqXqnxKmdd`Oq=S51GB!ma{hjmH=(;7Dit-{+Q`wAq=Y?_t^e750tf{O;V&Nqb zmIEjzdp_cM$heWI2U=LwsA?{3BD-#ATl+6~EQ1?YwYgdI0Zb&<=C%E7jUOT_=}VgI zyauA$#oa^}{KxGEIF^_me?#<_$0Er475+8Tfz!$g9XLGp!OdeoOJoo$X&wu90dRRN z_sR+ml`-BMS-gER!gRhy3XV-QjkVgznWATvne}FvG9_^ut+gNVvaRsQqZ*r-P0kiW zpTw-#?_)2EUA%^OMViHGP2Qqy*N6L%vu-7+#*o;lCN3o;c3J}N*|2TR>jsF-%Zjsp z56)=Y^W~E|a@$!Y84f#=<7^{22HTQ{z@8-h6`0pmDUqNA{_PSWrZNnck<5$c!#^Ea zBU>}r9r$Cgh$io9#85Z#O2giP3MOmxJcMAQ58Zm;%96lg5Rw)IS-x9ex@iLQ1Nz{6yxm58E*-3h{Q^ERr+F#s6=UHKIG zCUFy&8Ro2cVKZ5WOAdi3Ocu;1v4YLZY9JrYAcxDMoPTm!0ag}A!QH|Vlb2Q7bEFeJ zG-P%~I>jQhE3!Kre9TDyNj*Yl!8r{QJY*J8%%r(2@Jq+{w9VCG^*K#VXF$rcq}z>W zC8cxJA+vZ!)0AE?WEOXyeRNhLV>C%DDw%2d;A%%6(jqi*$gIpLQ#k&TlF(Dsf>9-A z#g9woCjY=?M}a8YdD&GUyMdmHiyR$3I=dIzuie#C>Im(YLW^az;7kacI08ehwB07O zh(bXSh0yYTU{0PvM@_o=zF=O&Y;4yc%3iLgh>zj|^W*&bGre?tmNy8$o8$Ab@>yOV z40GsO0rS4GDvAZ?5$;>`rkWmFX4=?oQBi}UiFcdYQ2OPHcLVWDTUdu3j~bJQHI z#pl0QRD9MV^$KnA**ql~)#bCPh!w&JOw0P_<3}>6&1Y##Ui>;bizFXdLH80<=?qUq zi+W0D?VQY?kIvGCzm0FIyd5=Tp!&)%7o)CCXCF~)0~{Nuw5(U;TzS~-uvwnV2PV^! zuvzfW%o!O48%8y&nazG_N1dS3p~_d3(-X~Q^A4znuD{DFq@9!F`6nJSipl&om$fqs zKSMI2;<9@SMm6d0d5TV=R#YvLiXaM?or>bl68ftppy37x@}b7~JC%zONbrG9IDG-< zRcVy3ld>l|>)TRiqboWlyQ1ZGcP|vPlCrNT6w#{^37SDNd~ODMnJl7g+8QS7fOj|! zlLeRE9+O2>rrlI_O~0w^dWWO3h~huG9>9vVm6Sc#RZY+--?>h&Mn4(!FkGK<5Q7g zv{O+WWEkzVMTgm*1W}GEK@>(ycVxJV(Aqh=etzwp26o|yhSIL+7~G0*Kp0QPrZ0S0 z?Ud37CFQ02rBj;K@^j+M@l7Po3b>O|1QeGxoOVZ_-|-<@0HQjephRLf{@yKyK0MEW zpJa)5YJp2r4X2I^htc*yMUF!?v`RP#@S8NfB}ZrHnq#vk88SN(-JI^f>t*1HqIT86 z!)2#+#wzJ$H(sa*1J}7Zg}Z<9QL`;#ml}vDV*H@Ljf=wOvWUVT5QWR4K>3yeI9wK- zv=b4wwivhpF57i6Fqy1+oAwlw1?D9eRBV{+inyYg?27CR>IbfU3C(1|`2Y{K7$%D! zEBk0F3(j{UZHv{=G1k^FK~5~46!@N78ABRLj(l8{)S-&fZw zC;bTyqtcHzi$#<}Ty*44+QG>eG>HXfKkP$dIlV1!(hi9Q=UBs`v0#$>JoIQReIADE zb9-SuXUJ{6@c8a10S}Lj*F(}Y7W?$z=M8G$93}bCSWG%Eh0IWZv!XCVwfMaDikilH zi)`*{8tYTCSKw%@6)_KQ{iLz{&4JMH!>s=DS5K>&_4Wc2qhETOR?!sWn>B;B*L-J; zOL}{OC*RBC^1G zb@&NDgyP=1Rxt{KC+VfYe*R093z?;NvZM(fGP@!jTTLY&(WGTp zbYyl#%k3QEy8V&aM-(y(&Jq9`><$Aj@x_dn%p%GMPKV5bD|6dSb+iH(HfdQzvG6NV z4xqU#KbMak& z@O@7TOLTM`u}DOjy=2JgEpQPK#@CEJ*t5}d2{vI^f#25&jqU9ylC#ihN4y_czm-cq zi<&T0De9I~lVgBlIi1Q>lBby51bcu`KR7Q4BTCv6FKvR*VER-G%*LMJ{EV=i}yMAl~0${Qi?p&IkKLt8#f{o%l7iz!f&pW zv#X~tg&5A(^>AG^@wn^h)&{ezj)F~beHSj5rf7KF4N;xiq~QgABxlfu!Oza+r@OM* zgQ3MAr_-kt&;833SztA9@s{#iH|zlXOH|u0xe=W}u#%*jb4!^ETJ{QUCe{bP@yly$q(7c{HlsQqOs^3Ce&`;3b(#&iD_hRLcd1MJykxrD@mOE!q|ddYAYuzSo5 zy`ep}ep=U}w)C`aM3`$7TgId2LkW7FHTN{o*O^m!tqlrW=+Yd@biQtCOJ+waOnwHz#I~5 z=>f75xq{Ki$~uH3TYHHdF>vHWm>vyYM&hvyRDuoz)i^8brcRvq@cRTEvnyuO z5hX5xb3p9GExICUB6@E^8=@Q#izv|#oC9I?%zA>w&zMY+jM zClM@}F8@o!#+KBl&KT7V(@)eV+bz*$^s}pz6Jn8M?oElD5DU(6K9l=soJ-oOuS6OB z++qB}J!3q_)PkmK(~L|ixzJ|h2`$;S{tMEI`!ljMXJrU;JnYywe{($S_yGQ9x#sZ_ z{uJlcq?Mm?JS=}hTKTK0@n<-zPAUy)&I(St+LF#PA3U7(FOg%mqUNmNOkb%_I4d~k z!&>F$tUMsQ_YsB7GO9d{UUmw}k2xOpQB!ZFlR=cEvOmSEmZAfl(9>r_Sdrv>*deU3 z2wT*~wD|08MQxIMi#FML$Qd<~)MD&@YB_#k8uGXfL|NQI6ut`10kPl^R&Z85z(ZIc z(Gb=Z9Z4Hem|PLo6&+!HM58J>AhszhBb5VU3GU4&k>r5bVVsU_R%e>Df=gqLv?9t- zbqSUtvioZ80IrtrGmzv2)~>{?T?}b`@UYeu$~x3qGPU)sHy8p7+$$6 zIQ1j!WWP%{z_`_6hZ1QcqHx#l0$`}?bW&p-1fm=e`xL1o*5r4_Ze4ZryQZ#=owR{V z5~IO6P!BA11?GTQ;BZ&;u}&+E*A=Pl`VUeOK9C26 zyn=bZEV#)llI-}VM93>R=fjGn1mFal#_11uxShL2@SHL)aL6lmobzG9LtYUjO@k=p z6`XT3!6C1Ut111I6nV(&l)^ED9D%cdZ5?GJ;P%Sg;2*f_C=2C=ysqfj>xw2oK7!$| zD>?%Eh{9mSR0)4Be+3y5)r+RDq)Ag}%-GHY<_!pxDfAVbePWI65kxs0_9@~p2(tv| zG{k3c$7ZkORdeJUkJZe{Xr;i^iBKNyf8>>%Sa!gnjbX2()v`lQ?r6adnAp#%J+4?iDq8^%mLS(B#zzxHaV=uhfC2BWm($9WxlQ!UyOZPvW^qO9;w@>Q5fx}$w zEhXHe=Zq(*S>@oPts_|`XCLP-M_Nx3Ita|su&8V}D>z5Pf}684uz4c^N$q@cpmmJR zNY_vcx1p9TUy+#l+@XEJJ)&I2Q~?yv+l+M`OEn@7m?GQK|IJz5d!EAxi?rsHMY9rP z+U%^(v9M$M?8MFrE52ixz!GKBBNzF>}M_i=bpv zmQNzcG=eI|BQvmZUrk7N;0s5i=-f9IOOd=%I-J#4P%^W+XFxs-AX5jtD7`b3mGTXT zv5w>jYfB!!I+CNSBRRHuk|wJoD4$j@&rmPJlmpZiH%fJonYJMcR|Ti-;E>hnp2poh z;g3&|dR?r^DwpJ7SZ~>6)gf{Qi6~?hoP%M(;f||zMO9BkZ$MSWIT)6wN>#-<7#3VqRY@!miBwgGmUCgnI7~4s7iou>-cXct zVV@#77Zxm4^>@7yu$iiF?BrZnL`LU*g9n^fdFLe`8((SGEpkltM8#BnPObYCQx%Ud zrkejiRa;daraF=%sv{YmdU!(SNRFkRBqUWBx7d^roI_!8$HP+*k$J~nny7+n&tDVO zd5cgQ+Ie_HIYzQYzBZVbXvJZ2&N(#5W2$s-4uv&zKws?b1lg&VT+b_>V1(%*Xrd}# zbm#m=GbXliB$Z~xXXQlLVXEM~tAwYnnZ)4r)H0|l(oEG`B(d8}l_%y%SfAW!R{cY- zc_q!N0m$^wm84nuOJ4*xQ&o$qxgn}5-K6~`s`iTS=kRxkDt(y~Vg1RpChW(K0p>lo zf!?>)(6&UUSse_!mPd!Ff^#4&m7O#zH_L&rhKSUk$7gM(nJT}tkCK08^!S$4l(H2QXnyOAc zH^_HWULJrmaG@O4+L^C=9KhkK_D=X2ecWl*6_sZXWtmcIog+BDx|c1Da~$jD$5)*>Kk!0T$B|=#p@&w`Lqu?kFzZ)tOHpZ%_$XNZ{VjROgWL(Eo zqvI$;lUgpEJgdIO;oipn3(neSi8N)+Nh4?Eo>7s>bvpr%y~v9$=OsKVBZG!W%35b< z=r@Y8dNM=S!k4is$+0#%Cm8FV)xZ@p))zNp{aeKFpQspXodDtFyclbq5+1yaRZ%5) z(JRl4U|2PnBCNu^LU4*|bMs#{i0!%}s7$I02lS3R&J36kck;GF-89)zzhUW@Z4 zRiydq-lB|lAF^h>wa^)2`CChEm5l-05N#EDVU+gFkGQ!atm0%FC}N`3p2-0p;HIpv zs444-ma?u07t=cfPPCNu6-ilxO&b(n6y`u!!h0oJmE?u8rkvt(L&Z{W@RzkJN)Wvg zIT3d6fSS0`;&}${ImsC&D$ija&06L z)G)ZXtD+nTOA)!Ns^jhxAU6`#VIeg@c?RyMR~aR*DsTm?%Cm}dAS}8z^^t%*(L3Xs~H#K|8;Y<3maI60$ zud6G^UQe|2^+X*ZUqKVt6D@;%MN-&cEvJ~GF!@BiP3os4d5+?*!W;(MX^t>Df3+_y-q8tWGH8fYwaP!rYsni_u2<}{pr>*52$cbH?rk2BC z_3tq9J+rJjxsEimnKOaFg=gYC6O6&|tTsvcy!79quDkFwLh-wuRDh8Ws%9<|*dETRG14Ic^U;+TR!x&wW zBU+EZ+B-Q2wh64b7B@OpE`G*jigd)?TXaMQ*Hf0j+UKcANA;=a1bsW4YCg08Nlt>5 zIl$U&Yu@z+ONG)mD)Z9Um7sc+YkefiwJu)nx{_scD_Q3HNTh_qB=T`95?67Kf(2Ku zRY_ibMdEOYa}q3AqPm*UIJP?Gd_`jIbBA^Z_Xw0kJDNIlpaWMO4>xc1p|urhoBA(^ zYo7$GMfs+PrwO)&t0r^?|7!pKb-~?X_8eIMl0&g&jGJqS^-JmSPv#-w-!#F_aUyOx zC!+1R3?jMIj7a-7FHt34{B15N_h%7B9sKo(sT$j(Y7`g^s_Gn1oa6Dp2KaukD?t|d zPGq(MdQ7pqSH&JXEdByrNb_h0Nn*RDQZa-svPj}DtP@+*Gg@_92K`*Z1EFBwzc_`h z3gKeGcoL|tmlQToe>w@4vE^xY@7zK^{XT`96%@29W<@+|#QjI-W09jDh@!c*BFaT3#Bc%@Gg+!p=tmZ5p- z0=IPwP_kI?%?y_hiMk+O;r>!N*FieMx2wSOFj;vh~RkfvhnM_PN;VAN#@1mk!Ax@!EIC>i1!5&GQh?oHCeG9!P5gi# zp&*k}iI#LbsJqm4qw;;Sl%qRqo#Xq=-W|2jm ztTWT)cnQXbQMS&yX72KTQ&?S%heGJTTh+Xe2d%~WO4qy<;?E+xw(WRIxk>P^3(;gd zBeN;0gij=kDRgtR*flsC>TC+#P$#}R&|vfT;%`(?>~v~yE|E%>!>S_8f*dQZ$dnDr zhCbwu^mE_Y z4Pj1#rP}>+m!g~mi^!!7>y`Ka!R}y4J+;#dMRUR`qC_ijt*mu4W58UHwf9ilsuqpH zQR$x(6P?UDHJ+Hc_!*Na(vg=Ub&HP7`;-gbT@h_1@x3c5uGuVIuIiyc%@Am;N5Lxc zTS_*z^jU9}?lLRn&#tBPn2gBjZcLOKrqpAiBSHey$(S@I1myOzv2f7;iI` z98B-gjy&T;Iyaj3zZvZuJm`2eqs=BAHoatkP(l}E{C_r(X3A)_hR;?mshr6#(kP}i zc*8p-v^lZ6CgOaGoVvOZwb$vHa__{oH_a61!OdsiBF$${MAZ^;OoyxA#b^E9V_?P2 zXRV9#Fh%lNu`5{Oyp3hu%}9Y;TWy|e52MdwkAWS1&s>vKv!1W{Z04HbUS&1*r^mn! zpFO;WccS96cZ;&!d&-*kRAl(&5k&Qm+OzP6z1*4VYIX$H00E<0`Hi)y^G@%4Ur6?iJpg zpe(L$M;4V8S1p^!s)ZrP7+Cl#!%u)49;+T_*A*((JoZFfQatt*$zx+3cv&kZj}_+} zSa9=LML7o+QPx7hIR`dPvx-c^2s&vS%+}s;^&ov+WH$-4Dj|^-<|tSnQbbl!C69{8 z2K&Bg6WJHrlzxcI&1zT^*(o*LNL@lvaK%q*p+OET*;Ey zl`MySBvM$RN5Kw<6-%ie4r`y9lnvu_wF8`RSrk^72-cJ~iirB8SFT7RZ*y2L@hI4b z!`jCNwc)UFS_vz~t>gCM?JqDnTjzqNux>NSYy)49l<9Ar$#Gb%KB=0SQ1~K~{$nN_ zgV$|4s#T;pEVu9+*yXT3C9ZBcthGoczd0;8$G|p+)sN&D*dwvFEN7L`DHTxVk!1~% z*z`37IubaT83O<2tULZ@yB_7{h=NCy9UI`}=y-bVCxD$r*O$fmlpF(V zyl5lOQ2^lDhfC2o?xnG|rFQ90kRqX;?kE~-^WCiX(pY-Pb6}Uof<2dTY3$->Sf&Wn zqwiL?n1DP_d17`|>i)u|hZG37f~hqUNzDdW>`~ zTpoL+mdC!L=CLO#iWr<3Rq0|?gIm7 z$sQaEYv1S^kHMZ~2<%9Xzn0{suOm73dXkV=ps%DZa|C+`ta!*JL+Kmkio#zVT01={ z*cqUQ;O&umC;`r2E{m%l!E2<(cE!Oli>6XTWI+OzBE z$Ii%}h=$gY4SOB>*DUrCg~o!dpnf7t-r)McIh?9#Y&X*)p|RZy;?P)dUYKdz9hEa+ zpCUN})>}Yhxgux43Y*3{T95~C8X61E8L;3wxai{I5LuKnXTahi!(>(8Y+9&{tm>Xa zVCkY^vMb_}X0necOctD#FdiHx3(g_1;9;_e!f~mp$u3|Hfu%%V|Hjp2J5l5G2d*_V z`HJKmSc-(n`ZA8j;zOFr^1e>(<1@;uY_n^_c%bPWwkdhaWFn8rcBx@VzD88bMa^VC zyJc?j4@9SeQtih@)|*4+V~Gb8ad z-75BV%fWUHA~%(cNZc3Tn1ecn`?V6XZXoa+w)NvNlqg|6%$tJh|1ldnsQk?#@&Rf?mWcx7N?NSWxM~y z;j)Xdx=P5-5c%NReav`R@usp|kuzYybJ`Zq%^9$WLS@0V3A3rJ^~?<>5Ydo2Dy506 z3-#%WCbD4PQ+bH2z2k|ALuB3aVbXVq?BQofrbvg~y+sq*eab~{M77FW`B;10if-&r zOVpc5a3QE|_l%NW1neQO7Rea0al%wNaA+(gMl>{bMQ5KYIvTs8qp^=@XzYrbB8oGq zY6i*hc?PT$veU5+xcjseLsES2Su2@im6TL+m)5QWNez=UtXJida{G7N4?LS=J$hF3I| z<#Yy5e~t6$ge)SDvQZQ++XpsyNx1BThs*vYlFP1$s+o|@F%T+vb6K$a=*5$eMO2w! zv`a2aT|K%bZI#Sg_fFW3zIviYmPBz87V*H1xYt&A&*aF+oJ}C|09c)0*euusU>!W? zhdKEp_$+UWG@IR9G@Aw2Q;yDdMV8KXMRhw#$aY)eEo*~;&C3}t6bYTBJBYTHm=kkz z@`qlj1GgR4yB3DeuITt%i(W>%qNB8rC?o*vvN;4b$xvWI%<)YmDoOKMQ2DbWv^)As zXpy)la~Lns<6rN32u1H$7|Ki$7e=oNI5TydL6D`?IdsCIvm-e+TapYyli86RmmSGc z*%J(tJxPdcSInRjA`8x0>fj-=-8_qg$bxG}Y7<#-9hFm9FN7!uz;a2rZhF*sDv^u* zxSKPui7X{@04ya!WVM&1SenR!?I?a89*Y(xvyFk7BvNlPLuwie&Iz!n*wEM&aY@tI zM-& z(qU*Uk{kj{i73dNp+w*hjeW39$wPD-`hugeU23@zxF)~Nov4?Gz>ZJmF8{z|OJQCb zJCb9uBe@_slH;%=ISPA{Fj%0cH^!a&Y7|&XCGJfHiae?%?%aedxVMjm!2;a}>(An7 zB4I1N(j=E-+dRQAMI>KfQu}qs=CGcx8Fx{e3OvTGcDFQ%?IRtnS8Xc5(W8Uhqa#<2 zgscRubwmNPKWr1S9)0F!6#0kGhZSbHW@MO3XxEd7@QU@4M>Y!88k zS|1;&A(62TiQOViVjTiQB$k?lthZz+#KU3{<@6rog$Y?I@(urKktAfn^^Wi*RA@^M zR;5S?0Z` zyP_tEV3Ysyj*v*O2f&Jl$s+OqSVeUnHlyA-+w{ViZg^`nzHPgREJ{ znk%k|B53TDqGsmCxoOUWqNbjMCjO}p0qaxxxp}`G(NFisQq!+)R|bDL<+J8E!8D#( zc^U@`uMSF{n&xN9Oow?rT)}1EpLAny#YJRx?%Pii+h%6Lp7GAfnb>&sXJPy&v!gs> ziWpsJ$lgMJ{yqg}1P$(5RW%^hJk3!_E$M1=%+n5NhC8ov1%s30mNPh($am!^;SmmY zRu0|(Oa8p#5xG8}F7HxOXdKrk5tXAopF|q)U!`cG44!*?@+8|Yr3x7;Jv6Yl^im*c zG-G~^ZC+6WhN`Z{6i#)WMmZK&4(GN@+SQqbcEmz3D`o;*X>-_=l; zDUx#=XsoA`zu1=aB`JccY4i^ET!o*I`1l-?c6gHCt_51rbIjc1KdG#PTe`=!biA8n zS413v2fkW`$HL-1NvQBx@!Se`KyyEpa^|e|F;PJ4;@0g-a2NiE{FeCfm|c{=xy=eWJ=B@uz-YC7;Wqd?Q{z% zy_NYCzw4j7w~~HAg!|ti0A`hHhD1w6d2>aN5~8mzP&x#5F!l8OQ*r5gCG+|rIY5CT z9(M(8L#eB2S*->Ca#Zk#)ILp!(QUes9sP0lW_x?=kflhtt&@2!*F1dB}WxeG+{SViHpKbYbeXNJ&%ovg+IH9h@dXSJK6 zmx276D?(@=JcRZykwdqlCbVE9vQ-bE1^*6BK0-@X^6EQ9LTJHRrv!)4T6JrF`by*E z?K1wTH2slDG8iWh%6BauLW`(4a~lmE>V7lEHhgyA8QnZtvQhRu%XVY4fuavi8wbZqt!g(`w`5_B_3 z$ElfUQ%xi}R*?d7QD7WdGgV+|%aK_`U(9lFLHO}y3fwLHv5hs+|85+Vtg1?CG{ zVu=no-&kyHci^GE5|?s`MRaPWoh>4V1N#nZ9@2J!=tKWUk?1lw-&>&lVY3e&HajA8 zZP@IJip>Jes4ac6s_qb4g7ptZI?xilJRkgTy_Qk7%sc`xa=bemvsc}VCoqz%R@@rkIN$Z$%Nb@;j-Xw znKGhGE`w3e9GcJX!(|aAe>+^3)@CR0a9MCpY<{>b9hCE?anP0HK}DQ}51Hln!q2db zs3Y&*VgmC#<=E_2q=NfYlOC1LPD@^PKvy<<{gBN%2p)$`k+4}iCrOfHvyW))Z%Un! zj%3;FUUqEu5e=JNQPD)8(;c`+$Sm-8ayrK|5#`nIp`saZxm>f^QHaKEw6W`_NbG)Z z(XIhJY<9iJRAjea~>&2M?G1OC*v&XA(w z;j-FnX!mhhL`e!$BwQApw@1L?verCva2!QXz7V-uG+dV6s5xZR9rTer^w|U5_tjO^ zNzQ`5hYYt#Ek3JTQPbJIMH}uu<>>5Iqv`C_vf1pk<8dG~HJ=tiM2#Jkd~oJGg@2KrWx9>6OJPJ`2p35Qfh_c=+s!j?b>>`0R-IJA8IU$7dhW@YzQc zJ`1jIRBA0yD{z`%Z!uOn78;#KA_||KP5_6`PCqs7OFV|8A{_pgA~}-4TgYd@e< z=Ck}akylTxeWOZAwG^F2*}mzpy|9zBsOJ~Sn2(pvs=-+gY&xsPcfcDuyP~7Bk0^8& zoWqxSe&{Utr&CYx@L5DLNJJsD;6I(c3Zd2AnG5uHIwAdmzI4KCigY$Me3mPIrzt$7 z`7BG6F6()dQf9MR-jtp+JL?i=i#uBiB|&xz~l?CfX9Ohx~J&yK=8e0D|0 zXIHeLawSx_`Rt00&px8?S@2Ji(aUGSVOKcu$<87Q3(>F3XTe`c5$Wf{XYm_3oVT&v zk0>9NdW!rsc_Nn3^1H|XB~)~FR*u7t1Vu7h3^w0}7@iHzn^xdiKBU{xYpULimN=VZ zT)|CUVKGOX~C)ZP+G4{((5R#)yVX#DJ|7x zw^9@-l$MsjDuRd7BC5|7qI(8c?*0`P6&sM!+BZ#chtkr6p^m7lly=4d7)ra?AY3H) z5rxu%e}qRjr3IIQAEo8Fzp2ksT5vYSsx(qsaJDR{G`(C%Q+_7H&_RpV=Y$6Co&`tn z&k#eJ1aFP9*xd|52S)lYIbg7>6yFy=qcTN0{BqOWp$Y9i;{y0rBN2WpiSLu!Ogq$^ zW(bIW=rAP_5?Zh!bO|ju>z@2R>Dfm#2DqZN(v>WsUCA;$A67Rn9w;wbQ87hez9K~D zgwZ;9>4M{$h_XuA=~Et0%wJjTu@;_Q6_htaY_7>%O2=P%f=n~mm(!f4&Un~)&?(4-vX`dpq-(W>lP1=+9SM)kfX~FLG7tekJ zL`e%H3Zrk+kHq&9t1KB+_Z zNruw41Rd93YCj{PW}TlM$?@5fgaH7ZyGkyNNWj^p*x6Ym-?Jo8bQTyBY^u7$ery&| zzOBt2lbr>-72hXBF^CMAaxI&sK;?0|3OLi`a1gtK>=e;4}d|Y<3!nC~Ov79~f^o3yx9oyX;m+gy>H~<`l7K z4Ve-=;toAso2S6dW)X!xP$YC#CCcW4qO-uC&gmXHiza6Mcj&Cjo81acXH|BSaQ0DW zXIFG|_7R27f@_BY9irBNa|S8(8ak`%>c*fitnQLgJoYNCFVi2JMO2?}FVT130hw&I z=~?jCth64TMU;;@@Z6{hxHcb9AL;Caht7@&Z5%qgq9RDZS~Y6^WL3{CGjjhxXGddj zGn1ZO(b3rzZJ=BU6&@QNb;lF*W`ixoVA>O4hhga~ILr#4K6DmQzAb?$bQa8E*YWY8 zv*7H%JP&@p;G5;JRV_2L3gH7YA)_otNf*Wlr!!Cg<&v za8%ITEMI?@hls;u!Qo7aeyI=~&B@9T*$?mK1vO3!&vmb;i7YtZI)X@Kp8=216S#~% zxmjyrGG0IIJ_Ftc%;ym>m=IYSlFtf(hsgReqtkV@P9p2;k0x5weu*qNUoim>k)`wU zCKe)z?DRe`M0W8J*+>uA`))HAtRaK1XBm#C=wzIPI?l& zQ3xGRYGDGE6JmXJ2QuG{3?anvG?7JQ-z}2`XYcJW*~QPWOpy+{dy5Xr;Mq?y8wKh1 zsz?GmsH)jic3Pt9G?hh^xAr6tQdw}mnFda7*3L1<4jwA|h}QU~)LH0AmdfsBM`a(; z+Nc3Lhw8qvfx7SdMTBK0a(56*4{a2&(? zl<^(SWhqk8wd* zmu|>d2mHd{TpE6o#HXG2t?1ax1C-S9)^!bQ* zE`9q+MD1wLE5fb&vfN)HUt#ib*-%6gKY)?Jl82yua?E~wa&L%oDma&XnB5S=$4+Mo z=MskgQ-L`1y@5;?+kT&cm6^-fYP4B_tD1*xNk1co=x9{ax{PBneKI1psjv{04j7SU zR6Au+ySfwFNZUV^LIb&%ZA|@0GXC?ESZcVCh~*+We$wIuZYMz3&Bc&>1{MqQ(2zJrNE*8(Me zu1zBQ9Zb)3uVN(;aRs9E#fa>SvWjn6H>EG!jL1#DNJMz<4`xPrF22hooHdorGSa`2 z{pz;CT)O5owJ*rmPq-kBM;nuc@_NmRpq(@{j~JtCjW)Ya?KC=J-)j&itGHy{HsygH^lNUk?i}E z2xoxD`Ag*MB2I&{PnW-Ll+NUet_I3?(oUR>j*s~gtk(irlw&gFTE93`tHynW`Fs!2 zs3QE8FpF`(POWnIl$h80atRY~C$`=#jss#`)kv+FN3p`6pC>vo=}9t1+cAJKPe`(c z9!Y?kdBb&frZ8qSW;kZ%p&mP2i_eFz$cY?!;Os=t;yYnP2A`Vm8RI4NUN*&wWaWT< zlY3B6-d~H=RZR%P>LqUBRiH`b{brcksZs-onH-A)d z%x8x|1?EiO5KNDTZ5oP~5T9SZ7j;OI`MVMG| zV4rwo?nN4fC?N~{E4|Snjo!!t?i2M8X@>S`;vzWfOnPhM=Hh2qrbtKMxdkJe=nT$N z82ky~QxQZ7@l#Rsr6@qR1-vYQSm0u_Div47Fc?+f6|i*s%l%3~KQh^a5{a&@EwIZx zX4(?g0U#+c$(EGCzYH z<=s^fe3G~oq)fX+7K!E09iSN6)Qme|K9sc_+AtmikzoQ!=q$6+Z}G-WXTjNOp$jUi!Za*ven|dg$6BYe zy@Pa?-;>@3H=X?~aVS@Uo086g^U5;yw7%k;s{G5cl*hIar6R*< zr=sH?rY(;LL6qR$gckTKi^N4}f%PsJecrMA5e=bT(UG?m9ibf&j%En$BMMUlXG0Z5 z5|N${{* zRMLYTm({ApE@}}5Wwk23vq>~`SnY~1p=Px!vO93d;2aOcbHZxDAK5`mcQmU-6q~fF zvRZJy2ntT)@OcKGg6Rz+m-X!5nT(@1Nmw({2qbv`nUD0vc6f#~7^-cYIEqLn}QwY(ilw27fczJG2%} z%_92@+2Zr$E7D3)@=!pPsc9`Z3meC3tp|1iVWXnMY7yld z!}LN}EjS+m2g_=yr^^{Ht3~7zEd@eqX>2WgG^x!lC4R=yb|!}kdy3t1T5vv6th<)e zE`G*jigW;;TTFoNhdd#CsxeW%Yl*6a(M~(S!)R$~&I(eSbW>nYpj=98&x9w?zs+e^ zq-QHq`-o=pxuT=BD_W-Kc=6lF*?h&kIz74P+4Z{-f4pkMPhjDJI*U{;AXb&L?*~sBFuJn9)rVdAKc9LvqWaQ zl4iExuf8)vMZ;{}0PSK1c$h7s$`7MnGFxzJ(Ztqz=kU!_SVY+#GCJ+1@i^I@#kqUk zmft+jo#)P#$86lJ9%|fXwfHP=MQxmO3+y=)(tgNe-cyaCwNuS;5YrMcv#3mbXlq_n z(8-vn1!rL&42KZ<;R#*L@Y+W-ymm#$;8t|Jc0@Rv;kAz_bP=4FUWZPCbEG&{Gl^P6 z*%N^%q}1`%rHM_{?)Vqh&=4i>b0z*5BlZrCQs6#AilU}Ay`G)ux=C5>gNN0Q$k7O^ zUBS~Q_~%Z7Poj299jkpr!)jNgvm-=-Q$Kuh61CvwqeE(Ga@t4>#1 zLTV|J!)=DK&O3?^sr4Pj^iA_#aNf}!QVaem?Grbt;Cwp# z$P+wLJH0R(P7!g7cX&kT^54NR8YboNXc1vsNzvP4U*V5X>H!3UY_&c|l_zccdo)A72L6lT2 zU7m_A3Fx+fhuG4*eEU$=q_YBN2H2@uV3t8qz~QwkvMY<%KBD2ZD>`1gqUCu$t!{t3 z_7R2Gg1`92Ao`n(ts|He&v8yf+15poWNg9NJWcpa#ugmCY1|fH7CuGB1I#VPNjy&( zKQa~RSjkhXqKAjst}EIW{|jb2=a#fh=KvTO#pKhawj6Phqff>yaH2(CTfvjebeKae zlEj9Wx&fpNi$pS=|^3b z*@CnC{$aL=Dpiao$ZV--j*6j3a<*1Hx%5+6&+jmPj#hiRM_g@dy$66uVjjcrh!ErH z*bdk|nJQH_AuK-gTTxr+++w&bxb_R2kxxa&4@^bzB=Hl|7M*63TSUK;Fks{)w{%Bd z!lH=e*51(^fkSQ|(U98}9g$nnk=qgBa)#VKqOe9VN8HdY%__k^+(L-q4Dm#ix7dc7 zg7a~0vE+7D;K(ha?B#rl{LFlZA|`G5-H#l7dJ0OI_1~!o9yZCHrnhqa7Q1xZod6D~I8tleNJYdvhy-YMd9N zi{YyENuE-B6fo5q5mz9JosY=wAZTz^?N%sb6u_=O~G z!G7v~>Fr;>nY;W$(sq>P;kPR~e!HUMw~uHd>xz!wKBDkj@K-lw;HblI!QolD_U5;U ziYlPC@LX->S7@Weg$yh>TWBAC%YkuuFSkV=AeTcGhu?zP;L20EMe|!kf3nQWgH76c zgj~m%RBR5Jq+%1LIP5LwP);D@fHXfRy!~WQ)(0uc-O0 z$FiZelCkVX;3+EW>DSuTO{vFB zM|9M7FI=MMSk�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

hqL5kl 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 x|LNmoMh?Qnu+`>g>H=7`^V| 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

6_pjN0B z0Eg@7;7ustAkXIW*EY3|fhnZk)w}?J2(FAg8lRJV_7{LAfp9|<#sZTDBEqX>9<#k%? zG&Fy7`8<$Yv36J*Dl-@9bq)qv?7r20mCyBUVSC95i+rDI`JZYiZriQsBL1{=oJceB zoRv;acT(y94SW-37s{9U$RWW4bO<92r?ju^k3bC^0I6X2hd{coKKI??yib`4@^D!~ zsz2ZRk5!P8!L_;r>IT}R@kjwR(8eb0{qs{Z*pT?O7oj2L4Lh;03DyG|1I6z_$k6o8OhO8xANux}QZdc{t=fBN0f4~b8;=EssAn^*LG z?O(vVY3nT@JOnDt$4cYP6sPuR3L$@x)5I(Hbyn}TujeV?+4pRbCL3p)Q5&89{jX`{ zArYbcljrz@p#o`T47iWI^JPm7at;wEb^yTZ8Gik{B*ef3#4<$q86!{+&I7c6PR>9v zNI%-%My{g+ZOVGB* z_M5Y|m7eDwuIqmhhZqcfQ|8NxW(g?AYoR>3&gpwnO=ZK>u){L#W{0pgY{q4{Uy|Uf z1vT!tKhoTweoe??qugir#Y6YD%e!^t#?;QY$48kS0*A*Q(cf^!V<{Kpe&N!kI@609 zugAw#+`_m#Z1xJl{6RExr|ZlYP@LnM#d8S#3uin}V#hu->-CBhAdSbsb!zuNeOj7^ zo$KV>p+-zj9GnVRbg$E=BH{4!G;cS><3f&t?pGkK{I@4>doR49700_VHTM=&ZaNTM zUd{XDrD?-w=}1WD$aoVZyFariGBLhQ=L{svV2-*M#bC_5c9mu5F0^-NO>gjxdI1~D z?nEAXJ7t}{XFu615z;URIgpig`S~6OfOE2HP!GOW zXP{8rfqCW3EdASQY`zPJJ|2zan772VQq!3eWc5MDg5t0C?IE`TU0XQqR{EtFe0*tA zIl)H$C+O4^+(3!8-rvv1q_vFU!_WszRkt@F&cD^h@kRVF$<#`4y z`(+t7=J^`$G}$kQuHXKSJH9bv{}F-d_$%h%vrIyvTo{Z7mOT9ee#Q!;!bj^5X2dMN z?1u+aX9ieDDGKbBpn3y_r#;_~4t2xtj!5&qc1A>rIK@ax6-5H!dO+82&PF$9=V;y! z0!pjbTnbemwg|7ifOf=7F=wiqJVmwECm0dZM;JyoCqyY<(7mZBqV~jt)5KPR=xcakIL5xF&%nH^=dAa14T{|CZ`_xwIxA^8ETd z5L*WbWxgAXUQz@$l*1qW2eXSY7vBn*5VzOPz{BHnipC=aRWDh}-N%spGuG58q`3{{ zX2bX_jH&z{%H9aMZjwAYnWfVS(f2KlF0WLt2WlsEw66c1{nKWW`;52OT5ZVme$ZJ= zk4<-|vS?r_<>~HusCX5~`?>ES@Rd8u^Vn)sK7YN2c_y>0GAAjkx&_Bg**ur={BW}` zJ=lQk8Y^bh>7PHI-RV4qYlxRc>;boZT55kwaPk9n?oh5Ey?6}N>k>#78DoRv`m%P= zvFmQj))saItkK`SRgI5FUHlkhz0|)23qVD#;ISRzO8?G9T2QDp2UtoG!|IPh&;5F7 z^c!J)V#Cg0((CUg)K(mBvm+!^KUBWU{dv4QFe0fY81Q&%oI3mVw!d}(+b^tmTUnxY4<`GVG84TtTw>VW;^kRbT#K^~C#Liu-B*1=NB6nLR9e5Z%5 z=>&iFB}B6d6fbwh`!H3dnx4lk?R2D;qdl=7SpJRu9&h7|NN491BLsg znak&8v&}aRO)nn-78j{B2MWcymGy^3&ATRJYi@wzIJ!r%psZPAGQyj{LlT zoAcmz^}kbVL>J1P^pv0u;Y4oVeaD3zbMhC^@7JqQzu?E^i{Pf4HM#V|1DfmZ_^wOh zl20SHNLu@w(%=0Up|#qwxf{^5W{;*hKwF#EWE23c7v6;7^skT_U4Nzg;l-Ed?%w1x zy@u$I?0`+C7WTz5r&m&=L{+!}=qj2SNKbuhf%c*>=_nXZQ=KYpj3w{$lt2 zpRZyYiJC2*_CTodMPnd-+@n-f%#y3D&80$m&3-* z1Z!4(=FOO8bGfekGH=Dtt5fJ+`%2?kQ_lN)Bva4z(QnNdfSY&8xL7Ti4_z3Ich}?e z>VEW&U9Ar8L$FM~_P@2%{FA!Yb2}99Jz?qA~Zt7!0=lTD6quv`~g&* z*iu>)cf|tF^ME@WJsgl09l-dtxm^~R>lr*+u{sywYkekP6~4LwZ;hI2E8TYM@{N{G zH{o4Z7w;+84Gnh*WBJ;oY(NtC6xMjn)|5Zt9H=_e{CDIm$JPZn!G|JK{Tzg^Lp^-A zKIujKW;9kmdvYUs4n&|k(wQ|Hd!+XM63bTg(Jsv$Na!&)f%%*0_b)amuRj8@3my#~ zLTG;Z2;03NECVthTd&%_cQdQN>d3Tb<4EysJWtiI+WfZ-U+2~72W;aqcaAJ|C8Exs zgF+$~zSy%R4?Nu0EOgv0ejiNn?pW=fYm2cg3~AB|$?{{4{o$0}gejZyaE{oZx~$y*+xlH+!|kp>f?a1dH5Gq|WrFe?BJ6!nQ}4&yRc8=*6crf0E<& z18<+x(ecV-(`o;Ge%IzsZmqq_kTO$2lucWmCyO>OSH{Qi+nJ_DwGiwathUj*4r%>7!00MffqNB-d+G3}B`6orC zJ0-f`=E#}8Qf39?0LM~xh{Q~;_3WJY*kaN;ro%U!{2ThWsNk5>%ZDz%N9Fg-2E>Qz zkAVLxkDkZ&3K2A|eTpF1uK%Gd`BI;qBt2ZQ!XPc6-%p`%%o+1V{e$FSd$j1x=gUs3 zJN|>da$Enq4+#Y-rBxTb`Zepg59qoItBUk!xGXyz`i!>vcDGwAEpGPWc*oP*yRB!; z2M}WTc<4|B{$}=1eqN%T^PpJ>ulkZ+%{wA%B0m9uL>c4sEmpgdB@a%1DX3D7)jQk= z`<=1+WTIW>r3k$j@8`Y+ma6+FfAgwsSAYGnm?s`gfpBwl-Z|&~N-xrS%&miTZf*43 zp6icGZ1%Vc@S91_1d!=3v(sTWCSYfAjduENF+BdlGk<+4gQKu({Pw-YZbuHz%on^m z^;dx8YvJEzKOF3Jmg|9L;soh{5n25@eXlI~?3Wq%It9PAQb2l$~*|rfr9H37`ENHH_9O?41UeVS@2i^8xCPbh6 zZ_Uxd+w`!fDS49?`WGOL_YvQNJM)>hZv}Z;m93<3ybjm+P_jJomRrgPX}?vpsK7l~FD8BO`Z)Aq_FL zDT83Jb^dJ7dmHcJ8^9bi5AKZxo)R z4kemMMS?A%RQHnQCMjmppcwmse6j}+<=Qq@oII#rC+n0g02gOB>yU~JoMr&XM;TOo z{=>y9t-;iXyj2sd#Ux%biN~;a4f(dC%@*oo0&B9`_Fdq`z$k5w&y9-@?WXYAW98)i zfVDGE_4(Ezofp(yYjqI3;yaiDu1E>U=0{$NW2j;7Z(qh1_+7@=yxxLsl>bxORw%^$ zq#Iw3weQ>&mD3F8`A~SJj_RcH<}5psKF?RuOZ6%Nsgax1Q$u*qzWu!9KJWorH_0LW z?pn>!skXVpIo43%`|2H7BwO}F>-Dr|kiwa15f*e{s!$d>RBv)e_L_))=h-8i{# ze>w7|m)!;CDc#Q6>2bw!v4^Z(WGV%%T4#A2|H^7sCmCqNi%k-yqx0`$s@%$b3Q(-V*p!YfA?>vWs*F7t)E za#u(G;P=_=K!Wq{fDM=)J-N3HUKaQ%Y)SH9vud&P&>|-ab2b*eU_!R2XIcfMuZQrB zMV0p|w`cuc%^#c|B-;b(XEg*_1H$btSQtp(%Q~mcL2y;z)XlUVm+K+FJqf{EDF0m^m4ftvrF-RQBM@i= zW98I3{q^hEuCvv%A0Tji3=OZFibBa{-HL`Nd5mZ-wFb+6}jH zrRQjcDf4j{1muPIGr}gQkVhWwiQhA%xXdONWCl%elit%mvi-6F9P*-vr8+2pM2Rmd zZI&Ju*Ue&UT*0ZG&45rBuY$*_HdEIFdjjtDQ?S_8zazvSB<>wQGQY7LL0(E$lRrU* zbYRMUF)!=zm?5Wve2kaoB?ye~>krEtc)3W;sXu<~V)kdHw%o((x!wQ%tYh+2;HLzC zm!N+a_Vd2pJTI!1htWc*a9eHPpX`|R^2&QV43@)&RdTWWMOZJ{iPeT9X*XG5z07j4 z=8tM7TDN2X^RzU1-qTF(KuFtLId97H&>StQpzgqvW7x>6dF!~@4r@PlB2T6Jw{ueC z*OZXu_I@svYS=Inksd>LA1!`IixYI|q5S1h=m^+-r7wxCM?H? zL}Jozalx+qf4OgoFjVi%bQZIaabV#q;j2BBPRkQ=nR<$|O>XU!>pLq;3#d>tIzM6_k29V;iJLEY@gq6(ddwT-s7%N@I%kynuG&}P)kvK`ef59&&Gh?!Pw zau1`a*3Mg*qME~TQkgGTZHK#lPxbs_v7)Q=JRE<)?plp%z4LL4KE_qRMcZaSe1I$M z=mCzl(~qRyW%xXE&Bw7zuSI3EG&|p+iA;}{rz?_1j{iE!UsYUM)GS9FQs(AzjoU#R z=xw*;G$8G1FB?Eg_o_4GFKn@(oTKxI{nr`&yT(^`M@5R_;!Jct(s|fM1)jI3j;}sL>ZZzHvTdF5OagX?-|6Ea$0}zqK@b zj@)oyeuq#IrpIgCZLg{DH`Jf`CS*CFWbk(lAYggzeukm7= zr0>esy;zsLNa;OW4D;zG=epykiE%DgzDDC#k>a#imNRGG^com1Os18G)slAF6a2{X zWZ5&y1QDJ#BXR6GkJ<}!i}trW%B+JUa>41l#0pKG9L@(R=6~QW_fQDN05ElKx7yWC zb-DR@?6_-A%W%@$1C&VXW_kXO%FB-VN;Z`%OnP{2JV1Jwf zPPd9R2E04?ES{8C5U_zMni+{@Eq=P$&F-E%EbP9U@;j^JN49AzS1MN-a&w1uT$E|# z=T}d?6uZyCDH^TAb8NS6zx-O1cIjC)j~5%>h`+5QC)eevK#K6b$O5K=*>O*uC>B|0 zV6ihQmvt`-w+(mWE68O$j>KK4ZVKJvU<4j1UI5LL_JrJj5|ghu#}&KqdMcf;jV$!&`wm(QQ6qQrePJ(E zC)C4;3vG2=5Yo71sS6nYjMcIy&_NR38Eaob4V~!aQTV>(&|zvF3faJYzGe^$4>$6c zOT^da7kSOXo$j*wg9YA?K3QtTXVj^CT_#v4`!8k>l+`8MY|HxX&hMV+GmNWGY-=<2 zrWS6ofwlM{e}9)dyQ}KhaYdzh?@o3<`hos~>1dE`$NKD>UtL0k4yK(jMzFKnjg)r(D>_ z`S6$zey#Qsqs%)j&9B-PC8xLQXxP8*?)RQmB5Jo)w_36LpH^Oi8Eh6Af7_kFmpjNt zcZ|`{;ZD0^XZYuhl-otJTdEa~qg#*Ui{uA`3qGg5TL!Jv5d7(N+QVLul~lsbJ{5wk zt*O5eGD_mR{gBCgV-E~c|25u&LKXT~Q>y=-jT}v_M|r+?Sg_y4Q84M;fAR#L zYS%CUNt27GpMGZ#nd3F;e(61G(H_;vc)4>v#6le2rgqIF4ig$Omp{YofUVHQalD1+ zLJw!(fsO)y>D=&+uM0%p2y4=KE0cWpe!Z0A`9o-Zn6P4Ey_fLa8={n9{##=kV^W8sFPE*t(M5a6pUFIqOrN zXA2M}IvU>N`4sm1RqclFYdK4#4=s1knV-Y!vN$T0dh{gn6ut6^Lc7it!A>&;UkZNh zgcB)f* z-L~`2uC-j;%Z1$gd#gZ&d;1tjSUisI`>l(jrU2^aU>iv890GSq9?d5D(kghB3sG9V zE`!bSv$^?~;TLwi6re!aaFvc*lLp)``SgPR7R%vpl>cnHbus_d!}<1_e@~M9B@%zf zOi0_3lpG-3Yw=H`WETQ}#R`jAi9$Hw1ESo^ke)A-4tnwxO+eAH3G{HQ}x{cBTr zf2!{pH9R~91z5j3WZmho_kQ=)%A2sdJ>HO8t%Da&01XGp1)V2%g~wV2=OgwJ`1X9i zn24~5`X!BC`GfG)c{hZF&8*2J+^t8!KTsdUx7qHaaZu)k z8qG@WLh-O1(%q;tIiRZztSs}}F0(hWqhT?B!ExRH9nw{0Q=5#VL<6KvSd?El0TDbq z8t(m~nhriuKvv10LRCSyo{q5pUiTBj64ZZL%0p0jL|0TvsJjty>aqxo_%~R)F zW>@&h{L)|1`y@T=Qq*P}zk9JqGccG|YlW=T>>nii&^!Hl(5IFNwJn;aD!;uRVd3Ta z>&)5{rKAsL_lI?d=MpdUP6#A-qGsd_z42bu+Lei_nu>g^9g?i@Ee+&iUb!Vl`;7ZT zAt!|4X@qG{K+?_B-uk5_W!U~#PXjEREh=QBM_pi-BWPuJ&3Tt3ox*tqoi>u>Gfl&aq5NF3%cxjK}*MObF<>{>6z;F8#ukLNr+Es?a@f{-M{ zD(A2HY5O$(yR~`Rp-OMq-lwxt_C&f!Zab><)|QkHy~mq#c`VK?-*mj?nb-W%57}!S z@4$0045o8x7pgsbEvWU@>ANS^o9($u=HEWWy_2)3V~^79m)j95bEkU8f$?O%swXvG z<20YXACiSE4ty^E(r0Co8Bttmkk8*PO&-ytCtI?J2IycF4FAp^G+qE;MJD{!0$A1A zF#WHN%<@py(3cN5%1a#bys`=No_?M5Bq`Rl1 zEMI^y_Kp7~+ttPc_(L%THjn04gS4E_JfoK;b#&*Y+Nu&3ySL}A{l)?B23^u0>+GqP zF7;>DvK=_o0?FjeowSqojmIA?%el`lyYXaK0?z<-H^)UfPL@4u-nuwL^)pNxFS+C* zDbn(n+#}<^IK=@a0pu#*NAWB&YfQX3!so%m4X*W*d?Iv@J))lFzeYBiMfeD*V-6-pGPD}z%@ z-=AP^c>uZaCjjNA9kP&xjTA;4;Z#<`XK}r5g$u-_t=jh+;LjCVI+(rzfgGK~qhJ2^ z6&q%pgT<%d+kW!5hp=f~>i&}W-1k3~W?^d&6Vg?sB!+7ITcuxU7R8086ex>F^){_5 zEl`ol8|I~OA8xH;XtuKKv@RMW_4KFWhS)AOL%*gxhKd`nc7I_;8@oRb0T9! zH|`nv!t9c71;6Ai-bB31td)+O<2Q4dT>uGVzE1mPwfQ7*T`_t_-tlhxK(&d$0qP z=MwYG+vcBSB!f}qyi{h^$T#?TvNlir1b}bNJ{%|F!yj$0LxVr8uR>{c*69bx?3T?S z%HM0tmz5IneP28-;j;|-8(?{5&EXDPPy5eWo&5b2ZN6&~Rk}X=n3=zPmbZ{jKU65X zsPPN6h{TJ{NIR77`t8AJbBJ_zJw+O?#n~dQX0N0%rK}|uzDIxY`x==?_$*=9chxsI ziw0z0$ou^Q0L77r1`|{HTcQU8yZ5a&3MG5XhH-5qp)5(r)uo;PjqTPr*9gunviK^o zxOqwrG!Tcp-piW1`%Qj`1BjP@Vu%d&Sjro!;vSYZd|P?+9`sE^HdO87CvW0Uk1Acj z{nrT=Yw{p+-ssjBT>eIeT(v&IWFQBN+$VX9(>^|%x!qZH0lVE{Av!L}91wXI*QC2d zV3QcDmWWSX^(CF+H#tx}&`7ruc`6Q&Puo4Z1*1Q~D`51B?nf#ygULP|3f$_NpH2It zrIR*eKZ1NB^!=6_pmf~&Z6z1y>)0n8-e!YqLlAw?jnB&HmTEY_&v$$@@>ZF@& zM4O^lZ+aC_6tV~w^ka!i1*EKw@g64KMFMNH0By+BMyQCT5yNN{$2 zNX!nj@^r&*pVtRs3mu%G^m08fz`YM$xz@Y0)kT9if>hz$rwi2^(S14hzj%AUMBV$o zG`IAgbVX7RvArVe9QP~A-%jGxJC(5Irf})y9PRu-4pqFVd^%L_e!cvtinGxk??pm! z@Lbw&M$Ih1a@_m9d3N<6jl}8&Q@&{Iv|7iS{zO@2q|{I@pb9a#5U=l0}j9j+k8 zn6U*QxLBpRcR=6IQBAIG;F=DhU~?v1#}9U^cEjC);x1o}#+%x8vYqbgxc{2w?cK5Z z@fx&yt5tuel{>5nk4xv_@0M7+Dha)s0UL^T*Ek{vF`J-8_f2j2f#f#IC2sR&&4UM9Qy= z<_8lpA1jwIFFTnTY>%k3a|Ta30+b)viif>yFrUBp|ZDAWGEswcOL62a%%U8=V(5En^#sIQd^A>r#pg|yG7DE(PYWo4-u@BI`1LS zCHQq2s*4+?FF8*o8YBZUWRFg~+jsgvF`nB`tC*Ej52$dpSa~OMs}r~QNA$%_7Nkg z1=#UnRkM)Z{7&VH%B8@?ThVX5pABG!oi`WyIW1071mPNU=Oe8k(0 zPN!UMqiDfVkJ+z%UFd&>e3PE!zVnv&gg?Rf_cb;k!i780 zUR_QHuc}$I+e6;IL>g>)Fh7uPp<5qS#bNRV83guXhn={qgRKU%`OB-Z z+oz@3Lw)JYBCq|12OPgb)?SERrGWq$0sj>dtd^Tt9bx6jWAg8*75bts*8^DxZg*9w zJdSLAc$-JtNv7K6@#-pYl zb^!BDe!}0bvMO4|tV%DDPg#QhY6I{31^TF+24{cG?+kBH!D0|b{B?gzy)6I4+sS~u zaNGY=IgXxMZ!_J?gf|(=U3K7fr)yM1+D40}>X6F0J``_N%<4AJ@sf$(UFQ&h^{~=b z-i3BL+QfYE6)&MO=M1=!(dA}J&J%%~I+tfr>K!wJG(IP=<4n5)10pQlkR9J+oBY!` zrG757t@_1arQ@ub<~6L^@G66`-{GXnaQhUtpEn?t>r%L5J309=hb8Eli{VUm9v91Q zTczUhee%#Ebm-Yl+M&neC~NtjS^v2yMpdDlKSV39RdHqyyfuCfUhO`sybtyE7#BcW zBUgr(w$$V+*H9y#v%f?kCaF9ds~Wxw2@KwSdHpv|lEq%%R?Dh2Le}PC{ZHB^l8Vi11z+k~8-Y-Idkc*A~kweN@-@VEN+B z(Wj}9=66Hrr?J7dSuq1|!g(EZq`jSB+D2n^>r!(Z^6v9p_o>)c^V zzOmxD1)wgaHb8UR6RGGqpsns$8{ohyfAhj~Umenue&)ioM{>M3`Z-R&ETrcaa#6T2 zd8e`LK>GOm-G^C%99Va@h;u3-MA^d%dXBZHn<#lkLT@K6HwcM!j<=mTcnKvUn zU%B1(csq_xj2=u+nE>|-B!_!=E?u6n)phldyr9Q4k^o8du~W+3{f@R#Kku1*c!&L( z8~}@|7OemhJs3{=ZpkPgwr$I)wx#ND$KL+#w*>w;Tsc)7o<{@ov~<{W1n1Z=P*Tva z{KETaB_5x)r=VZO z^Px#-X{z&kX%z+mdiY${d^`GOTgZE8zO3-+wmO_uBkQXlRVc+BKRpbS&9c|%RUV{P ziiS`p7ld3$^x17^^_CDyzJj}Euv!72`&KA7fWBC$0x10tq?2jiDWJz|X{+^K(iqr( z^W|}mQVc{&+(Lm>Pxt6B-!8K)uZ3^VEkkhQw2PBFM1v{ZmwHVL#fZ)t@$j%}HkZvh zg033f!nqsp9vdn(kvq-kntEUC!ttD)(dn&ITd!n|TYv7`IGA>?x1C5Bq87f!)B0y~ zM;^>y!!9&(y@t9;%)bzxOCIzfyR27XMhelNg~|O&PR3jmCuEhQB9QnLYWN;oY%M zhdoT`a=NRHXh&s$^*hQp7lCp24R_K~5qUNDWBGSdK48y=by(|bWZP$z*sA(Ae%iNA zC5o9Q^D@@r6*e(i3aXnCePLVVrFN~KBJEM@;)zkCeHFX$ampwNOqZ-u^=daGlM!6hsD>%=MW{=u2*Mp?^kuj(yq%v zsg(5PgA0$9Nv69@0UiVMw~7cLQP#?NMgpD9rjiY(#BH#1OB1-xjYiKEW4tW;YwQS# zLhp&8?PnbvU2$dUcmI`!Po}h<*8gP+k6AMM-OT#;lkb4Ra2eKb6VUEh8l;{~CY8kU z$M<^N7C+DPdv@^lxu0VtfC^|I7C(o%Oq8~dLe+0^r>NYw-Vj4?eybJ&u#@EvUyQs~ z@eEs0Z#9Isbg}OoT3;t&yh{MFbcJRO-7R+0y+^juoY(oC{s;nw8wsNAT2Fm|J=RT%W=~#KZ#ty9UTp8Srpj1is+wHIN z!;)LJvlTKv7T$GBd-xR+PM``m+T6ivQdi?u!}81TPf(tThxTm(1lobS2Q>R4_}I|+|Txt?J){|-$#-$T`18)$bf7q=Q+*olXly4V~`Bz08t@q%Mo z^;{S+N5Ltj@)f$YJ*kh3&)Qd?Ald7WU#y-^BH+40hO4M3K>^~>ZSO!5^41AFW@^fs(Fb z7LwdC0$)-zqfpE&FZu__)(c#DZ0|~!**CYPtEGPte!$htXNm2&`^0#S0W($>u0FdK zI9YS5QLk0k+4iKzE{aH)< zJ%m44xLE~+%(q@A7i_^EP*bJ5^ZVQ@cvz< zA$L*c5}n9Q*d8Lv9*sIMQG7I$lKnoRKo$)$$l&`9%=EAgVyyhEE5E}*k~b)Z>aEVg?aZ2hms&p8?POj~`0l!Bp}HhrZ4@dcLjD<- z2?j;m$#nq{(hj9@VHoI^wvIULBrfD=W zLd`MFBT^x%>((w2+E>5m-yeB+)y-pmqLyC66(02jzl7yG z)1-JoD)q3On;rVi@nP~Up}lzDto7@ccx6tGCnph|J}eKqgQ3lZr$rmdtN-5pmn<|B z@u{Dp8?D?T?N54J-{5t4VyANHxd5Z+w(Pw7*lJ%P^?vb7%GFzO9jN~Iz+`miUMahm z=7|8igob?~hU_HW611Hst~uql%lO`Ww}Xiy^ekeJ{PeeY@G}>c(aslFbm>OScj##} zP%}W^S703xDp~7ihcnEvIeA~OpW=}ul;#FPFD_?2jq<|^ln`-lKw0Ir&?k(==wg-%8E*M<_v91bIa3RloW*KE(*;ma4biG~>Luh41z42|8-- z!%Th60hwXBsy?fb-Lrc% zoO_usE8AYW?w$B?pH-6#kYM-2$vZm>`DUbvPhqYD2%=~CmUYT!^z9zWzZC8loi?iX zBQf{U^88u6w=;CR*n>u8p%3D7EH9BmBDVl^UAtz|wv^0E)eZ=E9%AqBE@Y(d^apR@ zIP}A2zDNF$^^ujDew?n&9+vH|mK1Hy7jUFvKrEssKxq=oXIdfEfhfSz^j3k|;Ipu^cQS)&mtR{Uzp$Uh7G1< z!s4n-mQPpeV6Xmb1oWydU|9Pw)BQ)!hLXLU1*14mgAje{O`O$oM8*(1Juc|Eb5-p> zkUEdFhi(Zy|3<{!Br6=yVs@(qGai(Cx#7LCJ;q_s>9F?a<*h%l067uo+{Evhql(GA zWF2PXTW1Z{U~}H&m%KECS;6%DcdDnGP5znao;i`=foBab=~68&eHokfn=KE*kO;=dgxSvYyfc9pW*9M-FaMg8w*cXb6JJ_6C;)Yc6)5{oNr>thRVkmg*i3X|S=yL#0D zo05B9&dU4c0@r+}v^S)M-^2D1L%88gdfIYza9S%3@%O03r-OCueu-jt{a)jzYr8tq zyJTCg1&!Odaj0(c+wHhh4EO)jc4kYeszKVmg1!jBSri!*P(cMz5C;lSzzGpi6i}S* zzjOU3|50~GbVQ%*b+A{|s?w4#zs!7}2keSt*jyxFQ-$hn$I4n`0;;PIx&sCWT6c=} z6x56TCC&9CU2`5%W?Z~Rw^M`iQJ!#AbNi;^`w((dkM{YusR~(dwqL=f#GM=ZJ>gwz z)9|T&uLggAhZ75VdsaZ37lveJXbh=LT zYQDm=p%(PL!-;S5!E|{8z)HW}J9pFtx6d|7QfJ@Y=<}!an=G-b@A}KHb}>!;Ei3%}<)p1Uh3=@dY|JOUx>m+gZPv4$*Ec_2f2!@qMIsLmwq(7Q z=NaA=T2~Ico`bfXk0c6gAwMU`8pB_6lpHsZ3Le0!#NzW5E1$v};!Lbi+lFB}Y7V}; z3!M9^FsgHEpLkv#kXK%@Vgfb{u-v(|7L|elvGNzvFoZ$iDC5XKM`IVgCcGH))#`4! zyMM&b^^7W!*<-YAdxTLjVVfFkv}rbKjk{I1S}UF5nLMlml(5&9ZTdm?s$&RM26^5) z&QI&_+-7;E>8-r10=VSvP5dBKtQMgGp%qW33B;bAb-lF+A6wv}Z61f`h~blIm4{~j z4da-1BW}I@)o}oOea=UG;5B_>`S7zJ8JJOb;_mpaQxV<1UY?tKGaP@wlra9BOt7ny zmDRGazitle>1MHLck7r7@u4Cbi^E*7gk3qe)Or-%ck9rWXiAvSbZ9~HF~|p{W3j&e z4V7b_d^yi=b8E(hY_r&XagL1+qwi*QnJyaqY8U9(=@}Rsap8!k<1?;oPGpR`ibYV9 z#w9tF8ZfL{s&kD6B<}ceyi}BznE#i6SZcz?XGblly)q|$zLfzN+!uQ4B)`dE?Eh}T zun9HeT~~?x6CUZQ*gtD}xj(wau@hTne7TS>EL65NE&Hs@cB?$RK8j^K)$p&$pHFU93VxsM z7I@AoyFXm&62TP^xD6U|mW)dVDWt#S79llMPaKMA3%Lm|eq9)zV$ zWZu&d5>dm8tlF@hK9rA*-8f}u=gS?L;stDrXYV8j+J_Ps*X}o*RpSs8Hea#$DACf=Mh4Ohuj$zwY60KS}V*uR{ zMq_M2a@SLD zwv4i<;t(=bX_|Vvm@mUjF5SZv2x^#@QJB5;GFh1adE>tw7hc+X;P83lvFYKET%%tr zCDYacIMD4!`0Cza9t7@cLaFoVs)D;M0pH-2am)pJ#-k6>84zX&zHsN!b)NpEt z=B7E4H*QY491{r4R=j{#gt=nG_f*-LBw^LW4lLh-NZRfi&H#t`zCX`TG43rqV~GBmzBnVJ`ZlqxzVVW-t5UL z&0oCRWR$n8e_$D}*2yT_FLWEw_ZcxYsq=l_^^9wO=U4dx1TWTYZ;s`ZZ(fD%+I+n z3|hl)D@uQw8YhigwjO7Dy{8w{aA5qcTj5Q zxI=yMS^lY2;3vs-gXIrV`z(H($wyuYuU)6cTpOK* zx7hm4T`blf=fA?ByiT{=0O*bzt)X_JS-GU8?BQ`#=7ackt!P@6yPCv$6%HOVrHE9% zGz<%uL+ac1prZ45nd((hq*1k#!Js?W_Jy9`3iZN-H~MW#LM=Uf9X;U_`^r2@T?VIAr8K4y>ly;Ypqp1KZ7=U9OW4s2@6}Yk)-j``(#8P2)=Gz2|1fh~>?Q z3;!uY#Q8i1^4kSwNwou5xLWsReTzRSd&5Zo-tlJnZai8roNKR7^liC(iKoKqFniQd za#Pz00*;xRW^tA4J@K*A?amKfB?{)SZQHoclVb6DCdyT1J0ysBgJhdOLCJ1>+Y&dL z(QbMtPJ|YY#?HS28r92!!77&d_wyDf4=BpHQl^UL$}LK(`X~L%rPp3-6BwA!&2xo@ zOIYx}SN-bt!RV%i?DV$E5oLnGXW3LWZ*Vp9VRCEi692F!~6GKi^!)=ZNn@SISd(y}9Am+7#izB92ozE$Q8#YVk zXO8c)%WO8#RK6+ZJkY0hOQ_Hny!lmqMRqdDQs4u9*QPr;`Ci6%vU)P`;kBYJqXKW+@w4~cMS!hVZezU#z4NyMY~;wq}Q zSsKZQj$catQhKn)rb#K!oSoL@%ERJ;ir$VLXs>+#U!Qe(-fwMb>m~I0VNA4UGHbm4 zb$c==$Pw!M8LRmgFphJ~tlqB3zd3YMscYKBF3&ToHRS73oI4GU|BEZUUpUi=FQer9 zTF`X*K8hK-!U^-k@)CLL7gMLtj`)XGxZg0i=E%kj?v)MBO()&qA#4pNkPp9)KG})r zEE7uK6MEE?{2W=DerxP-7As)xU0B<;*4rkWT~^hXc3EVxS+Cue9sYK%L1kVnsn`R^ zc_TFzcZ!bIUeX(8e9LDndEE(Cx@DR((rsPA0e_L{wXC*>GOAW zMxMHtD6ZAd^2Fhv+P(?ZH5L{QW9Q-ixG2GzA8wwOhMU_-g6rgTEH`uu6ly{1%7m z9(7Vs+!}4^ELq3R;_%o^o*U|8=Y~W;@88gYsihTykuJB7I-@h8wt<@IJec@?EqS4* zelmYC@aCcU9z4ei2S>=kW276hH|f20;02~Bnla7ug9mcSwOZXta-Lb^?7A4snBZNy za%XKn?>Dqe(2t#v_Z!Zn>2c@Pc(w^galTQnh1+_}G@}s^!9)eB3uSJ-BRrBfQBNFS z`@8&&m|U7*gboYO^Tf|N(qu1wlGb9~l1hsj^Qcbhn*6v`*YnESzn_xEU%pTpS1-kK zezmU$^1m>l`iz;yx)~t5u24z;Z4Z_S@%p|%#{9v!k@h&W$T!n}dFMlaUTq4pPs!S< z3+pHr%wyT*Xkm5i-P^soTH!Mi>Q~jJ#m1e@ic_k2SQJo6iJmj4t9e6nB&}X)Nj)mYe=TihwzW-=KX0j>7G? zvEb|%!*{-+14g}Z))2zV!#<2u2QKAkwbm`&$ zL2O`MnWWX@d56u5hj`!Ua~R1E&OIP+e&!nwdIfSVSV1mpFeqVgRvy8_oDe1cgfg=2 ze{|)8g;8WMMxAS+8%*hG(>sv$@iTOM{4SobXxpO#5CZomiB3*YMnY@~l zX|n&r=Qq~193fP3jVcvYh4xc3-*bMijvGQ^<| zv)Gj$UzoD9Cr$n9f<#_=y3a$#z3=k?BC{UR3Xm)B-xX=tc~zlbb#seTJaZp^eOOV$*$O^1Ey z-D)-6DK#OF(pZO2rNDMB4_d>!OgN#jmc9Oc)b`LVc$?2xU%k4Hs`RE1$$)LK-6?{o zwBA26YfMIJTjrr9!4U3AuctF`dm1*8OXZ z$Vwd}?BDSxOlT|SpG6c(_71at;wMtqs zEV<=lcfFCXD^T7A=mk-rrh~b|619>7^ZVsYhZx@z>p5D+~1`fCCREBOo@>4`%m^kN-0MYe>{-9h>d- zg6=$_dLD}J6KG0vljU6%Z{gVal4_gOwx#xL`6ZgYp{L)rjs1{%f(~2x&RWq(^LcT! zQN9Cch5VElu+~)jfXu10nS8jQYaqqFIqr>^nTC5PHN5_YTJ7J&Q$q~^% z`zGx+YnvxwB0)A-@A?O$1eX9#e?rtaH`b@USGbetPo+CtEYHrOUfsZMkM^zI{_>N4 z!rx^cWO^|;gEvV2JkxWw;N?J@I+Br1G)* z0&Fmb&I+H?=XLywqsb6yNzby%ds~62373x~vvZmp6fM?4lmoCyw%a(;VAU10hYezz z!uvAIO^00p_N+%`Cpyus{KOb{U;VFscz>{@A;}h!ivR|ip8#3yzT16}R#S66y$wlM zd2|n2?F#8{>b^JBVIO6=1|PvvI`zFvLo$`zianI4&{4b{ODnC^+e4min7U8358t+h z>_BXMs4A;lbH|mr#T6ZSFNjvr&)yD{Fe|H0_BX`3`OJZC<-W;&J!733)EP3$Y@XD7 zar^uZ>&L$%vVh@o1gU{P-G1p0lPnBx{0Q(@tLl+jyJ#W^-o!55#hsgD7UjkKcy;uE zu!A*R=CfM()b!k)_#T#H=+jb>5Ku9C`rHdgh=iS#VuzK*TOU>=mPQe(3wy_NYGz$$ zmrF-1zdy~w87rdq7U)kOtNExf?4;$=h{ZRzc*#|rR@_%!BVBCry_MF`mi;ggZ2610 zqcFKXCGZ86XGBkE1cTS5SI)m4=(!3tf3t}umtE<$dQ5Nbnza$BInVP(qZ}@|?65}> z$(#PIk!1D5-&g^ub(+Co|Ek|sEumzo%(p3^MFKlO%mikrgk|j3cl<&dod+`|+yMg`s*|F> z==B2)>pCoE`irU|fztk6@6Wclimva!*66SZj8P?4|M|oVlNT-2eT4Bct$=;jt31&$ zh5Dm^`ly|AF5dq60BIRDFv#qxo0h+j)R%bWbnf%4hqwKGI?BhZECz1hef_FK22JdI z@7slUyp*AfruV0l9rTo7QRLZZ5&Yx6xhy*pKBSvWwDPg>HQ^>#gICK?BH~*Z&KntEhdQ$NUT+)oY`sm73R`)?|3saa1+}F$Jo@*mR;E}bx4u+fO2X6a z(|Ot2TgcKcwnAqpQ!@=wF;r;ODvEzrtQ@uFG2~_#-a9zKOE&6c!ce@N{pn!S*5A%S zTEGL^z8CUt2MK97_g&{RDDOALGx|VxyZ(jCwU#4;pdu2)vwba83XmHa0rK4FX*IKU zX?5O{vUO@TP-R^|xAWy2A?S_4cwLvpXe{k(Cs1k9mz$k4I=vHlQ`b-U>}PdMpGfQJ zQg&FrFJtDR#Ot>Kz3wt}!ymx1?^xLchfzdXQP^ApC?)sDwEL`ds1`s?n#Aj3^EHxD z6LM$1cP5(E;L=Rdi~E-?aDQ*T!#$k)Ybxtz<5KUtE|?-@C_aCu%Z(nTuo`?dux*Nt zoHYMzn@^a?I=Ak=v@2AcoqfFQ?pD5Aw!LTFwrxszF5GeDr#2OKTNwY1l*U!as2%i) z{2cU@sEoF@svgi0 zJu5kJyW)gJ{kM7>xhm|BDdY9XsCdc5bbz;A*`H{!aAxde{T{2uS{+m@wm-sQTYrFM=J@zL zkqRqckCbJ8@9k7|lPI1>K%G2Ya_G2kj_fmdk`1R;+6xuzw`-W4V{Lge zIQ=G-e#Q601*(F5kBaI-DN+(hV-*j|Uwd&Q+|5+JRxWgZa_aC13Uy+M7YjU0& zF5qDyU)g&pY4`Omqy$^@(Ea6M^{Z~u?5+#KbD(zLCp6F71-W0$QBl@!zC3V8iPdhF zruDr4s1%vW9Kem0=gFa3{qw#%!Rab^vF457*Mli=c+{Yu>{Kt}#2*R2MUey2kFO)d zM970T+H>D4dORKh49~I!fj@A-@-tV=H>^yg@B6LRt^@2FyoMocAA%gh`-CL7X1Gu9 z`e!c=n+Jcp97^D#nZRdX=2Q2b>*Q|Vo+tvRXD)VI2Lapyt*S_dY3d8wI^Jh_pahhaMK3?Z9yTMwWIx3s0v{Y-o;>hJQNKmu(WPTns^s(h#$ zTVmpP|9uonAiyXc4v^0?bo2<4fE%`{Lp=sec5`%0@QffRtrZ6IptPym-;1eUxLduW z39?qF;jpsj?AzcP^g6q3ayg@P|C=?G9s{!&B{a(*ja3+?6zT}s+1yvx zwGU5z=SGG4U_U;s9{s^=xW8OqZu}hvIsG5Jo^sLe+)QT>JGdd@=GAU3>Bal8xlEQE zAgM04H0GG0a8Ur_TSw*)zTsz{+GMLMf7k9NjCSnCF1%t{ukJSL^lWIdLyHJHWedO0 zfA7xel$pCcR&7pxb4DVyddaEPa)-kUTOZA-t4x6qR~fxVQA=rsLX`&)XGN)uJiNF{ zrZn2y&Bi_cz0Jk2H4Qa?Ux{`>@7nw9etIE$pU(bXL8&p~uo-}nebJlmP!M!8#-#28 z0LS~NkgKT5GEud6pndil+x;WM#)X{wD2b>|aWik$XG!7SKj*$Cpm9o&8R-oMzk2f7 z{*3l^wwoPq^`*3-Z_~iMlG@U(?`*gf)YKBHfoLGoeC2`4LF@~kOy^5eLkdSO4HI8e@M9xS34QMqPCY2Tc&f}&kkt_+WH5z z=nU*OzNjxL{?*z7)jm1HP2BjM|KinDAVe}-BjUGnWVJr~6-3BZA2_2n`?S)k=U=Cf zm7uPw6t&u-F8rbm1*skI!qWU6Ww%tD__BOZ^P`0i&zr}et#(rZZ}u{LPXQ71AU{D4 z8hEWEK1oXiv6Z4KUU65M#@2wKabX|iyuz57Xu3uN(lEJ!09vVh%k`J~&;rQZ8# zP$69A&#)eCjCJIPbpgGsm`M{kWMFnDveb&tel?Ljh}AhqdqE|%In;Kt0nNNZ+}exoxFRNdeZV} z`Kq2v6ILAYH^8X4!6yY7P)qEx?)mvW|IxmY^m~9KP+yyWx7UOSFUS4FENPWlR*&Gu z%Q;6Bt6KfP!OpSYG;lX7BMIwBqo51$4O#Xp1<;_se}nI=Ahe`mvDgck-l)}*-H3@9f&{G3Am^4o6pr94zW=uM}0wQT!X7Av*>e-9rT? z%fWB<8XdI_Hp?gS@YG%9UZbjC4gV_Vu&^$3uctg{O_c7mAWTGdxNg_03odt@TC+|w zpYcIHwmNeHx|^Gb8W+LR^jyf#%C=(3!Os;cus5FO-U!E#kJ(iJP$G;EMvX4`r&pL= zP+TmJoB_)7XwXX|IZ;spxz%B_5DXf)naM2s<%_FM{bo7kWuE)slu>>uF?V@jRpmDg z8*lJLu@<~ym_*!h{B=Wb<~a->TI*7Lric64;ttTvtsBQ_HRZU|sBfXgWsWr5|vq^3w%Hlzi;d$3+ql3|N)&Gvfdk&1mLpn_UX<-|NZ4l2mKtShO z^M&d1ush9vpVxb?{-Vuvz!pc?;5~rIKXE0~3klQe=h~hS*Kg@{R0jJ_R4;5gSF2Id z9hWG5=B@o!q7TeFTxHvZvAQPPq+y^_B#E27)rr4duaLf-8s-LiAjx7chj4TB+mdw5 zf}$GFz@eE z++zd08$bU#PFjgU8L~N^EnozdmpD^)c_ER=xwq>EFwtI1`hx^MOy^so!HERmZ|;24 zx#|I(Ep{(;Pj*D@{Ybkl#6oN4gn%W%L%WXEgy}pl-+heqr|Eun4KIq$OL$yK2b24D zjTqgkASVgWOZn%h-#E{IM+f%DTF%AtE|;-p@Wg&G>%HDV_J=dKwo`m&{hRYFDR?yd zm2~phFlUXF)B1Urgm)_)YdE3tv2=sV(puC;A5{e$Bf^uXzd-aEir7aJ?_D)@^vELd5ukFqENLiwk-k zatLV9PlLu|J2>7*MwZ`(01U0h{5YAjpt62(`i_Y(3F%=hC} znQ|~WqNv^+ChyexcSB**BI+Kei7c>PwEUL%U-z&jxtPqziL&Sq(45~+x4}a&%SO_9 zTaz^D<^2$2x2ta%_p&&8{@9b>CUVR>>0KO9b1r|meS50ULsfzrW(pe#E&r#L0kzxP zKn^TjN?qP!bs<;>`$^|Jc6*82=GQ}B@#(P87I!rcHLMP0ql^Q(Q9Gyc1Gnwe-y(H< zY(=_1%rd~K6xKOLM)-oI!aj^TOg`a=(I%tbC;!J8-QwA({|UWIP|e^;vV;xMaJ3=c zZ9$CQ_tmT`ooab~vit>eAcoBwQ!zfs7~ZEgR5{sVkA@tc-BpQS&q%m70y6f=L!Ep- z@A8k1n*fiF2HCV=hsZ#9#G`ZR6GabPTznnG;ZtZA1FyzMBbA z(W%Ah-r&N~>`^!e7Rn3dXEpYDxAmbS7A5PeX3`rk*v0wIK;4E;uRhM8 zj}fJUK(}}EvyVUFww~h9g)2PYE=x$=A(5#Q7~g&oOa35bl227okmXrMpl5$vg(>#q zW_W0KG3N-I8n!K) z1h~g@Kn9CSDXvJZ(YGB`e^a8mc#ijm${mr?Hy0J@Ra8=)s&hC!G8Y>NmdJahWIBOZ zRHEl8y0cT%E>qR(*PB6P>u~d|I%IQAq&tq=CKY>)Yqu&eRbGc8aiOy-!1ys8cZ|^v zbScJ2h8$PkV#h1>-b@F*Fg$_{jSn3VzBsR6e`4ca2h(B0V0hb2k}G4WtJ#b-JpFhM zF>|;Yc$>dwWT~=wy}^`c1gyh+K?SZqG^55#A~y#leQxL>P54Ipx-J-l`8`Co5o^f! zTMw@I;bwl@FQ&54BL>sv`*`HX^1z6!(!o$q_IVl^23JM4g(Yx#+@RNk4oP?m#pJBI zKK74#fv$$OKZ~qg$5)mI@H%ilGE^zv$x24f>H(O_9XL;53~<|Ty>UfbPpW&x}B=dt)%#4g(qJ{rT5()D^Ivbnex$c;9Ze|;VB<9sN-@Kac4PMvFq z%E8l;b;3?DSaxy!@f+=&o6Oe@^UtCrC@>!d!0Nrw{f0O}0JvfFwph+}NVgp8EttRF z4?e+TB(H}Dc}Wn#w&5{NJ{s%4ih8M4@)P%mK&W~G?|$t!s6d;xM8wy-qK&bVx2az( z$+HSdU0BSv&Hg=pfro4U;eOcayUKFHp?7Iy z#HDM~_p0-Z76S*S36S8~{q3te8{av*-(Q1G;$K&Q+)UeVD;vb?d-j^1ptN-leMR)HG2!#~-mu8tbH<|DLp(P?;E2JOS>I?8eP zn#R(XQ^A=jxU1KRY9OozZOEswlRoXzbL8m!*bneOq!i$zw|h^(rrSFOmStmPHjD9j zl`^^hq|{(5Y~L_S`x=mF;&nn5KG5xftfkhwMG}2`KC9B@>BA3@OX{*G3njTu>?*Zk z_E%14_9Xxh;f*6PMgb;f=w1*YL_w$2^q{4h(B4&KeDdR+J0|5_0P@Y2H~ zEXm!N5b|SK7Ldy1`c+k2@)HIdsl&#dOA8N%Eum5aF!=cUTvl40gGpc5L9ch`V0X7< zJ$9iVmIk=ruL$|Sf9yfD@sgWor!=ihw?EG#=GL`0VP2UY&8ChQQO|ABSw)0Ax_R8b zGoF`uRvX(_^l*;`(tSa}LjUs@Ot-H+xfM!^QQvNQrVz$68~k<6+qt5${(lt69`w+4 z^lk2%ah`1DhAhTCH{;gNQV(`3U8|3VtA>+4`QG4%_d3+gjr&nAgP-=hROh0YP?m+v zdVe+Jec6ItG;EZ-^J_ZYh4zDYR^WHoE}%d5004^cu@04($Wit=urCwZ09M>}#a_pI z{tU#2Cw1Cl>tE-0Xeb$eSy>O!&@L@Z`n0+2;(l7-*k~q|p?~$6C_ZRqriB=94vM4U zREsJ(*tiQJHC<=`5aPc13^wvZi>%4tp@n$vr`V5NMwblqx&UNehd24REgXTtiUmh>~ zRzT6(cv2Cy``;Ks6?rv)n??8;9%>IjK#hvPza4~=*qkn!kBWb?^6Y^%=xMPHvXR@? zssZgzM~bVT2VmW2jLah}ILqp@UDVsa`785JBq8sYU0$8%3*Sk*3aris9)D#x_rI2I zmueWB;UjD=LJQ7mI}zaPa?Ro2QZBXn2S_GE-9r{j1{leN*7U+`k@IQpLLzxm2(n*# z`SfB!{2bg^8RX}>KxHqk+BmM_`u+N4Hn4Yb*i{>+>MZl6gBrVf2gt_!$;mfhox2!J zPQ@Ny+mG6lwmXZ>xotZ`NL9c!=?3MeBV$ zk4)g2l;PZ;?AE#6fsRNTK-)FBwbwC%8jA$N+Jk{X+9vnqRa>x$sj(UIQzVloglb$~12pvB! zQMxAg#26-t(}h|6P(QJ~+nw3r_qYx3=Q9{_@Z6Hx1a;WoOZ?BJqlUkk&ug_q;i(>{ z&H8ZGTnfdh&&mb%$Uu@6GVfBmCw0cJ@fv+8n@Xt0+RebIM;Zm3wb)R&);}K4NuNFpZ17#*))b*{NfIuI@^rt-&lk9MPi%n z+Jeemh&5FxF2d$-UGWar1p@5-QgOATS53f1G)Oi!`$O(m-?dML={|oX&=4(jsk+s0 zzWX@;!O|b^ zVS7q;1sd*Re=?+e?~4{X{t}bMs=asaOE-W4IywC3p6({CL*q=ht0nI$3a>&-TgQXK zaQD`F$5(sb-d()1jfSTJ%N@nhpLM2k&lCXw(4yjkRH4-56F8BhYeRtqw}1xr%W?jO zN^d#6rDk~gG&)^Bo{@ah+*TT1zk2Df7jBcT%@RR%d%aI1M0N|Ux=861f*2SP+`DP6 zd}+NdrFf?AyE5DRRc^Ug1~YLRxsG!J`l+1__FFeMAL?ngH9r2T%v)d^4xFU3|84p?_QWDA<@HjBh))sFnUogT{|d(KdNT6tCSd{23<~%Ac zbIQ!oe}D2k`X_EjX4UkLNc;OiIKpRWwBxW-g!9Wt8$pV6H0uvWSi3i`%4F{{?Z=`< z{Y^V{-N~J6~uE&tCC6+h@QL z1AHBSsWcjmAzD4do;kYunC76hDLo%)RC+o$7dmHOmL`fHhBARx2p~sBr)pyg_Z*Mg^G_GMt$$`fGN&JRN{Y3h9$EJ%{+sb%}_^;PR3C zZGgxN#a9h^7d=!*OnRikQZs;!X63(a+2-(WCSya<|2k*IEzhW++_G%yqf{AQ8p~m&>`uGt~ShFw-pUqGWN*X{dmVLO7ykG~ueDUQ2q_yFr*R;b0 zIQ5L_?Ml}nPv0{zYl+kvH}cT04ZPQbdO!VKj)D{Bb^PVm9T+?fpuAIHNTuA?L}@?O zstDf;M~&OA31^?L$h`x6N$6YV$2CFFOBZMXcLxU3D8f0 z+DQBGn*9~Ac((c2MJUfO1n%w7EGZOPr#A_Rnmg8g))vh3#wqf2=KyVY4tDIT z)pt%8fjGwpZuJMBxz|o@Bzxxy&}zZ>B1S00*S7c|-1ixu)c0u?FRxBADo%?p?}aA8 z_C^LvZse|rZz1lAlz|>MM*tPPfgUU5zTXE-dGxi^+WCzJPm#YxzHS{xiIKCd?Z$s% zekhLIP1Lod=VOvffB5QC!6#?$`Pqmz=`Bh<{kifR=vBTvP7iies4OrkvbR5lf>FaP zXJ;imT z$X|GJ#!6cd5E*L#EcGWGF5F$>bKjL;+96cU+D+)I6To3zk$Eh2`6ke;{@$AlBxo(b zBhTK!RJC>^_*bHSeCklz?6P_3bx0~8wQ1V!-l?_li0sqD-N@Mc-7P-U;FRluRZzWe zFKM+r#SX=~&_?XeRH;PRNSx=T6a-k~E6JjO=T`V%ST?r@x;aSTv%gUXi*XJ7!6{n* zdDMUZ*Z-G)8E$<4XJ7mOe`TmG|EnMKfB3$y8VGp#d|3J9fl!-HsM_mfFEWv+ue~K` zGnew;@;Vb973WLA#@%Pt!0ywg)Q{pk<_BO#FzE@*FfL+jRGZRp1AJ;%m2tBl#)|do z=ZW2JyH<|zl&cb9&Tyn(OXtH$(}hFGyZVI^UWnPOx6kzBz_>M)I@HOJ#`h10+{Co= zsNIj$yYlRWCnG8-iuJ4-=%CNJQIocNpYp7`KfimIWt_Ci!YXd=gKS#}mHyGcgbe}2 zNZzSE-oL(@cHRBRHU~tfTB?SD26<#?rQf*b~VE^QkTP^qW@$|B?;)O@~RKJ2Zbx z;rz|$RfmPPy zcP!t*vKcQ(Rm1n+<>vTl5JU1B$jpSgsCd!cXZ=?KISVT}JVFTbY|4|l4=|n1Go%6) z?MPL^dklcYjK*dd2QMmIi7-3PncMlU||@dvwDKBW)rc(khL#2=RkZgUFGE7Gm5?3 zaTt_%@-00(Ya-*s9qf@M9kTk^4X)kcw{l^Ik%Z7wzZOmkmnd=8&-ZGlj->Tswjhqa z0#ngp8|m17PA~tx0kvpZ-|B7zi|qZQ>W$$H0(2vBoFA^|qZjGH0{H!v_*+wU!&ngy z)G)SR()2?PIl_>|ze!Aw-$WUDUHk~2<`^Eps(V4a#t43k?x0otJluAScQHEqFX)+U{iO2un>)qe?alHF@ zQ1`vob)BcO>Gin7>2HShZs{H`%t<{6>(}njr&)?c4bzd;Y{E^ z=JdVr%AOzGGM7z<_Ipq670u@IdB^G~AMl8IowUN=JtnCZ++Izf^jA;U72Z2={0!0$ zY_8JrUfpL6qbaiyrQ@jLgj;AN&)B2zcuN^5o^Jl_KC9gjo+}*-!QZ9P>K&m!jOWJp z@o(6)U0NIKIC0G8&7j$UcC9g-wqNn}HQedgygY5lZ9Of{MbrKi=70|2Y_=uC>MN0| z)Qj1SEjVO)aORbyW4@4T8a@uM?VWRQ7tJ-y!z%9lTQ^2)$To*zB)#160-QB)e<_~O z-l~r4gHN~g(EAF!X;TY&6-plCVJ_Fb0|xsU)^>|w!dLQdBi`rqim_yUVzI_*>1%pu zX1Y%SO9?oEH~~LpwI4qBMLVPr&l~;Z4G$gOX$$F8f9bDq`05LCxSUvr`g39wE_31A z&MxtMd7CHp5iCMQuA(j8`_9A5R{DZ(R1M>9cvM9loq)fcr3jxlg`?T=e3#M5j?&$) z5$B6Da30(Dt3f`I9b}|UA6seTYxZM}YO3eb-NxTkoi6#Tm(pRe+8(L9;-9gOw@D^D zT=4vTRGIOJ>wBlae))H4I5I2DTY6b)RUbjj`uOOeW7ir$GvzTQXD6cD3-j#h=pukJ z_6Du-^Jz?2VKH0?TCjqRe`m3(5*Hc10ooG^gC!jr%>q=#`LIXI#!E<@dj7Pa~#j z=o24~2IdXiul+pn#91qD$$V5sOWmtpqA%*xCH<`uv zcmV$GFgZ4&&Lka17}5SxB}diaV&%zS3!XPClG3 z>KI#i!n}yMGu}tptSlT65pKKpDXey7yF9>ivpG0?=b!56Hl4>6fv*%^=V+YIPtfFm z!B0=}Aw=W+J&%XRhhxuGzSD~K|Z;eg*gyhKA&H=sbnqMa> z`2t?fTv7X5x-`nB<`8m9a<_7Q*zwnJU!q<0ZIP+_AGqXZtNQW)BVLX_*T!c5it*9n zb%R+$Tx^qCOt}s3V6)tT)i>K;Lacrb?urQ1Na+W^wS2d9fnrK@(f@#&1a{)TC3V(X zT>N|N-^-GCkZpZjqm`OvZCKgjR%64SlRiUUy7D3q?bl}uS)apOLhsb9V@lt8_Zdzf zvTDc`4UjSYBKB`^O${aDcmIo&k1>GR#UW166*v1c#Hd;BTzAh#PQfpON=pXgmP2(+ zCzfiMs+DguWS?v}a@ofWtSx^N(K0_3b(gOwVY5EA#1vXK{%e^Z<9`MD_xHz5mW41= zls~wMmxa;zhfV{3{fuQUGco$pIG|@5ZopNT!!=Hxq^rJ{^|a*Q~z>dBmxj( zNG&^&2>NMEo5sO96A|D3D~yA}M(Jo4}u$ov_)l5;wGtutufB4aO)fV@hqxD|+n zM@^`cHHG7p=C>>B?MA>T<#7qk+EueyRkx;l`(h-@8Iw+wB@oXHQ)D85wQ$-R`2`C3t(S;)7q{A!B+}-e6|8nyt>m@f!k^=K=lP z?EJ>Nu_#}r?zX*0hGcEp%U=$;K~Bjb%^rL%m@C5#zS3muX;eqv?bUmCetXooGwNI9 z-Jm|f4+(BHKCC@%9KIJ<4lG&Ci?c@OZ*?pE$tuFu0Bf-7yQu`pr7;=sT2Ss?v%uhL z`11y55|~^5?UcfNONgtR9Y>;}CWYML8E8GwSgvO04z(xQGupw2!W}w`7&I3a=i}5h z*m9>Fix%DvAKoVl87KD*@mjf8#weir2Z*~u4~wZIcH)0|em_*EMuA9M`k0AbB&tM8i7M9Vt;r`x6bpND8qnXi52rzg4YBkC$Aa>=OZpu~uzV2}7 zuGK3{qxJGeZTczZJv-Z(O2hK>m4|Feu3J2xZXvjyn_?{7e)}#&}3useUx+BQ1Rz4;4v)U5xTty0AIcYRKWnCC2 znMX1`>H9F4m+VeFRPP&+`KW{1tWfDe`tu*}0#+!^eUIK#?cA`Wms(rX96M9lMe$qr zXz>0;|Gq}Vs~>f8_YoDo^=c*^7vkHIOYSRoDEEx~*{kn?)}8eoKHps&rD9tPm$jz6 zX0#49f-^r1ftrSgYq@haT>lntgqjN3?yuchF#_Hi7lzF>sjkfrCzMj-KA}cP`Ij@7 z8!5;>7@PkE0ri~a4xeL-`LG_$INJ&zx1U#Oe7H*NZ96x9Ru;B5yDBY4xVpV6EsS5=`=aMHFZI#9 zZrj)zzAo+#Y`2qB8exC`7^=~?$TS~dYNsC&uVUUedhPd^a-72rfD~Gwup*=4;*h7q zF#(r>gH+y?XC(}{K;&iP;;0}`UoU^9tD_2x$zo^4&&cB1`hGkGtjp2*FyAI{8gDqC zHCY>u^+15|4==s-1clUY8sXw?U9M@4M z-P&6-3>n|zh9V^*+U+wyDt>*4N+EODNeK7-%ULPXkqR~R$E_HAFHS0|l%rH%uXz$L zxarkiy^5_>^?5%YGd4e1{)y7v)y&yuzvJC9$kc&Y*_bNwWr>FRJd$d55ASsh$fA!k ztn9kJ7r}i$nrtr9aT+C2M$g-=F7sEKKT>xNeVz&fqPZs9I^aZnaeA0EXyXOdX4d1P z%Qspm%z<*+MEq)BxxT6*YZ76f{&pY_v-0s1BW2J=h;01_r|~|afZcH0$OVE}`5XzSJ<&8J+c-o|df-Tm#dAKrZ_e>b;9N__b|GA~n2205|? z4W&(Z8$C?mp4HDoWkta^*__Wieq9?LJ*_k=(|)VC0x>P7R?QQ_iKF~9lXDkuAf?fa z$JoTNAWm|lew#6S?YmKDUXhme>-*~PbTz35%f(pe-=^yKTozb8S@$=!s0g_W+b+#7 zWx3Wf>eZ1;VBUSh?={-+)<*mHyfRNN<29-Bs2)=FT;=X0!hgr8r{3yL1tzvz$W7U8 z`EmfR(QAAO#NMjd2Kv|uN}OLSorcEbU#9nR_?r0}e|VS0S{cUSr8fKJ7t_1GoMK7bPJfBGJH$~SkBHDbHoAcSp zFVl~hhck=?ZR&&F+U6r;D^GGCXp|}!07cK6!jQ8)vI!Ai!x*+u34>4kPUn`s*VY=B zbku5}YJ+I{xFMH|eI1QeI6axgbuk2wUxPc!SL_y_bY|ItPrvyfnYyrKUw;Oj6Q;B6 znOXE1Y%{FnFOw-8*0G2^gR16K=})2LzRazkR$hFTqb_~AR69Ah;ONwYbx(+au8^Qp znbm&Rec(ZJ;3DO>LA&&i(!3x+@Vjq(zob*YLX&g_(eL5IIt#EQfl$-YBTdK^wXkVQ z$Q=+ln~ZnS5kbyL>S%bJ!VCPj!Sr1dkd2MznZ>;K+J1#e{(v*HCIDWPFZl%$MWw|; zC}u6H$A|U17j;l`ai5YyVfzvD*K5FAt5hCRR(Wg;wyr9oGs>)a3AcUA)z~^e-1}2` zFO*GzD&({?g2umBw%uI?zrUj6{h{fr9TCnj9;ZEF7^bk#(XLo^D&eJ<43ti8i!38N z*+f#VyyFiUw(GU`&#pJ3iZ-byyAI3O=C)gZR6nA=!qCEDC)I1hDQLw)1%5gh-f!4^ z@dDo)cq4BDa^TGL{ihbFquF__HZQm0qSgNe0!!=<`0&yfqDK?*WYrR$aohJDlU4nDWy-u~-vir~tDnhkqtZK>P;HwuHDmv-&Bw#> zz#1UU81l*lR>DPLHtQqsGtAB0>oVuHIk#_B7o-{Y>(7iLz_Gwa{ zv)G@WsNH28c41UR^!E{4-$ z(m1Wca%t(o4e>j(6}@>Zhm0v#_Uq)TCGPJr)vIlxJ;oQ8(2qF=i6jdt$m17@Y~PBP zyxp%`vj_`GxPBH-m~%SG5PzP{vzB++Ge zTxnmzCbzmR?5!|Pta8xjZ(w|Wcy|u^?_S2b>&z<^A8@R36mA1xgQp$|kkdN#E!-QJ$9yndebtY$&j9ufI%0MExTQ@jB# z)zW0P&wjL)_rmajZY%fR&chvMG{wi{<&YhWb@TVhQ5X1*nF!JSG_k$1?3~;irxD$y z*~S9)X1!auefp4hJk6@I(bB>h!{2QMU60ZsXv-22OcHZ z;xuVY%|i5=z(KXN6e@U09qgXYaj;i^&)#W2K{%j-5@~g7<1zV7w!I2D4q?laZ{wBz0b`Wh+#A!7VXB$tUilR#QGHQ-H=DE7i*(5?PaZvVh7 zc1M|Le@>twt`99(8ZzV4)Fa+9S845TBv6|^RT#q}gYx7fjN4I7Dreg(Yj4{l|HNh8 z!D-}FFKhV!#(uX}!&*@hEusakN^qMCa09#c>SPq;BDvIytqjJ3-(^@}=kKLqi zSMDORg!c<*ePVsSVNcuZU-BelTW-dn+M`wdO}g(}8y{`Po#6|0PiEn9{9w0x=_I<{ za_8W;2aY|(xCYO@8@xt){n%@DB3;586`n2G^HI!EC7R1a-m;L^1m4Qo{N-L&Hu`)$ zrccqG@0zcpfO9=)ntDSk7^Vf^nf_T(NowHL>2h^J$A#@i+0=&3cTXET^0GBPO%~S{ zk3n0V|4dT0v;|FOJB98yB)VnVS9hJHzHWy2@WQ8 z9+X;~)g;nXTjL7*^pc&oA%O;K9Iry8d;Af0(P`^asIhxT*i&6?Aubg_+;;Eg65qf7b@ZLLN{iGDm_#aDbO3Dn+6#A zSSolG_Ae%9(IzBEz5}KB`6FTb)|fBx*!#Fby@l2(aQz|uS_63X$Y=|9I9x0o{@$XG z|2pob@S^a>WVM|Suu*Qh-$tGprFSnpy7|GVW&M@yl|+moo&J`NIGydBO359lnd1xx z%*F>OdUx;zd#{wgcC`g}t(Zs+N6Y0qa2NSH-Pui~0@kWhLFEm^=Xrh^3G?%Le;pn9 z=x;2Dh27{^cb0{Ua0nkTgUxDLA*wn#V^E#l`%82W`~G^w>TvbwJ{#j||5#lUmF|FB zzS$O2n5_=a8n~D+Qr2NomLS3+?XAH8sa+1oH9Qoc;Yel7Eeq z?WdrUEda|FbfvN&{s@!s^{%`+etuoKS%LC|_ihUJT@cxDdu>Z@(Wv{ALBzh#^c_aq zzt#iLHiCBtlY$b0y>Px6eod=~T~^sKH{iI|x_iiLtLE)Gt4ur1+hbm5KBXSG%-YO( zHC?Ep_O@Os_v}s=%IFZm+45Pdnw8G!+`rFP_n=FTA6a$Hl{a9*=#y7{38U}sAlv(a z4LKxwzCTLgjyPx6-F#bZ0B34^{^+YV)H>5}K|ojq8iQ)V8^GNZ?pc`QvxW^*>y81% z+>X6p-SiO&3SHfVzbK+jarbIVp9?O(bAl-u)^Ix)0`<;Sj4*Ngn(BL}0+%kcx*N)e zk?bP}2JH-(D#~(DqAQmBQP8VaUTkv5`=i`))k*{h_o@U2<|~43$RDB_nJL`&#a=`uSm= zdH@j-OyRc8&WdBO%QRoyOaw1gisNlb*uSYvtd%OcFYLwMMRQMF zPQ&7^)QkuC=H9h|n`agsAi`q`?4Oc$Se&g%aAO}PEub6kxB@i>?k(gH&dIcOXZHeT z%Ju!a1;wS{l>c3q3~RQDU%rg#Y$sUX;VsrE5SLjwt8=|wUdV4=wZJYqq>ISPs3Dr@ zDOvX2Vc40dVtaJGSDMCJE*o0ZUg+EbqVp;fuOVYM509{*A1BROvZ>^zVau2zJK$s1 zkH2gUtefGvj-tz<_{I!ogGMU3%|xcGiVb5?7+f{_#{#%)3E5*omzsINMZ(>vrFWNI zM@5Gd_BNT=nBGm;zfidLMc0i8Vemq+e!-rb7y8=W)U$ut9yC4&oxU|ch>z@%Th7Ln zpIQoE`w46j((OLy=AmBSE}VYvf=t|?WmqZH zyV|AB!|&ydQ#38~zE9YU2{Zm1<00i1JpKH5M1-Z$w^(i;3 zW%4E4bn(`U%p_9!%@rgQ`{fBOKJJ!=;M1zQ)bg88N^hl8RzAm6dzNoK(0`xHV|VI~ z&%;gyWSq-m9f}Tkr60g@iR(KPsb|=r6jm2V>TeebSq=vXxL%NN?k<2YZFKh5w-^x% zQHoKK#e{21jMW)!-?kMVM}2cDs%&6>AV2nsyGydICoza22b_(Q4fMvs&#*^TS|4+w zL7gS!RuSdxtrHaYW9QD{LIvvNJ&b*tSx8 z>|&*!xrMv<^9lj(Joi3|>1sc8g zqqzTyYJV&cad5S~P7|^{RR?OD$mu#=0FR?b!$^UhZ($x$&JzLMm$Ly52n5Y}sRogx z08#ul2Sa_w!+d&q>HnH9yU?rL^F>?>jn7lv_T7f-w|xv7?c+Vt<5G4Ge3*DAb*fBh z)#4ri_Aap4piv`;?U!gw&Jqc>JInH)u{koVwl%?a6f%g|Igsy9)tOX9X&PBs6@F?Q zIizec?f4aEA8y@mOpR6IST&~m>si0;6l6-{3D!PB%_R8i&3^+9BKyQ0c1fGx#)Pin zo+}lP^lymPmA`hc>8}O+g5iPnoovkOsvFb0tv}KBh(azC`!~Amb0c^5>WhxQ4~*Q_ z5a~v{87H80g7qy3HOKaMMxRtbdFqED^pZ-KIA$vIQG3`d+?RHr6Ia+Vm(`6=YgjRc z(oCkUn55z1=$GG?*V=jLTV9k8_j6;U!3w%qoj=ysh22~BCOvK4cwr5MA;)tV^R4LJ zEB5B_u6$2skO=uLgF1&_t=@R0CyDhMBFdmGP0QO{Ck~d_)|x8^B)=WBr0P#d+|!_i zyykbf8!8i;P_C)|Xn}unL&Pkws=mYYl;dqK?3Qexn*3vR7Mr-n>4wv0tGHK6RTuC*~ zlE1lN(isQ3Vg{PvF>Dix%IE>%GimW|m+?B4yM7;{KYG=`ce8Pv?rru1lCRW=PlsNV zybYsLzx+w)dbcEl{>Z3ZMv?0&CE!*{7r#eltJ%v_txQN!@rhgFq6A+QIK%9tsXV)y z@9j#0XrdK(>%w5E10kxlT{wYNX%E61QR|K5ZI3zaI9G)n?mk)bHD}OY-Jwx+qj&Ck zw7zFsrCR@WqA_^a?;TpnPk;NQ&C%BYdaob0H0;XV=~>bn$;cX%W#N0c-P%m0;piaC zS=Wo&8!yH3__VD~rtd*n89$o77TgxngQ}zDc3Dg>B_Yys@@Yn2tY>!RvZvQj+Soid z{*rZU28r$;+N|A|&339 zG+ey<<{J{@omP44@`L0HGO(PPwj)jClTwRZKNX=kZ?k>4SB^BZW!<;gcQ_4eZx5gF z$x4(;mId{!K_H;>xnsXaPkz?eR&?!qO@tbqbN`C-ZoW$})thwlN|uLtr{etsDWeMd z?%UTm&+Vsk&)x2@416H}5)nn_I8#~>08+VgQ5^oL>AplC=s_DRTA=ODsnwN6u*B|6 z4V?wI#pjD*`NEtbkf8o%g-9r4$NP}ZFQ-sSMUwF+0~E$?(|Hd_q8%ZVWkZ3J()Mcp z%3G;3UNnMcu*b?UISj+UH~L;$dJJTw9Y`4d953VNx;4!nJc> z#F|sTDqM_-h!^I)EZ4uhY3ukL0gc5-zJHKTuSWD=@z*-1XY&uW-v0cgENWHz%a*n5XDPPd;HFMSM?7s`Ji!mSUEg5679uv@fWL|*Zm`y z$^C{rztG^$x#>#R>*5nm?eBCS;(M?H_-(_;>Hu-I}!) zsECH32C+j$ZGYSJpPhSr;B*lOUR%GO@S5=YtBuj4d(gLBk6SZ0BpMxOb}d77BaY)< z1^Kik~z{N<3j4%_eSXJ%F#xCc6eqEGGi+^$nm-Zk%N;c__FSAukb7yc)>ni{5-hwt{Q zs7*e$8*Os;FI1rKR2EP4;E*c_ll^fqr7GeRW_`J=kUyRYG{76+z8Qru!mfHql=))4 z3Vx;!kWHV?J|3RRBG#ii-!cFPggzAP8sqh3bi^i8oUsOwi0>#1IZ<44?U%4+=GPm@ zn0dD(@dNGJ3lPm6cj2_9V`(&@KUMEFTxuujYWh4mEjrDy*^ApBP%Y8a{H}6!+ ztkCfFFq70M)R6SZtEIBSXh6!u-*ljkx3if07)#tQlT0FXNR zu>CkKTil@5H3qBrok!7!3LN;XO?2hYaK~M0+UrU3Z&@mgPo0z*E`BTji*xO@UBRG? z6Oo65AXRfu4~A%9UE1dD!l4G8;M(E%bgz&xHcn!`Jcz5%ehR3A zN4aJ%-;+A)cdc^U?613Hs=0CTtDn~Qw=!80KUe@T9DeKr58yC@f!*LCo}C_?#q)oW z4T7|_XxOv4hup|<3WjKB_OT8MBBi(DuRPb`%pbgsZIBMGC$6p=Qwrkex%%JFb=kCU z_u7S>vlUWkl`A*x!o8lya(yD<7|hkrQMDBH19M$vlJ}Mv9pn+{H%_DGZqIkT=G713 zWSD=COZb#Mek4gmnNo^hHiw%zrfR?a83u~hYr+~2;`avtI?@J&t*mp#!QG_ISzIKUdU zj^7{$kroU=RrUIiXBMBVDoOHMBIjrl{4Pd$Z-nsrf%INx{d7+y;_L*CI z)rI7~1_+<->adtZ!0T9zsN03LiM%D07dhCA;oy#@<{~zlPd55bNBg<=V_$4Yg(-^b zpXI{uqZc=R17;uU*U#o^YMSjadVp?u|G9}S_gzajI)I)5s!A@TqO{81yw&Z)Lcr;n zErR{}$G~}Pq}x>>RN$r7NDQOhYK;JQ_s4?BPM}8@i{HUQdNTNJtL|U2J#Wx9^N||8 zN&@vu>z{hzlkFD=%syzeB~$e#n?d2 zZVr35gDFzqmg=?F>bN4I1*!G{qcXWnM2Vr2nvO2Mqw@uQ(Q)PPI}RHyY~{!4=_R!s z;nktim#+`Ed-6eKe@dB>1|@Km%(1RHkZQVVAeujyXJ)4h^_CuuDndk1DJiT1AEIiRrKgoQtFXVmCkI9>dg(0qnQ_`K(s z$*I`i9#J6&cjTd*TsePK-+_ZEjVt}WG|Gzz671i zQT4iFnNRI$y$DINn5M7>)R#MxmwgXEcG}ndeVj{j+oFxk%3{AiR60btsVbz}AJDzg zuv6{hU*$HRp)e~q&19=Q;|^G>MLu%PFhx0n2Alx<#rM5%Fi+Y>%d zG@D(i_y_U6-aK6W8QP07rbcBNzxOKM&g)IkNJNo7j#5^&A+J(U0f|b^K1oYw^XR|S z&CdIxo%Lrp#xmH zcH~{spTCBp&XQTF%c|FrO)rUetufDARA;O52MA{51mfjBr)r1s$>J{bp|m?)Fha36RinSxi5gCV%bo1~ z=;(9Ojwezn^pthYofo8Bd@V%Z@pFFa&4UU##p&K=znB$2wAuaL8Q6<)X<9CR#`CMm zy=RWEH`(8e(sGbX^OCKyz809r5p(y?UXx{2x4l@}_H(n(MSR%eHSH#}OrShp=p1T@ zhVl4NX*rbVs8H|trPZX~?r7%^Ocf}9L1E?i4U==$I+M-PX2gzPhv}$Zt1Q4SIdB@) z6mgD*HER`&zSipRW?FLyg2(%Ec|^a2(rA;7!P?TN#GW|&XMDaMQs$|?1#CdIHOr?O z>|c7(u3g->e(cY(+2*6wi&|iY`3>GJ9$5@3QnzJ-A`L3+*s+$!YXd(Y_ytK}XF=(a zCEqx!3(03>zH?Huz0Z%^hZ(eZsooVYPlTsI{EMBzbQGy7eYtA=?W|RQ(e91mo9Nb7 zEs`zHVT9EP%=xc61Y2^($a?j4m-<;@qIP%Yg>N^j$C}oqKY2c@OGCUOucwh-8aIJ} zg;8OT(gGOgIQcW&E0wLO^ z_ESEORU%*t(ZfnJYu?7gtCEV3T(K9x40e6}n^^@gvUjLKr+at0ogLl#o4px3spOiI z^j(=>yvj1*#qVDF6kjVKHX@8WMyLB28eabNBY-wz?bVpq`08HSN;r+mmy!4{d*1c^ z?81EDJl4@oSH@IDi!KOzg>H11ghfio*L7jpe+OP|?Ak&AgRY?WGcEh%G38S7{m7X< z61Y*e;1oAn&5ImfI5@M`oDHP>(m-aN^XJKL2B*OI6=AZ^_y%PHw^4F7ntF zI&Ql;a;{yv<1RxabI&{Y`~e7Kbv@+JE8FKs{Jw(dX!&GZdmjxL7N@P$xb1OX9r4IR z@BCqTeHK$*#BDsm%Z>7t0>}xN_T!^cdL`RWXCVa;nuJEVCfX9$2ZpOo}S+)l5YZ8Vnloap!#c(KbT3+ z+oL@cxZuoRZ1rE&@~Mv}yb)i{72bOp%=v`y*T3#L0F8tR{oV9OB@sTs~XWd`7H+IC{EC{XC4*tCJUuK2O^9*?hIDtw6PW?URr5r7$6h zxP@E?C<<8E!_0~>umFb_0_Gzr$2KPvY*n!X3nUY{8wJE8J-MY!zlfe#M^l$X{Lppy@mD65D7#mJ9ffay{_I zz&Ps!zn7OMvV_J}BRoPFks+&p|$*pwNEv@zzm% zN|;o7q=QD=UT1kjS|cNLhm6bbd9QeEOuGhCdGp9TM!WDFvj?Hm@?}+Ba%$%w^51rC zjEPw#&NUyW(#2*r>t%NWNm_faoCbO%`l6O**{$<153|GQ5iVO_Oz8TthP`Uf1TQ@& z4G~eUyB<&LB|DIIHvGkUeRj;Lc4K^5?<9+U{N<*_igT;%U&-{lpXA92co5BJg#on< z1XaJ8#64eZV*?gV(fDlDfi}#a8VCF=JVK_Et+lmrIavcRTUzJpOd=vVggvq?Qt7x> zi_r|DrC@fQPgkm!rhHJfH~XLeH`qX}O0=lz3CPeLh|gT0!7p?0eT(@iI$Q6B^OWj5 z52c@D+s4(u^zp^vyn)zT^zwqfPl^8wxl4d(yu0n$Xp%MajYjXVEK9qF+vqoGnLP8O zS*|_NWLWt#bODwXxq{c37x(Pr{lS4q6M^LY<-eUv)jd_U?Q8tpIVaeeXj6C=hah6JI$s?Kx++qE9WoH>qwZJ}o+qFZFsM9wW}Ek@a1N-=Wa?c{n4&P1 zNv|E@%H6w9lDJ{8oIR^FKts4w`Ddl@K-^tES?|vD-rY${lP7@no;i0 z^3Bp<>$0guqx2(6KH{fYm&J~8JCqj)nMXs~6b;vqz@^bRG+xg$`x1P<%#X^n{OPgZw z&w_qi7%*4u57cID4Xp;BnjP=?v~2z{4H=qX;8Mqr_1v^PN)fs}r-s0-`#~f1GQMog z=|g3>63<3s^frpUcDhVzQlDrau*Ye}Tf4=&y&2Rn{CcboJMPFWZYt;J;!&=}>qGe0 zSZM7k6rTA%3{1~wV%^Ux%kCVK{-2f9QOnUk4$0+eGNXk>&}#U z+-H8DEe_rUJ&`)I&7;4uREl-_tFmy3L2@P z15WwePY(bLO`P$d?cYC|lry9L*1#V-uQUD|nvlc>v1Pm8-wlOMY5gr6s51LEfo|r; zsu|v-^~a0{BEPsRY@#3x11DG%`Mo<86+hq64Sc-4Wk?6KiRa26&`#wxm_2+!m&0fG zu!g*!H#6%3mZImko1)LblUd=Ox-u`-SbzhGV|SsJbGaBp#`$A(-*K7r%EB5L-Y;3{ z749pyTdtK1Z#rKkzl;D!E5dy^6XtQQg83>ITlR~BT>LYi&@l&Op{7?_vYhGN4eeW6 zjcp$A;s9ef+xPpKGKJ(;%C`(8&%f|pJA+R@x|^PJ1$z zcL$Zi&h|`6j$pW=USgf)Cu1$O5VWDAL zZG)i(8B7&gmn(Af^6Owm8&4XN|C5px(3fGpac;#2ZjDx`Dg_p08CKCE-GATcwPhg3 zVw;yLX#R<>{q9f{az*ylz1|nwbgRgS^;$-5E^Pj##i+~v+wevkqroJVi_zk~IN+!o z(Kl_Fn)7)v&)j<$*3n*X z2(RJ&A)jf098*4BrJXmpnPtAT>VrDJCNZ!+ILPZxvfK0P#;5QALYQcG`1ps1Y(JGl znVk#P_4c4QQQ-W>I~WqphxmIsa@n4q08!_%S@|xtF;37=FN!v)?E3zKE=!1Z>nO!% zaJVMlqD-z;K%1vZ`7PAC?dBI%M))_$;4>=hlARwl;#G?v<;Pvr`yKE#S$d;izB{`s z44QiI9D7`sO29#=1NKlqtqd^T3rOJ(bGO^=$$*R4XndHX^3=|?lwm1-U}*X-b#-nN zX7;vE!=8&zr;A&oja;5WO{3Z5HkF$#~P4{IV*_s@U9y@v1 zY?bS?-9Yi}GR5NcD&&)iUP*wmS#INewlHVCu|W2GCb`AJT(*ZhDJm-CCmt`QY+Oxoj=06Uig|?vLHtLVDr-^Q;0F{x7$w$-7lh5h9`_k);5C0 zTlv2UzpG7N!T^-$&4H0+V*2fkr?XN@+zK-OQ2v$_8~h}Pso~$b)G*>Ddb#B6Mh~2S zTzhq6ivAgPH?h|l9*AnZy*)!^1C*x16c~2_LD@B1^xuOQpgD2t{^CnQuC|*%eya`V z9yRBBm1iA(NL)#3vd3<~J$#|&TkeFshAo17G^R_`bn|mzv}a7Cm3h}{IS^p2IG&wjXm3~pnu~2E1rg0#prFWPb8oj#V4m%_ z&P)oPr4v%bw)MAa-GF#aT15<9uP-fcSPnX`9RYe04t7anS<|A%0Cbw?UKU?O_To3> zajPo%ZEgwI;>|KQENZW#_w<>fi*H`h3N);z7J>~{2%3IAm!KoIlgltp=Otq^ynK1* z(P>I+6uB?ki}Uz@Pa>phzpHH@fBNs{zKeV~F`#Pba?$CZ0}Z#{T{y-k)s;JQ;tUy| z9}l*Y+%0IR@KY=tF=$N$c>*>f&L5Y!g&8J_UwgZf;jix09gP=cemsItzt$Gp8`o{E z7AAf_-TekAFnOuqUvFK;YGC%{AIUPu7GU|ex?_d2;=Td?Rz&uz{bOQVAidoUW1=Tm z;>91W;QU2=SIR_cX~LkU2IbN6A4zXveJTw70}UN9y@xHX_Uzk4M*mIw@b-UvoZaQ5 z=1#{4kfK}as_8M8;4N@}hrt*@IjZVnw^CoMwU2$u_5NB)ev|Iizw3VBe;f0ld2tBy z1}z&1)&se*+pWKB4F*{Kgub>I|3a3Vwz+P$8r^EJsvP)_K^uh(E1ft_Sk_uQ1`7s4 zwT5)-ooF!=V8NT_GFs=GNrS#TPZ~lr=^XIYiE}K%)Ve&J+UA@)>-MoKi7Xzx%eijW z+8kE+beaFWi%&1r^7fpl4ouZyYY>rdR;xX0-zNFd=5&2KwYfAl7xU+KYLWFuwX6^` z0`$B@$2}CbQaf$_UJbW*J^8i`oe9p-u#XF1*P_6qr)#yKCPtAiUAx$4;@jj44N=iD3&@6Q=sMbhjUzX$Suc@vROzV{uhv&)u%xg zqDs~TgEU)2|NUiCnV2jr2y_IK#e~|VOw#$w-$|7LvcvZtR#EO(nwIU;^*okZ8TUBG zE!c~hU+=t-nrQ5UK&ONbc1LI4fRF~Zv%AFkRx9?Ty4{J=b;!aPf9}l2FrHbwY8wy` zU(u5I8C<%#NFHOLUF5c5!1&>&{z1Udp=C?;a}w7rxQi`OZJh84*%(4@b_3dC8YvaX z-6|%!Iy3QLbc#G~-B0CSr5Z zDc1S#=ew@`=iYm*MZNDc-1qNpBHK8DgL}_uh5KxUriB$6SyUI^sjZm@hMc+DFfl8?riAso^JZRNsQ2rnT;&B{tO^^y zBOOv3Nbqd*#jmSS;3oqkMHe6IFL>`_R7MB%^_iKMbCNgKFjWZiapG(WpAKZbilWlu z)*0v4i1jBMJ??utIzb{X$IVp|Z>R%Jv++y(N@I@$2g@IhRXMl+Ezf9f)A?*ZJcgR* zYtbi+W}$q0px8>df;t^T`DG<#D)}<(KnUtwU0r-lr9>$#8-iKhyrW zVrtsNg${iW@@y1_kN_zwhLK|L+-55e$;}}NuE1gfo^LU*_k<6L4SW_8G5XFaM9S26 z<<)vT01bTJJw7+mK{f8z?jMbRnf~(+5yg3n zGMfAAkrW2yG8c_}5|m0)zJHUNtsNl9vs^OBNEVd+1l{*}Qas78-FW@N33JW*&VauO z{N31=pJE}94V6!o8ja{MQyOl{rNHxHf0G|Hz|Tq$NQ-g_0pb? z#{J)7g3fa}P$2HMnl}1dSPAmk=xGkmt7?70lL`pWSRJU*L_Prg&qP1%22jH&XYoXQ zOVbr6e}hV{v=1Jg?p7`IE~}7#A)93m(h=9!Oy6R;iZXuVZ>#vMte830e+q+F#jST9 z&7<56TZ>cGgNT>juP27?{f{QX?38^$iEbk9L4 zOWc@W^!`l5&A*(M_7@R1hF%13IEnPx%&vmO{1TQ6ostT^Z|Map=}G}Cyn!Kp`=qe( zCI>eAsw{}*zjPwhKF6v6JBxm_AA(5rp@xs;D4gdXH~ecs2y$C$fn2;rNSm?6AN;p@ zdEb`;5g&}vYjqXqygWy2D<3*x18GDfIrr&@@tC-NzoY&TRhLXx%h<6Bnwq9dsSLCEmAU+4ALdh2s9|YN&tQFi_qaG@}CP{5~(2WjX>y#PQa{zlZ+i(Ax&S zPV^pa$j<$F;^;G4%#PysFy%Rz>VRKZq@6n!;4-VAGX!K7+WcR_T9%{fUo#AGiJN< zt!hl33$gaGEAz?kRD)Ch24M6v^7QqAaT+VP)3DySzZvZoAs0Qkb?DLgrIsPrvQ9#! zgpGc?j+lQj;Y_U}i(2kg=pGrwXYJ1?TYFD@?c(1{xptKHj-5gU!Z z6H;a`fM;gctHD%s{(?Vjd;>dS4QtgZBNAV|PGiHa8;5er&C0@&eVA{+B0OKM8w)86 zXEqc@VwJoMGG;6GouP*n`a7iu3RS7`ji+w@(Kh9^vI!gQQt%j>(~7_-9oa=}-%TK4 zY4~ImE}X8YEiLB`$aAo1j6}z&jMThqx3`te_;D!T+?B8p@_%(uC0+Mklbk(Y+jWtI zyD~CqAPZPlZ}D6by8VRv^KwlWn0g3mykT>#+G51c@}-;iI{8RKi;F^n-scxccqj-1!4~SF?4> zEq06FE3bW|kp*+hy-;oEGse6gi<8RJQ(Hxroqx|XZXa#$%EsL_-N90 z51mU*@0u6Oa0lVW;(rR>hG)N24vtp1znO#K<*&`UH3v^lLEg6TjdXRr0g%)|?l=Zp z0di8Ad>f(q4Wd{F$*U|Ed(%_wf={%4>5qZo)10e6o5r&gq8wYk2@ytTj51`O6gkJ-MFNo{oZW#K`ES z48+N#y7*fWi@(rYsN-`mX+v^X*pOx*F6E&qbbCfEfzfeSL#RB>9JOUFns*F%#&G9% zdRc{o-0H0_3JQxwslMGPyGDJ&KfJ;sACG3`FF0WQp?QK@i7h{#uS9#d$F>%kZB;g_ zL~s87Sq^MKC7^9B_vRDg1C@2NXg9hsOfwXi^$}O8@u@96>$xBD6}h!~)SPJ<@?Rcj zrteMc7AKy*+=@<&a#+0f=PxH6CPp^{kAplte|sndiC_?$TSnWelo73KMzm{QKkV7V z3X!%`7^m;RJMO!eYo;mvWWUM1#|IlQ%*?3pr<;?W z^i4F=Y}hE4{AP7yZRgg@f>q;estcgLwAMqCZ_nGy2``>cL+~avarwJ~pJmLz3$|F* zCUUgTe{-buf#F}Dn?F^sVs)d%g00LTA8PW@ooTVw{am$Sd)#<3$;yB2-4duN->2Ea zx_iYrdCVbex3q(pvAspYWe1hg;3E-DsUZ0G{u6}&!lT%#3du4{etnl14<0Y`+?@6_ z(m5>JxfqrSOSQD@)YHz4s{=_tOhyL2ygbT-fSGQ=b*?mVsYNayiwkA8|1LyAtsrFv z>zUQcz#x@#ZiZll)T2}d*k??Q&7{nH9dw=xc*fA&kM@8DDD; z@>WQ>cDDkWt9VscS>aEryBj(pIgTU-;=sqh7d83)8hzuau|xB3Zu+kj?XC&ON-LzW z@H>Tc7a)! z+ifx^-Jh$H>V;zEQU*8ge$AJH3U>!DGtvVabD(atGdI*s^^ST-X0mQ$D$RQ)SY}f_` zHo%73JX0;07pOJOUhyL&=WPa|90i=z`yB_SPOo#F6W6}KgiwUp7s4);VD|3AJh_4s zqcWr>-M2Zj#P*g5O7mg=9fN?PukNQdRW+Fv?}4 zry?1Ln+DksVbTJ)S7VNRzu3zmruk8G%DvkK$&O4;?t+C4S;^%n*Gr;PNqN8J&i=#9 zKUHmD?_oZsiVn4eB+hfQk3`(wg_NX&HlZ#6oOv^iUCzhD8wB>KM0f--;>V}RQ(w8{ z0MJ*wk0xhDIfRGg8vXGm!u`Sd=dBJFb^gRv-uzj0spBS}_L6@fxN<^qS z*E8S@{6t4*?5WZ*ylRTKpKPVvp?@5v_vzvIqhM7mv9M458qVx6+17>YyCF9q*z%Ik z8AZZ_q*{983Vddae~kbtr34+^w_WZN)S`%dk-6Q6g$>N0^vB)xP_N%-cXT!AiE!h8 zPBpyrE84w{02`;*ZwryN#NEuVZ)m8>F9T%YB4GMQXOwl{#~iTdz^Z(WsA&PTJ)O6I z1*-P$k#2bMchy64WoTmYyY8pImHak8J9v_bC;wavgVg*R{;fA)!f_B-5rgLgauEj% z{ENSHN#jS!rKhc~l|h4MSC?{Zf61-}PY%>Dt?zFZ@u*TXXY4#-lfnJmp(hGGmKO@} z41KbS>Pr1GtqmMu0E^Q$#Ip!}N2cyGf9Uek1~b<|T!aXlYIl;>jV*YongzF<8VjgL zLt|jV{UR=)Yu&xf>|~RBU?tXpKv27U`d*`7=p^;wNxTZr8}nUIPU}_@GH_A^bNMFLE<`T_iZ;s|>VDcBU5A-EXQ_`a598p*4$B;~TsP=HKeYQ7 zt$x}d6bFEJbJAdH$p=)>#XlpKFO}sQ%4zB@qkmszIj!~gfAs4C4;PRnPAwrt))ct~ zx4k<~Kjc@qmG$DvlW%|9)iO^tW9riFeDHJRDxGTgQ!8GCP>{Qgw*<)U z$!a*{h|~j5GnH-eumEKty;-2mAZ@%;AHYWe5p|Sl6IqCUY-ys z2dyeh;fAI^59u3mJFUFK3|UN;x8CJaoz9FB^Gb{0)e7WQxEzz?ijJ!(JW+mGamzEj zhaKm?^)IVyQ_zla5HX%_K`@HMlh<+Q87*yf;Oww|eCWXYlKi332$+V!SIbkis+ZLP z(08zrcej4ZbM@k&gPgpj=gy~@)4oYSWk7plXW0{`(t?Bm^^!yGOsAv7C z7ase$!{0qqXEcVC-+*8iDy52c+OzhCgc}&FuZ@El501S8MF|RVi{C)iY;&=1=gM9@ z<9FpQ*IxwB%J%bxrE3%dPNJ}^7XVud)x~_3b^0IK>pmx1nr?{RHOFZ6j&`!fU-pv2 z)?FNoJEbYYg1%`O$zpgrAB{k4J{PeHIJ7saJvW-S;@EUNe9zx)XM$!puw--N_zYAn z<^T#JS)5{{!*Vg|CB<@g##*398uuYFv))e}Y13owI=`514??4cejQtY%A$Mfyqu!H zo^01Os@X6JMc;i<>QzJ@F#9XN0YFGvMZ>e=hK-3>3##!gM328V7Ex=LZedqhZJB{q5`iP+v}3NPTfC@2{!`RUbX5(_&GC zG-l@MPjdV2FC9Kut&u5nhbgFi>q+a_>G5;5<_{bZ;32pM=0Kq2Wqa9R9`_gbYybV# z%MFZPPz)K$GARhZR?#qIO`#8%!1X}Aj*z*$L_~`2$}L9`OoausQv6R z^C4`ik$=`ar!1}gP0On$WP>cx<(~H;^oTS24qUr^M;S-`*=rDy&~p1R)1D9d{V`LotfUMdh9h|TQ?ifpuNC3O zqs>}#0>yeej=`GZS86k@{M_0g4I}{}$b$M|_o-eS+nw(u$qjW>Ok z^sZXulY@;GB}Z+;{gQG+%J#|ksBg_Fk!znFMy~j+b$vNr$4?9Ij-KPR`8ihf=kz-L zXIvQ|X)qa37p_7uR{<$t139n!o;|j8FU0pkgM^Er_ci!WZFeck+KPaBEQSDd*siXI zDo9r!_eUGuZ+nsBKv^X4w|u&VrCDA&kfRpf7eaDa*cNHb`o3nD?>;+8Uzma$f49$H zDd|gD`2H{(v~Ys4r0}hu3r-!Ei9Njg`P@>oSuUC$l;9~|`DU%+1lrqjrbo5mLk@ZY zzYidi;HV|KpsxB2|-PI;qx?cB9^^Lx(!NN?{G z2@W&ZpuW`f0AjK+@JPuJyK8!!FQvy>^Jn6(vDjdt1GcRVVMOJ2c%wP%^gar1?`9 z?Qu*Y;^FF+z*P26qd4^rZ&qHuj?Z}tVw~n<&%2v%gnkV7mM2aI3E`~WTyE{bg{5t_ z^YP^34b~m%JI;2Uh=$}H$Gz`!yU}p0_TkdKfTKTjiY~An)Yqfs7oa(TXN+jeag$u| zl@7{WN-OI~FYPS}jvgKL2T-3%>|VmFOZ*8AZ6t~(fOy4vW|#p|PcXK{vo<<6gPW>melc!8h{=7lnG@^t&WS+{N+E|}LV zf9>07Zm*6GbY+Wa9&)Hvp0%MRr(qKVvepPZz~wFfJXbm+?Fm-V72Mm;^Iv3DTYe{5 zddU=~3b%bTnuC~X49u3PTK0D`eM5)nEhyUQXw(w=^At-!XrcG^&YAyFPgz(NfBV5- z>vkZ=?a}Q8pbhHq-fiwO1AHl?oITw;(a5$k_afv&w1)l5UaM}6$+n}gX}!_L=9AkY zf0+;BNU{@!cZQpSljS^gN#^}#454z-Fuk-b>WS<_p~(aY$t54Or#MvqBUHMqDOrWj zk6U?<3Xm|Bt6t##@yD1^{B*LJ{w*CAG6ZGJL`ch>K-$s%GUZhxE7woXek;Db&aSjX zbG7HVxGhXd@{W()u9}IUgZ$>Pd|2D=ykqWJy4H3b0BY7cgZ1Q5+Zu~s27H)WwRGXL z7FC4iduElK=d`ZWO^7cJ&YMP+e(xH(kjQh3vX!TBm0hk;Vk9#fU4n~sDoX2wXsn{r zw3C~o?xDJ=X!mJnrwzx3zeH7F9~Sxu^vIJcF)56-P3u6}_TN1}wWat?!~V4VqkD=n zHIQ-NnQ+v;tIs4K#F`6M{7hhzj0g^Ik5G5DiUzNPDei+^IhdWKM;S}PY3qB@fV*kU z-NjD(=Y1oFzrzW_Eay1+KxHqzfHP>``mRSspslgXHsvGQ;-yZ#zFEdWTYi4*4rA*s zPSoIv)ZHDt2^c{&b=>PU>#+ZG4EdRaNA?VnRg@3u-*CbRS8oqvD51%n+7>a3ld^h+ z2m!me6}zOLjk^-4zuE!l>cg@Z;|vabrDK1~7=4jlCKrX-LzXRk@x*e$ zzB7N)v9Op==hmsz+G5V<{kLvrP=)_}Vn)Acn4GMX+eC z7Jed5<8b&Ff3(?-Nat~5-+?^o17k*R16lMTPd((PBjtdlf7|Q&gqL%6@3_=sSaj-( z$`;;zJ^uYBUm9k?ZL?e0xU(it6Ymjm427;qTtwALkbVnm*QUP;QM<2)pFF7?iDRb_ zlee09mR&Zr1|3xdgw`ivQE zk|;;WVN_OpQNCbRrMaV zfB}U?OlF>zFLyMUr6^`9(V#KMJH1a6+#K*{tSzK|T65KB`U2wpuipnexRc8+$@IQV zw~veV5LQ)@>KBbX`w-5lFLagKBfhpPrS8tZ-n~lcvUDgLShQiM(8CCMuF?XxO>WKW zsMh{apy(C~$f`2YkSlW-5JWI4LFnZtN12o6u4GTjVgo{h$X%54X?$p5eDivca<9yv&Q4vq;Wv*CRO3U%C_X~?`RV>cr%kcc zEx}WLXs~{+SVm3G3$BGc&bIN@2ic;=WG;vu?omnfKb5(|VBoJE$`cc9FwPT877<-q zyl|``Yzp{bXps6lVtEv)=QMZk$7$$EC0e zTWWm|EOO@|pQ7n|&z|d1o3H%kOt>=V3Kj0c-UjeDh` z+~}^u5Wm&4aJ&9BfhJ>2YsWrBInH+0DVtZG&r8w0YOYQaF?H3f_-wzg_b&eT@>HBc zf&~}}m&VB||7~uc+g)8VMOhz(!LyqCoZxTa&79s{V_mQ6TkfP+I|w0|GOGiArU0{O zWL!gWy-2Iuo2)BH926^k6rTydQ~BTo>~DD>**YMg3}k+N@zdoue{TBAdp|fflx&+Bzii&tlPRtD$4J?F3!A+?kgnw4i&L( zHn!ix6fKTDZj6qD{)Nvz6;W+;&**+I5{Pq z*`*$1b|DiXK--X#UpoJT2;jkLs-hDo0)raWCadvGv1jD@vi>7Wo$~ekXZ)ah-CZvF z^yd1uS<9}g>6N2FP+M+)jG0%d5R=2FM>x~^SEV*gbK#cq3u>KA^v$IP!=w42TGYb1 z6lmuno@6g!H+>%NM17vBWy~pF=3VNnpU1Ej9d>)dVwnKHb<}moP3~D(2=!F=fD@wm z)!LxkqeBzs=`4q|-~+HbefmQ_iKou+6*TY;HZPW?9c-E!$@{bx0bIB596=@?HiN}` zn^S^f5*@^dj(1iI&KzMaGez&jZuz1B-O8fQwyoW4@@Q_9CUi+yZSmuBl@^WXfULeb z9Y)mEJ)k#fe2ibO@>GFPw_tvZC)0Z|l+W4-l64h5j%JGrL}fop<);#xq9#NxxKNFNTZ3djLA{DrNM6 zmxkmL_w?s?AUU9fAKJ;W=Fuj*n4B8+6AR zvbWwmJRSGF<%;R%HNN9kH1JhRZ7z2&(q$q_rmXVP7wzkrnr^@)+PQhPv+@K(`eu56U_Sp6`~u`>Z3SUV8o`99}Fb7<8}n(iTfR<>^=Mos^cVZ?6U@zPrdbV+?hM`1J^Xg=l)BW#x$i|;sT9%7iX-=Wik7G&LS3j;2a^gWKoMU2AUW7q z;wa65LCN{MJ!K_UgQdP#GMJtW9<$H4FgtrwN6&ZjygPLco$$+)?+vef(k_s15w=&W zU{SaP;7u4fce43c&lxdIpZVAs9HuETv><64nZl0Gof-Q4i@$#(Py!XHds&A3-O;{2 z9Y(v2?3d4NHYY{5klkeGnGg`QB32Ie)!o(xh5KK66shZV6JR?CP^uh&w9mJOFRxun z)SLG%Y7Ui>ZVVgVpROhg;e8CEMW7pF!nT7iG>as}-50De^x&73nP4OA?zSzaXgVZ* zKHs`;jw(!*D&zF(UJ9_O|>oG{NpXQR?peS!?Q(^;&(!1$KSe&{LKE;CKsHmP^?0 z3nHkD$8+pW@aW~hxnN|Q%Duf_`Mg@Y+H+zT^J&wZ*UER+63W?qQq!GTCkty016tcu z^p}4z${Y%zH%0B5x29YkQjxv;arFe6T&eIJuAqNujLE$p3a?5xdX6r|1%-6cX(*i9Wd@pMOHkQYASZ+7|q7W7lZ<1A(D?_^Fk~`YGo0y)fom0v&YKLX@Z?xoY zjXT#2AS@1Mj`{H_U|w>QuX=}Wv05_>;u_)!|0~i*dXC;g{;-|>dn=pmHvie%57#H7 z$}H0_zsKSCJdQ@+*zg)5HCB|RG)=$F1@Xcs`_iSkAe&{HY5xvS*xu^KjA{Qh<{N%7 z`(D0GZh+HGmjozSudqF%HJ5KfJ!U;YfiJ;0<}@hP8p}pcI|e#m^&iEvm?kv6udXF( zD3!$Vtbxe4<#FzfFI{t^W#X)>`}e-{n_v2)8Tr|NV5@zujf+^f+P!Wt zaM(Ek1(>gMs>V@sheB@QWX^xh+eE5?9rM_hOI)2kp%7WsYpjmviGW_i^i~8a%{IyX(^zZ{@U-ac05A*?QQwp}ilRb5nHGi?h_RIJT7A z4_4Tew8&OjXp&58$Hkomaa~VV!F*9G2$vK5X1Z{Kv0+_-j$_vmW(f}&` zc`CQ(A#2|)AR6XrD?7Rj;=|@L%SONrjNQ*Rx6^`>z9yz1UZt!;m0O=Fk7swlY zVuXKKcH%3^e#S1PpcOGUb!D-)ZH0rYNJ;s2q*T~d9n4>rNN3}ySSA1Hk>=pJcC+Q2 zO0hP^c7@3`<{Ay$sxZHRyupdJ){|Jszc9dq-Qg44L0V;-fH@c=^E;w67L=%MJntYl zd9rGhmhQ4i@u3lzF+H;mh3 zM}z2Iu8j&*bB z&!TA0yJs5q|Q)vZ($UAS5?nEu_Tcd)0vBk%V1*M(j&SLGAgP19P-_MtLHC~j@Xqvo7j<51BH99^S26Qtn?y+>J`Y7 zKF|HaXJ^)^VC{i%Tn=H(I~XlZgo%r#@Mr&Q{oXKU$q2%R?`k(GOQZDtS0g*6Tk;G0 z2Ut0*|GtcOA@kD@l6mZnJ}{6M1-1HI*-?wD4yR>-{OvDhu`T@yYT@_ZB=hO0v&-It z&(j+>LF%&*j9RhjfzEl&D4TirC$86+vdBp{uPeVc zUHK*WwB!|i@a zx2)L&6Gya2JtNT^|1EQ%*23}SWCx7H;=Xp+ zu#x2LWm6muwVXpk`q6we7LE0;N&z z&u%nfne*4Y{d!PDwsj{FU?;;`VXtv; zBTuvO&XAqe7D4=9-iM5OB)R5AXxD z>HJv7J71Z(WOKc_iec(`#V0M{^89SCz4xcjr+29OIyOXc`-S29Y%mF4v9@h;$r4*P zUz(q|J_=#sdhgw9Q)0lZ2lwYxor+hCgaGSRdLL!D1(cHdQM)LM!OYWk+21hR6`RCC zsQ=srQTx<7VFPALGP6Zs?RmAL>V4i0YxvV_=Ue&1VRc0rwKU6jU->b2tatr8>%^^2kd>8Pcs&=7PjcPf4(s-ow@z-a+<-|$*}{PdbPNJmw=N}y8+22gxu^Rz zk9?c;boH=8te$(Q8ePrhhMkKsA1~pjZ1Zk=la#2&rvI|Mbp8Q#%&{(ixn4c$m73u) zT=Aua;{x*Pr@))eikNysliMz)UN8|7G+HyQ98ru@{tB z12pihA>_U2WbOg1b6m7!ZgXoR=>rgTBc@-ZU?!OciP2EK-gogmOaIMPRNiRU%iWU zt|LhZ5aM1r#tqezR=1}+zi>M_f~u8j-D_VLE?+P{&d3&w99!#vrwIC=dT`cW4?}G2 zwlC}cUmHm_Y-y_u3bA7Ni8m1-Q)MU>T0ePegiYOgGws(|{~Le=Y#- zgWe@oh8uukqqo6HfKI%#uIkFUlqZXLJ4BV~{_X$8^D7XIXlm=^l_==lNp#IE=W7q} zVN$;o2Y8kZAS`*i4ui_>hSB7t7v}Thp(8B8!!TDan#q5kcmvj*SDW5IZuJGXkO?<;0_+WOo2n|i;NjQRbrN;lU?@sNz?CAVKzx$T#?nNwgbfA{(yA=TzBhau(~W@(EHRtHJbAuf;^|15J`Cl^w(&dkKMH82WJ zjn2c3tm-j#_%=3OfpCQL7%whXi_PYzyZtZ^S+?Uvk>7RryelNl*+wAllezR)Xf{ei z$hH@f6S1w1t=^|h^r&#%x^E>3R;xRt@jG6t`d?uAMr{w@OV&q*Wq0QMJ;9yAb=!aX zqfs-?alZLCED~t*py1;m$Mh@UW`M(ZR5mQZhK*)>r2dGQpF&~ZDx89<>SZ&)3o zz+X-IMK7PWwmB|uk=#fI?a2bKgc7q|t#%y;;gjMb-xK$K{)Dc^G?`eMwe{Np4Y|w>9a=xt=uBH2X$b?ZfzjrL3Nd%$nHSvNRYNn&z)0mG&v3DuzbJW zmfx;>GNJ;04)$8sZDmK;i(#C(#tzbDQ>}E4)LSJ{%a=~K!lSdSp}ktpZB7{o=5wEM z2Zr;Nzn@o`8y7&eG-mcFtBrKSv;_MVmths}Y;yD4n0LKl6-{5Sf&^I#8#@NQC4&)- zmo<4a5j@83mCBmhGuN>BmbGbUgNbMMPRp&@I8g*4+ra@PU;m1PdU!;MZg^~P5Xj!7 z>uxXnlfdjke(a^9j2ik@-vn$h;!Ql2;oeV!Mt;y2A;iRqpc%csXYpuX74Ncs%5Jyq zyOW_MLJyu0x!y&cy|vnuiU=eQET0iq*4sab2*G^`j1;>rGX)2M<+rfHuH34puxzxu z!C*yu&{?qG7VbE|R){Rexm$at6nEqrj$B3!9)gBVa7F(*$6wMJpRe)x)%$bL586|B zAr@a{?oAu@Zm<%5^ir9`IqI}vs}wq`mRiZr$~@zF+=Zl2{0-5%c7Y|U6%_?@&J_~eb?b$IA`BjXeRH5x%Hh4l^j=$Y z{u9a&%A^6LfXuWW*^j2ut20;>3txI5yluO+nY?irX}#ceAZi}udwmD-pAOT}>&p4Z z0YElp8NSHx_l3B>HVupq1H!?qH2VjI|LR*uE#cD?!?t`JI&+pOUt zN4r(dJ!V9MUO0u@&8*4N0_hyz8HVi5D|D}gYt&d|WGht$Lsz!;r0hMubG9m!2p@kVqFUvMr@nkO@rnf!L?5)k}K*V~;WXvw(eNZJTbc zLuNs))tP2uo%^dJRIL_Unx4MRrF`0}du)5vv4RY3!jlT~V(w!jHu?M^0z{zM*PhR zXty&k48ig&2o@rR-rxB?*n`8%PS$+)bu{ZFe0=((y6@&T$JgJu;ouN-#(wb!{u?nL zGCfE=6_i~*Y=~anbUd|hRwICsM!HSc-Nm8O?b=dpR+Eb==v zmw7I+-A$S2#p~?ZPe(BD(bJFd8I#A-NVKNg(|a6d4NP<_m|dvNQUTC>Q81W-jNaF|qOogPv!6RW71m>ol1~bc#1|zh1 zJ*1)2$^K|&9o~CQJNFi$e`!{V^YyVU23zBbEzn?lAP2)@ zwhLHf?|phbI;P9*Hi(Z~T9cO-qZw4~%U#JofAX{A4e7S2{Skv;L+f_?ldLlZ6UEWr zGFZRY1S&HXtJEbnq;bwIE^xn2pPLxrvr65>fR2Bdo4?P5q?@4qhX*Z;sABE&dQYP3 z^LA@R^(GRIa~Vr~!ZIT@p1=IwT~{;SVmEczit1f&eiEsm3CW$Wi0}Q2?kXw_kxh=i zvD>!u6I4RS%rmQB^u_8@ZwzOrsr|P4J90Q$^!pnfa&(n{3dV*z>R915ur5CvQYg1A zlg8%Jza|gVP{pNK0xxw=#Q`(XaxS*p5Q?7txGuSDyb9~zXLcbENuK?5{cas?H2kTb z*v$@cI(N;!GJE7_WP3juiR)aB&^0n~IV;y#T@E+><%9{Ste_VQ(hMRORtqK99E1dM zp`Ysw0lNq|+No2o+Nw?#8fCEFfVl5fZy-mHap#L>uo%)B>`Nz>Q_=%WSpdkxt#U^A z?SUUbR)kN~l6y{meT%398(t{n6cPT+>ZFu$-tpv;&W&D&KYnjjW@Ra7^BqE}W8NUQ zrrkBx|DU3BZ8ud7qwsHWsvM)psYs=xQY6YTRHz8k|6kAgvOnx=uWRjT=Iwo+F~&WD z&b3bU9Y!m9Tf_xJ85F}Ey&5Ww(>Zji}q`S+V+y~ z=$ITrwYV_2GyY!oazQn6prYa%NcIkB+t|ocCamHa?q;Q%(!#pm{u1!ejG@C&!_!)q za%}W9F3>@U6WcfDN6F;7qzY5mjxJ+JyD#HO<}V*pAhP~(op^`bh0&$^Z0D^v#be## zqL9JQx4#}PpI4t&+baHQcF`P{m#`<-ba6)QJKwoiKfhPY{ybH_y-JCIdzHCpTqhN9 zL)GzAdRJcB7nsw1Ap0ek#{PY0ix!m5-?p>PujQ^*Xu;~YOm@5L3S-`eiqX^X9x8_= z`5HiQJ|F@(*yQE*j67!BQBYM&bIp-KpP_C_Xj72kCD=ZE+Y@NIg)%G>yhm*-au?~~ zXo17QIPb@Dr!N4z1G=DE`kGQ!nYk-ShU6%dxQ$E+q238Vh;5+hb@7*o*Akx&v~*F4{zIf#f?V6A{H$G4NV6 z1#V{YNS6Vv8oBSk8~W|s=2VLkN{RGR^PTjs_a4n%djv!rl8ozZ3GQPxZiyGD#-|}v zEC*>_HX9}nH|7I!IGFMJ8?MSZ$lK-^^Vq=Dvsx+MJCz(agLVZBr6RA+k0gBWXSWF6 z$Zz*=5|W?mDIz~U{|%1~)BljM0}eZA>vsf=e~rC~WuTu}`fe{&2xa0pJ2k3p z;3Sn^5no?TMKT=nw?%#Rd(X<~4i`qpi7lNEmJL6P)Aic}UzIo3j+vBd(haqmjpTMd z6qK<(&@{Z-j8x+3E3!lZXQsXf(7}FbM?h230#N$MgXhd!k5Bq|4AuCLhDrMGKp$`^ zA9t6OKllI%2Pm4&?w^Ul1-g*CbCkV0=~X;$%p0?7u#UsecRBKlB|v$0sl!=n=v%7e z>w4qGofh_r?annKY3(&AQw3F2E`ORU@e0XNe$M>zD#lj|%FBPkK6&x;>L+w@WvJTJ zFNSOAU})zJ4>i_%e!JKKt*`H%q{_%C)!SaY?eE;q=+XaA#Po9K-Y__>M%G3eRUx9Z zNq&3Pv#wOVgf{arrIgIl{ZC$gVM;pnNdjY8S~sZq#^I(}A6gd=r&qp61553x$+vX2 zTC7BTD^p4{B)G&VQy?BSbCG3iJ7}XxSSBp+Z<(20<`uV}Gsh1^#vi!NpX=fO?lvHV zd>yyEG_IQ+_p2$W`c~*t9?#TP{gwFsdWE}}F}AE$>RL=t;$2%$5>9|ho_n>%)>d+r zDtV{EOVnjx8XQmgT~jAPV!u7o(3pI0C!Ig;fvd2_cSbq~Kag_o?Xh1NG@Ej6APxs> z!ojY2*IxNpc?f2<+5^g3d#kPtMT0Zw;rpYJnGqZ1pzDOg93Y)aV4PgP$?4>q6SEfP z+SlR)b%6Q+TkEN`Ua+lQw0YHEb59!c&+TdW$I)izeMZfz5J*^>`PoZa^29wqmFknS2ku+x`9W zW4&`!k|rbHoJeF-<(F%mpWPF9t-(aqo0#uNZKy5tGJNo@w2RY^LDJKq6na6_{u=Q) zP73J}GGJnRJNG%l>Y0dwkm_v>r=_^u0`WRi=nlbzW@ z#W&zm4YRl|kH!5Bv!Iq97V#Y>We>UP241Nnq6}`R=>ZeW8|3(AvqCf6PnbnOEZHmW zArSNFYkx_bFA4K#u>l_V%2$h!)h*xVWYsymdPDWfbU$7C z7rxr_)hSnRUN9xP^6enuL1RfRUMg+zjUNqK{VU_!YGWNQ&bV=eTpMhAjAY)uuT^0Tb`E$292X}0RQwXLS{MKWnF`5fSN=OP z`En+FfY5{FAK_l0rp>bX2qW1Yf^U3%HJjgVHmvE&Ud$=)@t-?vBLbA6lwpOvd~yY_ zuGnD^(pgNeXFB>M=igPnBn3u;vbL)~!`J(X#ZN~qf2R-uql9LinU`~1ExzVqIQAHr zUKh&1-$YPpV-Uj>ZjG}1x4I4rRjFHIcQHijEbFs+ASpaHEv0Pb0e_WM?F*1{3;F8n zXgV>&xBtAsuiOMh&|AD7)#yibdXfjAfb(aL*Av)XaM^20B`cjUIv^=kkFVikQ9PWY zd%ZZnDJY}e-69FtZb1b!t>+K1%5wdgY{hySq4EO;=%w;?=}Vo}UpM-l&BLNuL-v0k z4fb^a_v0uc4_mlek5AA=7ZJF81(JjI*-GwJOV!HSc0tU_o2_p*^WNh&A{7O{wuZmU zpgiE7;}yYpzUuQjb$}AR{HVJ#W~e9Y^~Wax>;4chLP7c%>%T`A)Hmib@BJl{8|mk6 zLB*5=MvIcg*%avWSznU;7V^p7z9`=KtkZ!PQ?l`vpn#IJ`4bu~wUN;nW@XqQJ512U zcF?@sriXH>ZbX5vGbgRjbY1wpd=ct%uu&LP!6w5O>*ZsGL1pJyKJvN0L1pqurw47h z9UrN`D`a^mfRiZA_KQYCR@LJ-S>aT%Rk}cNH!wS9!^Ys`SrEFkhwW2oO}3GP;8q~N zUznIcZyCw*I0Q;Z^Fr3nn!IalltCB)tH|)-mh<;#j@?gkXt{54JMX%$D8Qk4B|gRq z{?-S?ub-v6Mt-fIc<^BBA+KPYU%8Fk9&!bx9k`G6ms7zV)FS|p&A^XWWQd3Gf`4nR z{>~UAkf3&KYSx7Jhup_|PQOz~r6i;MiB>#IOr6Yiwm?BLQCVj)4%zi5+reMC9*CQ( zVr7@RXe!?toMXn)opasc$=TK>+x!72Yf?;Fdc z0sH+Kyjd&o8i=jub6taHrs03D7CZ1S#}+_!*?dKAqC-RYP> zyn~95AaIHMKbVojzC6@-ZubK_Say8*djzpgR;Ec2+iA`1^j8acyE3>M_uSxYZEK%n z$rzmc!*TJh`g!Uh&9+UtMiZ67?h6w?$VX}Mj{)uSFRoSn-b0nI*O0ECdFZ%0=5`gB zU&_F*(OUb#aW>PeED+GcBD#!yE9zAagYjp>HVwPcUZICFCC}}@CQm{NWq57O3JZ3 zNBVHKsr&g87DgWkr@qV77ywiQ^trZXFzP5KR_kGnTV;9yZvNS1dd1r2C$|Pe`NiV^ zfNJaBu6$xiIEul7(sXjY@hkew4d&uTTKlNMhz=hj)^csx3VL2NI0`-@_9997l zbBAP}g90dSG5R$;sjWK^2D`===eN~g?h3uFD87(k5A#tjMPTA} zWzMV6?>^KQ&wLCq)hckhDEricI*SFR>!;|F-gPCRlG`-|Y#kqWG-&E$nxh(udYs%6P) z_3S|f?ZvAG%YIW}CkwAzMw)F}X;=D87UX+WP-muN$%cS`k+dbAx|yTDH9(kBOstd- zU6?B;N!~hjoe5JOmlkmX)v2FnH@fDh-6~3>oBO&WHQ8Bb9Xw`+#uGf_7TW?+ZQhhh zT#KtBm;fv0x8X`b(3!z#t(@sfoQJK7po24E2c;8#Pj#{d_-9npckh6o>G)=*44LSp<`(n* zZv%o48)5jds{XzWa8FzgnEg5b8uF;vXbi-Xv?U?BCtH!Z*PucvQD30FLK%8_Q<|Ld zhiMFYOr7}8~(ZZnFK{2+Ro`-{Ng@g*A(G!V~ zu94d|R|BLyS`UJ0J-5WE_5;ao_pO=``q8c6qYP@z7nPz?DRZBDcb#5#qx>4$mUX9t zKr;yZEzC!hGYk3|?y4Az*Uqc+iN>&MG3-jR^oA?@0yjX(L|)&c#WHql#5*VPug1D2 zzAZBNZa>aDwOrwV?hiD`Q3QC%@gbXmKfg11tQG+(!O3qN%N%XH?y=-Q>Kw)d5>k|I z!L!i%+h`Yz^rqWd1-zddt?!6cYui%V4H9pC=E*!!OF4;7TeaIn%$VW}B7xVuaH_|< z*wCE8^|Zp-G+}5+bF>z#48RS|N63@$tv{(mNyrDaCbCZfU@DtX-K39S`JGfn9in}t zFVc${+WTtPr=IYRXd&*>sk9$Jq*`xY#R?y^gKqS)W0B-|bEWJ(Wv_XOA zu-oFr`v@&+Y1~ce>zFea6Hqvh8<*27S@BQ^Tv^M;+zxyoyPn)2J6fTlk~MQ3wo|-& zknfY>WRU++xhWmjb4~KBWl*vs!PYt$`zX`-%t{Jok;2FFR;RZ)je3( zS{TI-9hRCMVRh}K8f2^rc2(#G7fi+qh0S-G(dbZZ@bMCgzU0nAWtZDaqx6=5^3vGD z#0Lqy^i?P6Aq?bp-qBk9y{TTf_qlMFi{)E34Ut2fw+sJc<7n$W%*&002lj0 zG5oq8I958o3-a~k=e7r`r`koNKa&w1(BlPronI5+8)r{lA_>VZ`6b-d$N2u8N;9xD zIuVs4fXrmn@#6O&^-gT{bF2%IwZpkW?@Z0#Tk}gSq;=cg`C{jos`iGAw$P2hv*X?J z{B71p!y4+4LMer}SeJ|0ZC`EIqO)=m=gnMG%Bm!om1eK==6sA=P#g#Gu3^v5GspM( zdYH#=BlL>vd}AVV$4vr72l}#nh>5UPyPr1Sb?XYGi8nuf3bT60XeBU<9ga}i9BfiX zQqa0^Ur%SPer-_>v}c9R{XHtf1(H}+*bGcMe*iwq3>p6d9zHk2`u&aG|GB3f&IGqlkR}!i1PcYNw zbxF(Vv)Za*4OT=(iJ+(Ts{19c!9vLaP8o0?N@G?RQm-2 zsL2Q9y{2;dI1zDb9u;S`O7d%HsiZRYcK$bq0~9dgaD(+^1kl~0wfwWa$>?{;o%cC0 zgt-^$lL!zGU(X!ooZ)Rb|87{|AzR3xpk{)njYed}yO7P7_nM~51)*5GKe9Z>vhu4` zdzAaEHn^Ez=DMj}fCLT!dO z)~A4og>>`R?DQtd&_ti;#W5Q|)m}#{T6p#x;@zWpu2~k`-vs&Uos25aeF7_yC6Of7 zPhGFKE5|85YvMYYUUGi^aKC8N+zhq~JU1SOpTQzM`J`ga%YU^MSfv{A=xqZ{-g93G zISKW9wH42cn(PB(dfGez5cHSRtgnx_E93VV|D^D(St_Zh5Oj3rsua25a&u$$962dYyG!a zjG^YGR!628(O9?*=Rrj@3G_BF)>k~dRv2ov?Pdk_h_?#C&~UDwHv$Vjot_hpp*?rw zJ`L;33r|C zufBYB1!uhNDe5sJ%6$fN@|BtS1Kn}>TPox^XDwy{%kQf5Wl>VSRt;R8_J*8=&%f^u;XYIKKs_8SSi|6JYmTV#;cmc_tmW+uKOqmr`eW6*uk+8-%iH|a z=W}_7N6Q@_%HeE%86ji$_JD;^UVPC_p)ZM389v6n@POd|2}kh&+aAq)0vKyCEfxDM zyi7q%(rzW~^atu&9N}M_=?~LS?MecuX&X(TeWFB!>+kZAp)*2T48(&c9Ugc5t1>{a zBYMk*C5qSZ%9q7vz6R7xwq9%Ewia1T$7jiKr&Qz9DfgZs#)PXza3-I?w98c1uVs-j zb=J{f#HbeZ=Y}^BzjZw9`kc!ZV)d~lpx=%Vj&`NDygiD895E5E?Lqs}W{Dy0FRtzy zj)lifBpY|63u2hDX+GCW+v)dhX#UE6!maT}PRp+LJwIr#1LI!L)2WbF;6)6sU!Z;@b@pMKPise{<*Z*Y&xC{23z>V z%F}MP4=ryV7#qp2e1KG4zf@hsIY<3&LtZx^`Ba~;C<*EHs_&=@WKzIs??~0fiWjYo!C937pX|)Yh7SEmN$~`l z#b92J3Zt9|tu!n)`EE*`?zz#|dqiz;Y1N^rhr#DXG$Kc0-tPw+@e+S)HAfe6m<53v z+GQV*05*mN%WRrckQsw=jDE;jPy?&+fahE$o8Dc>cL|rH}m*#8|HFdRF)a&w0sR(%kw^u)7p!i&EM5v-ih^{}E@j>ariy zI&w7L&uvQn9vl&$4bJP+m85`#jV3GU(^7{*s~lI^@Tz?3w|r}K$^Pc8bBEwy8{c}W zSMz>3w?-}YR?3#tSjEg0t9{NedZg>k(-W)P)X!=z)c`EcF(oIxIsEqhIh^TelODEE zM>zXo$Jw3=rqCOH!(cyL9EN;@%5u9Tsr)5^;HzJPEL^TxvpyI7r#?U3 zNukpH&||T8nxTjtKzle30VZFx-Qwn#F<*hgqU&o0xKY; z+`B%nc&ml;s6O%`7|l%8^DJBY!zbyiby(vEur{3hIR$k3_>cL;;e`D~XWP=ly0!pi z#NaP#-M*3Zt!c3wQ{3=-QM);hg{)$gT5tR08=d)iw?OmFjSNod&0)I_-fpFEna=(L z%{c=#zG3OkVC(IqTh+VRd6ALm)VqVdbY(qjCDE=8fUD% z=Sqv=a2%C8r0|<}R@q3(-$tt_sT4ZaE1j%nr69$NcR7QW>3ki?4jXD8sl$ogEunKk z^-8^xByQD|UxUW?tW>^&(v({jM76+WV%tp6W<+!_hC_{GVI`DelgS71LA5Y}o z-cP#xn&?BKL4jyJwO{wF`LzcC0??91b2%I4X@JKqEg5}4)7Jo*Nelc>4){k)p8d3t z2T*{1{S3ZP<1S)KwxYh@#aGqit@44l(7r?$m_O~_#^QS*rflQ6>5Pw;_$DKTFTJVm z;dYVJn^=9KMz7fhGv;eh*K)FZOLNNtniKvYI)r@pi`qQ5ZM_a!Km$O_eUBb#@tIwk z)UZ+fZYevpwDQ)9Tt|t`So_8x6tp=Tu<(czpu8;w=S2qcJ#ZSix?e;U}Iakjry82F4Cpa zj&+snbUN2dU$69^@O{C7cWSR%+(Bs|iT&H}rb2heftAj;=9`jDo7~3a6oI&}xm)JF zRLWGdjK2*to$Eu|3Y}8d-wlXOm8lLxZrIA12j*}E-#=+D++(aE$Jz(}7F`3SXs+yn z=DuY#$!g(Q7QQ*$8==1!`9HBKHJoDg#`p5lNTUbjsYN}0{Kj`H2uM^z1}}Y@UsH4s z(xo?O{60Ur+Zv0#&h+;6+33|Ke(-yNNRUUwqg#jr19(T@6OwBk%MP?lttp9?K;f4q zW6P{^G?X~fyF0qk|MUZ3D%!!f<}dexm4M?8Vk`Sm4T0NFXheh81Ic^sikLw0mGkq# zbpsZ^2*0ogesN^R3i+8J7ZR{Z*ee*moa^k$U!q5X?UT~(_SgN7N*6nwJ}I`&bL4{^ zGfT}EwQJqww)54&M~nL&qsGeH+|@yHDyG4`Z;Egx-)rU%Iu^?TQ&cgd(>)o*!KU8X zynCOn_du)0%H2PRSdfO;z99#>%Z=A&5F;)>Ua9(xz&F|(xbrvlT5ls^^=lsa{>g*J z4QiU7RUuG(RlBeqb`Me3_f0usoN2NJRIgvXmp(2aXs#T z%1t237^z;^wCy)Dc%fcMRZfJ<@5p_!F0Z5>xsfIX>8GwAg9oGfqZIBir+5JMjlV&} z0?Xaab)mv9*^hc6clDghb12uyaT@l&-Dw9yi^rK{-!}T7nz&AwQyvR*VMZQf{gKsb z+^6QY0lXTE`@|@@#q#y;tNkF;3>2$LuDCDt3rmRkz=jJREyiAzFbMF{!$p#6HmR{gB7ajw(D;IVtF}?LB3hy1qB2e};t*d3{p(-+e(`s$T)-l-{^kRYC&40Nn{Cym(n3%Qj& z>O19`ck|_@(ah8hsBcDqD%X3$q*I&TOh%;RwYr-@e+_8i{JY52;8r}PoV_vLVPS7i z)STU@lZr!zxCou)+PcBF(O7e&RlZs1FRY z{n4ZaZQ#mXEjOG3V>u<~Wnrg!cnVB>tr5dxt+Wm2j{{&H3{c9~Mfef1ZrV?)sZsm1 z9lOMM7e?Mtph!ht4N6ahaea6{9^t!xT;+HX__Q%P;q%Q#C0EF?j`7E(OJNl(_g=Ua zw7rVR%-=UyhnslnTvXk(dw;!N-r1a9-lTAy?*SAj z@Pd53T&8jzq-s|7#%AwkBm4@o5>vdMmd41fzLjkcJ~3=ar2T>MS{ZCIYr8M=HTvAp zQswsn!bnX}r*~pdUMV)T4)eCbiL=4cx7Lc$q|#{tiu(RO_bUhjtYM4~dk5Z@SxGEU zrOhu?u_69xqPhe33U?yG|A#!CFW)d$Yn6B>7KoT12<@#DDeO9|5zNew&@bUDbru zBih;?E@ew{`Lc?)g&?dXO;{!s)WU~>iq3xLcW{xn-LAyamo@u`bGy`vvfheX99s%s z(b%BpUG}l1!Z&MvZl4H&iqB-mfd2AsAzp6}Z>kR1al6l5@HqI*eZ95ZmjwTE|DAit zcs4RQn}eUjs(2nm#rU?51X(42#^Y*agV#FI=I$YST)T8EJ(FCl4pz=4Bt&9&-n8yd z$ni0R4l9vsh4x|CC`%8u&NUNsS*eq71U+{jR{_r?Jt;M}gVI8;Nbrskh)i&pY2C@K{=*^K5YlZM+l4U} zU-{c1_K@=>`kqwi0R3wU3H3f zL+GFVCPlbMp%$E$rPBI!_h#x*+)AI6f85b6G`%U?xl`I#UMgLBY1RZ8hkruv`(9K> z+79q3r%~KJHtK~#@$sH1t$udizlz%u3?~_awnz{-Y-%Fg~$<@A->?bnb^d8#Mzg| zK&#V~`MbM?{cN@o79qru9lS|)S8neGqe^R=t+VbzdgyCz{C5d&tNNt(NpEPTypO`T z8#Wgr|6Isw4jH zTniV=!|+xJG+6qq+Btr8x2)2y+nLZ$LEo9nMc!T@RJnXiE?D^fQUg-sa%a zxyx);K|=t?tGlf>a_mgG+_6vT*{+y5XcH!z?&`)Ylf%8j^)%UQpx|U#+P=hI_@$xm;(HD* zA6`KTF0DFaN&Snk>YG`-h@ma zlWC9jf7RT9EA%PVPcBaW$U&P{By>vUg$_8p1~yqZr+pWow4!x?Smmyr>uxr~Qxy@c z?;iA*VrARlF={%zJHzkEe)bGpLhl@zb8LA+ZY=F06cHOoxyGWvrP9o$^!_&lndUFx`q2VAJmp#S-WKaxp``jdZU#9a34jg@x0nf1u%j}_B{|IJMVDvc zoZYtH<04WtU)?noL)}63fV3XhZ@24~{d0VFVCj;4JE;z}(%!2=aLq%cUW(<8?elp@ zT<4jGlCLgn&%KrxC)^0VwZB5uaUB|_*V&^onGoO0=Q_F_-e<*;aN{8?2PdXvI5p=u ztx-#7HCjq-$v{Sg0I9jpMdwzNEIsVO?pc{lvooZShXV8J(Ctmp8?|5NAe}77{JpkU z_?Zdc7Z4DO!;PQ68XEH}=zc?6Pu;ixtQLFZxVink*l3Z9%Uwqtr)Nd0hp_$58rs9C z@fTj8~^T#+2nB0x(TiGM#b=dhoLEse{{8CYIO#Y8_EzH*00-#0XI*1+z1POkN5 z4Mxwzbh-B@xx8@s1XfG>J3-PRwJrMjF2R)Yx`&RN(mrz%DD=63Q9p)FOn3qd2 zHR|noHP5ieG@t!Za?+z^?KQ5mmD9L(54mcCer}7`mb>{1axLF0EplgV-Tu*Ux%-Od z%W981jg8~2&idjQs?JvZ4FpH;!f9!De*!30pzsjQMG>Y7Fhb-Rp3)Kmi8++N(0;=qd;pFek69FnWtVwr2u4~vhjAn{5s66ua z^x@l}Du}`>cA32VrPS#yB}e3W3UOZ?+v@vVhM?zG{ejuFLnnk5&Q)-}TvK9KsN4$| zuW#%jIgY~K(y1hS9y|#jWLxH!~|W9e#QLC%r(eZi2~O=@w7W#{>18m#?MT5U9zI87pa`3b#%0D4bV_ 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

tEcn%0o4qU~**+x7X>zeLE#6>mHW!$NV1D>K}YD zw6u_!7Wp#aDHrdz9PI#%<7ZrTnaWwV#8HZg^r1e(BFS z3(F$-;~A#wKNJpbe1zAc8SRZd9BdHMxuvuG4C~H6ckg+Zjb>@}f)dX9d>^>i=x;$q zk1c?Gh094Amld{qd*_ML!CE}NFolC@aUSEc)v+B*F=9jbnEB4$i4lsmM z8{m{Mr7%a(*Kk4Z+rD@3r6jj79h)v?o}P^@*$q>6yYut$29M>owc*cntA^ZrLv7e6 z3UjL09q#W+?);8rKRQSC9c;G_%nQ0aCq)`;@ZaDD{SIQ=o}35Q8St6shNAyQBUHiH zcd@W)tsnF7*&P)It+9hu>Ay)sO5V5qmRc+EWYX zqpttbK0CZ-aWppi8hA5~W+7kxJ0A1h{y{61yIsEGbq26U{`IWqi|jryD%ta+T`NaO zE_WUUt#?R+Ld+JIdrrhq6=#PL{Q005eG2?~pVi*lIAk=7U5|o8g|N1b!>)@C?(w`x zN)(*jz>M>`wlax=dnNsqU=p*u%0{EGWQwMAgCk>HY~}Jbq_72($=;|#Ibvvd>(0Xa zo6rK8HU@16RsWht0c<@_77$JF+pTwB3tF zI@ZJbzJxWPB>~_S>D#@%FI%l;++B~J_lxCbNV&41Qsde{E?bKj$|Vz)ei_V}=7r(Y z%>kOfC3YtVq8g;zW%-?#zD}X52Yv=;OH3-V;^srGZborJCzZ-Nh>vgYPaTZi_?T?f zL4ZpyC~_}Y5d0*S&NL987~V$%R((}dp90AI12=uvlAxa2je?Lv)mT2hJ^^-FIuW{x)L zKGHmE0hPEU0eGU1y~g?ZaGRWWY^^}_F6UKN$iIRy{@*yw? zQp*;{ZBst{1$$Wfj~MxG>0ykAKyV{qh6&g!#YEZlD$qT2ku zHx2R7;ELmBio(xzG#cadn&e^A{wg!idpP8rqkeq1q>J&B*F9uhCE=M2-sYiaW1plp>GSdwXATo~cIH%MRIY5LV0=Yif!7otmlU z*tOZ+>^ranTDr0g2Ra4ZZ;;7_?@P9*743F&bNj#(DUW#}$e{MkX#?rztO;)S&;xo4 zbjJsS0hMdci5dK=sJJK}-5#hfM{1p7c4u(F0t9hiEs5Zi{_`cS(;u9&+AzmwJ*?b; zCye}P8{66}3&p9DJ)S!5ko)G%A4zA>w*coF^;S=;nUXobkJI;eNu1pD`Fv-* zHoyB*g3O5Ta>9kbX6>f3Q}uEAS+QQh1%lqe27yVhmz%Vp9F$#N`jp6NV%5uq`%*Ws z=l$A{`ruOVk?YsgCHglyZoi0u;BeVP#m4*MreD3{f8A%W`#XBd@4zFqS^={F?9Y>4 zeV&|3WARa4|MMm|ZT10$mBo5-@~dW5f49ahtf4yV{w7;%FcoV#Oa#_?n1@0v*JXiG1@B6A;B|5OcY-E6 z>z>**vBm?0uMNKkr>Nr4j?^YN7^+|BvUGPo!ddAAGqpNWZMqqb-+FU(DndJ{-wm|> z{t72d2Mn z8Xa1db)ST!4$xk9;o}Oxn0sa0+9k`&u?dg^u`A}@4`0|(V~;rw61XOT;|hW;M%82@ z_*NFz^-)WHJ-S?&H*&iCD*mVg<*bb3aQNBC#m>M*Am%1HfR^4N31EW|43U_69Lnbg zl!dF9S?y2h4`N)8f5`?k#C%vY8^DK9|4P|GL-iUwlPQT0Di2{Xc|e$caYe?+?>zo{ zgN{~D{RYK#y(4`duFO(X4uUtay5x7Cz-4Ri-IVA*kdoy}OP3>Tx6MyFs~=lGPHvUl z7zVBqWn_Co{MWFfd+*_Oen^e8^(+1qqIPz+dgyS=l`d^)<30fv2{ETCn^tkO5~*^e zNb!0wEynCc+iz~+$%2LYPVby8z`hF(Y%B(Yv;QgKe_z;MAA(;b1U*qE))g z2N1BHj`TKvzu?Xy57bowU@Ql(IHDxfVFuZ`0A(?{^=L)=Cq*7D2lY1Zt00<{%E&R)KYJ+RDAQA@X?{E|{i zJ#OM-)p^fe$N2YW<)SYxZ}oM%-L25xkvX|1*o^FZ8=D#<1&`1hL1w@MmP0Pot2N50 zlW4FEevU#=NAr$P@Y8nCTz?w14msGmum`Jcirh5UHWB-;NeXq4j^h(YY$w&x7suG- zXv0QMdw)j>e3F0lc5Vtm>XaK+BZQeux_S3aQV{xYFCCr{YKMgqf8VY-=WWhM_eIXD zp0zr>|KkZp4U>CcUw>s(K3PB-aTy3rYH@r@K*l}38C{6*{_Bi<_RpFX6tHLGoEz71 zA)bZ1_hmv9%hlPFAeF}R{o&dqy$ZUY=oEZrr3D2WJ zU4AFZlgW+AW$RwMO&2H}JGxv;KVA+TB?xs)$gCB8PWtW9IkAA}cbD9<`$f$n$mtgyOog|YOpa%d)lyy0D}>m2 zUAoM|dvun?AUu?On>cJMsuZ+0UvJ!yh;2Zwl=&YH(&SDe@E$P*At2rA%D0@>DQ_va zRu&JH0gGvkO)`sfrN2h2|IhTzqgh^u@E_$D#mk8$k-Ov-cf;z;KQC8XNC|yg)DCTO z2a-Na8&kQWlf^v|%^ORuar(XFdMATyZJDSqTpA$XwV3Juy4B$$63hcMZ>ndp$UuwJ zrE7fxlwWAXe*SU3wncsb5dRvUh3MZD0kNquC;>I`;hr{kLBdMZu}m)@`YT8MY&{_)3XRwVrlJPczx8S9NUD#amQg59`;MS!k;Jro@4RDP zIGN6V8lAq!k4LFPy~xAx{#G|<@2|B;%(J&_&8E6O@4S~q-xN2kJ$ICT*ql)#tL?_S z)~wDO&Mou^dcejk~=P{fu?ML<8&@GtjrAGO> z>fq1hv4z{V2wDZV!ySGEeAtW;gNy9&HdkM&CHYg12qgW(8UA@4Gy7<~y#BOgESDtB zNucq6nBJ3XdlG};^{O&UnDj!0CHN}?4*tG8^Q%juJ`ado6up|AFipQ98*6BzxZ^|U zrIW@r9Y1fNC^&i>pRi=V<1!;Q7o{SQOO9dwweQbY_(QJ0%dOG)dOW9x4s0wT)yY@8 zh4BI~0!6j{EH=m4EOUdBG?@C^ZC`2ceah9uCU5y_zN$0V`~AC8n0Qu4{#v^;@~*qD zAk+uU-n%bml%+9etj<|Vp$_WYq=np@*xZG!=!n|9tyPpZ+97$diC1JOK5UGMPQ!HFJA6+q3hHtpIA@o z226>J>$o7;mAw6XF|wqmcQWJ^O)69PQXw3phh4Thx|v|NyoKl;8Wh@_eZDyObrt@w z-M_*b<4LTwAg)-D{4ohk;b5xKUm0|1N+$B(cAl!cH@^IJ$2N+Uu29T*He?HKAKPKR zRl(9~gDB<{19asdXbu5%plCexX>AYYGTHZfpZ#2aYmo&`=j;3mLD3GzpK@@z=(Y}F zkklJa%m`l&9su`(%Bas8@e=AvZJz{mPEU?)?8^tG~2z*c0 zvw#zd4t)F?xx>>eaWIx{QwcTFbbBtbn)F1GThyvl}x8^9JR9o{R_sxF_ zbKk55Y^EEOcf-&#bL_t$+0{KYecfIe{iT}ymfk*w`XF1irTebf0ZQO+?}(En85E%RVKYy6ov)5&Xj=37WlHzV-fvmaY+Gg3~q9WyvwN?D6}*ajO@p z@55YBj&OUWgj{|-*|6f}7X`1{=MJdYL9zIp!;F}jv(-<*E`BPTPwu&Tg0=k*pG|sy z?_du}g9Gur^4qN5sJ}l&`yH+*mOYHhNp<>Bxly>raz=t35V(tF+_*Ej6)r>#qlr}< zZ}a@paW9VIUK`Z4f#JZtn~Ct58Yy*1)(mU8YQ6k>oh=w9?_i#FO482{t6x`;SH03N zKen;NIMCJO^{PF%;dM2_beJa(sumdTu2xLzIE^ zJ)|YpNxTpWHz8b3;Mrb~3a=Re1@disnQ!-j3dJt$#ZZLI_8J-=H;{o~S@omBw%Qc|$@k-}tvZ-ZOtSY#E39 zuQy4@?8oL&iN|}D&R&|1w&$aFB5!iCy??8@U+;Nk?MKkiiveo9>L!JaYYU9q&G!U2 zyecy^4U?;THn?|4vcd{8f&`(< zXI~mStu2?%%_iLJ$^|=sBH3!r9GhaYnBJ|@wq7hm8Bv|H3%7n54yRF&)Mg@)^flL{ zX4GptPJS$Q85rxM(8>om{KoiWk{?}i)sNYh%f4I2xPb~s-kT6^Uhe9Ez0UH1ohi}P zOz%kl5dB)tbuOno(4WGFvoOEv*r~i)%3{%3?E9xiAG*iNu(XwqPH9z|DlqYe#?Y}C zcVYbaiqxnAW9HE(_nT*MnHL_aKrN4z>nK?l_tO$sc{^FCbosc`X=!#U)#+pEBr{2d zMz$X>{CjoTSDD6S{`flp@pkjHAS<8^@ zn0iL-9AA%L(UwH+*mSqV%g;Pi(OzBGJhI?UEC`*O9E$2LnpCb0wG1@en+BG^kmPv1 ziJmLs7M}b8HCz^6-{0aynuQ6R4&|*vFosJW9YXEC(7&NlIyw|wRxH4?&Z9x{Jf=oF zD#x`TC@@oAFfc}KATS{9NbB~gf!|bIZRuaVp?>!l;rgQC2{ZlSed8d(jjN8*xsn{P z2Z>JV`l}VuX}G)mUXTl!H_X25?naRZO@oS7ezg^IW4K|k{6rvq`%O;nLh22u<@NS# zRHlZ=vG2E0#s`-4R%w`8Pn-Ve=-f^s6%YC+Fl=An@`T)0U%6>o9sy~y0(SN~stW@) z_%SMAIEUPqiFRUQ8l67XY3B=D;WW8`2Klq75nqAb56tQJ-sA_9?dJGNqb>aPQT+S4 zslp&)96cL3ckq}EX%@Da&Yh*-l@*)#GIpEvX1~j5#xt{EW3xFoBAG~X01K3@KFnL% ziRFtOxAfn!{w`juc>$)L#iZW){C$>=-G#Q`Y&u(0xhhh;jXE~r+=pUN`9hlq7S*)()Jycf$PHiG~nar55Scl?Ul@WZP!yDlZr~@ELQ@jYBuP^bFD+wB4Tg`xQ^ov($WhV~JRmOK+K-kH<9AAfMsxWG>+S z@I2LD(|nu+x6wVDNzTI@AotdgPe=8^AAkX}a`##Aj`qsD^FqwKX7I{~=Bobv4zO|a zzG8IFJ_9v(*QGx4m1}m?v1XFvuIG)a<1TF8xrXqEQRgt%WM-%5?vzyKb7!6p7q9BF zJKHbXd%!{lg+7{9k?$j=X{9V?6CV!%_b8VN{=eFkT zpDcyx?*{#s-Jv3L=*aF#;CWL}Ip?*SDhNC}%{*6gAFE@pd$zO%@pv7|ay9pk+6}xv zoZ;i|d6D5qG_T?VsD~S`en}8cxvRf#P5%Jf))!V%b$WJ6qc%KY{QPED!cN#;lFGTb z>9y-fVe!qkA-7ZB1P#8;d`j5<$92oM%26Lr4k@!Z_xfDUY+cBXJq+9*<&k6%<_EH=!^uVKmU^sX?u8VN69GPsFBeVQu~&26Drxb*5g6U5s!&^)KLzdG@L z4}>b+R95fe>(pw9&8g5q_#2$dB8Mp)oSlkU13sVjErF4t`ns3`TL(nVfo% zwso3MbNH@*9&A3opUV@Si7@Wwi_HtiaB=Z*g2XQ{Y>ppxQh(iC9}&7HZX%hfk;T}W5vw{=oYpbN`fNA9XJ z8ovzLgidm8p*%AgD)8ZOS zhi0>f!+cAISV9WB#_5u(=?LC0*3X~lblPtAnBC>`b?v{ss>AS`ampY?UE_udA<~dW zfpy;>>co&8c{ARyeKXqW#C|)_cAwp}DBt>}oNzCPUG)n-gB{)#O@2T9y)3gbb6^H* zqBmmf<1pyjkR`YhH1@a~Iv{>5pXMfj+y!=yPSyo;1dX@?9umMg{r$P!R=!fKhy7dQ zUgG;ea-e)^zOf%p&AhS+QR|$E67oQ*qE&dGfo;2<)ye+Mf;?UF_xPJtBi#I4T;Js3 z`Uii<3k2%-MpeQtt;1@x$Tt%nbg19v_HxpSA})K^n<95DKEh&g&w~Adv%3dOHq*wnI zy}Okp*bYn#a~OpuVexdIvP1743tQ@~Uxs_}us_90ZjD!p**~}7z32SlAfbq?ZO+FV z`wB3n>YIgVyr}4sKX0S(2lP7k6gC@|&>Zfxcto9}z!+_QGl=K(=*qUU*322y?BAtd zH-y7j`MtV8d+}kOQ`I?$dDy-BU+J#NgN6t<~nH`Oeokca{$?h}s6;!7}`WWRWe0rD`mM{g*k5T=UYjchaD zUyj_cm2#u}d1!q;KX@PRB9NR=e*(am3o_ZLpEkj`0L?3ODu0SK$S<^ObN%9Z$={jK z7Ui=}Gb>*0u=wm>)Nu~WR;vT`uo#ZLq;(bUm6hh&WQ_xm^KBG2^vALL6c4$;KA)|0 zKp_}pbh--N!)nd+Tr`2-GK-$-R7vAi5#8}rlc-e5U97Nwr@6g=qpT++XEFJq%pSg89hq8KuKeDK_fjDDt@<6Or*|Q_my9_)o)ibn~Bqi?@EhZn5uB?G8vfJ-Hbx@_&Z_$n`> zcNc4o0fFNrJD)15HO9}78^7dT(rh*C^9is|OC8`cEGceg!ex#58W;Kvi1eOnRC>qG z4`ACpb?h|@RvY6rGm2eeR(<$6>skdgS3aeK-AYcZX=sXPHhhw!lm$=vL zN?v^*y7dyHz-}4qBEt|%)QUT#){n2;-58)bUUOypCpj1T*H{#7w`tKDSWk9L9T^Rp z?D-JGj*s~q?57uu&`%b&@&e!J%wQJE}{C@xAhY~}Zb{`}658tm-r zzkZ|Y)o7hh5xzD)-Qr{9t+ZaT*1vrB!~41o)zP6Z{WSvkzC2g&;5q3U_hYo2h)u;W z%|-b$*+IGIOTZZKSzcWKR*zo+^mAp~do4D+vU7i_%iC+C(CdBZ(`+XWsn;c2Nu##H zq%5PI6|z%(MT^Nv$Pc3rBvjk2=BNCTt2O`U3UB9)06|e$jpi4x^qs>;@TQzL!fh|m zXk|#&Sb4vwbCcgW=oH7UfqO^lAtI_O+>w2YQWkE5?Syc5mH5BMYxyO|i)P$_H!?jj z+*c>X(S5W;o`m_91!GjXZkBd?h7R<#+m5+Hvl-RzY9vqJg)bu^0ux!IJpWetOuW~% zqD6GiZ@7tH&_{c%x{ro7>22gLdHb7z$#Wmp(&yR?6p2Vp$G7}31Bj2XN!S}@?a+tPX%Z8NY(f%P! zodUVAAQAfPurPMt6rv^QCY#JsdA8SM#eXB5i`hrsSOE}jB%+IMZd89$@$*8Ve|3(W zDxO8{auj6E;BoZ0ZCprqjKDoz79KNtW^~HFjBe@^mUp&7HAsNF>$A6ChA@vjdAR4E zTNM_de~<5xEsdUhQ1*_Ae*2`}tk5Qz-m3MxR+<;5apPK)_xF03)_!|FVLp8KvHZ9@ zK7YcwHyL&Z0~BKqGXUZ{V(Yw7n8Y!x^XRV#M$OKVQIgxLB?hJEiqL-=6ECS^?bn}O zjJ4aucHh7nOyIxr_GZ?0xYT>?-@02=?!dZ1;og6L6q?um@J?}!PNx_kfrrN%u>xkd zYjaVmJbYtho<3B$ns@gGDtNEHw8_W$`9{El1S-^}4+l89_kHWthPU3J-aZr|Cy2(@ zY>%#cCH z|2A@O7oE>b@k*cQE73P+=gs>3&5gFBZN+jJ7Fb=U=J_qozp&-8I;PwJzxxtqDHcq_ zmhn;?n8o`3(C!TvtLbD6{<-?CIWBcWDj!ci3oPVud*AKA=k1+$(SV9jdEIYnsyBuT zWU%MIg>ar0i?9a!3@u~xg>JR=z1&%UliATkm>YA$@XYz159`m$=ALZqv2ADbHoi*y zhF{u`26(fri6|8o)rw5w_P}VT%S8fCh`Bxev=+|!`DgxyJLyxk)!b}T%;w$-wh6>S z4L0S$p}Oy81vcmkrG9FNOL_f?7y?F+4VJLzN%<-&0I z{VQEXB83$6$v=SxvS=Y*H02~88_ena60Byu{K!!T!Fu&~geBW`9=+>>r8E9zl(6|M z4_BgxKmob>!koqL+9bd;rxtwJ4HW4vq$R8&7Is9V9XHw90#co0_62M%sdRGv(so3z z5$eTUFMsAJ-)pyFFnLDDLs=L_C#K?rT4MnLf~(h?9QvDT-VQksM?8rfk6LJt`LNYDD1D}SLG72G6>p*yp{Gs@Pq-RoVCsr$aJ z^E?iHQQ}s^qwHzp%k<4?b44xW$1KeG$LCqYFgE>KvaJ5*1PlW@c~}x}?(bQN*r)7I z|H{pH(-zs$>KLRpQ5qe!aNF;v=%_pz7v_}=Ot!qWzOToV@hKZ@4^2nBfbwFc@2VGz zETynZvg)(8Hn;XfdkDfuMUOg*aRTNf4+NzoBh-1SQ*XZi2HYx*OqLwac=Jn)%J6jQ zL5Auws>>GQcdZ4??Sr*USc2e>Q>+WxX?~Nk#y559foUrOgqHpQ$-|v)V1X z5a(~0-aBb3PZ77iop#MtPbCZf5rXZoHiO$-vn?D4O_V}i&3CB%doac?h*U6o<+BXFUlya~xFE%%ahNvSp zQ1ClrY6qEFYPu93UVy;WMt+8mwgj(Od*}0~&aIA)`vylm_6KMLy4RQ6SC3mDQFLaE zeE2&^DW!}WaA$7=znJ{XT`whwMHTYf;HA&xLrt2Mb&sILxwzm@>^0luh1q@MFCHYV#o4?u_o*e=>NZ0Jksuv6yq6oelG3LAf+m z1I*JFM*Xt*8}7~d3o;4I^?qCXE62s(sW**j;)q4fc$>98oBjRM9}PcuvO8KYw7XsAp{qcb9g**@YJ8^+)>{S9tX9a`9Ezj?-UYB{M*6+;S$d z+`BhS(#_+vFoU&eHvXPZpDK6BHr+|9^2mZ&0jYA)qO^Psn3y~FP9AX!=;ji;0C;Zr zo9U3Pupvco(x0tyzNrGwdMq%iHO;d?t6ai>Yxj=%Bg6bwm9OH@3%Mz$G2PthZ$JAB zveA$P$}EkVDrR(Sxn=(z#^0j8xN)aGU0|2x2nR*b%c%O5Hq6Fv+?ZMuN6m>yj9pnn zD&IxqZUw_fXYlJu$76)wI;$TFoF~Nm=3%H}t zHQleOMd2Xo(cEsieG7utN_D}1l*xUBA-3N$xK`F`j8-d4(p+=fHuF_jNQn+fB-hsk zIS-rHkJv}dL#A2&yRxSjf3>sP*4EeY-~BX(oD%3IdIXPBfc;!wTlJzpfb>oMw4XP{ z!lR18B*X7+#Si5qun+0u2={6Itx@r;=I=U4m+O$~_nP5UuUgg#?(m1Wm0bJjs{Ejb zvyl#T|6L9F$A?+tz5Yh{dW%1P&&%;P`pS(Y=jhK6FD&mT=~R~Poe?=^pd8J0ru5$) zyLs)xca7CnqucUaV$Vg4NRE+c67%`)-OEVKoH#$g1Q>j7#|$AmI_80XUDbt{-SWsCsG5y(CY29nRhT9k>0+>52Ymx~ZMO=N1ztbO-ZC;4AL3sVP8mV+3uX z2mSItR6Kl#z-$|U6M6m_PyZ!V#D%u&7LJv24q3iA!^k3HdRPN{P+X&#)Zdq5`jk2K za$6fSX2?#xH}^bQCpZ9(M=7a}$<=r6FQEsF(a`KeTnUUPe({r=9AmkVyVkH3%#(U(iJW*UoNb@$1D0w;JKjxcTCV;pU4kf`C2Y5ge40nlW2#^gX8esbOE|rAeZ1y1*XpdiuJkKp7EmFY z9S@C52n47vu%WP-z#RNh1$)6$v0uBU!MW+3@zrb{H#+$0(t!3P14s|N%QKfmyne*xsxe29|7P$4Scn_dk$ zJUgpZ1Lapr^a#1#s|O0Hd--vLmJMiwe;XsWJ^l`kY5bJiNWz7|^YOQ&FLN382>VQx zrl(({`0!D-c^AGUuGC8BQ!^+4zkGi9V=u5DGLdb&YyJTUu&Z^F;{e{360<$FCc4F* zfYKZwBmqp&CV6k&8qV|4X>4O}kSXbYl6rZ!gpeZ)UFOhF+l=!C&=a?6>ZTbwv2wA~ z@334Ie{-*#^t(|@%D3f{|2#a_^(7BM+}%Ev+Agt$+w1RL48&OWLMqp~+}h941B4H^ z*|x6K3o%z*2Lu@F1HW>yzQ6LW?$f)%D1H zy0(Ukp!!RyHCL$nT%~Y|%Af6)D4m$5;5y%loPSHTdLU?rHtpd)oMCt&Gp0!`-AA~OTmwMN8`gcg23i|Om zR*9Kh*fY;{*|`ksCH>q4q`z8(d!=(ZPUzJrD^3P1FfMCib9Bo-`DblPd%=kxTQA3I zb15?^z+tqg)f90G+CrR76ypUg1CKp2g1>wCFYLlOdo z=L>)Sarm6Xo9eL=9JCY46?HYep?J8Hi?FF;JcD09h}- zS9ld8X@AU@7Is(rk=-s`Zs|68|57kR?oRTq#=%x}RZk|eu^|kUUAkLNA5EK>#wM_+ z<>*d@cV4}-cNO$Cgi&^rcInbdl)F%{knHvswufLi+!<~B71j`dH$hiGwv0A%K4gQ! zJO>A7+R()pJdxS29CjA_`kAi3Z(AjQK9^TA$x3Gu*!Z*2dvK~e{EzW6gIU;|pL+*~ zJ5K~JV=*#RK?ILB(<425*6WM8J|gAYbI{1ok|+MgT>9${9vzZ&A#3e#a^tjv?}Fkg zK`-6Ed<|p&6gfy2&6KXZaQgecu&+_>ID)vYx~7Vi2+7oQGg7`=eHTi>uJPlNchCrh zZrZm?vvq8jmDj-<9iAUZom~#!6-iWpv4Gdt=3tNs;F+oMWif|h@XL=_BlE|cjV}A= zU1uZYmDi=nK?`N0m?o8*c51~II`0H0k@*C44zC#gB<-0ya8Eoz5G78 zQ|WSB83JKffA8%-AsY5H>T#wF0-O@?Krd|}pZ;98VdYVH2QXYv+vzy5D`D3|Yh8|k zdGh4Gu2faD+ za-D+^lUYGNXEu;3KJe-1hM|mdhsO7 z%du{*A`->qQm1#ALQ#Ys**v5On0twKceox;`jfg4U9n&Kf+UDxy>cM{w>(xYG_kj8 z)y-SDZm>wWaQ2O4>#Ub!@O9_j*=++qg{$|OY{eDq&U1iq&Te{Er}|B-o8w4r2j5Eh zG4{P_$#j!7?)Fk~jK=HU3 z@UKyC1*8W*-QBh082P!DjFFcq&FR3+MYGrw8h@>iFDC=)8N63ecxU8@mt>zX@^=SY(zrGk<@cz&t{ZsJz zt&hsu|27|uUB7gs7HoiMEq(|NZd=|lI>EKBSzAlHdhBydkv#{FUM=*6D`#8EeMz5} zG5KqK=JI_G?3kTyl%3MsE}SIAD--sjd9CmI;c}mYOKhuP?$L87iu~_&Sztd%azS5= z7dInULmuMgZq~-J6w`bAsCHxvMwFv0eK~?^%dAyx=B|M$VOg#9iRyC>x*KlT`?Hs? zOIK|CsS^_j6Q{r`o@)bg(<^~Fk7$n0l}B`g%vFxvqbxnUz3jch+?#dbSnpgR;Om}S z0+HF~;0ofW?n;V8uviE%zV6$Zm9%y@*WJhjf4DLZ#d6nCZVw0Bt~K9h&TD7Aj?ZU> zDthXa?*HSE@O?c#00U;pZ=1wSxJi81-BJ%}#CP1+-cNBBDq4|iFEivm>2Vq4PaJ^Z+mImg7c*5DI6`+OSR^TP z&FQaO=4ti~(y13t{mrM6hegyTwJrGZGhjzG%(h}J9N*Cz)~`r@7|E|js9EALPxZ)! zIX&%mVY3hpq&VNh*V%gx?+e+Q6kug!&ZOq`uXd|Q^flk&to$6MrQc*(S24>{Y%BBY zj8NOezYp$mkb+s1CFM6?=BJxf@;9Zt{6?%dKI2aJ?`~C+Zpl-bf&PTJ35ZpINiQoE z*;pp`)U?zdZSu1QNHtnjiEo$G^0o5%wjyn=_5_6F+83G*_Vwba2lu!tgob{?dsYBX$8vZAEn(7oDILM)?1KIMhm;j&aSw1+28#5h2AHv7_5f%E%k17 z+_8quB5CkYXZM*ec2oW#(%C3#TI$8J$Jw<(jptDs-5DA-0Dl37n#=1~=^3kS``$yn ztp8Y=ci6pZ3y!%oKGngTn^xKFe)NqSp)`B-IY@6Y+2b{}})iw{D_d#Q=j%Lz+52Y+Ld--@;Grd@x zM91VhDD3_^^^|I@o5f?}4AUNK@L=GeixZfCnH7~So;lTN!QF>Jqz>LEbMU9!`Jc2H z@yp6|0;}zEpD^!>X_v&?Hsw6KSRt$yIdQHpBDBEozlM_m&WA^wa>?|sqr#AD+A*nX>Y^HuNV+C&%)$ALBsrr|AT~o zY@O%}p3xg8xvifDPF9E=ImBBKEx;fuScH+J6`aq%^P4a6yw!F54LhS~6?-q;(^YuM z<6pkDQsJcJNI(#(JdYq?EgIS5>FK?158jJ{Fqjbf@lPv`t6U##bi%K=llh!`@v0l) zY$8LEueK}h@;F>2N1XR|y=g_F@`k>t_I>AQ{n{m(dpM1#`ERDAoO8;%|2X;Q$C6Ek z8JHArAy%ZbkfC?<7nl;yX~)oYX7mH{LMUHXq@AB7LK&=)osu}4gcKgwu+S$2_)64 z+67ZNQMRj`&_`5K&*9;GQV` zn3L_OpHiO$0;)dv!*DqfM%vgJ4ys;nF`4&mPjQ+F@#yJL*xG8~QF%PNt>(B)jLUh| zuD~L=yQ)rBiN21c53M}m`QkOEpnc4XL!2uCz}TdK5}{t@#T~iwso;lHEJcMntSnoS;D|Bi7GB$ zJ_trIK6c{9BfXxULA;?;(&pZ-*knKj+$WvwhYe~})mu!Xk=fYWa*3gyqu9ZpyQ3&+ zf9H7gev&WR_b2A?S2c;=6PWD{J8SJz6}20C9R{{zvaEzp+s!NTVs>T zhJ6h>FuR!fUA?<>uemRV50ka|{+nt=fJP(&Th)eZw|BuCDLvS3zupHc2>ckboY6<; zGqx9>Jh+c%q`y?tBRb_ubz5ue_fYVRjL=Dunqg{p$Vt>_L^V z>kNp_m#lX(C;U3^bywGB2%n~RazVxAu5{N1&7LAh?WOS&U&D9d0soaozdjmtb3LsZ z+1lDX=5OMI!_pKIx&i~=7c4!-A$3Z|!eR2j5jee%8=*on(m2WKG|ao+>*md?ugjz> z^?0<(i6Cg$nfEd`{D_+-vxm(o;6Qkwc82K(x$eerlBPMC@hrPS_bM_rg0rQe|0P$D z{`^+JBR_r*_^lG%VZXgdMgQhFjdiWOK6tO$q)DBMBBPEu^5>pnh{@C!$M$?t%X|n4 z<a|zx zt=YA8WguA?KRzHP|Ip^wF7Dt!~2J&Jz!lIdLX4ldj*Dtdf`w3~1QD=IMt)1_B z@dke@eE0v1^P};*i_bx}M((sM7GNYlnOpzv!+YI~)=rr8j!bLJes4Ovc^sj9ebkt? zePz2yeD*1*=3eCId3&pW5VP>-sP}o9x-#xL3#@19@IqnMmwZlS&Y&F_sTTf9!qh#? zwGjD(D3Q+B{L|9kbtrNdjnf7QutSVnO^C43c#i-qf_7Gns=uyshtKAPuClW_!%tbG zi#fD#SP5FYdnj{%)Mp9r%QQIUSM`20Z|c8kG>BKkyVQ}?LL8re$@O zlI+IXGU1EU6E*ofE>Y#$2<78xpu$XKTXei`oNO>$-Jd(LojXFC{1mjS%`WW4MxEBu zyZZrjB(t6PmDdm3NT~q76l>cjXkc#F*=+v(LXTBjLm9#O&cK+qP%MC*Np85JDXUX< zmq4dVI#-h32AB!6Q`_X%-)(drAS~N__DVGHIKjZc=F~-DdEMl!%o<#_ufr9 zFDlD_Qw54hOom8`HyN3v=T5Cpx7U5SCnul!M7zJz!aIHVEvJ81>Ys6$YYbhBXrsL{ z;@7|U6G2oWu?10Sm!zdvw3@jY#$~oz@1KkzomqnwTZ;K-N$n&yGwTf zbjI+Tyt^?1rHH@iUTogv1@HEb)id>dZAtqyH;#KqrXsWTG;{JbS@?#Z4TKNGHBh}g zQT$7BBex%4?&3q~r{o1@eRAcJE90!QoyaZg;f(#cKF`6FVt@Lph(2O%n}>i)3sZ_1 z9WNrYlGl|lO$^>y**Dvri>Ww?8;G%D9!boO6eC>^)Y{Aq;y&B3Kc`;9k#Ik)pLd@pqM zju;QcQUB=|e$55YlqJ4XKv%uhr0mzVdg4- zmG1L;{97}W4M7V+`5jgwI(4tpYGDZd5-r{Rs;qMVyQ6y!PJQW%6WC*;@NBQ#q8G3y zHAfiKR6Uv4rBuuqtLL|$D_YYO z1w!Rz{8Q?qO~Le!tKs<8-M9LLFi1~s>ex%r@uv7TrdFS`NaN$`ad_t%o^gl21-?7E zg=TBh@f`Wu&go!x`@rzaRcztzRmE>&C0^64Mo4i#E_XlWV{#+9i?yd4n)OP|b-75I zNI6kfx5215?D*SjJv`d@{8Zt{NUw0k$>tB*f|t!s4`*iqXL{R^g4o$5$0m&fRv}Q%VbjFa{K=(;Fk<)1PVV(G4pPud@$ZMiV zPxyBA(@GUb0*0;frpFgUmb zwU+&&Q{l|TE9J4_h9FS*W;h3bQLWM#Z}&yC0pXQrpIKD1+iv&U{Tny2)jY7S)N`{!kGb zWRk}UBC?>GXn%O(`#)q{@_JAN$04mux;=RJ+j{M_4A`W7oacHy7e+oXNS(qt`+Pa< z3W{O!=xD3A0nBYA$9l7R0(?4%k!zg(A_jSul`ytP)+T^&tl8h`#SCx00n5{jNJ{)egw!ah-Ad%}o zEd-v;7=E>}Yq|{Pjm`7({x{c(4L|AYy`;^I*m;xOiPV|z!Di&iNVQhUyd5|6Ica_D zA4Su0eBKQvcrBw#Q4(y0d9(LB;zQyaV%QEs*91FP+%88f^B*Sc4BdTse0cD0`d!X@ zrMQTSPJdK79%|F%rfQX@W9$X~t~x%YV;5=7T) z^(dwuWWtK}8O-4{L9M4X-5VcffM0d@uf}vwH}Kt{>@v8H`%h z!E7lInssYW8L`WxzTY#=wF=|3`>1_t;L^1kaNU!Sc+g3-iL&wiTwjQ|A`VkeOXQ7jd(~o~j2lr;7 zG;wj47!F_VU$qbU`gwcNV#&$s%P!uaKfH3@=f|jrl zkoP;UdDBU~OT)iqcSu+k#x1+5R=!wdXoG2$*U zYwxIc#&0Yf0NQXDv$_k{{1?@LGQ$guI_=Y@x4)0<=Nz3hly$WvHH#QF}eHSsnyz}$v z{w!aT&$vhAjR12UolNRS@o#G^$`Jk=PoP?r`&?}5s1U*H0}&{z&(!i-{nivTgNxv7 zDXKGSvl;BvmUv1X6FvhJ1?lZiH#(O;WnX=?asEt(sq~wNmGOBUr)2KEK46Ex+MvU7 zf6j9PEb`vBP9BQKP8YE2kWj0Q^O$BG#8o+w)Gge_4x>+HDx`nZopr%{4CD>Tv~N9X z(%-<0|9swtMFoSQooJ}x8i2CR)5dd zv-^#f9M@vZ>r00FOBeL9!W82g^$#EIt{ZLBIZUWR|Bep9``Xft+pA`9ikF*3Aqg0S zlGgo=D1VvrD@nZC9!GC1cLjrj|0=-rYniCX#>jW3vmis?xn$T};c(yIO#g;ZO70CM z#~3L92O0?VN#StcbXjy(no%jZT|U#)j{B2~BhNb5Ho|XiNcmZ=cK^^psr6~LOlCL| z^ON4a%kD4P5B2oiw9}~pLsr%BOZYF*&8TVBf!J8%p*_BkUn;myb*cGgyi4BCIZ)oh zIw6cn%keS?BE8N$>l?Uy|GM!mDlksei9gWyoao^pwtzxxg28^TwfKg-zoLR6~Bhtk4)env%as&rcy4!R@(7*H*Wa_3Hk?aOpn8}?p# zsz@$p*kJJ)eoPLqOYr;r8I8_IsFjWOW*dsq&;2t11vP9E$8J|1eH&tVb69YyXyzky z*sr@&UwM>~L-B9X5HL|Al6$fpE`_56EtGGm|GGkvRIFJIzsCCTZClAMzK1sR0F)kP z4H4UiKVHa9pcQp`!~MnXf9ykZ!SY(Zl*=GaKtwgtorC{miL?8s6OWc$zyJ2u8o3oz zWu&YYuU7omC3JCV^f?6UPXJP(xJZp!)+5S&=qf5<=dYdqS+)XdV`ufREoj&HI=L?e zr^bg>CY=t4?iOF+w28IR&W!Ic@=1a<7DkU>yb2lPyvUk|iSU%rdCnQ1;=0@0SFj zAlW!JdO^W~^C;E}QJTFlTVZO6Ma!%!XH(lsDx(ATIO2&H0J< z4)EMB~zc%b@eJl(YP z3+#u6_u|1|(#B{GpX7|5iGn^gDrz*E=6!Kc&s2Cy`EZ*)#uQ<9f8~ex`FOVOh)Fsj z4lpN=r=AyC^y6bUuJ3C4zL#lrxg{AC0FCR;F9%%Xmu&z3aLNEq2kem_?H@F1>h(+M zwgW`LBko5wyotZ&D;w_1pnz`k$Hccz23h%BLQRegQuX7}u8L zc}1}0w$=sa5>rlBlR`hB_lA>>fztfJjVpPmta8=Wu(rJw@zVj4+Eu>oC+_)KGlZyP z<*vk|aOTl`y_Xh#jjdCe;C#g}$zu4e>D%iPOKIOJCXM!>I`*d!)Fx-nueMw$X*;fK zu(9&O2!>OKjon-ee~-@YV69%Y&~Wp$n@VPtY5O^I&}>OqpX9J4`GWS-dz1RaLyA4P z?=KB;cphuavn?5p!MSZKVq7 zP6jRYMKXc6p>Oc5d|lO^3K0-59n>h`z_Zuz?nm)pY+9qKAJ2E&>+Tb67x7}9JyUqv z8U@K(zt{cIv^JpMK!^+DZdK1@w;I5~!BK8T?LBNSlP<@0sO)&j%Mv`1YisNqMZe4= z&zW3$LTlx-^R7SthE3Ov;ioxw`!o4?z6TW9PfyBgG3pST$v|iM=2vKaWcNciYN|-!uXMkG9*S65CQ@aZ zaV>zUjoPqc0dmxQ90AEamy*#%+dJ=x+ttMjy#$#7(Ye{%w&798CyIyu`~H9$1y)EY z_#`J6VukJ9qT_BowtwrX{@YZf2lNm>6s%BkpNK2Z1*~Om_EBY<>zd{S`cpKa?z_)_ zrSt(jS!@11(Cne&!kSNUL-=hx%q#toedw~lYpp}NBceO}nSCWUGYW~atj`DML#mpN z``D!&?t$L%`h~;sv?Z|lQg7M0JSD8m5?P66%|~V(8?Y{$OHb`hyyO1VQF2S2tBooH z5H^^*ioPXf9ZnaoN`JGpHqEG-e{4WL`+P1E7XvXWGnziOTAwZNB8arpui= zdaj7KfdRF-G7hFX@;q)`^G{(6`^vLx)h^9$RjkL0X0dP*D#T<%r*xIJh;ZMy=9a$Dg2Q=OrJ+>j@|w~n;A)`f#lbL!W6-YqyM zJGoi@mVSv3bk?6$`S{03ROi-;>(KF}*OTa#tV%cVi)Uu;6H;2SPr)Y4z9%icO-%at z+#5fEzsFMZTP7ecq_x};vC>=C&e>(y9u3mp;sR4^b z57(2TUYj#1lcNmQ-U%n|W4{WE8^)BGx70+aT|>woeA3R{5hzy==`>}ju37<1{ZsUl z>!HxS*XofE=dr^{>`X3`RR!;nm4Yoeg*$Ud8?&~=u{psiOqM5Ekv&z3yxZz`!d4FIe$g+zqC zTi$E$FRJ9Tc=abvwb%6>IOf2xUn70p>w3U#0{TFj4epBq1M7dqM*2_UVa(nDi9#yL zB)m`kKfJCfy@u0^mf@#NM3 z*vF!@Qupu+GqoDP)KhDP6)dmZ-8+JC-HT`7!SvGc1IvxK$SS|@Fx^sPnzeeBf}|Vy zGaWf6PhcnyIcUyv3#*E zSe581=9KD7F#O)!>uisIbC;J7g{Sk0bj*$SxBBDDB`?JI5s6Zk)|q#+oaQ%OW+n36 z>U^c^_l`=zmhgE2eV>?41jIHs${xkl{&C9})#-pkF=xKm9(>D~V}o{m*%_|mQf9=2 z6?Uj{?pw*#3qYd%d(R+lNnqDF|O{^t~t~U0q*KR?nC88y5W#S0;K< z)G>-KSd?6XdYMIloZGQKIwZH7!%&|^8{oGepdNe%wlPOvdpWo^HVEg~>Hx~Y-?{N* zwzS!QsZOnEEJSB!>Y{Ri?V)*5`C|^5HAO*r9Peta)kquP=-#Qj9rDCL?~yQ;PlzG+MWE^n`Xy^r1zL*Tj%~58-n}epjeB~suPBCCzX*#y%xhY zytQ2qfQ|ik8#dBacM4_}`;SDPZNB=q9?*$QD{rMb_&&UE2alFN;A+7Yk}y_{#y#rBb6|nJ8W{S`r|jnz z$yI6u<7~M%4cDDFBA1%n6(QRvh`BJ<6Sh2yM#0Ax%8VjcJFdU6n(0RIo-Lz4uMBN1 zgd7b9is*Scq2{wr&3ZzS6CJE_`nu&-8b55f$swDvjv>pFZGR(AOU-Awl$*UX1Por` z?JTz*kRGgoNe>{r6&(UOf%a^^D)o!XTW07`A}ZWbAZV)N1U5yx=Cz`wa_`d5e3#r0DK z0(UZ&jA*AG@e`ze=r&7K^AULbr*V>(dT27+1w{h zyw1l$)F92>B}OaDGx{zn3M7V|`SsVk_K-R}n!`ghJqM%*-*WKLG=6KVFb!&NcrFr) zt3r04{mbrZ=}w)sFx|O8sv3i@f*Tgsuik6}o$9s+n~p?F(vV!T%-k*?)wn_L!Jt}z`4}-6 zlt>S!#>IQm_td9I_IsC7>Z>N(Tv}IrPO&Sa?{^xX+ae=OiGlKS)?3hfNfi!q=JM zcP{r!NE(5Frn5e6+=0;rXVcFDfLMJPABo&$$t)Lx zo@)m+{Fl2{_X8n7sh7((e3hYU2f?Y!@^qBs{@T=I|5YJxDZOu}7)|usW7M6_bHFz( z|AqI1_&#*K!K4!waFKc675kdnqrz?nK+q|GL`wZ_)p9$r`XH+LRSvIhj>=!3N84Sh zu5P!vC@(VAT7E-733UtaOLsjr^_la!Wp7(zIa;|be#(ZaPOfr%xvbDC96~_etb@4o zP+_fQTLmUD(BACon2u+zw<}zIGk=H6P|`@8h682vRT^xlE=)4R%4J)eZ{Yh9#*n>x z=C4M__@0A8bd_tt%vlFhjv`U(Z(~wg+MMxA_jTt$kS^ z=+f>Lr)shdxyA_+MAc5QD5`_3AX~%ZPPz^SV zx@XU&8UvyOzw8zBx#wWbk6O!vJn2Sc@EDvdJrJ(fpen`f7@o+No?MUt^`CTKU0vWd zU9ZzF5~sD7d$jN6mQp{Bm*vvChi~SA)GtcWp?@c^$q5vzo&4$Cr||F1$=No_wpiVd zclo_iYP9UZgxWaf6zsDXn2x@~_x8vdQ&1tW`ksAc!nKk5?X=jb7QpK`sv7(H6f`*l z`(;sOz4p5xd^A{V)lKeuE8QdtWu}}mkO-X_OLZp1BVeEJTeMi6=}~hduqr3@pcxfHZTNjwF{8@h{n*Zj+$#?saZv)5TYt4KyoSYWs2KOIj>Ufx^WAq@0fo>~+dIOD_&yXmC1RAA zIZwVacSzl={onI0w5IJlU2oOUa+eFL^(x!`h#psqb+u_P z*wNmwic!=3s3q4;b5{=mFE|N0t@`(`;YE^+;(?Ud8-j(%XQev++1SL&znd^2xmA1T z-S~b%j_q&m-3YtKF*#Ka1#z-Ft!OYA7z4Xiez$kgk35&}6?K@O6TyDaK@d+iCA;6#7H9bGM{|0}mLoU4_2_haIJlMsJ?eQWULW^B zGI=^}lNRg%vJWq6ZZ`Y(#trgH1od;ES!_GAlkUcw<|*-UNFn^4bEcYhCn!{*;rpYU zARL}|Vf$7Rjqm&Jk*_2dPBsw6qS$^~+THYH;nFZ3YtOky2XW)?hdGH`%>M3Pm&qE1 znOzpDi^EN12A4a@ajbH~-;gRQpLm)CL8sFx&$^x0+)ZvxxbM?a(1NDv2L)h_Oy{b# zN{*@yGG52onv}SFOFmlirh)*J(5dX>_4g%U=KP8`k6)XfS@zDEfau9w56t&eYmEmo zcbJv>HtlwZlg>y{!(}0N0psUOPXsFwnk;YQ{dBnTwQ+7kguzVMma0E+zulkx$&o>n z)}VygU!<})Tr@QI5p1OP%W_1rV&`stJfP> zSoCNggNvL)_R9663=>2o@^SVCsa@acE!R)^Q*+=L1cqj6_*d->-gq57y^U?!yTJ(L znF$9;zBimMU{U-#8v1s)fulmZwNP#rD0XJil0 zoV-mw?|@qbN=W%qAK?7E1>u;_AY5g6y=dFTn|!}Q1o!DA$&Dd*FG*$RuUe{Bm>9M3 z&q|pYuc@NaDdzslVa0b^`URetsPmPj<*)a~MC?kmlWZzz;tcIkmE$K@^u&n17)R{w zIOHZ%r#p8CozGR>MYa~H)q}2(K9Sbu?+4Yj=}p^^JiEW!3ad`NBh0Z!2khM&_!J?` z?FdwL)529GBRs5y! z8;RUSb6)h|;=Zcw>zI{G5z6g>h}!cg90jdH-lNK7ozLIy>w2QDt(G8c@i|0;2HUw` z%^0qO@_kHx?N)*FtcO~7`V6vIk@G3ZoH((ob&Pb?VUSmhDG-s}2Fq(euvG5eIB0uH z>~_{B@L_5_=MQO-d@i5opJXRNDoj0rp6J@cviNx9ewzri{r9THZ1m`vxOvQ)gjH}@RNG0~X4`f~ZPKT$!f_Hrl; z=&z;0G0z@ZX(C4c2ZL|_Wzo-^{aJmAGssY;D*gOsU%sZfY-_$rQ}{vew(s@=fRd@} z3z)SUxIFlvW79xT`gTRW0FKY^AJe}T%8H9+^Br4wwc4-DzMxC4)VtH?Lxf7HUcOD{ z+e#VilogD81;5%hcWWKyDX<79sja(YecHZDf~zA1EE zcftcXXn$9PqmEstc=$ZhsX%r;eYTn1*D$ZV5s6$#%=x@nae#_h-Ob(uNR_B~yTw8m z(#m4@S!klaw9oUOIh?cWCi9^-yd-p*2Mn_2`e*JrvwY7^=OVKNT-*IeEyq-?RCrL@ zPR;uc2c0XxNai6(fOQWqv&vK!(_v7{__Oi-yy!-q#y)c28|mun4#*(npteKt+^JWJ zMe}~rJ9oXssnt6!y-t%-c@X#}>l`IUVMKE4sM*9uhO}^nE?geVI-no2wqv`y9TN)6 zdbM2Ke(l_}cwyb%rc^KL+-}KkGw!)LlAH@ljTdO;R67={+nT7uUR48F(zC_nOZ{_k z;Oge4LxGfg@x9BW)#^<_b@OKvCA#_tLUd}=UzBhcxNfwc-m~g3b~~rn4j<0KLXv*A zvvut#k!wBd3{ar|?5&-K_VrpOGfsKcyfuf;{E%4J9!yn(sYW-9;q|uME^w&%*FfnQ zl%u`7@6jvc(OnjJbOw(7`94@99IAQ?*5Jx=HOFdK&k#0_sWnEhi6KzD^%X{!E>oisYe?mVj3I{U#EHt zyl8dG)81xlZ|aBf>AV=O8{QaN2KuzS*@eGC?umoq-Fr@iONG4My;cJ)=N@~ZtSzeL z+O0H(zNLL#!i0!9*27Wj`uxs|*F`SM7xegZpX+7J9=ZU}L(7+|_^b?}zf#bq;mj3i z;dTQ-;`ro6?w=8V9^lc!yYIEJyCv+J|BNDUdLGS+YavfBV7+{AY40#4-_fKL{c+x} zz8h}w)kjKeg0ZmeUa^72f5WW3UA%6&9)XwoXhJVu#udf#h20`LSNBc2_qS$yr&XzG z8Dja#aBu4iW6Rx?jqg$&>SS&Q{`b1*ww%fL!knm`O0LF2Yg1lAPLyBbxbxrXL<~Ro zu_)Gz@q;Dx*<*JFz0t2hK=$+jS(kobs{?Q-^fLWp;q@1Gh{_~=O&Exzn2bN73ySX1 z=vgzHmwS7a%8%|jhSzlmS+p#7{Cr@$zbk{mLwl8S{ZqNgI_up)yy0kncFez6^Z4t* zo?Rord9aSLQt_b8g{{8dt<8KiZ=3)v|Kyz-^vCMfgQ!=UoweF$Z})@ty4W1>m&?C< z{}43q^5z|@@~^U}Y-%;UbGdl|dXSoWULq6ajO{K>z)i8QK4)Tcm?br@Q|VF(cL-29 zN&HsLbZuFMb05VmvA|j5CObZiis~mFF2?=C-)S0C!*fTNBDd&%&Y`p^dO}mBx5-a! z;rZWx*Sa&e+>^gJwXpD*EPeXqe}oFH3zLM0P1y|QuE*SlJ$#cbE5vH zMfs+5Z$W#coNs;K*qx>F`yUOMQf`;`amL^PbBBThEOoL2od z-EHK;|cr>v=Ka-E=p=_QERqG3@Tvsl0~Zbe-_01=pW-Ug$uPcw{rFkbkFsH|s6? z-cd5vAOl<7Gv0GgZ7`4U>PDB6_A@AKT=YS}%>opskg$W#l6FjK-3UmjzSnozHCnnT zG8?X<7li5t#xP{Cm@O){?ZLQxGd-&@hVR#G#b2yuKS=FPDyJrpCU(Oi1(}1nlKj{> z7Wh90tAFhDwmQ}>aF*xot!`$sCSvg7k)>(;#-nKOVW^WD;`H~Iq~Co4+qc~xsox73 zo-bErzhuFQHq*A&1vMK7xb-%xx3bJM*m;48L7Q~K*Mc~z3}Gs|F^jmmat0w6bqQG< z&s(c+KCGNdO@QKUmk?IzgXXV_bA38iYKF8coTJ9BmB27a_$?v3hRC4xKjZK9mwe&@ z3$+y zrDbtCaq16s`&OT2tn?cpaWk>*%i%@BzV=3()F1U87~XFYV$_P#<(S*C`kVZKf+*>7 zBh0f7Cyy!34$N+TI7J`%%?+s)O{WfJF{k*c9!r*7J4c7@4xiXFvT~XFS1+R*=f6vD z1J3ZyF%-1cazA%kADCgK|{s4yuz6VEx!u-#AO9~t5VZ*qEEHaZDPl&08wr6P3e zj}Yb3W0qRtuOVOX?q-m8|OhsK{#l{O$m-UVQ z1!K#gR$ZCGUjb3;4Xr{;hC~)H+8l9k%gn>@iXYw56k%5V6p%xMQF%K*6&Jo6To^{G zH-Gl#TWbHd{BLpw4M|cG%bVhIJr;9{k!o}mWuEEZYL*h8>m=<3{FO%w3O{a?hNsqA z7H+C%&aS`G5F$#$)vQ79o>%_7RlXBkh1qsWT#slW+pn%asuT6$vO7zlx=2RrM=MW% zS3=u4Y>Eg=$-jXEup=>B!eDz`wm#FbieVgYb4}=P(r<^Dmd$DMgHG9Q|9i7k-l8XF zeFtOufd>FU$U3%Y;wdE`ZMu+qrdN?C*T*wDYmOL}zs_Z!hA%kCvX8x~tra zz&Fg!x>0?7+U3D;aG0%)3j2QAoUw6FF29}2kfB>%H=(+?{K<3HOI%5>jfUP(8e!8S zvUAe)q`L{6#$LdbBiueVmwgg_?W=FC*UtteNHhKoa-pn{F7`dx9L{lyQI%s-tWgK~ z)%`B>*MZI90!P&>_>{qOJP<1*f_n$c1fZ*>6Na@`bd`c+sx}-5ZCTkoE9+GTRRBh? zi1*3;$+>Hxuuc?HORnWjS9_f{D7TE7zo_ub0TeGck0uS1g#a+2f^A+|W%g$hTb9e*3bHk!TV9`}l}@$Cnss5-2$oPxzVCJG{wBu9q&73X zgL4)d+}2~e#FYVj^lAvp6}TG&_J$7p38Zn)WQL2@B5k6Zn@}nWi)=R6FW`15D?wJM zs35H+Z4A^hh(6=d&b9^c(IPpm+v{FNOwm6LPzcM;?5%ZXUcUC;78@4{4wOB>xP5l( zfa(U@)P&_xyPXc0idnb81%>=tM~C6|r-Zt?HfmS<3%$30q`zIgkth&ktJIa<#4M=> z&R`vB^IZUW?bSO?>R~37F7MKJOC#xQBd-Gy(~FD?JIn+mjNZI{1Tq4!XWsmxr8WHT zbCjIj?Y48e+^&}ng)v3zR{OyCQ23bjP+Ss5*yHWQwnu}}%h)W|otavSUvqa@`+X*x z;l)b%4a7W;vT7*=AK(18-HGB!##RPRYX0D|^d=faXc_KH>C@2ui4@qIWP?HDO{&qO9;ao0v zl^0%@s}pZk$)0rovv{e*&iTmI2b`6U*Ph85-{xH1cb^@uwzDH9hFWOZj#~Cc zn}sH7*N#1=_kl>c-O%@%$lzSrM5ThOM1|r~MvGjC@mxmh6$f?LZ^_ELVhXhwa|vdC*}7i{$S@w;aet ztw`AT!AD-!Sds>Cb(h$I==+uc0cgoCLz?vd`t>6&i7 z;cxj?`^YjO=@UJOb$jWPEAB?>zSUYhKsB*8$h$1#; zv-W1aalc^=8h>w`+~aa(B{P5X4*hRc6CyU;hB8YxSwX?jIkRZpaUbW*)_9Wq%Ee?mB;VkA+rTHtI*I2lo3{z6#_5)UlOjZ!p@O z`b0#0ov&D4m^09iVfRLACu?N$El?W-SY<;GTFkMi_yC2dHoTv>mj~--ccQ-2MqG`h z+&Ejxth5H&S@otd7i$67dj`5+b+t!RquCRhaK&FBwv<|a^}5>y8)o9G)=O1N1@=P{ zQ|CpN6Jx%?7Cv@LM=gUkUmoV}bA>+L^FPmhqjsp;q|n&`em>)LeW6?A;Qh>Av$p)s zo@n&=0KaW&$3cpHkD&XD-{hX=hQbQ6OP4hQ zRM6EtkyW1hC+7@9if^d=UxCbmeV#z;=Jyp$_WfPH|7~80W4bUQ3ad%<80RX8i$P&Y z)?woKrv5(4NrG$RHe3@{YZFfd`FY{x4dvt{jm$dW7hAat#%-+f0?BMFOv{&~X?E0{ zW7`YU8w>4!=NA+k=rD_#Scw%=78#60LXr<@9)4GgS2WHVbR*eZQlpSen+` zcMbKUevuXPEo}mwE7Z>o_i`<74<7f@q6gko2dh5%N;TH+w(i%6&={m{K!o=`SQg!1 zuF|+x0aeD@lli1185R7&3wD843qf#uA5V5Una8`ifsZO)t^ern#WMzf%a(??ujAiP zf7r4UIauI1!9Kgj{>T%;i=jBK=*;% zU0Ri%-+i7EC&SAzOPc9Oe6=P?S}a4&zYpT$LM%i#W_BYgp2Q6uT@1!fgRK?v(rP=8j)-t)#*%x5BVjj=HfpSRvq~!fw{zBC9zW!b6eHiM?{lXSb}u zLJu~#{E4upHrn=clhJ-SSw$h4cd}7|?jBp%cm+fmI{d`b`&m!HhePq@#;;hk`mz5C zOeBBrEby;-Qy=*s*F0BLt+roWsX>{8w%lamvBK&Ct5PXN9Q}kQ)9`h#4fd5k>M84h zin?ofGUpi{hrHvvNWoz7(hfScN9j9m-Yfa~#bwS%fb;1RUM|h;wyV#u)zr%%Mn)cd zG20kv~ja$VT_@7Z}|(ub%J;8Z5MvSQ~-5dII&6{Ww70sD|QSi7AvnH_Gbp< z$W5LZQn)qI4wFB7GMcN6PDa=C+Z8>*son;9OowoF751h%7|mwNN8n+~(`1@*REc*- zCRjao?yS(7dK2S#DP6^}NZ;o_7vfg{X?~^Tx83QdtH5Y6`ttR1v4Kn!J5{M5Brc4n z@+Bg@HxFIiTN-iadpXH3P>0pLLIFMnmRF7-XApx0BrC^E)B78}J)S>Isp%jTYqrns z1z?%|Y<#aP4}QwcKhcWFZJ*@=df@n-5HUT|0SY=Q(RMi=fpt+TBHP za2iM=4yF0d9gM6-H3{OVD+OWz;eDG*=ZY;vXWv;vHSS+_Ff5$p3ij)^7)yHu7;|aG zY6qi2`>#~#egie*^Yc2h!0BZnUEe0`Hs4Iu@c^woK?`~4VXs71_mV8&I5qt6$I*Fb zCrT~sQiXnE*`qtm#ErSt1BN6`w<9}oDr-m*+@@6)`m11h&CVH>Kw9D{8u89PUmw9qma2y}D1D$TV;a`oFzZaD(2}f|$PXlA-apA~qFG;JBB{Nd zYjL($%KoJum8*x{uewm`9jh~b?cw$+H!>ceKoCJjm)ea{R3O(6ywTU(^Y)DLU-xt|DrRH2B$x3K-=I!0I;m#E6J!nOGFy~Fz0u>R2!fg6ox z52%yr*Z4>eL;+8C2e)R^mxh&`LXBZL6m@F8)UN!XhI!~TGp@V!cR?L1mFmH;_RJXA zWg}JUXw}c+PNv?oR)6f4a}DBzKm8e1X699pSucaZW#jUz(Y1pNYYDJZ5XW)%d*k&} z&w}f{rmd9vtlpvlH4HHw+GXx%5Tw$LS2xhK0?_ikc1UH^IN!-}X7t`aC1Os`OULmz zBtXYxkOSMn5;=CFD#9nsU$uS;z~YErVH{xBJ2e)>8mseLS-r#i?FfAs1x6ztM_ykh z21=Zqe%~<2G~|W+WG7})-&RT^CnC-3ro%eUG7w{0c!`JUS5r;YiD zM9Uq<%@wYv3W(V&^zJV`8Z3&W1Q9Y};c20LEb((+Qi&>G|-Z~b%GeDH< z)j$Q=>V3+>Y1hdAeT~XQ-{$TU|M|}qJ}eGe*pl-GpX{e!1zUghsIs>eZiQ`=G>hi8 zd*#8$CkT;TB7gT`CtF_F!<9cunjO^|<8Rde z>AUIL+*0W1jO?91`@w9pM!I9c=llgQkpD_M?(0+go&_~bVfM*3$l-n89gYl{4*yW? zx{Ma}^I#`ITb^Bi(T&Id2D-v`YqPjALBz#_BqV@E?1)4p-17Z2RLekbel>N(w5{B= z)P~^BMaE$jEAZFt3(Q}_A6F{&sdbjVD{Q|O>z}nR!KNiRGpYFY%RMLP_f&D*&EiI_ zvmbibX#xptt6)-jq{H90K1T9Kv{%A}dkVM%+Dy8~rdufXmw0v~fwM&>1n`qJ60bDB z(R+UJmZukQldWR!Rb!>$dqTFm#kjKaSP^L^(^fEjcGSa^Yan?`QiGcdX8*p(;q7wi z;oK53H!S$V2gQ-kKo{AASJp>=&o(*&-UZ04o3$CL-b=~_F9KTnN!G!;y1D8<;WMqb z?)hI0g5oDIUsA;3-wuzE(N&ns-@Nm^6o!LbMLu=#@~W429B3cS?8GWLOu=ec&IRHy zKhfw6=gatwqsPUSyy@2}h(gahabSWrR{3snVlhyM5KCoIMXn^k+}rG7)+p&SwfyT+ zQOt6UrnqCR(`LH3tLN8E`f$51`Jw#*g>Cj%{`=)1ymVKE>S8u2i?c4ewz8V)dV0T5 zF(4w>%{>R&%N51jfy|FHpdPLZ@G-r~%{jN$NOBGGh3^Bz6=Ui!+YBfOR5zq4FPBX;YBrOM$$wE0|htj~hxWL-Sux;8UA6p$A&&)K!< zpb7Muln|!hrR%ML>9Qx5;A>u-tQjODE*cW~+49XtKr5Kn-M{~?=XZHV@*DFA-O-;O zfCHUFACHk--CE=92gf#$Q5gzTay=^-v(?Ty-7|IReXfJyP6Kg-Uu7#}{m5#Yk|;%| z#(c(PAY9?K>p3B|Q7~%BCHo;(vmL5m{{E>5n8(PeRMy#N_47$dS~sN{$eO=hN!b06 z{O;A;u{XQn-H6`S5$i$qS$w<}Z#8$X7NT%xg66H6doU~HTMq)c|6JbNf>6@w0o#nj z*gVP20CY;LHjS6&a@q}pMH6mskPaTH?ljm^3DUI&L!d)6oWpi=8Mf_?Rl_R6=ZU3>1& zEBp2N6o0?t`p(<)@w2mzYtqDQd%0mJ2<%VT6|FtuBd z@JX6SOQa|8e3`iN}g44 z4r&<>asrrG-6&l0aP!X@gF!oRJDu9FJkfnGVKU}er6DYubMPnIW~}{lR#?ijZd~eI zwK#8?8B7qD>2ZNfII5a=L_!)ug_ell>Md+n&eE;fUd<2p0_@3ct^)Z}Gq$h*o!Ekc zZRz$Fo*&&%0ZO7Q@-yV2nw7ftyj;h3nB;)nU7J;F$x>`3%RBcpRpP3DE43Lum~>yv z(%ZD!-T}Y;YR`NKk%H~`8v^mbZEg({BCr=zLpc5wyRA52y{FzIt-uLcPt#-~W9{tkePQUO#*(r~F1pHd$*1)NQ@0N(X&2Be# zO;4LgTqNU0g^Tj;wNYZ_7xVX_@8hhxVIU&P^qdqI3)Nge(%{G#Ae28C0sUMSQFJNT)kjI_0nmnmoRy!vwY3H zYC8bP)+AB~MZ}&qLZ=8qZ^E3Ey5s@$Ts&*KTm`-)dlD+y<0a6duJtVwC$oYZ@Fn;!Qpr~SrAIzvvj9!QQzBq zGaIa!M$}LO`p=+nZJb{ykqgcgY1WhebOH?--%g+1uvMM^tmu$KGJJ$BMZe^IvnDagoVwj91 zk9dTOuYUbWp;n}PVvR2Lb&eZiLo%7m8Eq`Vey{mvUtjB50p#L{3 zHwWESnTH;RTdW??QR=Ry&wQd+RK@s|g1EQoZsAkBR!v8XA@)6Ab1VLcU3rQToPJ~J z4b4i#L)(?QtBc>`_T+Cl zK#ckMp6iqO1u9svY+-NU2^OlI_<3l7?(P$3uGkra*}j1Q!)`XN9PI`v+$kj}VwIO) zLw36%w4z{Qg+<|H$keMKnZ1r&oqHaoeSA`PZV__PAtNGdDdLZScdW|ktr0T*mF6|= z@*Z9S%W~hlxV5H|cVTyCt&%iucXW)Yt>3w{(ERP?a;n1=wPxwOysH#OTjlCQr9{QO zs(Tu#^i3#%BA8@ZcqcO?Pb zwPjJFzjM0L6E?;UJtG%hxhqPe{6N#%F;nuT<~Li`8KkuQJwg^@p!eU!DC+dU=>CNp zAG~|p-zAtIs`37akLO3%L~0%Uuf0mD$B|LuKVV$TkH%T;+}P1u(Q9;d9cloLAmA8s)3q z?Frvk`bb?GW|u{lCk&>wbW18lx$EX*i75-5tR8XebrLtVNlIh^v4@?1G^fH^`|*?} zy)&?f(WKVwZyFO2+)U+Z+IRUp8Ypz-b`3g#i|nK+k9vNx4qqRQ(GTjfFmHt)r?_p) zjig9fm;SS|H1!376~|b9OZIr{236nlFq+4ZNO(=X#6F%gyY%lE;{2GVqKnzdalFpKw56c{&OPp zuwK+Nt}MraEEDzzB1YPENV!r&g`v94rf?{1&Wjp8&9(Mj##`|8vMoC0&t90WO8L&@ zT<=@R7}QW@yh9>-)U9d_tF0ltfA9*`@)39W>fJBD;fYBQ@fdAyn6U}n_=hF@Sbz9e zIGi&5Fh~EUO0F>?@WOEo_j9RkwP)vM2APDJ^>n7dD=@VmX>K6L0yMqtk+C&zLA5pG zp1IXC)xIfk^I#coP1Kmxdxg!W+7^gLJ}H{FJiODbbL}?hzP8`+D&SCNM=UEge9b!Of^YYfUR7E$yk?U{#7(QB%xrLVlOc%Bz4co`c>T`<#@*dWPfM20LMk zfi&qBsj!}6%ZMuB%ho^6aSMJxmQv6S0^vtO{gTka+2wzK%3C#ubLf$ zzxsCuFqhy5w$DztxE`W&bb$4-2|pT70YS5`|FMKtIq(LA72$qENf2S#LhYh>thkks+Wvk+~>2!@b}v1KTEpEeLgVfn3nldA6HMb+$k(;w(?J%K3#7v>(}Gk z!G}$4f!;1RA!F1Y};c z7G^HkBaJIfIw!rA@S-dE#J8;cd0%*9`(C-I31M-S{~O?ke3pE79RI;v)$*>_+YDH4 z*-GW}04U?T&T*lz-aXz_8^rwE@LKUa8{CYz60L&Mb-G>d7i9pfz1}q%y>~Zd%tAs? z;DT164-t+C2+$g>lI4-!x@gMg9C)_VM=H~kih1OP?)v(`(-UX+BN&8tZ z7$V?s?`&_mIJ!nxx^I?`W@FXeWRuITlXg$HQaUfV|5TmV{(EjwADuiSZrz#C4+uix zl!6$pK|Rqf_?0cQwqTOSI-|9KtAWzxh)2*}+-PI1JX{C%)77e@MHo z8;$I4Zus@rP{sk=D|ed6LU`*?$K0xP^&Mfxl@NFOc3^L^s$QpFk`Boq^_Zh$cD>}K z{XD!3YwZkbTFN;-zQhiC&W)o^1$mo*K(}3VU{Qa^+}Ks8FUEIF8NsT=hnwjbTo}#m ztFe*)miCR+pS<+V+J*W7I?T80L~3^@yWyw**O7D5KtRwrsHV$ZlwuZ%I?9y$UV;|r z3F2AE>H6?CcGPv)0s_MHz|t|x=iyC$>Zam1+O!NVtK+t&d&qV6DK8Hx;X`ivV>|g9 z0hnwH1z;J)uvJCqfmHZaOlGUy8`;V4T?1P;J9f>7Oi95$QD}Wk+1<`A-qf`Yko{N~ z{J^;%Hqq2?W1e8W^7*-8=PzujR9VVjMyw7FwM^Sf@W)SWbKhq=%o3u$Z%ua&-l~+S zDnacXiUQ?@($;*I@WHdZWTt~Yi?@E0c`v%3=6k6C9xMOv0dJdh!E|o=3~s>px|onu z%V8Jl-1~#($8EjI*Hfk%X4!z-gauhsFj)!s^Y(YA-y~lkDY$vx;FLp zr9!JzEa+49B;2wy_uz6?7)tZH-D~$g9B(>qJkB*07aMgad$~aI;|J`PbN$i&h+m@N zd*di|tP0g9O3*tb@*5RJez0RNOzcVOeEO8<*49YH?nCA-n5XsvwSe znZ@7tL5@tppOEaWXF7GVUD`A)=)*un=YeZ(txmkUFlCd3q~u&%FZS6UK94TKXaF4@ z`eW4#{oZE8o%X{bf$qEDM=xuGP9M>(oTp&N>m4)Pr*yahi~t%!57Qt*Tv)W z9-J?6Oc#Uey}NT<@{Jv~VOW%mi8rUJ+I|(FuN>Az&*|g76s>`?#2w!9zFtzyc-Qt~g_5?MA zDE6(q~`)(JMO9mVTGmpQr72EA)xA6m{ zIN;gtNIj1mNv|*%H}J!-Fy3ybP-_dyVp?VTjX7EY&|gW5wy|u+Vbwm6r+IvQl|UQz zt3uWHSIMk&Nc&q5Jx$ZZJoYPtKC;Id+bnL`@_2uZj#T@N=AjzOJ2bd)zuE{vu-iHq@CRpZPXp(t=%8;Nd8%uQz=(Awxdev6z*5!Cq~@d z{M&D6wIci&GV6jHeG@JQuT$@0VR5tdIp>tz)I=`3g2x3DO=~}Dw3|}~?x*b)JDfa% z0PI`~qUw8U_xE0Rc1UJekyjmoKAco;ZtDgb%*nl8p?kAu?mSk@DHuIq=Z`u3`Zz61 zGw9tcE6)+zsn702awr;q#P#x5fDFzFF)z;LiwU~lw9>3b)Lv09znp3(`?r$Yit=() z-E%+BwAT09sAHO2ZQGMNZ|n*#?#VyWk*PDwYwWL8rU=u9!`z*5VND{`*&B4Jq0#{I z6~BI0ummV5?g9ymwZd!Ji-xCX#&$h3>^xuXA-N(aYCixbEGU|9|zm6YaK{V-s0sEbSVdJwVRV#Ta4A;7lC zFJH3NhB*-}e*RI}7i1v?5dZ}pMfoFga;;t- ztXKk)npi>t`byJyA*+@2CnhyUI}!U9q&SsiMf-RW=ERcj5HSebR7*+o(t?N`>@X`g$qlx7J@F3$A2B_Qvz z_HhTt@-Say{%+*~zkCvZSU=oZoW= zi|2hd+8I zWC;cO5-P33->cGl{N?3a)WTpe3z2uVGE@IHhNq;!Dwd=N2nrJ$m0wAMUjx1UTY9_Q zY8XFc*gs3!2Z_t_My(p1_doRMX9+pHt}i4{NKbZtiZbOk(P*ZjUEy79P3NZUKMZ2h zf;jc=_warCWDDHheMArWnGfCi^>z~6H=|a{Z);XoB1G8tXX&Xp=j^Pc66SP7-OFW0 zhly1~E_7FfY94(2X|00hx%*e0N-ylFtdDOk;r}F#dHxNUXJR0yeYZYV!#~E2v5@)@ zjoU_HB}uiVR#v((UiEN$#b3WH0tSR^J-XjNW*v~;35W;P7l6x@e$#=6{#mxw_h)W$ z#r250dv0)>@kq{tWLN{@B^JAzsq`Id-I^hX4VRKRwsZqbNfd_$n@k$BT%dl~zvqcK zpM*MuyA9?X-$2=ZHspMATQd3UcP0P-@UohI4$&$L zV&k|r#=qpBhM9A2M1R7IxIc&dv3pX>fx;V*QFi2*_gNoG5COX)tv%4O_lZC0AQz=e z!Tkl|RI7PfZED?m@gr<+j`JPg=pTL~r{5!o z_va$MM###XFEXtC)v_=u<|%J|>(K(ho> zUH*Na)=Y2y(Q)9p847GR0OK09YLUxBf#oMsCl0Nx19J5c_wT_j94BosvOcFQ4Do(52m* z-S7C&Rk%(-9G@F|zIHo)(Ptn_SO`FOx4#2*d15`*kbb_R=eb}aoRCRyi?BvD$7lnp zGeY;_X#kP|KBRCtfxV2Z?t-&u_(R4P>#WZgc5Ch=5zy&{1dBp}0{7_2SULL$!f5$) z$|~1aIFGh(>)z(~YqC@>OdV7t$ufULp(|fI+|>BmoX4fZt@?Ys=W_~&Qz(Ic?m($G zfk1b2+R1!!UrgIG4A#CrPQrp@_FMjG$AuM0e1=H$->+-LeJLW*>7%$|jP^rKi0;p> zw}67zJvGkV{z(q|Rs+PsyHlYM?TSA_SFO+4MZ}Zax+4B{i9%FlNcM~s+$ z-qiQ4^}f$@{E)*$*oBAok)?BYL}h<=G>9gqG|4Lb&B_VAHs-lxu7_3<{NP~Ut=mYa z(@g>0Mg9S<$UT950PZ7!-x$`TE?HM87u%77DNncb)sySq>@zz$?0>@&un7CWL-)+N zs+B97cAmZcR<+GxGE*KcXv;k~kB zJC?Z|ZwmaThWxEgQZMJGxYfF5;JLCEW-NSPm|=y$g!#>cE5il#id{f3AK5KkYTBOs zmoNWH<)@>|MlD^fLnO@TmR*Fh_qd4-9ux@Kbzxl=5 z1bB&x2WJ?D>kiQ5YK5d&qd6qjO z{EMEhx^rgnQjno|T7(#FJu3hoe+Z5jbsru#9V5x_?`!+2jFHfY>3%0{9Y}zax8PhV zIF>XU>dvQ?H}{vTkr7;S;b(E~0DB=mI=0cPv->TKP9}0lk*wm`})UQU5+LS@KN4xUb@ony66q6 zMys6)rN+2(>yRou9eI2T^bR##0T5QJy!-hAY~FilEvJ==)#O9&Amzs6mkH~%!$J0Y zH1%Tn7!4|qcg;`VKDNBVW!486QPyST$OG+zr_5wK} z-UhV<6i6UNus>HW2Njw|;7b}jztc%;^c;S+)L$I{hb0W@-riD66MW=*7S6DiA4v}H z3lDU^sx_ft)RHRei%y*tQT4nl_XB<*ms>pM?p3mE@g=h*YXqmhmi#wAPl<5R)Q7q1 z7h8S{gw$cbewY1KEj#=yl>Kp@+fQ3ftfXm)_G?F9u)oFGE|;H6WdQoy?bGo`B}Gb{rN0Pb0>u|&bvdJkuuPUdWE-~9|!pbSgl81aZyimuF^9n2DF|p z?zp*B$cc?lG*#BdX2IKJ^{dn^9Z{##ACO2|mE zC(K`I6Vc_pp?8*vgtjN@WB!}{Ivw?Wybh}NAbR|Y-Bv+IMrZT@`O!suEOnG4iGI#! zzd0!c=stIcy;yh78QmUs7@Ktb(AR3Z+g!0*K2@h5n`NfYk{rOLp$5UeAzrku6j;W7 zPA5;dxe>(aKDo~WP3I3%;5%aW{zNv;Fd*%{PmdUrTm~Ox&Xl0V86T`@QMu{A(3#!fsKrUEmdVw}ku`RZ6ZQk#X z@8$-~$)zWI5-H&i8X#j;EELb$BwB%GSG(!ZvT47sL1p3P#@%A+uid)(D&>_T<}no}OL#tPUA*oNCp^ zxpVK9_2Iu~GL?^(vytb&`>gD4T4ao30zYg7i~D;)c8Y_SaESS5cNv$#xqZ5fCnq4@ zYQ!bV^vnASk z&hu+eT9lT`dDJ&{SF`eNTx%nkcXQ73RH4J%cdgvennbA$7GGQlJ*#_g?nEF3Imhto zsQGwI9>Me}c8%d_onQ>Jfalom`(@9V6gL`tJJ;oe8bH)MEIW4qI*WDtvWZ=p5P6x0 zaxvTWHz0W^VUy>smOp*z{A|{q9B1xty{&{|IUqYkkr<27v+{Y-Wa)w&ciW~^g}WGh zs<#hXzFkE8_*?G@%%2#z(B**C0anW5EPoRDlQ`i@&ZgAf&79e*HW`5r?6gR_{ikA; zuM?8^9zcd#>fm5(YP`MRv06cMZZ=5l`K5#8VbXgiuVnWr%)WiSeI~w_AGbl3+sbJ@ z&)H-YXLtJJmZ-vQzN1@8Dwxj3A}?8C+ph0|rzD+`tP-?r?foY%VB+X>b44V-Ip`<6 z-sAI^Wu-CwH&gQWC$3B$)GFaU zSI0KTn+nrj&njE!^8WOp$#Lx6oCozw3;4uRNI%YI*TN`c;cQ#bN&`5*-KtNTk+ry= zp#MK!^`7m~zTLGhv!7OO{B_Q)2C9aBZ{(9mY*s9Qm1ke65U)>UnG9pXVhu)Z0|^FEKh{~;2i@o8;ZbS?VdcZ zMQgR14%*xYOEaM$&ORi7AboKC$a$Aug6BK-i=E0({99A^nk(OPgBr^K9uX*|!3Wy4 zWi4sSVZMzIO_D8s&@R#N4v>C1->#FTrg>hiR9_n$*^cSL-BG7YQFrg;ig-0kf6wus z$v^uAB0y}*9uw2!=kHP}D>-ZRIxwJB7sNwNtKQ+9jOd#i_72nc;1+Yo5YgU4AI$~S zIM-U%ry5gvoLg7zPot*Df^h{I3l*{it%opJpXngST2HAh3G@z zZygz3jo}FyCcSy3)H>up327JLOkN^EGZByRXfJXCxrQEkm#WD-&_$etH$-&4HETO8IMqnt$|US;P&@Hm%1o}_ZBkS)4Z=qhy09~4laFQ=oO01AKZCo{(LL>DAc9*r72XF zB@_t2=C$~jf5KOo2tytq=Ck0yHfU3~J}|a=uWyyPBX zl>YY0#`H)#`(wLjoPD8G6-Q+PL=)qa+A9=tt}pV<#ihO2FJA3hG~z|>SC2G<^GjstKcR~yL5>QyeMjGaGN`NHX91eluz&2k-fHEnCUXC-wFLCG@6 zO17Jw@%zBsasDg7!gSNTZY#f<^o;mMuajc8diBnH%sHhh(nYzH*Es0A{PKR~UimdD z50kO@shx~_0)PDu$0}oSz;Wf-9^Fru^YO;ar?$uEB|ezn{NMXkB~vOup9g9!TNQDh zz``tHaP(M8T90y1Ag*wnV@O$Y;ul9gN3+uT!Zjeb0B1%H6^9A%$0!$Gi`I~;3G@NB zh_*-;hQ}Sz+<|5=R}7+gMxq{{K*|~&i=)MXz?0IgkWLq8;6MIa?Rsne4R0Eapsiga zzd5l0muc7D?Qp*J*NgWcWB$!yCN1K!*X3Rs76u~M+a{(~rSH$$VbU<`V|s_shUc^B z4z4vtUq7_?6~&hIO_^A>jh!kvha0$m=~+#`Isxixr8q8*yC5?tiw9yBJb1~;-+&RZ z_=JYHs!7G<#PIbXnxXoY=STxs-S8EK4iSYUuXbO~>leItcSyRF80E1!KGundx1;6N~<2FPr7K0URtS;mlZ}$T|ns!yXx?C4>4{lMGomDw^ zdI`*B-HZ!Pv3W786Mzbdpb_QKtbZEAcx@rA5RFSQ#Nb?fuW zvGSGqmTy-qeDDySvi^j$ZK{^U%OpcgbW|OUM8qr4X|P+Cd;b#M@*UEx^vc}dp66-0 zNVdVdv^kICBGlEl4 zV(V8MFj@z?N}sW2QTbNV)ov<31}*;zu*x>vG)vSa_}j3oM2rlr3(_(dum| zlgmAl1`Oxx80drP!F-0)I{LY`a4K=agI;gmOY+}q?+g2J9PTex)*2qhwl=8t9^>G~ zr{k8<4kp9nDo+kJ?WiuzPj`*ZZ)(AFG})i-skB&OB^0$g+k-Y=Ts0*R{VpTR7nd(- z0(cD5^eaM(PLO$*udwzVg9%CbvA$$8$mC>V9WJKr>XBEba@9OLbzh-lb${x2Jjnw> z%-+N?Z^Qdpl=E>69^`(XaV12S) z6tVK!uN@Q7a?nC@Y=_dB)A{a5BRi*RSU>3&iwodbI$?|NZe`)W+6gQ;&0PM|uvPuf z84aXLqXEs7EkYN1(pLimX2V)mbDLC2lEji5ni{X7T>a6$+>3Em9d}C5(oD+j&33Y! zQxP`?7W)?&9Q~pF!;YrF?wpMApU-|pxF~$jK1ln}IF&Jxf&AFn?FbVZ-firh2LRt$PcJA*=K_w&VsZWwUmLojWI z<^{)2%F^RfY|~SQGqoPLbT3nX@C;tJ6V;dNZdvBm-1G-P@5A>?b?`x5JI~7Heyokd zU%8`>YU7cL^xTpFl&Z;<`kYJ{eZWGaw}f{k%PYU>y1%J~@Nf;DWL@mmg0{HgP$gc@ z*L+sqcXL@Hw;tB@z3XQ3r_=b99=ZF(MARCr!PT&rS;^&%#3XECmbb&-UU;Z-{CiBG zCq2McD|qjVzhX*W;l!@B*<>t?1*D z&ZB{clt&sYJMj=+59dKZgCeLMZRDB;06~3n>7(}rJ55K3#c9rs%Uj<+ACvYxEfW)p zNaK4^dZ+`mI@QY4cIv|R?IOO;$_#pJ<@K$JeB#}Vk{>Xg(-M@OqN92fjePN}YnEO!Xq&^H46{=NRMGN-=y}J@gI?7~-IfKKL%? zt!8d2slwu$J4*5h5Z4cP*Heb|H*+XGhVh-R5mOf%wOS)lo$Zf>Lqhp&F*n_v2G)P{G4kgxZjh@2Ts9-Q@HbPQVxSi}J z+LFnmB=mRau0I>hUP1}16K+A;G(}QzZ(S8bH8}8Nht>rxIyDe(290lYYTpZKIvuy~ zHi>dWIE{OHKY@r#jP+AsL7!%KP7+p|g@F$0nwM2UuKg7p0r=o$TqU2q&cyr1OQgWPhoV(_#sE zfldp1@_^Hg>*8CJ3cHtU0J+g|rp5lI3%lcrXETrcUFygzL@_m^^<-8kMBF1k~1< zusuAw{ZVl*=oz|VG`ttB%m_E7cblPxx3X^!TZ_@;D%TIyT)Z?BnD96%IEDKLY|Jqsjv2`d*J?Uv$#G^m&%&A z#aIiDb=!T=OJCx960RS38_*6PkV!tzbb2dCyXAOxWwFBc_jZo*yD+eJSMmbw_donK z{WPWV0-nh(b?a^1d%m|Dza8b=eBJS~cRanrMh2okHyztbXqhf2&zEEDwdwMuJ3u3&Bj8#mnhgrit7b@}-Ls!+z&7Y4Q zLH5W4of~1{RGAj{6&86xYhasSAIif`uH4!^iXAiv+q=@84)&7GteoBme0d{^d-V`@ zmg?dD-e^wCsrhO_Pvs~DgIceUqlFslskc`t%-m3TH`;##%iY?5eT~H8Tm0upMa*(+ zA+2j-REh55FhZ~0?E(7E)kja+iW~gI!FJxUx_|2QT4niNp;zNBYZ(07?B5i~lg=~0(^l3l%ue~f_xk#`s`GF9P$rFH z^%))$v$57mVfE*nZ%9pG0$4n4Dl?AVW?rr@>4%efmH6knH_V_xe3_T;=>8AeEfxB& z=N1}w&w~zcdx+0l#w4??D6Y>s^M3kARAcIJ=)Qk%qDj0?)X{9&yO7YO&hYc=eH(*e zTP!X534$KmZ_Ip>Wwkpmk8|1Om0j&jqe*56Q*36k{N0bFdw}0qTN|Qvm3!}v#%~wJ z5X}FJ;}O^Fs<~OBme1JMSQG~bz17NwMvX6>Q=z(S&dJ`imRPNg-B~9|RSY|9BW>f9 zYW`uwOFr7lx4>G)ICZBv5%$PZRg!C>6P*A+=~S#>H9yVXT9n@RLus8hz8b>tjoWw` zdK7!ICe>5$^e-$1zuV1+>KkUHJLr8U_Vx9lfQl<^KR^5T!FAE<;*aC*c9`rhuoV>$ zZ&F<}-VXzPrk9!}d_FEi@3pY7UgksX@YP#QXN3_n?KY^+zg_vO%;oB-{;K5|p>R3` zy*0UK#*f7rQ1A1$T7)$ln@`c()3nd`$#~R9;IAJX>2+&N$ZoyV6;w=0$J+eb|Lbl^ zaAViv?6vv&SA2Baw)VY^_j@vdE8dxTIL(#LMXnPCuc?e$#YS_k-nWxuYu#CVmD&yv zk@4MGUMtkig)YzZmc_(=;=82`fKZ~eGIAtvzm18qj11f$!vu*NT)($?Tu~F#1(8@x zo9=rX_I=t|vN$t8ImzR`PBLsU6@pOk`?PSI@<#r_?Ft2ohdLGXU;MPYkTxj)lBir` z2!RPv95M(`Z;u6EEmgV4RHm}9lQ2zL7|}2!oaNViD^DdmFysup3JO_FwE2fEumnrw zv&qd$!ros;-@oVvP{4;&gelxiSahJ9$7iFaeReuUSnomL56RcBa1@*O8KPs}ihd_O zmDi)Qj^|8oDjeM6{Gmh+jVQwYZq@L6zF|(Tp}pk}2YgKu@*UyyWeoX;4@DaAw4Bmj z6&HI|z;Z>1nE&&b?8X0i)&1#~wKwNz9BGg~84KIV99&KLf2MHL8+|MZ@rJ#D%u7C;6)t+iSL#B@jK@w=gx zeYO-dCI)!QT9|O)iEB5rS^rV(_j`>p--*Wc{pzj%%__geLfrs_&ivBRrZ(;-?=_>w zb$j}_ulnW*?qZi&+MSO)l-Um+A}mZ0am1CDPf@g%hungm7;JOW?n1K!a_hD;UjOa* z+ia5b)9UCrz(1UCoEWkt96hk%fob(sGjGL>k)v?I@B#o8x{B_{yiu)rNeZV3a~#LalX6l zd`csiH(UKNF{pFH2DbuUX6f+PzzKrww>7mO`1il}F zRV@OlKQ76FZ!uVO$maQOFXiqzJeJBO7~A)ri4Xc|v?o`N^)gzdPRd_V@5F5>MLL&O zf2cJ#IQkK#N_tUwd+`bk@hmIy7&_ z)AzVC#jfJ$7SeesrT2KTRC$5)AqD+|ROU-m&Rp9+MS>Chn)r`{m>&s4W1kyB*~Vr)SBf=buJa zXx0a7d3uVu&$2MDN5^T1jVkbciJ}Hl2kU!bvd#(`5XbIfm@<1`iCt;%MmQsD z+!yV?m{wjPF@0m%t)8QKKzbmpNkhEV^u#zGmz^&0E3!d}1lY`Qb7oKWO?EX5J`w5h zK?1R-)v|$|2I&s4$42Y=3L^R$!!oZfav})IKVQe75d9F)1V#(_4(=kO=6A}oj8X#K zuA)DMmPq=?MSVZA2;bB@M8%VXd+jzjASp4bQO0hR5Y~aJ5EOcQA zUmQ_PVfGW%IdZS&dR3i`^S3wIw}d=${4DmlRPt=i+H8NFFadJ%P)(!bI9o=v2v19% zf2;eN-Je%`WfmV{rYrFD@MCHIGWL24_-{B)cMdHmic{o8i*Ux|veH@aBj1b`EATct ziu2pfQJ7df@07-eYuL*}>sSAcJB!V2akZ*fpf*k0_K0AC6t4W%%ioSXQ~kXOIh&rD zaxr{blvB&@OXV};q*;9bHcs8vv#oB!fMqo02~nw9HQQV_4=on+9CLCjBm7X9nbamX z{Cnji_s@qszgIn+Hrp+*S@^SglkJmg+y)+7*cEEyQeKfS!$uFr-j)ZFCGK1=d!=R5 zTv6&bLT{UDI0B%v(E19(U_)_xbK;c8rpDISy(VUTF1@Z0t{X*Q-8{kdOTWP!=XPc` z*029Cfja1z(pg>+iThNVaqE^n!_r- zE$KU;+D7-WEi1z*tAbv|SI;c#^%v8}x3;j+i5+f&S%AjPDtZsG*2e32`;FP2$l!X` z9*q}13`mr{sS{@QZgrP*`ruo=-P9tri+mqQb~q%$e>M*_za94-kwM z_-NAQYgg&V3ORn!;iaiGlUsGOU23i+HpN-aV z&YwqzM|!&Umx2r}>Dz0Bqh6Mza0lwQe%o*!Ek{EJvH}xx-#1})G2qnZ^LZS!$VvM} z0@UG-;E=IlSBuRHNGi|VpkD;(ny|C!Q~n=rq8gwyaG^RB@bpNpzkh#y`godeu*Aob z6r^60_i`Qj<72#&^A|Dy#o)}(t#$00t2@wiCa=SV*nr^ait>EE;Boc%fR1)f(Cyt# zxq5VuKo3Msb)q&QN?Mk+<9!#9>)eY!t?B!xc-hgqR=k1PVU=7S4d-|Bv%j>^L*Tu? zscskOw_a>&CA&3Z@{<8x15fViMl9Kc+PZD${1F>QieW8wUs^KP%{v>&*%)0k=pEJ> zP?$&d08viWmv2|aIBQx`7z`*0Dq(ZJYAg?M=ARW8wVl37*2yN{iZ$B$6^}1_|1%eu zPP^h9=w+e_%F6Vo8=-@He750MS01tt>9b71~%`u*j$?^x6Av(|)Tq?o}A!+f2M z%*qRUVL94=9_FZrrGUly=YDEB@pl1=tWhS~YJwwiBTEwi~9e ziFeqG-RieY&E%)ko~4&MvPALjx6$&#)*uaXTHTqha=h92TTOn0?O%C$ zJKX_l-$S(WlCHbEP~y^6Z7^~_r5tdf78B{|9TKG%8|#fAij3d6ed8-C^-oRj z4~gnpT06_7!>As?k#p@x@@#n*itL-Dx4q(=t|WjS(Fj}FZF zFC_=hD;Tm{khZ-S4_ob>ZcZ8Ce0QU!!uB=jrKPp}(P|O{9RCh8XOC~OX|X8={d1wo zULH(p7q5E9+7cUUOUtI&IA=^ZD^eDfB`49Tqz58zfD*kq?)PCrqD=g9rN)-#+v-w2 zc;#9D-gh5gdGj>MI^691Wy7^=L-pBh9~{OiY`2T^o>vQ(^(@{mSLfq{I07Mc3Gf2n z_sE%8uWB#Z9(^pB4#yfy%*O ze>!aVUf$kUiA{?DJSv5A1`s1%P z*1=w-RoWuMcn@zsuPDzyu8_`(gS0oAXy-%Y9}#qPsR_>*c(B#mEBYud#l=&vmzg}V z6_y<0XIuFXcDt5@m9C%|8RLlgMPcN#AdBc_?q56Sdv|V*zgO>U$aN>vj`(O2rQN_H z#`5YD#_iY{Y+xiGuMO6&IV-wxC%>Xw!P zD=4Wzf!Ntb$bkJEASYA0?>{XT|K65gG+)gi;-ofe@5wM#P2mpR>Tjc*$*bG2`>?7j zzI!Bb^$8wvld;rYy;thT*_&yk@)kJ~ZOSCVm++4!CG=@fXcJ~Dj)^pXM4&*j%O1KIdbw}9u%)V+zr)3S@r(=FPom*GU>lp<_{x}UavVSKTG z(4*|#h+A*)Fdm{a7tj!c9Db&i@f$QohbFliK9a4?@SQKd-)K(?wA&|3IL+oOPq83) zesAYOydc3gVLxJ%9?eu1Uq+ETlN(-yubjfY%5A4+6g;$en=|#VfP+$Q_T7$(eQog* z@|v&x)kkb))lP@W^gZ19EKC*o=?i&PB!!z12tzl=zq6gW-33hH-rM2g^|~dBUH4>p zk}cG}Zjm#EUS*|Wmt9KR_V}?}9!3S(*hQtA%paG>3kmusXMJ(mLGjWD`>rSoelMQ# zz#tr+1{Ixn6jQg7dz_VRFKEE2FW}aT>Y~Oyr-aAWXagP12QBH6&Hb`&s0&`ER_41t zRvow6dLsREY4shDQ2Fbum0@i-t+Ya+hGBq01o8B4wwV5^`29gIKo1qn_;;yrx8TW7 z&60HPaD0}zr*;+Uqh%w2u#btSX`SdD>vb^nL3zwh@+^bq8`BXPURL7%wc9-N%Jy4m zTZ15U+`FE-J1Cw_u0Jf+ZFKYt%ad^~bi8Q{r}4o~?-oS8ciX)_fRwh&7X9z`7f{+> z|A4wLovGPm{rA4#hfg@^^@!E&yi~KO^r(YZH#P!t|IGG?45YlQYcTrt^Lw>e^R?Pb zd;pYXc_d(-HkL;~q9~OPWk1!R#7N@C1>r$1nsk!$IL{GQP3rXi`+%<6X<` z%#t&!xdUlfSzf&WF`aA|a`Kd;dQOhZ9@L~P=v~&GK`ZOzz=UKnH3OzGoF`7ow`qQ- z0*C0tADaOI8dhVU!+ue(THstur|bCTTAJh&dfB|6$IR^b*Pd|pA^yg>qei8LYg7{YKmbrC+~sA78@jAlyyww-3^T<{$7hu@*E zMcE{a{}g~W#nVK~+{aUMj_u%*VRl9D6zc8gkGUnyHtcj$wtY_?e+0rEFP+sNe8vWT zqZq@`B3`GX*5Qc|_kPaUYat4Ln@oVI(o zg4~=JMW(rP6oQkw>vF;Gn_Uf*?q^Iu4iP*px84z+M+wYRpJ)GSOSL+i9Nup~f51x3 zlTn@i4eCW|TtgsE=j`j@rhffI{nkJswLhY#vwH8nbD?WCd=u%E-?oU*m$Z4WX?{GHXlFu!VZh}lF)-TghH}D0)Me zQfJG`SOi62Z3X6ofANRg^WJB}+^c=I&5O2d<)S!n=DGa()h5st$l~sYeg}TLkQ)!L zv0}5MMF)j;`{w#{vGe>l+hb;t})L>jVl!MYtHoSCwI!Q1(|Zt^HGR{N$xw*qD6cWE3J^~M7} z{4YBU;};+Cn z!v_^&g!QC$!%G)$U_Kk>_O&dl{i3{UlEdL~@LCaLum+TC%2`F8I^gpj96xG;Sq%RG zaHG?bKYfqHH|yVtVo|>MfjmquR$YFN0k%TeyFarhpJt`V3v$_$I~IE3`QZL#?G#_V zSiq*l{D%EqvENCqYd58zIwczO{;vGxSP{d=$TRM8rB4@XT6)%pvr4X|?`6+X|0`yB zgPZTC=78eklKT0Vn#taE%gbVKHwOv97Rj!@tt`Y+7#TAP zsTDjApD(Ci^u1eIPkDNQzahM4t(vPG4o!*fu7 zlL#JPPT&WDGyfOxmSQ2W-ZV?sPTEl~Umtwm90%Tfg`pv{0-X0>xp`!G&)pr8wg zDaJr}ZShmfI@e0!wywE=r%6IT;vX7t_#D*oMSA(uP3(nIn$RgORlA!vziZ zso8A%4~uBNxV!r65qTdz779!iYPUxZ_-o;iUqC;4acflN!L|Vq1xNceHHSPfJXA@<|QJQmaONq>$VH-3QR6u#oDYRky3nW0&tp&dzJJ2g<%J6w~(_%Tz7jfNg>= z5aBrZw^IR;r}4>t#pyX~ebmiU8Pq6mNdBpZ@bm)VU5gmUt;M`cC|;%8AlO3uaK3>) zA6&}eYoy))HIPT1w*Oik2hF7e{%G@%MauUEsm>cs#@+1sEKB+M@D*OTo=N__RAlhS zJj{vE6e9Tajgs?tKD3*UzBTo0~tv&C<&EgK|)qECP$5GZU*DIo0NU=xM1OMw)EEME?UArU3FbFQaQPN%!yB8$m z-YVVOi|uApJcwr*mJqK7cqhyEnce%!o$fZEbetFLSuzKE$@vbSv2#OHbIj*R1Ud+e$AoSrof-#MRX-UkyMrUstr zPPVV;`p0tpu@^?K0#CS)goKS12x`pTHR-fmB}WK_HbhPAwm@`PBbl*Oc`{iS9wcZU zhU_Iy9CejFW%|NYd^TAt@0RHMtrc>_@RwicmDrpT9xer{Q>nHRL#xy_d0;0D9NpLNpp&cl4Z_z){}ok>s}rmATRLpB{G7od<`V*ov*`*S zclC$p(&pmfCRZE(?L5}=2OT9nx;^mSKc6{xZ+D;{T%Z&3i**SUF5G5ng859@Z5w|n z&&u=(KB1Sxz%e-fGwmG zXwI=4>R2f^)BWzJch7AZ7|{pg%%3-U*5m_+Ge|Z9%cr>@HhQme_9jP zHslaHg(s%D@>Ocgo54{yl>1M%`hw1HjSd2?0ey&{);@@sd34D|iAzT8XATEACEFUq$%(LM|LZ9lbmZUvFer zF8|HDOH)3mB22Ij@+&H=M=}tp@Jp^+&g`7-7a>2^A9gAUSN{`;GCM$1W3hbndJt}y z_g1AJygEy3v)~LS`b7YpQwxPZK7l64RovN;QjdtQ-Ouh)Xu zp_10YYFTJG@B0Lwm0>zZe2V23+$-JS?<)!q{#x4$Rd?gkJa&1_{(X!#Og_fDmt>Gx zlDK)j-^z6ydtt9e)`sVxB0)?Tg#$$3jGpR?gUm1`4{78X_(U=G^PlM9?3&WM67@q! z+p5=}acjqlwjMc^DLIu8^=i+Rinx!<=Y9K}Tu4o<9d~nHUGu+%&G)M&wAP|yW7#rk z9+X^zp!qob&L+w-W%q>{m&nO4E5hiLP`seeWH`f&PCNp+)vhk5e-Km@lvXv~7rx(@ zx@Kb7q35*EFjW{fm`r5O!wa0j2Z!SJ zzoYD3h-!3SVzDDCeB!5thTTS$dkrSP9$sq`Wr}SfrY3v+ENKhy8#A7Xoh#@URSVj= z^PiH#;!okLNwL@A2)0tze%<`|)j3eLW%Mm<)bU$b#!uu}tzRw=lU-0+MJ#H>Gb=!y z`neLz@1uTxUKTM*e=xkhs_l!AP@MykGyWS%Pv`Mik^J-Bq#ak3nCtC!RfYH0cFudQ4Ou(5CxZ#7DP!A2jisN>I*9bE)pAkI=@ zx?k}j@Wmt7ZQ|mo9$IDn=X%)XvDhZAFk~Ea?Jg-bD0s7;pP2f^nW9dfj;g~Cr zmtFl5s5A4~<`udCsWEw}VqG`##v_fYT#(Jcm*P%YYYv^au1FhCKQ>Petw)z#$pP<& zcn@+|YIZ>%G5KRa>P70&w*-lZ+GlyGub66gTl8)DkuMf-2y+v%R3njAwtrPSqjhDh zr>jjj|EChGrtX?nvHv!HB}`j=K1=oJcaACk=G<3Sx34og>Hzs=0%F=#OInc5;~Bxz za{Re)N6U{C9-hDTA@zvt;V%5T+g>-*Ro`oJ;%5Q%$)_$^bp=Uwc>0?uI+R;d_~Yj-2Ks-D zJL^OFmCnqoPBed#yExc+Hs6WZ>G%Gq4Xy4E?S56NyRygLAC5zE`(Wb3J-LMP<-pwr z=gZkDx^gXmM8uGqaY-!=nnyq1yH8}xKD)=mJ<}4|{oad}LQxtg5Xn#;U%cekf75a2 zuYHr*w~VxWJm*Yvd>PXIhxOT7_PCmP$3L1;UXa3lI!wz!_4CbOE6VQM#$Tz*{&?dz zKtbukho?sLT4s6#HJNa8J|F7?&;FmHGf^}Y48!oXP?W8dB|A}(RJIlr6-kyh&i&6f zH!w424)y=v_rA~bH!5-q;?!zl03W*N96=d68X^v#?Z?#o#K;O=V>hX#UH&yC@nb=IK>|uXGpu=hu=#oWpx8dL zi#zvLYQ^sPyeQUg3TgfABy;O5q=$6oH_7#yUqL6STGTEex&QG5?2*ZckDAT!*~Lq@ zU2P%P#^=)HyRA(LGoAKxUuoCvKQfRh8=$0Hb8}7KmnPKnfkm?=TQz2-wX3{~Xl1|w z*}>cN?u$~R?Ln)Cs^qbSt*Z2YB4}?|^|nHYvP|*pB$w9%J}SYa*K=#dK*DV9q~7D& zwTW$OhMU8nnnu;ufAz|x_@2I}`|5|O4%*9cjBQ7Y>0kh?=a}d>c1EWZRy$$mPB7>U zPUCUXT5<4Vk!^#HmKY8+z0!J>t!|i1JR&; zVi)QNrJ1Q$lUuy2oMs{A@g4zjNgw?K>b@?`KZ3Cg*3E!zGq0rp>S_sQ{Z9Dy{; z(ab*Ovq}ASAXI3qPpCStS<7P810tJPX%mYDw1rl=Y8Hdv?@*IE0!(`4B@!o{$$Zr; zvBlJdLtMROd~eAeE@s*c9QOsk;Tur(`ksfCu|$b~#f0u$JJmtquwf0-sV=J9bD28F z#6Cf4Up2~K_6TvmSlL~HZewZbz>TjfosX6Zc~_{pA4{|iCt-ZlfGzZ~bc(B<%`LGi zUf!AS^?TKrDwN6S+t(apLD}tlvLx`&zjV*K0=`q#m@Kx|@A_j>B^IHsIL0SVoHql% z{q^)q5yo|dwyPja17%v5wi6;(NgCgVFnyj&)P;Ee9p=;p>;GERYsx3I*V9M+IyVg} z79?Mo8d5?u0&b?Lhwr-frrVmoopH!+`5kct{t}$WxWco0-Pjk!?va}AQuVtnzSgNt#78|Ps>>g4U(v*x{FwO0*U3$e z0cIePQ09A#OISr<@wQyDnpuTJl=n&uZZ%mY33%~HrD|O*DUYOz!BoK>@B44QakpsR zzS;x9{9b4ful)&hw8@_qH>3LQ++*W@t>N=_1msahfJ8UbH)k>&Xfg|`Bc1*aFS-_q zzv^UK*=TlqxZnJewsPL(ixGE%_e=V|pE;50&wM;;f1^pq|C_MEC-~cH^KL18ZH4FZ zD&?w=OLU@~X|shM0w2=vablWxVvP^&?)q}%?N(R4l%c~q!Xdm7|e0^)%|ELj}sy{92sucFjxGVAsn>&!KW@^m}-f?5Dr(MJ-g?Zl_*(TIC-6EVbW;Z)%Ix5ESrZ`6S%i)p^&G zbMGq?jgx05Tn zFGqKZ(K6@S;s4th@A@tEa~-P`P;~v#s|Hypc}z^g6^6AUm@!I^j4EgT!b0Ps3o+I zO-PMyXs+-%qU6nPbB3|6-w$o858uihoi8Iff#}tpLr`?;f3A|-^xDdyQI7wl4?RP) zL+w;lr|x=pFSlIO#(qd)!_qrkSbNBPC?5by6&f>>xd^H6orl7o$;I$*cpvPJY(5)D z_*pz9&kq8*TYXx?cxD~~=cC!u#%YY21R2$3hU_(*&>S6mUJ+Z}&+l=|k%-P^%&AC` z<$lFmsWKb9PUDVf&C3wt&DYX+D_jd%1Eq~e?K<4UJh?Mm?5YSte1o3E*+!*0zU5BO zSs_O#Ow)g%2(p{KTMy)#^U`K+tHi)EVc3OtK8_33lhhaLvm;O6TKOxO8oI-qsr(GS zAxJX^?~@$gIqh+HSGG|OIW!jQ>cpLF%R**$tCaV)dEjjpodV1lX*N^`l(L6Gy z)B7|Sx4gvx($)U?6y=qJyH{TNxx zqY|Kh%csk&U{U=#V_+eE>gS~gwNE|6(vE!kY=J-k9P^XZ`<7EF1o zb2ZmcX6U@D75<*5PblBsy~T*`Pl3b)Go>*|#Ke7bYSl^cv)%fpAPoih33mIS5o{iM zViNxQXWS~CR5&-mJEezet;C7th1$ZRCMiT{?(u>pB?BVX-+SHf1M4Q~-N4Gb1NQO; z%J5(`*g%E(-A#&T+8C%0AI2pdPh}(VU1~mR27}BmeCtD24u_qyR(_UVdhL+=%K)yV ztPSqD#+l)3eQ~qwa}Zxj$@tq1byd0T=v!&9?umy*8Scof{!P%k%dRtU{FyeKaO3mq zC^E_N&c6ix0t>xh;k)DVS>kekjZ5hPl`W{jfXz8Cz21(Gy`#VsV^KCvo^op1pUBeX z`4$S|i)WA3Gi1vsFo8!25&$vxtX$B)6}s>`D3I)u zJ3w@l8n<{@e*xFPj9h0o`W0y%7M*tIS}E`*%&@DT6cPCuRtBSwE*7{=;}I7d-B6`# z8QhZg?R6Xl$!+!#jhEAF7!&MJFcRxlR2=MX>Zks5P!b-^sTWs~u*Oc`os0SGKHIzY z^sF?>oeLweQSJ#Tn?b_Ayy#Cb6W&j|@$K-_>e~NrG0UnnQXv0!xKCylJXzw`rVm^`O#;)q)Kx+lGCxXpzNuv7#Bd*l?DPLTZEPZ}Ei)v54sqNdLHrQx+?zU(4orx{z zyHA2SfYOb2jB*%N*`x}}0qN4`21ifOB}e|cBbX^w(RV~qeCD1vA%x#A;}!%U_r5=m z(x=#i22!B4xZ0^be~10i({PghXP)nB%3t>B&L82VY|ofR0~4CzCN)?G4=zUIcSg@V zDjd&0ZYeDUm|g58TMhcgV!V|2-*(h2FTwXoCy=0?=t=SboGwkiRVC;hKXq);)_vHp z-o+g13%lR41SqYWB2;g-P&L=mP>PC6;)U8&bWE@<^8^H7lPDmxbQv zp5ztu zC)ZQt0zc!l-~Z%)mv#3wNS=Iu5~Pi6B*cSe^%dqnaO1n5qaJIkKoGaL^=O}JdxcU! zx)Se{%b+3*221H?mWv{dT~3yDi-rc9yZH|GYpzr`Ydv&Xo(l(UcPy_7jo%ODXafgF zd-KyTE7jOEM)-dNNa?^+*Mh*I@|Y_%f0au1JEsx)YZhv|=T-q2^_5cH#eWAt| zYs-Kqbn;TztEZ1El6+@`)r~d{!yNN3en_alIA*~I(<(5<-;Jqyp$qAb$qDTx#j>%Ds|5h|k4x!xbYGs7YU0$|L63efJBR0}(_Fgr_E~io z#pT~HO1LFHw*qb4}(}6nP-PdCU8b@f`)5$@YW%h~`!3KB}wa(geNJ4MXHsK^rgJc(U)E|HN$O z=RCM24Fy);N8iQxF+(~(|GjeyidIV@ge~e}WS%x8OApoA4U_TILUEZjg}I zJQI97x%Ap~3&LnSZO%Hhl@1olSXGmcw%`GjywJxCbJg(L2s>ABykt&8HhMV5h%a3V2m@xnV76&*zy zCndnR@WzlXBQksPd|xV3s&j?khOU4A?<|(}OTq@Rvzc+s9PW^{+HmF<6BN4i$3>|- zeeLMHS?lHnr4f_!()h5s^@pq0;PFR(-n)0_F#SsrJ())K?pgNgZmCWkYHsy$CqI_H z3oR~%?@JtgC6Jma;|bL(O?cjOpPSuF=p1yqxqonsp!#oeMS0UmfUw1-Sk-NnlE%bS{;V- z&LkuQ(&(&Hfdi{2b4kJGcIN?vw=nXvz8Ji z3rXpAIIn2?t7k{Dhb013Vdt1O{bQ_ z!>S1nE9|y^oiU#fk~5xPgi?1M0QO=v7*vNgozo)@fs$MD9rQ0}an~d0Crn6?Rgqk| zo7EI>XsfxG>l`|jq9W1mty~&f&?rd;U8l*h`Qed><;k_JO)gM<+aW~qn90TI6V6ao zz69Kwvl5l{+d?It;-``P)p|9yRw%X#EDm>M3YNNTl!|^(Qzq+Rwq%{1k-x z`+f%|CA7cm+NTkPVILDMx^pVNf{tSsJ73|v-N`ofhi=BDD1~Y``T0S>U|7gr&baL* z{q4~iWN=af-i3!wd43AB(B@ZxjnS+N>}T!W&E~g3Z4!=8Z42AX$bpiW#>L;x7vMI~-CIhD8bx5O-wZ;bd^OE6ND|}?k49-*e+64dGkssoI8;a2)k2kXg7TEp7 zIdpGm-CawErZMeIr3k?Xk6aCybXtE96a|eOhkp_o@<-p7@w{v5X)WL!?xjoH~U|16f$9^WHVp z`b~up&N}!w<5~0MFgXI!&u3!L%Z>8x-(&#q7j<>P=o2;{AaHBU7A85tpuZv;=jVi4 z-aFT+q{Id7cFF-c@q9$LtJd=+*GaFvYT;`LWo+FIJp%fQa(s9Ya=rDI$_`ocfFv4b zzc=Dj*RcjWi;jscO|HH0DQY^G#Jtsl5gIu;0w{KvD_`Tvm4+bkZdmJkjm`C?J`b&B zk&H%*L7jdbe)sHAHObFYBq?TMT6Wf3QEPfs$i7-%3pcxa-i2A8E9`G&y0lX8Vr(L# zZocGUL%1|abE1RSeaIfwgZ;aI?Wwpp(p9tMDGEUM_^i(n}a8g zCbo-j`ZXkOyNfY)Nr~Gk6==d>|)|-eI+JDJw*uKqy-=IkTY~QR#d6ESpXss}E zy2Wp2T824Wd#?E?Y)}TA+!af)AvQE=3a*~FgI!Lnvo`Ok>>vD%a#{j^fRvr~@v6v*}qQOP6 zxXeel-Cy}q;xUof2V%(3^jV!f-d!lI4tnDb9SsBz+75OB?v(?rF665#;%b<@e8k@y z{E6=3^Z3Nihm}Ld!^frm)FHnk-&JkSyerB|QtzE-Q5B1q7BH-#ar)kxxfHr7cXsYQ ztb#H#0Ty;V_^T6L4=ewl{KBV&-O@E9$Y9}`?J>ANm3m1Aeqf}J?~B@2M8ad;r8x#z z1d|T8Ucqj&FFnP&^c)sC1IzeHZDcX4e>XQgC|0>m$81jDG=Rxw*gC~%1BHF1_qx6w z#(mMVYAefJN?uPBdyrtXy!+*SJ!q?ua1yx5#gyJV*t}5heR=;btXq^@(A_))@sgDX zWjtd261MUY+L40lI5T1R7HQ3zT()fR2cNMbkYtLJo}zv>kLmsypiOf_P{k{)T*UH$+CX2y64^tLqMiE*xl1(lAcQ z?;g%)GV?nhMOEiGXE3K}T3M9h+fGu{97tQI$FbD^jgN5ZQ~gxAAw|JDL4vNLf9%TU zRA2q+K9xDG9F;f4a7XgAy%qC*(uJiRZrJc7J93VeY<{6_65n&eRNN^PgKy~mP`^B@ zttNnVYL9ibWg7V~S_0>4M}dy)h+!GH#%WRBz}EhRpjOp8xf4gqor7WfUaA{rR$F$a ze@8t-w`AiK8i~CWSDztz-?#2PzYMKi0(u{OLCX1gR9ThRHXZerC+CvDR3V*NkCU!( zwQkk*&DBBIL2^v=3DGF*#McLj4yxh-UTj#klU5fE=HinawApfN^#En*lPpMw+B+(# z=+NaB<7l1eBO*W{zcC_5mpF2eBccO*dYgbfPGq( zcB#!gJ!zlUzLUnWC1}5Vb1asImtDz0(JMGhUT3fN!~4Bj+>20w@Asw=}> zF$*N!2L+=$Oil^=*~i=Y>5jL0q*=qh{XmK8^eW0w;iz9B5C+eKW9Otn>J#g6s;QQSo%WeRzxs z5K*xIHzUPVWB-uXNH`09jXhgBd?q$d5sII_E-X;-!_Ix)$bz zi-i4wbjMfC`}9fkmEWqdZq^X2@mUM8If}M5B>pA>e=XMG)YqBbVD1Eol<{@z+E(Vg z5AS2G7tDH#LLcUY;Z}yXk*fnD{X=;35smhtC$dF?1pl0+q_B_1&(Ob{(`a)k9%IaZ zyYZdwHX#AXyxU+h-vw}ndFDM~b%#s!jGDHz&${{NO!EgxA49(>-3xRxeZSqo*|w{9 z_5(8wqdAcaD*|W458w6UKY4cdU3R;e@NiYGDPU=6x%U>5JGTEztB)nTOu;!>=aWl; z{|ryxdE231(N&>vSGX7LyzvSby&OF`gu58{1j}?7*PnbLeIB(7C;Hpius(4mcUL3k z^UhPP>jhvK&aIKG`1cs}3>wAZ8e_8o3O)<2OZu00CAT@*Cq?AUib|Bkyql+``IU_! zg}a77=TXFahh10i4)hK{bXkbXig=u37jeb!d~j;_-js{?b8WzC%nk6?&28h3Pr3$1 zMb!U9_u7R<>#{xlJA>7!3j{8#*ccnr6I=VmbGyo2&b5wuc^=EupA{JUBF!ndjEpJc z@1hKB@IDxWQqA<1Cs~}EC0{>-iFmSI8gm$@4ZX*?BBYRmg?}Y9|3so!@VS+Z^ew3T z$KEI@fbM%SEc^}9%5#8x8{NuwSaWK2X;nB*ZuQH1ANGQcXD7){aatp_Uu)Aa_iFw^W zs``<=XVntwNL#B%72@9iZWxCL0UsJpClBU+IAGTDDhhEm`#z~B`S%#PKS$=*7}*aVi#cCaBahGm5Q`_qm zaGQqb#6%wRvnMIf&2JK!LRQaB56S)UW7A-r!x+Kw=-__+HeU$AE;;h+Zk4cKe=feG0=$t&KQRt&O$rPr7#_xZz&7r4(VY4-qCNp->?48wST_eqt*|deTMoy)EoUSsxJF8X(Z>*Be zK1--x&%tD|_VPDlm}Z}llV;^EOw?o^Hi=(6|B_+V4|+ZZ^Uz^j`t+yM?qRuD>Vh?X zTWT%O>t1>@1YYBb9aZ>#6c}byaA{GH`K0D-=UP-e=dR6KOfPpfBd=ku+p*shH^%hu zl~sCdAef)-$(^8-|DsCBF@QDghcM|Pn> zL9bx`1WkRd@Jrw=));zq0j`44cW^#Ee1ic7E29oCWi4@kAC`#I zfVR#B>wLC-UmBc3(OZlfHD*jTfL5yyIvoqLC=C*@_2s#K}j7hGhx&c z>kBmg8bkH`h%hGUs@8FZxIpxSDcr`%^brgLpUh$j_OQ<;ADHdj8i9M?z_{Gr-BSsau_3D9TlQ`SkAe>vxR>&@x%I59`rfOyZL=Tg%LAwr5SlHIo3LDoU@KGIjX9 zVC~%sd_sC}IUU-GxFYU$+v2CMjc7l>L)biWb`!VXzVJ7$8k6FQ817q*<5CS~Fz%FJ z#|jO0r`v4x8GrnU-?a|S`TJ{+PfEWxY+YwYgPlNUs>8;P+GXH!` zWvAmExzH0|!~R$ry@zcr)uQ9!X_ z_wu;AeHG`Ml+D$jMi1DZdy4pM8Vl`pPziZE+aNqgmIk?INe!r;zFv%U_A> zvQqF`-&NT^V$94g`9D96_?)cy*N!6ms2njVBi^--)kIxi7q)kocZ z1}QaX02dx3SR}*RD|dOp5HmON^f(2Wc~Hn&hEr)YZRPsy{asG=;2LV$;_daGvnfb1 zYfcM#%=OW8oKx|WS@imImfqjktG+yj)BJj>U!~w}!uMrD*+p6Kuif&8TvZAydyI}0 zpfRsFlpsp#Hhx+wbe`o0Y}st(JOjh z7-1wDNj%gx@hpZpcf7Up!S5nD+oELAaHUvHS(dbtWb`K=G^S}T|B zH5XL^JIJ1(&N}HG5jauyr|9EA_v=8HWldg`lA<&CfKR8>Z*G*OF2Z$b!m$J ztCP~>bRWiS^ME0I;qe64M#Z|y4xBCD#{g%#&BHqHQopxG)X9fKBwGN=>}MM+n-fa- zNQ->aE=$`-Y>Dr5yp5jvSnrF3zOy|)Y}B{!q43Mfsw?FtWL11MS^Y5jbRDqS+}vu?4^n)bq_jl6;S}fU&GsIifxwJxYAr|GjrH3R(S#ke)UPo>q}}|%V)u}{>WFx zpwhmakisMYq{4JH$G#Zd>%bVU^vwUl^=jQv+qnh~8(ydfUIeuqn>F|CPSyZgb26%CU0~crLF4-R<>g=Vc1a%bawGSyhjQ~^Z$H>dCO!z6 z|Kv@~W~PVcu5QNh2;^O%kJ6JIcICE;lDzx=o)P~?orJ9~rb zMpx?;8v)$3ME>@g^ufd`4xsBZ!4Y3NC4)732 zCL@#_bIKwD_1}4%+`5l*EHb9h?&PLdZ^#Un-*!|7q~#4A+PjamuUtw-P87p~nJycB z{?@0wIfv?9J5)JnKCbM{8mO>-k{Zy=ta{1*g|2*qzy2{~oRtbE-C_+0?K)I%N5Jr{ z0l<{|*F)Ltoh*zRb7|pC8Lp8PM!SkRpih^}4Oh(!UT_ z{rUx7EyUmW`N>UK<50Qsi9gJ_mkPf^AOW*5HC|r1`6}8O2eUH?uWy%ctM@_!hZFeY z-jml)C+f*_jUZceH8-Gcnrd!E7r@-*J(=kd+If`?^%pzXWp z!D(FiHV@T~)x(C20X)XOFFylLAHaUNR>aIzsepY(?C&EnpXq3;vGOq2xt$kS_;nJ# z+%tCT-2o27T!a@YExIkz-5rtUszi2RicDp2MK=Vr(UUja+v#DJJv--xV zOdjurfl8+n_mLnASKBsDicL3zUTN_Q zI>w9NSx}liTBTtg(g%4|{d(VKzEfk;Uz;Ofj}|G9-P2j&%NR9fKZE%R7Y*Z5`ao_ttfgY&4mIaZ~wUJI_*KD047 zpdWP76LnU%K{E2z8w(aS$s5Rji#xOi`da|n4RiU%v#Ju|WIWbB1GB{Ox&)}<$Bb}= zfsc(pI#%8D=gJ0Xy%D2PI$R{p zc>}knbl~ne%soZZgvoDbhjV}9#O+nbH?L3Hfo#DT)V{UGpoE`E+X&8B`# zWy$A^2{g6l*UcGSd3lTYt#_Vup?3Ky9l^WguSG>{-ZDXL34S`eUkmYyQwFZ~srB|q zAkQ3Lm+>_}y}1*(y>e%76P3EymQHXZN6C2Il3U;)vk8*cgR_ex^ZwApn6AUYPzTze zAF$|bcjYeGFop$Qk15w|hhy)z7)8UfJplaSJZXOi`&E?4YFoT?cJO`~XU|;c{kg8k z^Jw*?`c@NieovIGfjxv~ba8ENMtv($eT#bB1sV5R-6BrvRneIZCliqkdN8OOwBT6Q zW9GrLc`6<|-B0;t$U^$+EFeWdLZX|R=a(kKKmG{Sien(oJO}z+lN%Skm_eAT*pu7) zU_4l0sePbwQ>R&2Y|5ma6(IEnkJsO|1gi?C#X)aet!Cn|S(?bywLOl|`_}o@nworp z`55jYUB9V4i1ywt*AZ&E9M@X$G-(UF@~3RZyEbah7!W#@L(tie-`RBTZ>H2H7msP1 zt%l6tDUYrt^bCEGnSYSuh00}itqIr(U9g*8?ePE1&sYrB_G0${vp;yNqw~{%B&p$#m$}PlBQ=}oC z+GgY0SmTY&=NPe*uw2>x5zBS?8N#ejEyu@ZVR++jJn@91otQh)S?NJstznj@#^>f@ zRIdzW|J&G))MgAF&U1M>1yh}YJKbZ&&&;Z<4|<4QW+|fQZJHWN*0kM1SDL#Qjkp~{ zgj-THX14OYa;|>M^BwVqN$;pxSnAS`r$M_V&gp4cxwpj@?@X=nWp>97%xKk{Xu7q_ z?vUVMYm@yB=$zXG{UR#6kKf~HNSywZFUkHf+U)9Uon;)07zN1W9iCxw{54#J zE|kk#v?DKD#2)chs4-isTmQB^HH_TxU^Uf=cls;0bCgaGI>6u>!mI=Km3iti#i2@W zb#KFQrCdL{?*IaM-CCrwYl*-OXXUNvNX&meI<(W|$^5}%o zVWYo)xyD}!2pqjsrKbLd;L(B298=hgXs>n|W+yMYB9t4kp#0u9GUWG}*ICnRD$j({ z7@6j%DYO<7OilVA?dXNgYvqFZJCPsN=3CTh*Ur&g$091==fJ2nE7h;qt_QgZF_b}U zEJ6}8P}gy3G^_ZWcMG?(A4!D3%Eg$Md~T`Fzo<5OXd}Jr*jC+M4bOG|Qe4qt8+N@} zzq`FLITAUL`;}0+chu=FZ!dJvCETRFX5hD%1Uv9a7Zia~CfVl!~H~5Kez@K|J{OCuTn6^N{MY=Q zx35o4hV6g)(VWg~_Uec8tP7S$A8`|FyEW=LvdwzsU9k8vy?3@x0?IPBz|c9?pvqLY zV0Hl@7J)H-$@t3u~c4YQyk@G{kt%g+ubKJV3 ziW^(}r1y^?mv6d=45)z%EgZJchx=*s0;KjCSI+fLxv)=Ihl_LN<@Cwtn!RMuACsqh z7k_9$1Nu#0=MUcdVa3ym{&>)&P9~5I8B`BF?>g)Z4J~Dr$EahPT`N4{}CWYR0RNI^luaEr=LY6$V$VYQ| z_=`IQm~bd1PkbO^+3u+s>jr8%C>%#4;!Lo+W)+Xd8-C9yXfo|n#6=NWZvChn(+A{~ z5Xi9=H(^)(^|a5|0Y~!n1cVQ*!)y=B`inS}uY~{KDmV*=F0nja-S~74J7io@;s3zy z%ymTBd42`=#6u8Ys-SA>d0{i4KN}_IzVV+WxVIKLX@1$$p9{FcLQU7Rh2) zIx_48*7+s4@rA8lGz(Jy+SC7E?)nP})48p4BhA0P*;zk3<=k;T9+IK6+6Xld3X4I( z5v}v3I(Wo)lwYa%8`LjCgv%#) z5|&FK6!%~vqz1=ma1!Ji^pU$_tLK%d4Rz}-w;GkZ%=!#{9DUHj-W4ebcnSLUd+m)4 zkRtWSA~o%3qkR>>T;uj5ezv;$gF+_$ra!&S=ifT0hzHQv_>J$@Lv-_E%rq=G^)Zaf zhgAwhM}aq_wFzZ$P~exB_*w;(Y}|f5`skhh3y0bzp_x}4A*K2*f1I_q=%$(H6f`=E zTtg6v>lRBE()}Q^FcS@RJ2=DCTxbc5OT+I)Hh&HNJSqi;_9(QBO(hQmt9(P)kGwIV zcY~rgdHgP#+!|SUx~Gu2>VHcUQ8+(i8B|6duM5rBr&@WQ4n@~AP8I6fItkj5JPETS z>ojT%Jo))eT;0-pC1Yoa@v#zV@hcy=Y}f1#wn-1kotF??LGbAMyi3WsnQDP{6!w20 z`*k;Lcw(~>o;fDFG=YEm1&eKp%d24*lx?m6WU3K1+_112Dc~h!SA-B4+FUkC6e>No zjN`!n#X!r$qe!RN%a32B5(}4CBk`FX3PIONw;)FCk(FV3uB48H$nX4CuLRHK<~#fL2$au8!{$SV+F)Es>zVgiP58@hG=g5axpQ`Dia`Ca>acQRl&Mrkn5(${szE)|qF~Fi89_xJ_AX9y; z1(d`I%cjtjJdQDRVfZ%&h5?VQw0m6uJHfZ=wevH_?jZ}8Y|ElRjv9IC{(v)+7VqIP zNg$0cfAY?5wf7w$pLp1TCutQnQJm-$iRrUyPs5%9&sO0Gke9K&aO!^(QGf=mLD#C z!{+_=s@6`-T8sKTy_DMXWjgP!P9uVM85pP3foSo;b3)>qWSPJ2os|1_1G{cFYD{^FtgIXjj>DI=5YJ)hSAs zzy4B4GixvNstc&|%2`}17ffiNKApF71b!~ZkdlY0>L9|46+1rrO060`tV#rJK5hgP z5@&z-{$2ZU;dKc z`-ju`?|9BP8V5)~>Vxo`97G5mX1Hm*CBTf?!1SKPkq=u+eEsH?8-H>=(P9Voi>9-Fyj|2>;wl3vfB6-?+^>y4ex+Spb&sw z;B$6YzSye}?7e6919_kB?OPAwW^tB!t>>ntRtx-JByh3_oc&S$uOCwQszkD~KfR1}M%=oj=yV8Vc?7*Hfg6a~>ID578hMN|+>|KF!3 zJ?I`(*V700p0oE_yCYkj)iNN0tREx2;FUMC$e7q6taf2&yODhL7`g(fS`-b<$Ai7V zN0-*<#rVLho+ekM+NHZHmyfB%CJ>>OQJ zi__wVE4|wns0>Qp_KEwyoTW9kLmSXkh|gO4!XImu16v+X>&wdRi@SAac^+1})Hp>p`!6X=BJMPVMlC@Mx`)qRO8z%D9Zr*~lrjT^H)mOw5G(5)uhJ@A~_NvFyaVLp? z(3Pk@CUCpH#QFR#FRmu-!&80&s-NlAi0=e4Kp!yEgZ$zhpPnhHX6(-%D8flzcOK2$ zEl-bPw8YUS<22>72$SU}+k~=rOIaElR{aWCpi#8x~=9^F1k8WNh*W-4q#OYiA zl{@;{sA5bhEzM2TfBXBsN!CJjquhn`utpwz{gc9p@-c<@0w@K3M^L`T}DGBza$(sEk?+wtcB2T@r;={Q7OnQ~Gt=VRqnEQCBGuM7{3E@(OM`nZ zVWn$tD;$K39)(U+8dRqt^Q6u!*V_H;37lXrYI4BewN|*j)d;?Z8*zurzHMVW**m3D zx7WLNZg`=#x9i0~P6u7`vAc}jSrf)o=%l|{%(}JIDJb&T`fA0U%JlAXQg3R)Gz!RL zO*g7H24>@f1IIA!lLv@>g%>Ojaw5jA-*rrs?t$-8SP-*JxO+>(?BELho9Z zesd|C(xvZT0)>N{QiihbJV%Xo&ut#xoF11L?)xzmaF@r_>`3->;@_79c^cu`5y!N6 z;uj>ND0>59^4UB)cjrozS_W#r8WNlbJ!sYD#FHQvbF0UD(OmEMfz$3hvWlLs?4?!^ zu9h1<;g1AtMJKS!Wu%n#zDvO$I{ds?y4Tk0S%ZImw)=oq{UdM87g-oaN=pn6c~%SR z+FD=alLl;mvVyZj+%C-VU9P8V-%3Yjd$U~|e5%idp7dL%!V;Q~nXTonJ-Z$nWMxnu z2c?_vORxtAERN}|z<>$rG3|QYzg>B1Z!Z7@mKsF<^V&2PLKPk+HZEGywWV=@v1ne` zM-{)e1-*jd>!9j*(p}@#E8Jg{b*?il4cSS)#n>~n7VNAR3hj?*%eJ6xToGyj_L$rN6o ztcR%Ogm!0fY!7q&@c@4o9Tf`4O@v*?Tfz`kAh#qqPq$|S&WrM8aS#g z%ZKdNUJy{17tX6T9GolYZL^NN+;?lOVO_+67fkyzsT9p@rQp0i7YHT6UJTW#`Fh-B)bY;d zT+uzkZ*hpn#HMdawlv=Nt0RTaRfg5{1DBuI)7_NDT6dEjqx|0!HeB4NL*;$odr7s) zzIdlX;O&Py_cjOQ-8H8?n#hqi*WjU^X>HhbS=QZMm)M7Q@i-R%5wd7|DC|p zI@cFcOjE(SYnHzzui)z8TKSaEIPBKjt+5<5do;f^s!< zxw*e2#T^jYP-vI{r@Jd?#{gR8c}Ehrko)oIHMF04E`oAbPx$4+q=995nko%^%58U= zJ-%pR95e7R`5vxfD1O7@i`_OgnR8C6%_5x7FI`{Pk74yJ|B!%a+`J6J=KY!YnWeom zA{Xbwj|-;@BVS+0quHRZPAX7G4KA(P?%DK^;Bonma;JW0)F^w0h`_;5Ra`Q zcEzt`Z8Ua7kfme}vqh=bV0++E1blezs;lq$L8_{=juCVES%Nb^H@2^xW2+sfwY_L< zr_A9*0`s?NM*%BvVu1aQ$p~?6jnu$fyX)KpD_KThqPHKu0`p zh4^{AzugWOig zp}=Vsl77m=aB&5}=DWBqoVc?;IEnX8JGyUyo-$=xx8f~Np2JOsJp2!$NbhX|Ps{c? zY)6e9QziF@K)NlsRj0+!CG|IgH#KuCHcprJAs>3lMC9CW-T zOKs_m=KF7*cjSG4bZI!Fd!(3=9FT_oDw{``!G=9CEB<(!oQs`iVXeuvhT*X&>7eeG=s-%K~GG^aSqIN0wFaiL!>%9Sx+I~Vl( zI0WYnVInXgiDrH^JU!2!x>YDdPZNkyVq4g;VNu+mJN^BRuTt}uJkA)09&WHrF1NU4 zZ#d-XeA+qJ8r@0fILLiEY$Q!4hup7UvD}f;tjXrCXzT%x9_HZ5|0V_fnC7hE=f;d^ zd16gaRBmk7!{UNk;#l5Zb(2LG{%d+SN4LTD^K%l=x8>Y`2me5{{os0s7K3y^p0;xC zwO_pDM!(d$^~&QxZkYX@wSW2KO$$s^AmJ#1@uu_(g8LVsn-QwKU9^>BKRtAze+czH z!KYXQTrzrV_P(Y)6CK@#eX3b;>`}(wt6)T-M^a>`Bkn8J$F1h=92u9QP|GhA3g*dV zO9zhEV*jj!A2?!&`(vrXZ|#XAHCfu5Us&!l8~9!y#E0|N_T;|O{^r}+MR2=>m%?Iz z&71Ku3gqXFs(AhK14E`AYTZ_*^}<^$?fk#gftiwR=Kx#%Ywe+N)%?=tU?%#>*0xK< zb5C7YS>5%?>)IdNEl4uqA4|TAziYbRsN8OLs%o=VWk6r$b-Ae%!_xPFN*C=dT-s&f zjKFAi8w_#{NOcabtT((IW@zI9mihU*v&avu&#cAHx?JaXQvaxJh@?33XsRAi{PN$Z zN7o;9QkeaH6|C8hgwa-PNLQ>Oj;w9{ui7GOiEeS>yR)87I)fgg!>8Y`GqzUAk+#Ur zt@p;6S6lvlzc!+S?k=29D=GK9(*fN~T3sKOs>X!bNv$s-|J-^fS5jr2KYq%j`IL&t z3Hwrf_8kn>Wv5#ju-Wz#+`EFy084F>4s2(h1t05RI!$HT{_}u}@x$NGLzLSu8iRWN zKJ>QJUApn^bvd*|2*0;{CN{^ox-Sm$m?7@pJ?LKobzZZtCGbJU$44xj(pP`E=Zh|! z`6sK_**A)2@uyWEGM1lzZ;@IJdA6JymQ~`0O#^oBGO7^U zTfuMTIO3gc-Ml~CyHAhnWRL~F!h~cHdb2_OkQ}KZ{Nw%ThNX&V4amG|2yRajkHE=q z9HWh&LUu^Wo!3&gv>DeXpXgaj=I{s2K>Raabe5;s?Jv7zwr+pdFhV&ap|iPH7pa{> ze?RSA8zC0Lz8#ZrnXE5-e_*exAfw90CXJl&?_iZ-a>*`3yj~@gi^kwL?#c+&7(8lSUMlh4AbBS3&9w;qTa``68^%5; z`0nsI#yngpAfNmzBkZFcmbp2A z_1>BtkKRRe#qejqWG(V1?Qm)3-q_axk-9RMgz>m1m*I>J9q!d@JAFfv^@H|uWG8|B zOV{;bC=tlz5dyhKoUi52rALhLFfB;vg47JYSih8Y`i70X{s!2mhV)|?}98iSs{e5fWb4=_-T`8ky2^3La#ekma?8Fn6#;&$a&ZCB>Z(t9KT_o+AC02Lalw$*27ZMZd@@s9L&U zFQ_iW#Z7{wVEDcDw?lS-<g%^YAm%Z5wh)DgwGfBy z&{&<8huew8A`j(slES2#SV2NVks5?H=l#Khc3E~uDz`+q|Gl|xhy{gWL3*dDbpx8# z-XicUgvRGO#Z9+gT~%|#`ciL}SMQR_JicXpvg=RG0m7~OdwCyNi_W~&PLXrdh$70~ zj3=0Go`o84fF^ELEJj)E&o1T%=+c)cFp z4_<3`-GOj19w#0%xFB7>YpQ3ZEn>T3y|*|dxuFJDk6V8Ta;(~v6Q2J2><>o=&NzV2 ziGCQeGANxjxLE|HJeAwWw9Ypl?_xoHq9YJyVXZJ3z2sz!zS9Qo`OFWFNNnY~>aKP6 z?iLEG*Pw#SdU_J7>7q+df+nbaS{)rIrzcmbOZBXN7nZS+VKD+zI8|GD_mD2$UNgXI ze~DX8>A{QPj@(O=%Hdc>+5;qV25|(#7i!`zyC;wXx@|y}rZLnpy=;?x9X3tprjT=&AP@gXEo2ef690OP=dR>wPmY zzl*~oDFp0S7xcmRLZ4gdOcQU^yjgdi>|Z}CQ?=b^&-TiG%o_N8PTFi%Li5zga}JPE zB!)xm!qk@Y^la3T3ttXDN=rfqbZ)5IVV&4%TL7Pewt>Agd!tUSeI}-Q-WB?E?H->K zq$FR)>Xn(7l9!EMN>!B&EE!af&knQv6#+_z!26}noSm#xE4Dh5PDNWmCKMpH^@OA7 z3?lbndL(w`FPbZ}Lm}DUSkn%|osSGgnVu4{{eZNIk~bF>(8Dk&qc0ClzvObOA`@Gp zCKvX(^YIx%>V{}PvzyJKXwA0%qJGFi2N@?QH{?%{L%lpYPY7_FT;?88SGzzj*a(6dGMpKQLi+q zS_y$JV9w?+^H?&8m z{hMwcqmiBn9uv?lf!`-UY6P)><4wv$k+Y<&_pmlaM zAj2>!an6)cWD4^XU{^4{k>bWotp4<+zH=WzCIbnJlBAh+Mg8B}(jKH~45u0ey$ zlz8H!^7lbX2ck7GmUrk`&~uoJ)c0BWX*KNap+?HzMk5gQa}6Z{Pd9s2C}YyP2d~@T zbF>pCqSps2h##0vZp9+dqHu#<>0H*v`&>ocf&|WQtB*E4k-kl#Y21-Q>t7$aF4^=s z9-(u*F8cdkcd^wD8izNxc1QKMAXv)$!%E)23Pkz2W1)jLW$51C&I3Zzx978FVOzBi zU1m5n&~sPI^wHHluMA0}K)!DE@3+%Nhl%2C!h-eu(COb-Eo_AEkfY_(TmjMh+w+}z zf%7|K-$K5^uD9FGw4D5oVk1gS>5+#@XlF=DFZwC9ay?Ox>eFtv%r@b0Qw(pFX=PPV zBmVD>!xZjtI@IA8C5&!K|5c>Su^2Jg4_TMDer;4uJW~uohdq0*P_{8U?lO+f&E`wH zF;3-p@-A{rrQj1Hu{YeeSpm+%6Lg8$o3$%{&v6@y?)d1-!{o}w3TnWzDYn`ziteg5 zM8+5xf$%e82_u@O#%+v2Ix9PS8(1!iujhN*4qCf1-7ad)a!}KcekaI+TPgpJZYT1c z&%FUVk{}0_g96v_nH0K^Re+-Rm`861OYu}lFv%Y*BTf|nI(wk&dP0_FqR8YX+L9A_ zu*NBN1lA_vh}5&1gKg{)S$`{wA-=jrzdZAcm5TE^>c>?x>I!qhz3%Jz9&D@k0bIP^ zr$g{j5|kfninNo@74H^qjLjt(rU^o!u#@70W;SS>20x=9!iRa=xKxd*vcfPEe6ems zZBiGCke?}hs*L3So7%3iJFXAQ?Q9AsrE0gX_RG&M3hrWgmZSKcJ`EymcVwQyahsc* zDh~gOK1;x20f~M zV}~1P1%sn`I%+rRpx3luZpk6ds#E;*j~i-@|1zL}_u1OnbBt^?8SVyWgy#q;R>T`EX%vaGR%@(_K?@4iot{}ge>YW?*imz_G}zo==TL6relyf%erGT>b^ zTdC3P!I(N^^Oc^e%Aq!6_^|SHbAPV_86sI))KdJhygLd~EjtQ({qAxA@3|E3^6AZ> z{opu0PUt&F!^`tf78vIendMCnS{9Yw@&db8@S^^o*ChO{X@YnsJdL{S< zU5VSi`jz5^!5gj1y+rPs6saeL0kT1?eWhI$;>D@{Cf4QPB-4Y2R$V-q?sCQU$Nt}; zvoM+IO54IWd0h0h*={B;bbj$hbL_LaiGplJGt~N#)xc8i6t2m`{W~MIZF1&M@sFyf ze=sWp$(gzvufv3e$~sz5AP}0}U*DV?PS)1%OusPi?Fx$A{jMe!HJOuhC> z42-1~#TImVu1j`#FxvEA_izipEpG-A%D>y#cIp1E4E2(aaZ=)SC&w!z+2BS0>sw~+ zvsz`AIib23~i1MCcoeUTWjVkrb8cf5B~!ROHh@5fF<=lhJ(t|~I@L9y$s z0CUvl?|9Gmq2!yv0C3`8J&YM9_OPp;5AF)h+O(&qyL@N=>h%}%cY7oIZ|Ee$X`Gth zhtl$0)#&*Szee8h!Imi5o>NK>E_3a{&QDi0^q-6w-{fJ3X#zXkqMLZmNOsNVx3Z76}STK*V1)1 zTkm+BJz+@R|L)IkLhCn;TUX01_m|D`^R?eg`Lj zbK;8!wS6`E%^L(lNg({#1A85wAj;7(9&)*?-;H7X(AUkd+!|IpVz2*QPMQ2`z&Fk} z`wVK6bvJi=U0EQJ$;xs^jU@TBM1gEXswezxU<2I9r!4R8{r-_ha3GH?sOW zq6Dbo+wd(K5NGibRZX);{8?hB&Dx`U?fiSftUlk+8PI>c>9FMaGjE&LC;9<|zy?pR zMIHLBs2xs--YspJopj{dvg^?8QIa>Nb7ij=?I)CEh;qAO78}MfSA?S3YgRt(pgu*f z7KDh#I_xY?b@jG>Lwa*saT60pW5Ln89}Ck#re&-D$wLY(V`) zs*Fj`1(DxJ-JY8ki1BXkMmLf<@|F4KIRh#tyQ-L6^$YNC=&=e)*O1U{Sm=iv?cP#i!p*J>HWe>1Vlb4%7 zdU9E6PncIXr4B8w*e|@t^G#>5nU&BcYnhUDq>b+ctyD<^?)&||>Fl4{HG`espIxq~ zul!YQ)(tSm+D08czn=(6_dfWPSvLg6@8?jXRph_GqPW-+#Qf^b$=5%}>>|fUKPJkn zvuiMe@9StQ+t{cvxeUcU{3)}38CY8%pe#=0rH=NL%Ep_(lrkP6%x2kw!2W=N3hNUn z@FRRVY{~ht`aM?}Z<|}2Mv(Ch{m0b&mnANp3d@_;x>cBm`93rfpWRya# zC;7Ye+2ucbKn>Ja96`>&WV0d$O#g2$M;n?l7PpVyTlBN<8*$-inqROcuy5beG@+Bn za{y>cm{jL?I){9l%&zuEVQNfqKO&_d`~>IZ3k~{`bDKNYl&e&Dy_UO9c(9L>xJn=I zUG1AYvTP-}@rwJ4mu0j1SDN)MkM(|1;i{r*3C^-Q?+(P-!`fbdpi9tkCCLNqQefKt zw5`A77BnB%-UHI}7o0?un)Ac9rQ68A7TT}b=nl^Zm9%vuTp( z^64%Z2aLEJuhr9jqB=vW%7!fu^i}l$g3%t@9Rj;&Jr`yS?D#nCIb+I#G2h*@O)p1` z@2DIB_d_Zt9S#JNgn%|6?HuR(@G2b3@MH-#z|rp5i}ryvh~#H%^%5XfR--ic;+-MV z`faeTIvupT0s{F=bEZRAR6c|QY3{=ieq0Lr1$YJH95&hYo)sa7bdSP|Y%xHNNX2}f zs-sTt!bBI6yoMuA>T>}$&&Jw2c+Y13bVcuZq0pLo(gEu!0cffBo5#F}%;5~vFh_A| zlv29wP-LO^cA@H-mTAQU#ryLW{kldt33I-Tyu6*lZSC6WX$WT%CEnx0&MVbt%qf~ zg@LyMUp7|ir01MRjdtG2gM<1oe%{57RvuNuXl8MngFmTxI4KtG{DWJi5Ps0Ml5TYm z!BH+iP6@`yOQPHQ;fe7(cas6v^kz>?b=ve6E*eY5o{q;ZC9<0&5Z{n1pU$FRoWC+% z1NJR&65;fP41ve={XJHjZCOC!(--GtZj$6kpxb{)`0h4` z*yHg6&@p$u?4o(Y)1+O++ff5CJ#?IpiF9kD;n-@FCCuR!zjm})uTHTl7PJ+EiFT@h`3r#9$!T9-&4e7G|sH2#q3FJ5&#t{fJlvES|f)!+&9A*0cT zSymtS$U<69FPGFyU?;eJ-R>}D+b=kJHw^CibgSMrqp88O1cF2Yngh4~ZFCFiPGw!G zGu7X3)bHn$wcLB1pszALku*6J9a*ygM+S3#1B;8y>XN$$KL;!#&mhGs8m~pAr)Q+^ z-yd4ewrzfr$)Drqa#%K~rFL832~en~?wG5p(o;}{Id+R32=E_H<;HK?%SM~QupU#6E%?^)+FKD=&#jMeM-X_G5np`2x#SO1N}j!%8Z<-hI(H#VJ0{Tq=GZEbU+Be+r8KVF#nC%At@;^hYQkxA zCpM+q=5KyQcP{YU`P`d?H?mqy#La}OV#A)ZK_5$FW4pIuPDZq?vZ~6RsV7+KHJnb&BjJ2)?b$(hL>^?Zm)^y z!JTF^aPvDWd|;5b9kv?d5ea(B(`k&fk{FS4M+sP39&}81b*lvSHo{g|F{bCp;3kvL})1AUZX)ibO^83TrFGv)8CQb z9KOfmnmG6arV2~l2|><9@VB>~dN80*HFQmQOb^3K{(wss@Dsah7zK&kQ~j_t@u79G z9P2Uvz3G;&6TPyeD@9suT^`K^y4b*$>o57{S-&tOE@W$WF|XPNd(`;>D;cW^`Kbt@m$Hux=lz#=bty;O~eY=S`SHMvszRIECLAxMtZz5i2F&Dx8y8 zM-!>Obv%J&D6Q z0F3TGvT+Ba;7zTQ}Gf-4qLTW0tCw_%4wbeWQ9G@os2@ZL$l zC&#cRnz>7~kmuEiQ$bPtB* zX9EVP*dBy2_UreFZgIu7Mj`XN&-N~e7z_IlDP6J01=)#=G>4n`4YB<~Wl!+L^ZNi0 z+EqA3H-FI3Hx<6aFGn;?{{Es?pF8U*>VLk--&GyNyBG1wonL`7nfD!}aQf~V zT+2h3-T858IkNEwno*6b!tS-b`J?`Yd4%s_fGSeNLNz{FG$vao*%f{#|*(a;Q`c8REigOGeD@%8QBDW*at%P+3u+|FCkeyxeMh zx0r1-HfjfwK#kQzufnkpmI+banXP7D#F-<{q7S2-M&?eOUD}_QwCPT@ZlhH^>mMlj zaP3_<(?omxuDH2BHMVND2e98iFKG0=yZ(kXIijlBxqJ9(p_F@^K$d5c6d;-AsZ%G2=i?wKP~#G{!@I6^c1z~QxbBAfKT5#- zZ+-2bBW)540$$M`JG|JL@f6*Z~)5)$)I^xHjHXrZ3BP1^Xcb*w2qO zVpV5+**RF2{qDWKISc+bsEI;szQFF6+ImQknn zygW1B>%4b^{r*=;8f#fOq?WjjxL!WLUX=bO%MOhXzYIs$9z0I7Sbw7>wrAySytY?; z4a(0zzIPZ1FOi)XYAEa1iM60nBlV=)mVFE={_aua+DkYRwBXF2{k9c9hgt>S6IW9p z!jxwzW$HR|sdxr{>GXg=pR%ffN1(YbwKb{_&5Xuo3e@dslbH2>-R@}_5>8HD2=~tb z&v?~Y^bMkZ#*A|mH#>7ZfJv`R)2(_gBMK|vLskf`&<4yIb<}rxek3F1bn%!(m%??uA18lOG)vaQYWNo$7T|(Q?5R|hVfVVe zlsYFJZ=myJt{6*`1}oxP4sZ_&r(~q`&hd$A5T} z;Oehe%PDOWAp8y&d*L>ayZI=7d|WrYuBm@>{wD&X@a|z8R7m~09e~IOOU`F(lc$M! zr^8%AkEEQLXiYp&4X}~$`RpsGtw!-h!X)dfmVrgM+Sc>M(?Xc^>Bdl7!|`H>@gecy zw}-;haABT&Dn*XKjBz4x2vzI9Pkm%QP@Y(P-)%?ADQnPlIy%(e@3eAHJHHG!7DMCS z3Y}RKQae41Djo*ed3ed78nK{D@P&d zC(qEujeQ>%@BPyfcd|~waUP0vW0DB~OVYon(QbECEC*X^|3T&5XYp%XXg)k}bau#? znI)XXgEvQknYB=dSv{EZ?L<|b+Jswn{+;^BB38wb!&)Yf&b=0w_@_c&q0YxN5^`7v z%gi+dsNpE=(hdFB(!)nvLj}QE@$IEfDZb_9*BcuR}Kag_W1fOL1e} zisIOV7I3H0^9y;*-$N(jp1M1$nLOHG<3OR`lAco*-ma*$p6fUENT%57Udz5azLXc7 z!f}r04xe}W=mj%-o54&8*ZpWy-?uM^jWQDQjeDI@*S|$=riPEeXSFh%dQ0Es@@<;X zDTX%5bTGZYf5>N^Q`eRD%wuQ%sCRqJH*v&jZ$%z9qAbv7Z7)ITMNdj)>rj6bSCq)mPo~ zkCk#aCsR>!5VC?nj>>-J{<7p4&EYBC{Mij4mDE17Q!g|88(*y36q(0pAccc8JszmW z>U4*1@-3$&Fs%BPEcb#3dDx?W)ftZhHah13(V#TlThnRtwotj=&UsWc+lZ;I$eTJ= zZ$x*iRu?a4#`eG(cF~VbZe;0XDvUblEPtQhuKI%LVvxIV(!n9p{z5NshDOzC{XEP( z3cUx#R*LAk}b&J945B?T*nv1Wn51W5{ zv67mrLJIE~*X&E95~QINjYq@%QPnBD^vqvszxH}UH_Y=El%959Z0TiYR-Vs~FYKHQ z58YUrb=r&EU8(Je>VE0f!VeC|_UG58ho5c=WQ>}LGtA%qb;pGP`qMV*6rM1!cw^|* zU#U=8dTptNcU4$a_XqtN;%XxZ$+=DSNdp16Fn6VN{d?L5aQ=nYtyOxEReDJrTB&b+ z7tgo?R*l(rt7JqU32S@q2)ELpIkd|yxWC}(A<>pfga6F*(j(uqLL-#N;~iKR1Ln^d zeEh3Z@*8U5iyO^c&X=b123jCD)Xs}r{T(T3?ok>T*@k374lY>8NQraPHusg^V7HM0ZAj4WV z_Yo~$;QjmhSX&jXzs2W%qv_zR=6KEd zU=)Yo1FFEQLtX`HWEGy4BkuY`OJ&az;$v~Vt7y$ct|jeGsq5CqlzjW6!$0OLBj)jz z({IFW?jL5(b;+COU~GA>fGN9U?HlDDLCz<637&{lw&cF0_ZCq$KC;<03 zu%6F;xA!uPnwbHi45r7PR#qYy%-&eE;nQzcnJ)Rx)vK~G?rBv^?zg?+TO67S)(zY# zIi^i`a*S)fXkNHi_t$~(_BpR;M^Rh57=Eq6pR~g44HrQxIG>oC#-sQclU9yOZp^2IH_ zwM@L(FCgRZ0gA&g9ZB51pHfPrFWAh!6#TYLw{3BeJA>_;FHY=f)M#ldv;tFf6Y3br z>D<`5N%e|?_xhp~$E`>ty0c(23x=iHvy6JBrBXMS zWR(@Rt?T1cVbZD7oWadv$jI@GDt;Tvn(PsNEgI&F1%Fy75wAli9EUGtz90CzQjUeS z=w6~);bx~^j&%zAt%rJX`YW!cU2T*XryVemmb}JeC*IWl^3$T#dUfX0#w=UzAaYz`57{n?mJCb&`u&~r z-4?6j(mWUvcxlpZ`)l4hgtdoivcHnYr87*eZ?jOD%e{T4pXq7UG@yW3`ojbGEDc>lp?^5X^RbJ$gjLua#9UqJF zU%S7LyZ_i7LtOY`^r5=Vb^C<<2Htwqf1C+!-F~Vfi0*Krt%iF6TzT@ZUnLJL%#DZg zhcP~PYQF5z#B{gj(&s2Qti>NrXJ73eBA73{COaV;B!eV!;R$oJRTVnVYS^DP&fs;V z8i5th3s;N5p731isl773etk}$vRMslssM&$*u-bsOiVd1;HVEG@i4I z)EFO_M{ATH$B$0wwlnfAXx8s@te-U{!t4$u>@-ge9S#^7jN&cqF8Pzz>$56cN2MlO zM5YB9&eM5ndJ3-BG5tJoWbkcSrF#xGFXQ;Hp&o}z{$E1XJ`5d^)5Bxk?~Xf=g&Wr9 zsGXi2@QyAA>Qf2cgDrg@NRc@|t*Yb7MyDG%dZ+NrK? z2ABk`-KE{zlS=!D&6N&6@3-m59k+qd}T_-)HRw^8> zA~v&fHrobp2#pbbYlTMDbmI~fHyKeI5ejYoKP#Z_zavk zSl091wZJYehxtOMJgr(9>OJFT8F@(ENuS~{PuGjsz2Db^#dh(*Uw5>(vic97ro=ovSLYYI#S9mZO832p8h`CzRpq$C1hy~* z(mJc-CWOO)adLQl(~EE~0z|H&T$3f$bi{?)%(?CY4;qW)t3wLfBHFQ*d2N7w*ALGp zlQ-d+E-TZK&x0Bzr~_&DR+7r90J+=l^9zxhEm_)zFv>1(%y2eN@?^cxkVqNyTwv+O zyvmAwgZCN=yuz>j_}%#wHdYH?nrsCMjqJlf`g?53Paq06hYugb&girGn?lK(*xB&t z?L3!KQr=xo(r#f(tzw0LNgd|7uh%_i#q@fIW~g8qFc5`cP`jmD?9hD1ZCe#!2AleO zk!w)A7VyyR_Bug?|aB+{|SQaBT7* z*4DA3YetK_k0!Tuxk7CCRc$sclaPT|BmnM&2r}*rcUWQac>aA5tu}wOm0}FO)?UQs z&f3Za82%lOtWU5YZ-Z%H>AbJ?>)Mg=6%~(|CPapHIQ+7D#7Q%cox)9(u zQT@&Zwnr1b`XmAURPxYj?KXSR0mZgY_q^;Et_K^+q;P-9k4J$25lO=Y3Ocmte9#k# z!m!um_m6-hlAx}RJz5>$_AXOO)>wul)We?sRUexL~!uqCoIzc-a?3(UPC zbNV*vhVJX+3i!^@ed`xq;d(yizDz+E13;~|&ytUv)9_cqiVK=Qc5)NCHTCfWd+~1F z<)YKGan$|vE?mwSuk&`}rt><~2aD@B`z&u}O;M@RPqm&=gZYaqcx8B3dTF6;O6?c6 z-mm-t{^CyH;d74`14hy8QYpa?aoQVoUqHqzNZO$Phr_LMFRj*A-RWeNzjs-~WJ8)( zwv*R*BwxnE&Svm5ioq1z?Mry}%bRccin7r>T+@S+7hAo3j2hRAy-Ew>=}?X< zmC5bWfrDNr!eAicSimQ4oRNMB$eMgo)uyelvB$!8Q1O?uue@30)|Kk>@6p*FE=D|6 z`y30|9vt-4*1FledM0x z$r;;iosP&EiUHGBX?tspT2g#zk)OZI(IYMR3m17imcjpP%(thg|B{ z41Z^9Jpiv3Y}y?{@T{X=O$*le%?@xW*GM|P6ErxmuWQ}YyO6+$`|!S7`T*UA4NUwM zyjP3jen*x`?_9%8A)oxJZu9m??s>Uo;;nFXDvadK_a{BWb^)U2yQeeRn2!1rQ}=uW z6c|a%BRO-c5H;_4Qs$NhVtMyl^ov8eC?YvLqR&imaZ(|zQ0QJ0#e4nh?+4b+DpvYi zY<>7_QFI}_$QsrW;MxP$>T~%!Gk4Up@O{A2gbB*vsi1Dnwu^!igP!G@A5e&2I!!0N zsTecy)%hV~1{Js4+I zL>&DrJ*TkOL!mH4BKYe^rHas;m1~QvM%bdEhBJ102U3&B6AiZkA*_-!D*njadwE3= zs~#Tmn;TF?Q+ioE?Ivtz2kFtxXdJCxL8tuULbv<28D}jwQ+GCO;q|NVkJZ^2zN+65 za?VGiVP|?EKXmQPPI+j*pX&$2$vgY9H!so@#?t!a6|W8x1xDHKHgg)ra9S*aoW~vJ zj0HCJ8qCKNGzYJaVCa1_-0eRi(W~_Pz&yFSOm3H+z(7y>+Vg{4ZM<{mDlNzbeZ8F- z5LhXHtXuq7izhgcz&4j5U;x08sZrAVWsIVs{>#3uLT{deos8l!F=Sdk=BqP2ns>Wi zryN02WynS!r~JWJFT=2VTLcu1R@|LOYpWkduN^Vff&L(`-+&mKfb;7d7wB#*2fQ7P+$8#p#zYtAdNz2n+9P&ggx@rj)NR&-gTucD1+~jo#L;; z<--Gta%%bL#j|6TCv;;4EsoFpHgUzB(y>IVTfffxU$awF{PJm5oSVLRghG6^^E+&~ zDRKNRC+G0Mw(prG!j3P4LE4`fl6G@ETIq03^agjC>5w)9Iu+^77e-+Q))ta|dQnkR zqC8#e+sdq@5T`e^B3G4JA`|rEvnwqu($YE8AZcO0-t2?o`d?DFeS`Ls^}f`4eQsH$ z;btqM=!+bbZJ-5vEA|u!P5lo3yWCgWsm{JdvAG)Ec!snD6WeXLl8AbNh4VP3r8njl zoJM~JYfop~Uc4V+h#3bnc5V^K89uSq4&YJ4`K8|Sf<}=)JP?<#*lDG^JY8KX6xPuR zMSfn^9WqGB)>j{Jc~`c|-HCqv{KQ%8+QAC$YWz2RB#$k(WIOv+BrN++x4mF!R1^a^ z!Ge1;QIq?6v}z*|+;jMA1mwzdWeLNZ=&>quHP(@-4?|5o3>le6A3s&kz{uv_2u|qJ z%SOBf>ULSU*%$G%AQ9(X1EY(-*|Ujxn+Gx z#jn==iV4MOQ&=9lNS&Q6r~K-O);s{f`FB%q79HZcn!H1)-#RRrHKWk%OJlKwznsVU zYOgg*Te`;5|LoXWSJU1(^*CJTOD6KGpb40$K_(Fhdf#2eA^BA8!@g5a<+xv;LOQxQ z-Q4WQLe#H!L790yCjx$bpQoOc-L1aQ;~jQYcjQJLhG1KEs>A01-(>t#TF46t@{$Ln z^P4`Ovrjm53hNcP>C^=6U=P4DkACX&+IZc-(U9LaHtzccz`UaxTl2<9f(X~S7Wx%G zV ze=gCRr9{ZO#ZZ&R{jNM!qV6K&)2#7lR*F}tRc>I-b`O$_6T5;0Q?G}RUAujzg9S)V<4J7z3uL>A=1+#IbfQIbhedI~wd4rBVD9BG#S- z>`M?@jqQ*5Ou_z&Lu;fFweo+6c#d%QNXYPoGoTE{p{}W;-g$+ss}m+`qK7=+tz#6x z@&@It&hbTt1d<-XDFlOD)A;E*b9#$Dek=E{x2z68bb6{63YTgxecYVVQYWLK^m2qg z;t($MWPwpC@0zQ#e=AcXvw#?Z0h6T|@o(cpODs+H*{_Uk*UWhXU7nl;TFkP!yj(A1 z+g}v_M6y|hz>?rKPc>l}PP?7m7{dBsItTtYzmbVzjQ*aczlYd$eV+*(QS z*QbQschnPFlj1Z#6zK7LeqoIY7eacLVjjefWz-A=j*tdHPdWm&`g$6fwEa&-?Bffo5=NoR#!uK6;vb z(0EYoWc;^tI$_p5KIgW(q81C<9rxZd5F%fG?jw%TGkC&4$T=O%{vd>U-D5@N-E*UP z&_Dg0yagWG`Sk+Ll*qaAKtdV^&wj67*V`RF-$1qn%PL&5mAXTv&@E#w#@O&4$vfW? zeK;r0!4!PaUlOOEa%+xD$%D>|o$ITr-2AcdyNU~Rv#;M-^R)q&`4ToGiwbpT1F6AW zx_+&9FiROWCVtjLdE`gfKs6{?D5RW?Y}W$9usafS*GY5A_zYZhfn?LY9X4i`8j7vjWK1=0lJ%AatJ?xwmJTY6Ol3_D{I%b2KH`XN#r%Vd zD2~P^%x#2RFh5m{{3|i5rC9F-=zI&nLe|??OyDR=&60j5m3pqfPK{!-#K8B+op-h2 zkh?RhB%_vnd751o(z|<~z2@zmM&|t65!~+X&Ri8=)~us(zvvI0uBb+5E$53=-&kcf z5^oY`S>^!M3;D6-<7D)&ZoDw0f>*qpFl#g2$2&XT0or^?G&e*sLzlq3+Lggr_9@Ci zCb_Yg^-L%xf&kpVmw9bB3aGIYI_BOplsAfjTFc)E+f!e@rk@w^VM^6^xphcTf>x=S*7DPP(d=_}LcIDa_Ul)LTwB9JoeYdg#lapQdpjQ%5D+<- z9Gn1Hrn||ymq27MV&s;XA_8X^rN2!($$q}iGe#d0tS@qR-poV&=NeJ|(&C5Tk+hh| ze)$ZLoM&Ux7wY|4we&&APAmTU&)2R~40@n~i#(lxW{c%sqtgpO{GY+Ii6yJQV;?fT zkEZpB8%9-=rGXOv?qYIM2XKJ^Mt!AZh>Jvr;_2a`FH1nUY(-0|Tlk&~W|b$ialaw8 zm(Yyx&kZA89oDSj%taol0gyf@N-j)}VGxsiAU7Uc($`r(tII=B)|OFC>Dd`{GvN2& zh2);tJtzL&>ipFU7629I*18N%57k9(T6q!spve_9gP!YD^g<)^JrJcIRluVA5 zkzd(ow)zSmKuV2lyncTkQ!C9#HggX48f|9-6jOKgnl*5!-#>R7}e~wueIzHnS1^4 zlMDO1tzCf{Zho+1y2%;s`%o#ql&bYzO`S;ek}i5LcBYHxXV8n_0^%%;K25&BRRZm;`J(kPrcbS7i2(@i@c?p(xT$keP(yuuc_d~GqS zSr0QAeZP}32szpFMuFdY5CHYKYba;%y)1syQcN(5jsK?i^NYKMEsu4uS3_@2UBfm2 zNsU+`QvmOdM(tX!{6kA~e&3vxir8ejVDx z2i;3y(PDDlu+QPJityN39z)mg785Y7D7abhgFDgcgM_QU%ce@@5eVsjYNZ{N3eZ2s zSUj@@>DZ~OBmgYCZplT~`&=I#WY@g90e?BZidxPGK@^=3*SePYBlc`yR;u@>Gy!|D zZRa@WG1)V3FO-NL>(1wSaJfanA$>uQ<6uQJAKg6M7x6uhgeU}!nnVuS|Wj9zRF9N{26GOwf2CQP3sk;jad|o4g6gxYY z0ZH+2VCX77n5|o*a}z9%GHmUD{|*6lw|4w=?XTT=B3d!s22b+<)6w;*x)bxU;WT@# zi%&t!WE0Y^IbHaspGUz(x`2e#UM*jgj5ECnzGFLCZU*Pk$0YG~FQPlWGrh-2yxnW> z_5EJ-zK@BS4X#B75DxP@@Rn3ab^#_Hz?<;&Hf|59ETq-VG55;mo%FfhgO_PH>*4-& zIuWi9J9TQUhMu493npDHejUv?Epf2jgQ@f6E4gVj<}CV&;CNfvNT;aXwsT`*vJoLe zQlFUqGWe~PW#bv&Q-T}2?RV{ivDqe9#Nj?O5Tse{-CSJXpWUVJw{NdcM<1Q>)JY9T z{Kh=lFQ$Y2;WG@CNdI(rQy8$n8-D{`g`CRM3YmmY;Q=yIS-+p$@$Of^_tn9^eIa1U4IJj3{ z$Mv+7*6Rd%Z>+a!cOUiC^Y8ar6|eE_XZyt2xn$jC_8?Y$yLN**1hk*fbqaX;)SE@FNZgbMK<1L-6MJr z;;>vk7jpDT<3kH=Z~W4()ykzENDtN_QqcyCY~@GIC1V-**SfIZ;%==WL!^y-Hg0W1scR3P)a$->nT)OM8pMt~VCjri!oUq2W=x;f?6!Ow*P6A~K z^2tOi9z~M{GqPag3QUqP?jEar9(-%j-{E$CWYK%p^0NLc7qa2rrq;b}F}AyfwD~<7 zOk5k$)3W!M!?v3<+b*4jdQcm*c|d5acyMA>znvYNVJw?EOuhH>vMo0T=IB~$-VXfX zZc)Zn7piv#C=TH!5|`8MR2wVb)^MdMOLVKE3)*=F z76JbS_`X)&@2W6W5dFWsA_Ap;yylO!JokD_k(Fx;H>{UCTmU5#9nweZ_Ym^kNh?5x z{TXx2Yt3id^|yChufjFi6o1dp1l@+k%wA8Wv%`+ zaFP~mR)rR}j-i)rmLJj#J@z{gtb{pC?EuAo%VPd2nQ(c?4LJv&tqz9Qm^zhihG}HG za+|nGBshj>c@(+6g+i!9aCehqcq%)urStuLH@S=?rO9A4EyD! zW5BH-TYYRN)Jts^Wdq*G`+XN?8h=YoIsPVy<}c#& zbJtpJpe@y}>aD|Q-dnHTbsy>653n;raBGD2S$#U_!=(N@8ov7`-b3Y$g;5z7U!KC| zRBGzLX#l&<&KY;^zCW=ua`cUp;|>;XW~BuIlkFHsyT&Bq>`VXQ7owD^jU zZ2I^YT5l!nRz3Th^o%{ZWRscVXO3Nz=3+7@P`Tu~V|MJ#*ZPT~Cw7-yZ7gox zlwai&sWAb5v6_!;}$NuU%^7!>)1^w*XTo9$$wy*|as zr?;-T0j^C_A_gwHEveM9L7d?gqZ~FyEo^;bC_1C9rO{ zFBHp1Ylu~c?(ALaS}m(7>Q0>Yo4_Sn8VzCzoapXl=I@iXeY&C#2QkIti6!=YZQ5|Y zgmO(AmxK+_lico2X5&{S+AwK&(SOf6+{E3Ll->r1TYnDg|5?5N*BL!vqAGXq=c{3h z1?@G6(oz>LNK#jMe$i56y@H(#bm0Wo+G!;Qvecy({o=fN9#|^923T`${tXaVAyQ}# zv~0bA{Fv5$yot;C&()N*e!JSMf;b6fJjb&4-||J@v2-CS_oU>sJgK~e^~S%|ae}Za zG6kA~xg(Nt>yS zZ>P<0-=DLGk1Lhy(7J)YzFbaoL^bygtIb!7ww=giU)}cWG{Eisl*Q86b=W6{Dgz8~F*3I29 z#?XjK& z)77XG!|9mR+Tge}Hu@rXEnOHKux8H;lXeZ+N2)V_;#?)ECd=h57~&VNqh%Sh6`|Gl7JW^q2ohBAR}g%V6BSl?sJ7EDu5J0~=m3 z*3D-T=sfZDINV!g&L$uV8l=I~=tSlwT%xM&&A z_*u*$CE{ThEWhrU&s@8a1T}QcmfiT9o8$~=Ktx3*ELp))=7#&Utp=>^#hYNTT(ooD z6NiBI4vO3biNf9*!jC6aNznfq5UIc2-nmi87hE-Ag3Jk85P@l7Zjcsr?z3i5PdlCxie0j z)XHvoWu+NiiMBN34(pF)jO<#lZ!Uw-{gd>nBOd&71)z$&CezTe4*1dJFK}=;_l~W7 ztB`FiJwI+*S3g}@C-!$ns+{=6?vd-^jv+_@L){IWfkzYW{|&X`tkZ z7tQ$Z%>uox?V+xL(jreIV=KG_{5!jboBHHqUZb;ktvR9S^do~-j`Ps`4%Ec=0EuC)*4S9wH^K<#piI*TVXQ8 zp6=U@QLAI@mv4hhaDDZL2kkn@CFvdLX$`MZG12miu}mv}<_{P69SiFLF{-mPGQ2N- zFv3oEoXZkoj+46@Tro02qmJUde@b4|1*XQvq-sL{tFVZdrH4lcLs^> z!<28JI_5w{Q#fB2fie~!Tjk)w?P__77VX&R7dFc z2adJ8Gk9A9yOXQ0^N2Y->l*5 zJbuKl?h zKxOioA80d)-yfXH)rWDkCUAdB8I$J0h#p^@N~S4)LPGFo<)rkFQ^%NUl|I5z)fqCs z7*D-X2yV+UBvq1ik#xr}UUBhOW(22kUAWohqv8#4zHJYxpu_&##U=hx+76yraDn`z zFvhKAV@#E%jn2y?HUV-t9nV(io#nT{W)^$VXmr1{9DI4;jq1z2OphBjGQD&6QI}MrZm?K+JB4A zqZ_LG#Ud>ia_84Az6|I&!Js@mFXK&o_H^A~Mk`msR;L-|19`K(4)rZ0Kl*R!7af@r z`R?>46|{4@_6>GwM; z>RJ=zd!U#;&!`zFS;XQgzExb<;EG3mdYmUPScJKy;BP2)Gt`3#Sjmd9IB86^Q@};U zy=U{pecHHhn{Ybnu{)%D(ry+o2eftygg{Q5Q-G5(K3C`*aexA^?6KM=dF@Jn`@-%v zdPA>6G{!~@-{jD(+eqipuYF(ZC=lK|fgCHO?+4PXTIQyE_5et+?_Gy=|5|+%wl|q^ zmtieWw0>^}ugBhbRQ)tBLTPqR0ITxB^Sq6-L0MpnrR0dO@SOzTv6Tj(Tdgn-Ck3Uj zX`(0z_R)5wQ)O>1h0EpM?zFqq5F--7DJz<6HELY-4Zxb;8_&58R{>T)jDzCGpf(#=_DMO>p!*u=*bZ8^L4pv_ibVf1=*f) z%{|W230fJ^2#*6wfcL(DdscRtO66gGa8rVH$e$VZ0icr2 z=~-{v%zo$}vU6F67*ZBP4Vzfj%N?m-sJzJ@Xh?H}jaNMxL_kw*x(FTK(ZBrVh3B=+ z411@^skY5vn?R2)%9yT+Etp6CDpuak@=`Tk^~;?;uTSLThFra^&rgcZ6_P`nCn6oI zM_Z2f!5fGYT2txV@I4_b0mWO{dbSA@?mL>AFV-U~|C*Pd4E`W(1O zALi-eIqV;0I5`e;HBM7d$iu)7E!<)u{W`5laj>h?>4F;9sdci(@DI+Eyj`(fUn#G0 zs~`QnOM|~JC8G_Vx8KK%ZLN=M)?*=3(MKVabF=^dk5qu>hSZaNWki(H^g5d_brtSm0lNvOd3 z&i~5+t6aOKBfPwLGy>v+(&mjHZhdgtuuzDAr?RqKW>u$N22kExzpq6+{{nAL)b0&l zF`z6e-{e+-ltXF3AE02qzF&s)A2T^1y=R4O;JXkQdoQV~Zvo&se13~`H4IHudpDcN z$y-p90$_;YmgH{ri-HiAIp2dBd;N*T>nZtgwdbMx(NDuK)^?BW_!D$%Qb>z(?wmaR z#f=9`^@DlNcm=QZ!P4N%w;Q(rt!Z?gjb>Oql!sb-KcV+>djev!f?Y(um z$>gnKuihY`6rxCSf@7@%e8)Sm7WSFF;~6ZH_gRNRySW@ock7?3e46EKJ<-*(k*FH)(4bfg|G|nRKz<|=*8~r z`ftO?-q$(o`2Oa500VNZDq4_;3v{5)gZHahA5PRh(0Pf+pH`}5+25Z{_O17#9?$z$+!s!!VZYfql<>s|@?e$i)6(D~lLhpUD=sBFCmHX8hpa2Jf9p7yM5DEzdkXyqgB(VD;$}DpS*9&RPl~m~yFct8fh;eQTNPUWJM>Gb%x^ z**S%pZZGzo+_VmzgG_@J=J?pHRU&mN{`JmLuRdkj)E-F3R*uci5B&Wpg{`Nn)*Fzw zbb5z$L|#{CE+Z@Z*|S~;DptH!C-v-5uP?Jb2L34WRJxezXUie;;DAor=5gKV!I1tX zwP-&qIo)$o<(nXFP)lsyL9fBEG0xS^T19_tb{Xtn>Z?$lb}BsNgdWshDJHdp0>iGV zTm50)#cPxP6{>I<8QD%lr7RgRNVqu}2*W15o+9yb);gthRqn4EnYl()Oy%V2YR*jI zZLL9%eAjauFuQoY%Ln|?n-pRij@YajOuvaMzX$7;l9PGESZjx#1tZ04M{4qQ$*BHy zc=m7V^XnY=FR31@u`AeHdvqthrtOUG-sUvUoR_1@aIjoF+_+0`P( z_Sp`>Rc7O?1g2R9#rAgz?z%UeU~i@KV5ChQ)GM|w8nIp#I`4_8uR z{Fq%J{}b&iPb_`4ph#5);Ou!aOs*s8#CF@0!FF6RSrRe`95H*nJSVOn?jQ0j&AVc{ ze4;EAH$dV)>8umJWe;gCy`N?Y-1fs(Bj*N{JvRz z2xgNQ23U9eI1y4(pK)4s@NUCa6yDS~uWd|LDtR59-8#~#72q=|9D*rXpL&S6M@L_k ztsld@FDE=c`{axGR)P1y^Ij|-a`%Na4R_yBSIM z^0|!9-)`S;{q+Vf>-`V8~yONI@%jA-9(imtxmKrN;5@p>1f452me$)qkP&w&+>I4 zHL6V}cS~F1{raw-n9rE-eBm{{1F@HM)|bcrVW{tNePX@K{hzCq+K&AnicT?-8VUPr z{|@5^aStsOuKvhFqx7$ZQPOG;-bbll7w#X?8-ZFg*7pmS1sFw6m}tJ8m3LdOe7y%R zQ>qq%>qi%_)@atg3_K6pJRq`!lkj&rM0{snSbfgIlcvyKp|vqS+wG!|KikQ!5_8Lt zt*(B4HR&o}?o0~PKSP|eNe71HY z8{U-)mv1S23~Dfwy1#jf?jIIo}kxWFCRRVrlnaQPUvuIN>mE%#Rst>UlB^U7B&{td=&6+qT3HS+3Ze2>xf zQ?Kt-hC2x&H&LYCO9_gjXzEtGkGfkZ$YgX0^9Tn-(f+$Q?EwIG|ATL``K@h_)VTA~ zU%ob+k9ufnk&@U)ldj0Tyu2=re6ctnPa+BBs~R=X56_>u&)Aw<+FHf$g&(H}1c_+K z#MitJy#x9mb3o{**fTmd47BzfOcm-JU;4iDVCp=3b`sYBPM7X?eUsde-b-0JT5{t< z=-6`HJoI$L%NK)Pc>nR65;-rupQ@j~yWzL6F*5dLM_dna{s!+V;|i|%c3Y*_DY_<=j}bFWQGb?+1Qh#!At{$@1_bCZ(i zHPcrLGBM~?4VwZD7NYt2NAeiYwkzTBwK$M0(s;R*1o5x&ZuSn6PWU^?9q}r%n62QC zqQh8|(EXBs@Cy?<=~q%}FdlqO67~@}U3!LZ8?7l@!Rb=3U#s>>ydZz2QJEGg%iJ~> z01}W>J({N=g_AkzePJ=I{TLYNEG7eg(U`OSrG_zG}o8zEx6iDYJ(fg=~-D(TCD1lM5 zWaAHJ3uYQNuFXpCwsyN90~&U0mDfX@SBJOH8Jv(UB>-KG!ROY?+;zvqt45=H*Wrx} zA76ati?5M@ScRH%ox$-4%%{ixIh%t%lpYLsM#*YRRvMtsTbqDP{#*{%Wm^4fvZ|Z5 zJovf0uIfMKK59(k8gCKjq9g4ybo-a{FK26*gIQnB{Ztn->u$Jk7XuZzRTb)`K4tP$ zC86qZg(}Wpzh^S1r7_Ud8&f63%xJOLG<-U1zzBlVZiZuHw

%=L5Mhf)_vZ&Slt&UPCX!_2`#7{#oJl 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 IH@} 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%0Ao3$5NKq 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

+^dY?|SB()P0X}UFUf+A3YKrr#m(Kqp#J& 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%0AggzLHa5}f<$U_6o$Wyq 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ΠAU&fybl_PfXC$@X?$wJj6;sfF*GllR6T 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ž+UR{tAPuIfs zs74!BuE9+m6P2WmO|7Mgeh`XvIZ*)gSYo`-8tK1bTf; z)Ja%vI~X=zSZys$0*Va#G`vwq@Vz9H%dp#R$5Es8@qoh|Mw;;g@z!j?mF&D%QE!R{ z6sWdI6LR}+#X%fu^ck!s{B@s{0KpC#TNdmqpFNgm3gz3fbe#WjgXW@<@6zW<+W5?2 zXEA}}iZKbxrf~%q_ik5>7$wG;2b4SqXW@GI3y1YtldW9dl>%&koImGu%kb0qt?$DI zrM1t`3NzFuv=NqC6A^nHl6DZhClBn{9*(YYB7W!(Jja5b^b(XWUVTg_o%C7do9Tx% zM$A*z&NoY1^f;yI?KvwhVL3avDpT1y8KY*kXr{2CzNDiXusBNk*!tRQeUlOr9|3;+ z*JC%4_(=k*T)e}lGHx@S#uNNlak54PK-Iw3Fdm;uod>{CY>#UA9{??;$jyqRU zgE&&|2) zRE*B2EIudT`cpZl)xH6WG%sX%VCLxAVB;72g(Vfh?e&ugbPGJE+DS!g&l0k`!5r=n zYMNNGT_5fY{&*Qwzg2R@MQIBq&~{a0;i_<4)~DO?$Sfwc5CF4MF(%GKChyP;8|rPG*2T}rp+$80q} zWxW=h$7;m-;UoLXYQux~w*Vl*cko=%a3Q^1um{s&{+P>WIxKRJ$RTB5sBRC1M`KR+ zk_tA=S4tXL_%$820Y5R(*88var#R)ve>UedFMsYi{P!lAcHgDg`?y|Xtpij4xvvX?k z`k8(D&*S-b4wwnUaBC1PXeA*o?yGuX)6iYH&^&$A1H>7mlwH79Jb)T#Q`zLEYdaSA zRe0~4myBE@_g{WP5!))N?96@Kd45+MS3AY+l>bH%epObjV|p~%g%kmL8{U>1b95y94Kl7$tMq#G zj_d~_=GE&&$dhz0?X;3c;aT;Im}NZAAh@hAvj=&q1o-lCOMw--3^o(gf<;%rS<22r zs+8KoL%BMhuotESyz$NMbqqUL43;jFea$R0JEF5X;t{<*nDAFKxf;Cf>z&t!C?Jx9+9>L>!8) zs@xWprruF>XriW!)Y-my;NG+=@M5{9ucqFvx4b?I%)g~?+9X?fHuV19yXI0HD3x38vC2EU zW=>c>@0bI;#^!o^%S;E9*Y2GxH)b_~0qbph2waJJTY;w~QPIG(ynYuu6|pIqSsrO6 zeGof8nS0he4trIg&DoAy?`BirX=U!9?3=*pni!xxPPV$+@MsXEPp&4;I2L@|anacFuD>V>ck&&boeF#}XR-|2nRs;T zU*7u>ywSH!wpo`B&t;7h!py~s+staZ>ee6(|E?Zja7dm3_A`Afw?BE0Ur_R1&3`{HHx~?el*|h< zd|o)eGubnlCV%m%-WyR0F)&sfrp=wU|Hr9Ozf7wAX#ThuC+?=!f1O}U;6*t)j#{?m ziME{j>xphxxuN(TJJJtUNIEtkWwCvt!k?Mi6CdUPyUl@o%H2q^9xaKa8xu0 z46w0pTn5)s8@D+3SpqGlMpu=oij|FV8Eity@RNKyUH{Jvz2W=cXP*v~)lAvz?o_X7 zD?A|SqOewuDYwz$MGBu_KKYz^*W zQ=VhnQn2jS=%bS}((@RPT1B*;ioO0U8*~vfgLKFKDBT-rmmZs=>bgN+rqQYt)Yxmx zuVx)l8Rrh<0qGCF52)Lk>gKnbZ=v)2J>hPlK3nE0IX7tEyHhw%y4GXa8rt7QjNCk4 zFLZscp@x_07v{-X>FPq(B3k&73;arGo5Vtc03pC`1}^H)9MHrgVQV&2D{hv+KPn{} zwrz{M&)kCcHX3N{Z~bwmr`R{7S;b_WJ5!-R@v{8mdvuLAhT9^fI;)#)+&{j*YK6KJ zKc;P{2s$o16MdcykGbQrM(HZ_)PB~tSHhqqQPy@vYjHk4lSgjRvA58@qLNKJql`f# zvzv|A>wZ4@23N8DM2dmSsVfsg zY|}Y|NF_p!^%CH{FQ_}w^jkB=)xH$n%c~ z1^jbLh&D3wdjSnFuKkhi&_ZmdoZa#4D)Ey)4^9`L+fL&u1@QPg9sM@qT1N!N2W*qF z(~`YCKmajefF2Tg>O6eKD2Jib2+|v)i4yUjOh#wM4&LIjzW~^lmB}z3x;+ z*XUA~Ss)(G~<JN&ra9h{x!HM>#$?{QyH}b3kcY^yQ&ppGb)URdI;o#7z_&4`f_}%7!!5`RuC4%XwRWqR%QQ!R>@GbVB8T887 zpvT-c>!CB*0#IIAIq{$b^5XHYRz1wfQYO07YHu^FV6Xie;2N+?>hoQ`T;f9!8P>nO zF=@otzO58DrBIP98DW{L74GC&1`LL62;akQUgG&lQoi9u-!{hEj9q&d%V z`rtcje->N$_R!AYPJ1jgrKE#80?kQ;@e@n=ZT^wJT*Tar|9m%a->>f)`igAOq|F}T zQdRn`%aFYfT94k4RUyY!PqC-S?_=}`BZ`WKeW{ouUtO ziM56n_E!%)%bm?eNWZI!iD68-BsRpkv~=;Xq~hYvf>x`i*SZ20zzeN>D*~MyZr$Ns4#pl z@aSIc76Db;oELDTv|b3yPfkrJB0VnQQq468&AI4?@b{gU_3B8i@#G+^N7~(L^3Fro zrUAxnvM(Fn`5ZsRa;^4Tt?>EP@-ib|ALeZ0@P4`E|L~Usw0T%}%!=xDdb~~x`GP0- zG7Le2L1#0IENMS=2Fl%fK6hmfDl)Cg{wUA)n^x8Ti=G{UaD8(0h39Z91=P%WdVKVj zjm_>?Rs%=)!VI>{(q57ykZA0Vp!weMO3C?v{qCch_DS;gF&wW0OxQg);I_kJ;|dL1 zKA}LKl69r|a?YPNv3MpRe>6MF{mZRC@YsV8)1w%2|7ZbY|Kuk;`A>?Ts@@2SaC#=Ak&j**+y8v~Z+|Vt^x&Vtxy4DM9zZem(HTdJ-1Zn7d;-$+ zjc6=@1pU($7xO6^ck-5=9V%-dgja=`cOo--F%Yon{6nkWc<@*ydac=-_Ah9LLb7Z1 zyV2rm+8bV>`@qnvS^oxEr91?k*uJxp9iUZrXr(zNdU&u@+G&3nNVeA-zW1Irnl!!( zbe?}KqSlEGnXAujDJaO|6h{+uhw|qdeQN(f&tkA=)jw|P37D08U?Jy(6q1?a^=8X` zTG({5OM;eLRSUcJs_3t*N9#U5@3L#h=q7#V#;bN>T}ZaqVh$1lP0!REB9}HkoKEgu z6W>;?;B^8%e|1l$9NM(|?-tpI$mg|BKr!|CS$q~h5WX+n*5diCn2WM<8%DPpFb#X0 zj3P|0`pkUv5U}XB2bh3hZ~tv;O=`88V4dtYKU!8Cd%Qf)NHdo7|Kxi#r~Yd3RmWn7yE-8{=yTXS(? z5+tyu62-sJIW35J_1v$&&89aE`#S?HrVWg>;nX)+GI{hSDpBJx<0`wf$xew+259g- z?eSxeBHh<08EqZ?L(P$SWqLy5_z?Xb-K>m+qB2P4?a`^Iyf?wJHhWw==2xFsr%WNg z@vo8(iCJz7J3bK>R%@ZTW>10Jx>wD`Hy%T7yG*7IN{Xc=S)8Hu7CaBL;S5myF)u!i z&di6iWnYUca4v_}w|E;fdC03r+_4mpCDQC2AA5dXt}aEcr_@~NR_D3}^Wq*EWcZk> zd+Zez*Aw6f>&mvaZ!vGX=Y@fp0_mRUYqj5L3) zb8GW#*DbX>8+YXH+nU(`F!13ycJSICX+3yNtIUyWt^1j^(%)1SFPtyf=&vwl+mtL{ zhB?W3s%wQ^wQj)>Y~yNPn4{wbpY^%7>=D7SpI_`pWpMD3ch?4d(0B%p%lhYC>{IZB zDFa6|Ox|aB$mna1IH`>Z8f=GEgWL;z?WmZj}VWxhTmDn--tuoo& z)(4b1R?U1MfE~2Wpy2#&thW<;rBw94MmLXr(N_({Z^9a_gWu8%;I|Kv>TNkEmJ3%23`I}{lizSN z=KM_v%qQ%FPNdeLk$;lLCdpvG|3bEu_A@(;lje}A7`NeVhR{p_L;t!Q}L@5{_Oh3NkeA|kdW+%<`5=|+sIg>Zf`-Y+ItqsI^CZV0YQ@P z?2m&c-k|v0bRI;Zav0N#g|;mG-8bux7%QI4x9;!T{cGjhs{>2YbMsAHXkZAV)%6G2 zkMA!>F0H!H^Xm)UgvV4~O#}4ty-m`{s^`b~Z#b%;keF)}kDDK748^5-X7<3J#Xo=d z$6XStc#$bUxuZYl=JadM;U~o1v)qefuhqcG?2oMo&B@`OjUK(n^9ea6J^GfuUWCDa zU2C5A9C$XK@AioQ^VR}7lxMOjjSKBH%fJNghEmxuD8p#_*>5|F6GbED30HuPm;1pro3@nd{!t_ zW2fO66Umn#{OX0L*85hg&Lz9&6lVzi-rSVO@AjLwC3eY;ZYz3I#l^d^d8}KVs5AOW zJ9J~tjTfycBN}Pixd;4SV7u!!Tt$T_?M=O^n7i8I=P0k=_ySb7{ zxaHJWoih@x_Cqa>?Ca6-{K2{dPk!zJQqBA8RjVuqz@ZcGFxE}CQ8s`?H>vN53aX{Q zqFqS?rXl^Mm&5k-VUnkcr~nQ;uPOI_5F#;Yw5)7FMIYyZ*LsNq9| zUR){UWj-22;J~04osEG$Tc=s&^V-AYYVf?BDuTP5Hp7X(A3Np!>yrf#TF-HLd6VOl zJ-9o4F!nSb1H7RxZmfIGCtU6DXjZY)2-d#QM!(q3e)z3ZeAi!L*?oeC?bB)1x^J<@ zeHFt5ez5uewU2faJ2dCg-zKV}BR~L<`UC=Bzj4k$i-p`^+V%Fgl)p&Sox2RuT4$bF zl_e*fw&bDE)h6QHzYX1tP!2Q4%Wq!m(r9IA&vZrPt&oFV5@0Qw?@_|+nipbZ7}sYo z%5M2pwNRv-Z60c=_bEGgOyR^Y*E^-w|0p`oB~`U32tUDn2owVb5D`U1R0ISA21E=5 z!9Ws4bl(52^Y_%La%P0RSLps4|ASY?-T>)gk$Vo*wXB{;96hhby9 z;P99JJ(Y)xxU+_>=zve|2WS7+q^8C5LF8(xsw1!dI!@Ha05N{l+F72aPu78-tXX`z zR0`2YAlM>j1xUX*qALQ%6SduHtNx76dxPA^zQRpxr*JzD^_h2!CjV5O&0N83Osbmw zmucc(OTa2=0_m3FvQhph)dFBNyGwHX6WeC-(Z`YI4n0~%t3W2=X~>wE7x zFDB)dZx5U` z_PT~XV{it%#5H2szOlQv&7s~`Zv)RbWRUsQ0xc|`D*ZntPd1%w3AT z-INSUm@&zAOcYfvh9_Ms%g4DpBotd+w{FLPe;#-pZ@t(^a6z1$#EU)7{Uh z%d%#ilyeJ(uwbTC+6CeiDfIq&h}50W5g9eBvk|*r$DMZsqLZ>;N&3tjUEP!=wec0p zgM@?LQY?O6^!=~DV45D$hn&4g{Htv1uIDq#?XJB(y~okcmfe0_!N6ms6~7Rt+iMiN zQvBW44sCGPn0-dtZhYo^edDDEr27=JX|EdJJ-55Cd)X?+N3z(jtb)tZgE5%c@Uq>v zxB|<3xxXj+?9vqY0`}_L%H*O9N}zk3(m&M){q-GZ5ngDWyyJ5UEyc0a!|=0`WVfL`~*0JLbO%1P)(R+NG-yk#tY%^FMJ zRCxDsHCoS~cHan-Dk=B*%eqvMK|{KmIN4;(o=NA1`(tI{S3gSPzTGj8?CaB-^w@YdMj0(g4{n~7i^v=kbABvZ z%U-GV%$@G~x%n5uJh{<5-O~Ic4kvvg{#rD}l&Uljdo_tG&ePss2++VdAO@mpXZ?e4 zV)D~n_$#i-@o3tUyOq3<%`l`@KHxiLk~Hpl4nXUl2wJm2t!q_ps1E%L|EBVg(y>dv zZ=g=*dEr&cwari}BX^KFm<4?K3*=5*3Kj6r-JkjMalLtlJ@ zVgNZt08^@b3ipYPOYyrq>d$hJPc%z z%F*|Gb7~4ZmZ<6RvYp=+%6}JS1_;OkfESqD2BOEIPEHTXd@Wv~sO}R=S2QVWu8bNs z4ya~+zA5G!U=uc7aSPI?C-76eq90wYozJD0zl?vznRWy7MeA5tkLPN=mwubXRxYwb zqnaF!L#DZS82=Kckd0UAwmO)@rl)b|=E}#UB2PB`PX_tm)6~z~Q3&qDvlS8&j#-zN zIN0jFy2w=KI9NO$F`q1#EuMTV*C{lb-hGbR>1(;AnajOBxSn091nLe26+QMqPq9TT z+n92?bjD78Yeg&wmZkuU6bFIPDtT=74cMp?{Vuo0@4fpRh7b0tLw_H(lGUazrgMI7 zr8OZxrE%pQ)L|-H=5Y|Ik4_g1JXR}2Am(Ps;aW9E-=x4!ioRY7YuCZyyf(rGVLc=u zX4BEZ#qD0b066uGT7DF1)=T&KN}b%_WPzOgm1%F^p8B9VobO&a#E~)6msM#PzM)dW zA_R;LXEY7_gS9^0<`IfPJAA2J@;I(jYtcS^(X`I?A?Q2)+Tts(pyf2sR(YNrh4GA3 zIxVR?K-tc>(`+Aa;vRIXCHXpFM!}>#U2~G)KwsHQLI<#@7waQ&PXeCU#^6{hJtx6> zllQ75^{j6ox%bP8X=M*2j@5VP>7zt03$dMCEq(*z|K3e31idly$@Xr1*j+=QHOF+k z-A#Knm<0S_+T)J&0hl+1`xuUN=dB;8d0P7bzEsg5>VVmnDV~y=8@E^Q{7!++zZd{i z$~n=d->p_HUxVn1l&DiiskI0f&gHXsezIRAy~MZ2Srb$pNXcWX-w_ z!FKi{snJeaTNcYqEuioH!cUF37h4!mi9Q|E?d!MK@$0@CH?r=$WxX2|F2SV!xZ9E` z(ENUau8VS~TzPhmi4^Utkdg;=@;XUe`dV~Vh&VuWuNp6&ySgrp+$q3LRuZ?=)&~+dNvsjri-MuW7hbJQdlD0e_yudadHfRE6E{b%l9zv0;{@p;~O4O&m@Sg(~heuR>ppPTp@#?(XATeown42{?5qmUp#>{xkL!-&!YY#7&9yIJg2@h7qj{Bdcu( zhD(hgpYva@eS1_M|KT`97`80f@D>iS$y}884;_u3*aoXGehO;hPi~Dh_s$S}M7gx5 zqXi4;m0RcadcJNq+^VUqPs$V`Ss%dg{JyBQG}~a$dV5@&ipwxY=a9S`{DyeR$o-{o z!jNWI9CscifAHQERe_YGMc>fR^&hb+ql@lOCGu8bSuJX%71Q;W%K`4{7e<&?a+<{n z0}NQ4by2$zBj4UsdGlJh?H@~5S&K7kpZh$Lw(W!Jrjwgc=+h~P(W937R2Kv7UGW>L zdjsALiH(&Wes`w`C3}N zQZVPa@pd08?ga>kgUNoyj?wXE9QI1b4|!Hv%^Pv)B_41og0&q^f)zL25K>yK3F$$! z&xftt6_rUA?++-`@!t($ykX^GcHry7(`4D%wpd=-T^DY$>XF%g0iAf|`!=h7C!V@B zbYf~=w~oHmg1&LJ;XOh2h`cmbzds8`m>aOd29iX$&xgLFcB(w5;mc0*WBDSz#)9pD z+m~>`c;M+HHgecb))G^1y`kM4lfhM@(`brafORn$OoHCG!0qp21LMw5*)} z)M>pkJp(zaVj>y@mls~v=+#4Dw(x?pZS%m>S92aS=<$3X-o{?h(dk?JB>z~lLY~S{ z!PYS8boea=XH-Q=rWaD{BaFY(X1OsByX$CNXDs2?68K{iADLilzWW-Y_t9#;zc)A7 z{6yIE`ld5p^yJU>anBEz1X%PQbl)1|E`lvuQB}TZcHn$Ji<<_ElqUUwX!3R_5-6$lgNl4(L5* zHKkq`nJkAJSW=bR*qwmBa*zhgFck%Ss9FdnGz=9I$c-*;9&<=`3HVa=iAFxsb9 zy2P_iawk7M^!tnKeZE@1Y>D346i7S&9AVLK3#7mPr@LUP8}TlD8>znG#iF>}UPH54cJuv&T;9+v?-F=a)6% z7W-fiA2~J@`3t8ohbZNG)nb_g|pX!k6z`wbe4NXqTAaf{n#1~XfBBoH{~rK(iENiVl`IwDg* z()TF%`dX3sXSZMqR~X6>*R2G#=4w|Yk5|tT-9d+WlI`pLpO-pJ zpXdaLudC7S*c_XnovwTzpI^;~N{MNH+}VFPE&nKFKx8&%`v9mo$(S_zqI;22n)mgmhavf*Roi>ytcO;ZQ492srw&%;V)L`#J>B+&`DTc|MHr(yU z5&Xo%HU~Vc37lisrjzlLyt`xv4lv#nO)y>6b8AW()8sSMIU_8Nf*G>9df2j$^U5*huZW4*W`&aDTQLP~Rem z`%!yrk$mI#=N+etB`g}wo74rbI-OOjtrGRA%i`fx$KCQ-G-x5ZaH|}xYg0)R;jN4v z56Hfdk$rpreoEk#pIJrsC4AhAQ$KBd-@CtnT%X5eDVGm8NaT9w`uWyAYsP>|;$dV9i@VpnHXQ;EjCv5wK}1VC{~Quh)V--YWzq zVd*>MTImcN&zS5}nL*E!b^S<&RR}ZvTES;N;q-o=>pl1N7kaSa4_M4Iz_k1;ciJ@5 z(kli2rUeY-it6g}6vkzrsBc($ewf~t-?pk?Bc{*W<#6>^Xi&)HIyUX;M(tJI?YLDH zcIh9fu#WuBmGTwm%Kaw0TEi(n$=>{`<-1-pIA5<7p|GNe1Gy#Pt=uECU1kp_Yw*?Y zOTQtp+(Hgmwi0(us<{}f5%*z0Cew6wRLpvhE7~CG%ERiDdY^V&>o4kW@_SP`r&M;5 zSL8`J<0hpl=dJEn)!Q=G@3gTv0CDw3k3x>Iq#piw2*)eb zmg6$@LA8A>>J@U~811mP`m-JL@r+3O3bEAMmt z7kH!|Xs;;Zm3}GLzYaRT^J+#GHZml>JyKi$1K~-W8*yQr^^XF`)WE^LgPU@Ea-0oW zd*mzUAMlW}ZE>jtc}f|i=@{?lZUg_+9d#*!hg>FM9Fm8z@bu?CC%Dj34GV`^SXS81 z@prFX#eL!18sIi%id!F2uz1vg{r+~@qjyz#q%t(_SIGCtY-_N4bFy?I%o=zz;G@$A zriXo{S{EHqI?cWOXforq-JxVUn{A>h->Gzj4Mpc(ds?*Qjap=(SVEQipKomB*`)yc z{r)5UhC{YSMw6c+t+$u$8M1Vece#F$W~#QaZb#N!I&PAM$`AJGJh36q(3Wl*+v<5 zG_+LzgSj;V7_JQ+41=XjI1_Ohc+%*5$pJMIpdp{$St?{0zY~`nPr6SE_6fOd7ocv_wHPiQ?*f; zl=BMGu#?PxN!_>^TBiG|^-A*v{_%++rkuQ1d0JrK4Ghu-{=-iEbod=mRq#0u3>a^|wMnKmV7>~bq z=aT)q!zBh0)3ZHv7Nv9LS5yuRKQoR`lb3R!f3=$VO0^2i=U*AUccnuP!}|Ux>a;6v zJuWP)=4{^5gXW$qJ@UZBL#sf7_D*zL>6h)B>?Twv`YfL_wE?(d#2CPATtnEsKfQb( zdh}U$n;&a&d1Rw=F4s#b@UvG+_9bx^Zvr?^gQo(9UA%w$)W*_g!PRfi@2f;z0w)U` zGMwLXOjg@pFB5ku45E?fC_PJjWmgH~zGu zTls<#67KUIy&m{f?3kiFZ7~{(L!cknr=vLB;-3q$F_z`GRIFJx zE2ZE(H|LFIp=Jp?)G9*C%Sv1#7dn(iFuOm3a&*(#&;Bc%XT5bzq4)dDK1V zcKv4H5)P_)A7ZMnZg&b$fY<{&|BcTg`?jrhutC=CQu)tczmC#*da=`|=uH8J;@118 z)*i23qjq{EQ-x;3(3SqJL)&}E3#+!1r^S|ZZe@oJ zQdb+r+7C)&mBXL>V%e!lxxY=j^=no^cM%e8a%5}>=1;yIudE8|pMK-{@6{Wc{sUUqlXaT~2>j04vJ}5c`7ff2j-!&)!b{BEXQyxA>=l zD!t8ddH7Ob)eIh|9gy=O_uJ1}`Dul0TD|?@4&8&~!et55o*`uE-j3zuBy<{&`7RIW zHgV%D%M;@VEWBo6wA-D>bzHr1S3&b@$V0B|aeRgC*S--~0vPaHTN{5|G{{x|;05it zK+l+ef3D!vH}V${sPmxi(6ps^8?hpXrMuR4$Lhi4(%#s9O2WkNY6WN*To$CdIcx?l zY~jN>+s`G3^?SIN9{tT{bZw%Sq9UFt+*xpyjn?gWygEHd=S?2h!;QI&;T+pyd(!R` z5Y1f2!*Q`REZ%=HGoAzdZI0vbSM8Ci`cU0BMa=Do!gn6Kf9sQXM@u!aZv2D5U3qdaN<5ig>je@DN6Da^;iRcLF&#)-Q0v?q3*^**(2LTN)ReS93Es9r3_#|B-X_oJINS92tyE}i}ir7xFa zYks`vSGincPyvu{72OS)b~I<_(VL0jjyH!2OvuCx=cl#OhY>8tbnF1&TZ z51CEtjgnM%{~5pDvv^R_mtI`V%vxL_wWf?DPH!{slu9^WW^T^?o_yn;18A7bq0khy zijop*sXY4Vgz>`Ui~DbnOg}qYVTJcP$$IfUCF17?5J(%sMl|9}=|tKSE$Nyyi3rx) z5c;@sU&uXsZ`$+ug;1}xCmt|*xxX|{jktEBC3>aH#4VyT{G2tkm#+QYU^9ZiI2;D9 zvuL{4rEOXY4}NE~!sqCY{NvkE$M<8Glo}tp+_my=*_Zy>vD0E8IumZ^6}1xOrF|I^ zPkxD8hTGYl^k)4&7maAsA6`e@!-j8w^KtURb{b7Bqu#;zY2iLgvR}RlB+>x;GZ^?AbNy0Sz*O&BTa!eQ{Z)z!|UEpEH~BTxIC4e!>z`TFzo zJN*6I@!jSvAA4Gpc`K!b${J)#x%|lebqBQzySB?<52av}s8W`#H|l7*4~jLGL6il) z{&?<>xL4#Pf8iL~bQ6(JT0Co?!7Pe+_{(Yq$JHC}H{&0u6Afhdql0s0Y^ZvEPTFzc z4Tj2}uPm7r+T0~W89eWtr0z!MxzCiV(`uhwLevfR3k_0-(1y@BJx zk;wEXw>2mjg9Me;8(jfj$CM1aulKY$*z>azvn>j0%-RbH#G;%4oYT`XFV8f5(TbgJ zK|q%y`KUcGrydzI5;tiyz))Z$1AC~bY5?v#23$nUYJF6?nTKtk;E@1FL`pj!&&t_j69$c9!~+txxoER1e-+r&Svnr3alKNVNY$W}8wyDG0QryS^XCT)(&zlLfDBRC zi>IF2XCqwFu=%3 z`^Le$_O-4uHn{#9_AiE%XNmr<8(sQS{9}tCXtFA<2$+tXL%aUrZ}$hNV=!-*8#)VV z-P<~4`)JXg*9NYvra81FvDWm-$>-Zv#c|d`A&U* zK=8M)tSUIbJZE8@rgQVv5*JaU*O%3G3MDgAYY$ZSm2$^2P{yNQ7_jau$w`O&t1}4O4nnT9m zr|cz>KDsw^Y`rs`mr;IS=7&@-l(b)^0f~?oH_~h+rLcEkxjfo@%qz4E@US?t_yqz*n@ktH{a>QheOUNq@tgJjC}br zom5McM_b=p=k$ES%7^T(Qtt?0Y-5g_j60gs#+&b`v!;QSfH#5UYS@aSlew(5-cDZk zVo5vEEF0-n?+WKw_d*N#19qRLVFYmHqo`jFLy!ykMju-|D?Q zuRUAsYtf6>j$Um16vu2>$6Z$RTDQtRd3TI`44Ge(qkWY(NAd7Rb_P6S%c%O}lizbq znAmw#WbfO@M{jTzVGJ(#c>1J~6nt0w@>Z%2@WDhlm#a;=dY+ZtXLny>8t-HKbJ$kC zKZwdpYV^DeDpO)s*ZIP0{O2FVF5~^dW@J318wGt^s*bYnxt>05f+%*DWiWQ&F5jyjwQq?$c%fhv_&HT2 zD*_G4;q*_recG3DI#OGH=kB6mge~z0O_%j@_<_>>xsDCl6jjVOruBIJ3=bKpE8 zYP;-f9ZwNcPBvs@=33t_&Hugd;dI!jD}H6~4?bH8H4OfWO!&?VF@}Q?G|Dn-U)%UP zsc}e=iY8F914h(sau^xp*h7D=)9&RoB~gP!Hfn9?a--fnGxu z=pYu4vaMTwRzrC2d`4dP)k)rotN44UV=?vntKwR0G>EM*-x?47w9}aJv!^fePTq<2 zQ7_S}ON$0!+_f-%0iD@>{QbGg3hl$}Vg^gJ+3Pz4dgC3R37`2RYK`5u=3b;T!wV!z zMD(T)HeIa(xXS{o?eo~L@VG0v0zf13U+($tG)E0sQxATL^y~hD&82l7RWDnd8nmu} zJcxmFWv+Qiz!yI@hMzK*>u^%sjoLlGk$Yz{l(1L(RuqrRsHEhKdFJQk_xZ0!*}Wjv z&J*PeH)ZlI4c6_sCiPWmHxyxlJ>eb+E5kzlvU&P8yf4-p@;g1fKih2H4k6{sN5aP_ zvQ_)M+QTB!+)zjP8Ty`W61#Z0W(GOPS8gno3JB0fe+D=lsxq3J7Px@@Y!`3$v$)vO zQ|VUYDOnC7ZEaijfNWf9O%jj>{YtOJYil$arwCAFsXrb%ht+(tX`iWGS_g1&2>1_mm3czGE7;=t`H_^wbY;5nVxc)^StI~ zkKM0ztspYQcQwe|K;(xLFC9&lZp{8m0D*7CYSic5M&mQyNwK9L0Z)53tDt}iX7u$ec1dATG_#8Z2 zhdcsr^z5TJg939;HSv0Tm zyuSN`@ktO>x3**!I(Iy^7qQE#4w}^-OkfYT7v{lnKpkca-l4KbhU0-97KK`ITWUJv z@y*RKUNV%m`-qXav=1Pw3S6Pvc?zO}PZDZ*u_;)8q1v-d+Q=^PD_Q z;HVAf>=2seO4wb=AHp2G&-I=7a4HE`B$}Ii7->kTWCNpey`HNyFtU153bVcocrn>k zr&BirpFhYwlAku%Wp+iiJ&K@08NRW_&AAw}VEaWtKq>RHE+l9odUqFQH%`!sWmF|0 zPxb6fsg%xA^IxWeBBhNwu%xR`#uT9wci-OKu>7G-7P^l_+#l)jwf*GHy!$)KJm!d4 z3m`Q4e7(cM_NZ>(`bUW#<6;_}5D{VhHf{VVmCc2=#Nw7~6?>4m)ygZs!6+Hz{-E}x zjnP=+^r!F%y$Pfg5scDx!OntveC!I zaa_9+dTD)!3E=1=BA3I1207)d71yiB*DH|-C^_mi4*GrB#pRXx7)d#&{m{J8j8#sh zRq@}{Hfm2}hW@;h&EpaW+#;t{PdC`#a;0xGcYX8~@a58{gX;zE*?2uR`eNAwbhFqA zHNt||Ae?%3*fP5CDYf;OMZM$3MXk+ksbAZzs6kfFbZ+$eNst49z*yqZC z&f%kD4b5F^t<8t2l-2Ce>Y$#7Pw0cj_qys6#y_pBWmAnitP&uIxbg8Bfo#M15R42z zRbJo|Z=G>K1$f}#FJhgj7kO16K2ig792ukS1s#9y^R_x>cc&#U9;RT28EhpH38O_{ zQ2M4UYz*9!d+gk1En<8ELA)_-e{N%N{L|@i8@4WQn8CiV7dRg&8&Uw^l_92Wvp0(9 z>AO%K_m%Mw_Zoxt59)rcHm?6nz)w*@D8J;GUxV**d~xrKnSefa>-!wBqkP>R7TZ%j zl&fqfJx{sGp)7G#Ps9z4U;fsChodm?lK;ytQV; zM(wi)0K8m_pYapLm{}OuTRu?x53lek^5YQ9MwL58RQk#Ok~ykSKuW}6Ib}EPa)d?w zAMmCBq!oF{ca0!7`h)c8zwxB>I^_(yc{+y>yOy!-Z{c{KkKA~IZU1`1iN9QGyL0c| z`2HoZ6OV|LBX_y!sC6tq;L-aPHhryX2~eln_ro?r2>W>T!}1smT^--#bCVWIHI>Ev zP`eu9G_I+)*Y_`86`q9J+pCGGYS$U^(A+fLSK{;$JR3Xs_J^HEZL4m36+NcSvCtX> z^zJwJu&r5)R7L5J<~>N5tqZFlEZm^Q5~{_$btGqi?@BwZYyQ0U%EH6bEBatG?(K+) zQhi`wFO|~IIVGyL;lVAY8Ca}ucAMssuinalG$>t=WUL9bRjy!(`O;`O$E^&2q00gP zX^$4Z_Kv$9Ktj0~SO4P#e_G5H!rS0aXRbnO5|7D_`Fs9>p{cQ+UA3%+RpH)mmWsU2 zqrv4Nyl+W3ahk`fz3)!C81oA!$!Fyr_kL@G-;p*~@jA9`G)ZL*7TTs$g-AXPsup1=%Vw#BMG10Jqq4Qf(Cqzvq>Td&Dx^*SGtZR2Cr6?KCJI z%>koR4VNrI+&pTjsNL~rRQz6#qx)9f?IzbHxW3JY^TqGULn(d%c>MtipE5aj{DpJYewIyd)MqiQW}Wm<5xdk9uOWC=dWsIdeX}F$7sCZxr>ih-6)pssj){7?%aMf6hM- zR_8G+tw)f?*ex?J=8)pqC$Lp3&;ONXs3p4D)ry)%VY2{hD!D{3Ay&p5#X8f#mG7fjwRR)S37~;=rOf9FeT-!05y3 zydQ}~p4V?}LRAL|Jy;ube+{w8)&|`_-?X+5Dq6b_&fNu{drT+jc+~V87nI@K?Y7RY zE6$mNTMT5ac(ji2uX6h?o;h)}d(efw^G6YiP|c-;Y?et#RV(vA)gV55XAMV7@rF!v ziw++Xw+;~y#@^L?M|*Y+YGxHuNVV1Uov$)bc7`>GK7<>Y?b0_w`L)t@iHc7YQS-_7 zQko+kz`UGsaxAATWM$#Keu=BZ0!4L2a#9`lg;x4EC4O81!XFPpY55hxi;<&$yX!ad zerP-@b%<7@&Uu1-h3`d6H@SJ#9l9FEDX_^zuEAz(FKT>@;az=+ z`}@-zhP|Q45uIpO{C3xYI-f}D{CRA&$`kWo!}8Xd5ePn6p|GF^7KhvuA@|LCtt!FC zCrt~&3{Un=TaHn>D1)^6)NDcaCFQh7b(C+*g5I;{{?~qdny{ztcM)#JHpcFWXmRMa zyX$;^EZ34MVX)P|-Ckb%_s!6-B8ZN@Fm*%;3>Ez2K97^^1c|Taskd$qjBj{`tsF2Y5 zYnm%h8fPxMG3#Bv@vldYzsWs+)H5Y{<=o{uP|imou&di%i$6*rR<7$WQQH(oI^9t(nsEN^8JOxY4HB}@0q!hP)UCOxR-BtkY_R4DqIWKi& z@mdJ~Ac?T%^qSovR@jHn!j4S-n4koek_!WiuCR{>>R;CHp1(FX4!K|cP`Ah&dqSGW zbc|l>dvoj(3F>z+klNm>TH$gR_BTsxvu$mZwZ#6fs0n~?I`*vUG;QV-3mk(C?el)xFMB?@{bS z1(oYe2Pc86l<*Z5!0y8Q=~1{X-t%1-QJB_{}~tg1>ECb+2|EV@$m=iI~xOF2-@!K_(@zw*JPClAQfMkEmLe#H0!* z|6=QU`c;HwC+)$nVcrXovvGdy1Md`$1LdERwccEnbqDk zRTIy0?^?6Vxoen?#;wk~pqe9=S`>4aaQZ7X?*-UdMC_t*C~FeZ>^)j1@zZhs&N<&% zHtSso`Fue@nI`tpb(dQs`8R`E&}pRa+&*Q$#7fm3E+&TGauh7IFw z#Z|+0RN)}eOrPJ(i?Vh5LvbxkN;Jnl4jP+gm-4o)9ufS$pbn=aI)@2KNaEm;HQ2{8 zYkmiXO}R}u>Qn)$gPM{87vusa0`&Um^4*r4`TA0sq342KO+TM{sq!3jM$~D&=LGA1 z!$(u^z~AG&_{k1S85k}Li`AIPzb;8$W;(pQ!MeotH@c)Ki$zr&iD_~>(vQ(I#tKG_ z^YGrwzW#hQLA}L<=2lA9dFKyQ1bW|QuiZ?*+gt|yG%b|e_S|?x+J#9eyuM$99j^_~ zSY$vTo+We-AXdnk@IE?rCq^^TKcO zCA#y*reNe=E%Z!JH?KnDM?Q~KlB?p!^(#EynuBDYE!VAWk)=Rz6?#{-h+z+uFQ_S0O8O+dkLUQ7ylK z&3lC`I@p!}H9>vo{qB`|1_5yQ!VkTn+-f?wui9Ae&`y7Q@K%<}COhsv4*Of-{Z0mq zR3WF7SIHf^bOnN!dJ{0c)%crJ;hK{NY@)4_9LseSIzG}ut!L{@4@dR6w>~}XmsNHc zM;;B@L0T_}bhYR+;!QNyH@0?o@4CY==6CO#nzzyR(;6-jwfD8PnC+VV;sa?go97iM z!wGPwAs6Gz>)ne4@BTBz(bvMetc6+5O*ZfsmD(Lu2c6e6Hbr*eM))ahKd z0?=&uFbC=fCRNTQQeEX-DXMIpPT^$Qa#D9UD{>+UJ912wkJQlZ|5(%IcD;ErWwLqu zxPxi)8>q(RZSU6kPV+GRuaWiFBe{TXTxcCjT6HtCCZBv`wY_x@S}qUlq|c|eek4J{ zmgK>*eoc4L&N>!8RNkMi%=`7pBoq1h@;^%X?>YQ7yOlV)kKs9fFh}fBh>Gv6{efRFq()fM6*=xZMxvqtV2=Ns9`>6`jLQ`tbSGvvCLri4qAv@nUfPOl1 z>QgdZuCya9|KZU3JFYSD30WR4f?Dw}B-DZ&0(<8!Fu8>d=qD;A~Qs#KLth#Q7{$t&Y*PCUtyfc1%N9xU_-ozy|=VO>* z^MR}{Z{w{t{^#h-wp7J}Ao?xNGB}`sGKdq1GYTjmDvGEeAfV;{ciw*Kr(UbBWpT)p z5wYViU5~}*a^TL*tg`IQxZ>(c{-ABe-=M#J8|vU1!onL_%n5d;qj@P{z1E5mBMf9` zh_qmTkW2Dye9VMI$I){4V~63NpYv`_l{PdG)(4+_aH1O&+=&-8wk-Cq*?e{18uz2o zJYVf@Z&T=2MYu~qsbLLwVR|KJ^z&%WGV!#n)lUTfB&z?M_M^hk!H!o*rA3l{33npo zq*mwjQdR!tI-yxiFOzqWslixxVzAUY8>8LsGU(jtb zPeGSy6$VtL>o7(JdsPo6DaTo%@RHA#rGuT+g+q@n!vT(1QX>18aGvY?> zz5bN-TY(+@Dq&P+HJ%R}pW){^zdV2GA1LpueXF&-Tg&Rhm=PC61H*HDr&MKL(vYDX zU&n{E_@yVC#UlW4UrMt3+OS`c&ws146#lN8TKiRyAJM+@ThNEir=^+=v3>nhgT`w| zlb6rzGlAPHw^&Gxr&uOF?&a-G&N{F^W=1QjJr_!E5s1smxkUpf)xQmnPdfMbvwY$; z>K~E&!fGDYv_xERMLQn;Iffobncs7Qt=gQ4<$(6D+TD+nDCcD5AAEsZ zRaV+LxKC#F;yMpZcVa5nspczDNYn1$S!TAfg0tx1pn6=Aq7!XsZGYO3Lr&?skbW9| z;nAj(JH~S5B>XUu$+-Qtzbt+1eaCLk90xrp?-b${w@x}xr3_I_x%2P=g@yyBb@eSH zD_WzT;L_1xLEQIKr6)wfFyg?Gon?iI{)Bg>EG_i%v{63XP7vKw*N0ljBK;u4-rjM> zZ=LfMmQjyU+I4nLhkfD%ad&SS~TFQ`6TPoqaZnz-eP1Fp|1vQ46uQVd(bC8P67{;Flpv{ z{=F6N&yeXU@r_IKa)NW{qmBkD!{Y~U1A9wVnI6w%j5c3w;@tR+z%TZdDPD-1s{v^j zcGPi7J;~y(J%T0t*ul|z<&*IednO}vO4Ir}{~jN%`S+kVg$r`MyZq8(Yj9asw&{IH zLCaZ^W{?=trcZMwkahoy^=x7mK-*UK`!u&h{O^q6D~2U17S%K`{_Y87mYtSXxoGTV zY~}B${Vv7TA`Rv#mAh`QPA}`G-B}Jlj7N^OfC8v|0&s~nY^|}Lez_=9hrn>pF_Wun zzDv#~>wH#0i7kM;q~Q*gl_t~O!tRLXDq%Be4?tSrSH%@Y31>CUrs2*K@S)obn(SUl zCq|L`9lam=t5Mz-;;k?z0~zweJ-S(aElVQdyvH+cffirSS?)=h0Pau&J6Fg-?^`Vz zc5>ZbX?p%Vopv9GvdQ!pZhs#Pv6Jy9lGSQ%J=xsM_RxNmEWNhy%TR%eOf=BNYRm_Y zRjVBJW+Z;2xK>`$>vgZ1!@d_kYla&Bw;t3#n+Ayw>CaOYr1j$nyX%a{pi4E0E7YQW zLT6#xssKhKqB$gxTGi$8BifGhHkksmgbDV}?hfde{zgO@4@)e5-_bnWjD~Vr$lXoh zV{Y8>+j4T`?eIAk*G#BVkN7pDhlK87jiB`6!o;2ev-i>A=wfxsLC>5=|9Q7FUI>4M zg1xpsu!Zy2^f1^xAy3-n7@6wl^@MOg)ry) z;kM1V)oB^C_sDH`bS555X>+qSLdz_AE)y>NhOiZO!sH%0rqBc)%_Z!s|)*slXM_t$|m^>_g zp7OH$dPy}FZWpU$VOcZLNd8USL79YOeEgXK6Z!Ss* z(}YI`?#Q1SP6$`s?LQYuU?>*Fz2sc??7O5`BSbHzx=YmQ))ef!T^{E8_+Z=AGB^^~ zsC?{(TWW^Hesb;1y?S}KWVtw-G@f$j^U}$TYTxNV9JRnfwD9BiN0CpvQ*H|K({6An z)%Pj!EJ8t}GPsv8blgAP^XqR&ij&h4zr(!uw7a)I*8-RZs}BZ4wrehp z*Q?EaIemW?vxn_>Y86QF6Whve*81JK1x!k-_33YKNVJvHy$}j-TdH8KhpISvR2RE* zzdAs!!r?t+U#AZCudK#z`tV|LTZ4+ypNuKm#SY=DT?9M%q2f}v&Syddj;_J{CVGXu z56(r{!*HK!Z;8!PD#fbTrq& z>FuWHq9X;q6gLg=JZU3M)r&NDzu)zU%j512hUMq-)!4#QiLM}ALl@3l4~lS|Ta_D+ zx!nx1`L1e{{IqVF)&c7?_Oc>$BEU>Guy6C)OV*-$k4Gg5uB&jsfI&Vo+WvV}3W^(n zH3vOZ1OC&t0|AYO0b7OMRXx75G*5S%BCDI<29;MM~_S^(-sx{{OOHiW2B0T%tc+(YU zIs3db-42;>?(DBVaQ0FqKj?g&!PZ=+A(Oj>gKADZGlP1+r`ey-n?vu53m);LIhMcA zTaK^E2uQ@O=l0cnB*gjv|03pCk8_?+5KI&W4aUVdFZ2>0ivNl z+yI8DR8WInUiuy<$ZE0n^U`axHOcd?(c5=Z@vkPfWiecu^}p`KdB*7`e^tkQ}x2cNZe7_oDi;yhw65h#c+3D;$2+!?IFJ4%#bNFC>YEu#NBZFB9_cLLoS?`MBj_aO7R+eGQ?YP90Y zs=XQI+q>mH_`6sT*L%sEtcPaXH|Y?w(F;;}-RWOnj+Y}+E9J>1#ea&UFEQ-G1PhhX zgRyv%o}Z!o{rx>LWmFN{^+Us@u@Jj>T*Cs|;kviePH^wL&aOG9u^&6)uW&}a8F&IR zRtbC)5N9;;`2KCG;Aarz^`c(hv--1t%F;Jv5{F%+vwANVp{yY2Iv^?J6nmjO`}kMh zPpTVRD7wy2>I)bBzPt5r!C{SrlG6P?R@hl1rdzMUSI6e?)X@94`Tnbqi==J7-1~@= z^_|isrB!5tNlXC*xE*R&(=YxecndM`zGIEW4pYP9^kq@AcV zax6mpb&G?X-J|DY>GaslZZBo4Ktj4lI&bVRiKS4u<_wsMy9&2#Qb4>!gs*wrAM5#2w(#d2Nv z0WTv@zgkyTskQ$q&`T8HesUj_^`->{z$DW_tOWM_lg$SWJ%(&WU@b<)H-5Q=cpH@O zl-AZ|X4m$b+jw(>-qXJ<3i{kCC~5}*NGE|nNn;gSUk%`_0xEf3`)RAK(RK%zwx-ym zB`l6Vl6J`fY~bsx&_h(JDz~{yZMX-T^w<=42F@>(t%jJn&I+#ig7b8=%~EbQnsVGP zP4A1CnjR_YP}Po6(<-uu_bCyOntGFcB8MnLkg zX4$lc+Fc9T`P2X};9(4GkW;Tpt_GfPk)3iSKb-u8+jzVZZy#^pAzN*Y_~q$K;+he* z2?lL$6lrvs&oA(PnNu&ptWJSiz1la8a$;PAFh4I6&QfH1vDhcC22==5<~kVM%^`S04F=m?`U@g=?5Lboi*u9i`OvTYY8!f5Vg- zSaT9dTk!wxALqrgxbEMtLw%{k?q-)|H$*CSYmNLPH(uV}$}?81U$|5Dbp5OESz;HV zKC*{GgBV5T&;{c<$ufa_hZ$V=npi3vw8P1VY21DL%gGq(r-gei+OLk85`6?giD>?& z-eti20^?e^{~d|PG0rkw96|FyuO`j zaleH>osiGsHJg?;r2s^!&+w~h7Ld5=blQXnuNfquR1l@PndHX7dvtG-- z;=$>)tvr{vE!QO4xg~|56RclB_#K#T79A6UxcWQ2qr5{^;u}^T1G4a$*>eqMm{5tQ z-&3ww276E)J$F@qI}qN?6t-tDx;+RJ*-i)PB+!@ZWRj~y2HaDIeEiW78 zUDMb+2Q4_0({@teD6Hbm^~PkhpCg-?AAI$^Xj1u^M~k{4#s3<}Zg+v514m-MCieV> z^|USH^wBZg^QD1Z+$J2JO$MnVa}aGV7jjbHP&+UMw7{DJdl=aK16TT zpl9-AdJix9MtQFyy$nTXxszX+igTl(W!+G?v2s**5<0q^S^m`yl@ zVhiMOSD@JEUh%`679JwlCrgz;vg}TeWRhUMo(Yl`;q}j=$q=D9a*x68Ctj!b+iKj` zGv5#^-4d@hR{WW`HduDKb2i*lv=tzP05)ooa9`63PH_wHfqI4F4>C*>TeOtx~%?!8}wYle&ZcvM+F_qqH$vxu<&Y{ZrKX(!D~Rl!;zR zM@WDb0O4pZk3XH>wX$CF8W@o%A6hAQoR~D$jfseSZ*Avr-K+;3J)Pj4XQ8UL-%m>|z?kX1-AKNz9RrU#%2v3c2daT3_1C@H(y( z(MGT>f8)j!YK}ituiK?_7J+qS`M-atu(H!oX$tCR%Z>d#Z3OrPR-Szbr?h+ zKi2YPq3#qu716v;_u=GW$NAQwIF^L&H^zJAH_Kk~sNPR5aF)_q2|6#Me3`nD?TJOYOh=PpY9w1h>*9>~SHX@&r(; znjQa|7FPG3=&fOK7ECf|>z zLZ@F@LLxcZgj`?-xsPP#AChu~?0I;GFy^3A^##?r0ZR0_CH$%X{d?YVg+@o0eNOG} z`nm6LcZ7AWug@pYZ8n2PPHg&zEB=HyZ9dbHg5qTrJVBp z<%$E!{HFM0c`SXQ#<@BhQCcTxMzJ8L3QC$E8*y|Ggc6a!n%=~)5bIDtZOg*2q zgTWlV08SV&o2cxsR{n{EZ>|l1#84+}zVL<*0BZUxtSFRk%c$$o?ask}b4V^3f};Z6 zFzNwTv*eVY{_?=x;kQ$wPtQo}b)>np)E@31e^i+8YC8Gn?6OP#<&#_OCw2!;;%n|V zjnl>XNyLUkc70*2_s@v)kQ3}{J9Wp#9+wUTMxw z$IHe0Nz~E1m#x<0F%E&BBES{;SQP|*ikD#p5x;~v7$TNmH`iRZ&PRQv9tA0&@4dyb z+@Ec~i`+8ORHOkYjHoxfqjigjZQeKQIgOUlRX8@r>N&Sre~a$3oNhP?0fqO|9q7ky zrEnOocHMr)0JNf3-tO1A@-Bb2%FSiz7wtzXHGTA+LVeaeb*6BDzVpkRU3awiI^S~aaoS;znSPOyNxuMjkxC9H3SV* zIvHQJEjvNp$I2mTKhXv*nJ!-sbtEhzh2;Z4KxcIjp780mM&P_z#I1`H1FayAzYH=P z+;^q=7Ib8yI&#STx4d5rHTHT-|6cDbdKe?4r-l@Lt(3xk0x^{Qum}OA(WhQNhRnb) z8-o~%?W~)FS|a3j`_jBe?7ym#8#m*eeP5vy3oc^6#~{hlG3b?GUN7FNo$_gOrqD^y zEnPoe**i87>9PFP|K4gx6%sQLk*O+UG#seW;WMfs1+E=ze`EK;u36%^ILa#1nE-l0 zl(vH#uh@lcx7b@>g7#%P1V^_`Dx>!L#1yNg*O1>1x>YJkE4Nrxz;tE(;NwlEt9~U+ z%ZVj`7Fv#HZ~~E;bY4e??+H8X{+g7&LA`1JujvB{{p-QIW*&6J<%H9qo%UbP2n6j$ ze;4skldxYeDz=&>pff{~@o{m!(qkXLUO1v%ayqZ+J#JS~-Glo4D$I1Q=#ywSu zoJuR2;E3F~;IZR>>xEMzGX_VWHP-nPQVAhldxNcUZ5*#|^)5lykzl`=$J+#FKb5JW zc$`sj&sDn*!1Hg)H6vYz6c#XDqnD~wHXELOk!;x;k-fdO8JtS-r3*kale>l)y|)vJ z$4>BW0yQDVBYd9nXxr^oh(eFadw5IdTgqv41x5djF9<9&bISq`Jpkmsu@HTC83-2n zejiO_(&PS-Gm-c}2I)e6UyX4K0#saeh;H_vC>yo6Hin$V8z1qzS*5mWWXO0~zl0+} zoTwkSnESF*BEIU*L&#T~h0UjMC|tPasKN04CKeqyLJV;5v?ZtziTBqCk>wd;Ji0w> z9l<{m5)T@n^4Y*FfXY*v7RdEQo{WO%4UsM}WA2NpT!6*XcSA;v%DCwEs7^BfVmc^t z>QTzI=h&PQ@{QVS+f16|w#!dEFj7<7eVc~bAGKS&28H&VY6GGo+dbY_(8Y>}g#L9zxqtHpBZQq^&yp7R z;IDmbqAwCmKQ>lF(dXpAjgdIGI_fNhP4Bl`T|+y$a0a+`1CUz-dDJzk(YGGge+~uJ z;!KN(TH_9ZS`^D8LTT!tf3yT_!mtfA*O;=c5jhe8_cK1dhRDd_we1R9%+cqqpamR1 zYCVte?DIw;Q^Q(pJg@J$WW-z|7AhTKW;M+VS=wQ2>4JQa%T;{UsNFEssdZvU5uZoj zh)k~Y7xV2G>Zc~wKQU1ggN)^5@^o@{=!}%Q$0|DUui#MaVe+ImpfGNDKb{9`(r&if zsca92Gk6TCHFYv}H-GxuUhlQFalAB?Ux13?r>Ye*|9DXuvwDAaQ|Lr!h0pxevfQ{n zF3akL54<&Q?&>Xj3aThSS)MT0Y>LR;3R`2twM#fKc7jnBM5j*B>FZ%bN7bhI z+IOxp-7H^6kfrP72&8t1M_f-{{a&!S0xlaxnd+Dz&)i}2LT}LbE;8PI*2qcp-T*)B z=P7{FUFt7B-|2PJu3n!ww!frck!v-xw?CKw!@=lJmQ1PnS^frew{c^8uWuZb(tKke z(=+&9g4#h0gyCY=`kNN-NXtFk>lmODTKzFO1kzqo z_}y3(Q$?HYRr)^un)`^iyDZ<>2HMb?YUaFz&`YAGdI!C-rBAPs94GuG?7#&x>9D6A z@$2lC!(U76s+@8d48IP4qLQJUZzzL2nZ1hg*2@{(Nux5y-K_9?6bGF)JT7Gjqc*_3 za%S4$b_f`g*SRxafg@s;*zpj%$yU{Fb&EThx0fMxMg(@pUX3MHgEHpY({#@M4wUaJ z^Av2|=;b4EaY#|DiVV~826@v>d(jhaE> zm3Hk$WdfeX=xH9v+Za!JE3q+sD&j7@LsKhWm#-huhYCs4N$n!(>YA_%?1wfoxa~pe z!=!Y-pC1Q8ew>(^cX8kMR);uT7U^DJ(2tcRPob&Ez98M9fKIlJz*z5tW=WujB;d}H z#Vp%SUS@yUkcXc&&9X2Jtdz?X?6Han)YT#;KI-BHZsMKCd|^&sx8JDSQAhBMb+d#Y zGv9qZC>X@KDV!%pxebf*Qy-yl+*I+*4Yx6qg7^4rl%H+;_*`z;quXMRh;C)}VDlH5 z5R=c2F{A&bpK~6j@l`r;)RAIsQy;lB=j;!Caqc>~nX|EmbHu9|8@B8Uac9&l`h4(v zr5LflTT0%U>0(~H<}2^*lt+aPK_9~6eAsV5ITceJ5hD^trir1aU3ga(_i+v)lnsWE zxq=tIpcqi`-XFtEuV|^V{`RlLDfeLWtJ6wJSunhWR-@#E^XcYUbH!G@ZR&vzQUZNh zlzZ<2ehR%^HIhohk+~gAysc11VB3RpCA3ah*_7;eHS~sSok_x7a>j9zhvP;4n{aRT zcWcO_-Q*AOCA)@<%rFeT_E}N>gzw(Rw$S)x*B?r^)&w%I_c@2q40Q~tr{K+!;bxz2 z!f$M+Pw#$_=jQraYPSSp-Myb{`U+$?q1d0UE|1`rdskXL7qTj_Asdg!>FC~MJM(&a zUNyCraZbhe2;P1@?zkKe_ABM4dSm9^n>NB$H~ujPIANUJh}dwIzfbnAmjjeV8{VddqS#uY-<@BR;7?|3imdq$|}{A-#?-j130{Zj`j1M(Ksl}3h1 zu3%kTsAFll#gt3n=$7s+N^QOHbc#fSy%op7@OwR-w+Apxes}oVpnF3XPfh}Lpvv2N z3M{yX^htIi5M@Y$-KKGHwX znYkG-I~wh0cexPm=$zb9z>Tfv`pd(%G(}sQvFVwx7TMhkxEk!~&gUnN@2qr;CAC;9 z7Uu_b7c{BjkL4h{_S7ZgT^sd%8gI10r<4xiR&Xd4%x3F1rax=JYZoQBQ|JG-JsFPs z{pl?~OsMWCYiB~JU--DV+l(g>+g{hrr1VGFujcWn`i^{=^x5o)xF3;Hh+Gcx1^OfW zlm2ROj&Ti&9M`DxwO=ZewK|zELbcakn`)H*jV_h$qC5DzH**S$e24C9o4*#Sn`wHj zf2x!=G7ATwaxh=d7(gjQs#VUF8_5)ebF-lxheQYS$g2b2%PnonH_I$>Cr_*V0fULO z4T*R6Xw;v7wS?2~xaRRU5LR0bj1$nM><-H6@9?}|1)XqW5q8nzACmFH~ZleByE*pHpzH)g$&6 zLWA1jQ!EB2uBqx$X6pR#TGq(f`B3+M;7$)5L77);le{%NS171mxr98%FjM^GT$yA5 zrSoE^b-nZ=EukH=e+%1%bXHPfc{tv$qVO-@Y&g~CL#Pg}@n3Da9Xk1@UYxJiz>HYh z?x+0+E;YO?${XsST|u|E*+!dP)S}Lcu69eq;>yxWKt=_AYD8I6%mBf=h7gNvz zV!w;Z#0+V_iX?c+*4=g!7H3^%Qkzy6#fGRPJ*ZlssIiuiI^z&E?(-?1kx_pODyfoZW}^~5Toi+WM-UZ=!veQw_gkYq zrF^!aOf)*yCP*OtBe-Wq~prdN$KEy|H+(F zDIDzirkbxclSav;YjO`A=L=r0y4<8mwy_t&;znO{7*i!K?(?`)1wNq%wcFkD3+U*`;^>QLAC;Qs^~<7V#`0Gm&tmxKVEHv=&G* zrF;hcJ-m6AoBh9h>n~KqC&`UU6sSdFw~SVY<7-CUS>*tG{^_jZLyU8c4JD2dKj!Z8 zjI;(NEv~bREaeMHDkY<$Y)2Pag~ty40u;bosZghr(Bl)mwF> zDn4zwRLnW#`E~i%VXk!E0SvxQTb<}-ytn8!7f1T_BFDYYL2}g7H5y{f3I38F(iLc& zlhJwg%AfVOxofUT8p%TxmzQ<%O?8&9jDbXaxQOPfsove)*bY{{&9nA>9sC~W;gMxA z6@YJx{7Xd2jYKX)#;h^l7jH&`w;gZ)ge_b!0V%5U4H5HdzXzSkg~a8mHfOt~-50h| zwC&%Zfy(@R0$+}m&ZpH^eA>PZ{^V_~Xd*fZ9JAzGb+(vf|$?F$NtN3`x z!9wmRsLb_}5`6dh4Q`D$v6M>eu;PA6rDMzFhWcQ?3O5o!*fJs+4CHS4q!QMSQ0=1C zy&kw*4`B!26%1%7oet>KJxN`D?Y=SWT*PoWQKlASou#V?A>+}A-WadjbU{OAa z<%iKc-z0wb@utl{)!u1yBrs_r({I5?%+az4;M$w<;+_Hj)6nut32R{^e{OHSpz#$H zXoP4j`miK9oPGJM&Tf?dsq>{U|7b1{&$TgY5-d6*SsGlhZQQ?Z7c^D*Hb+0Y;!ij* zI*9O;pGFG%yaei;kn4vkmUiW3A!PbRx|fV#s{qx*6x)696))L}CuFnzGtVDoe$b;G z+c-f**{iCTDuHn9vK3nldxmVN%Uo`P?9|^S0CEkP4AYyb2+U1dYvq502rk?%fd%2y+bRqfWCk~NQ61F@1Ai#ty zY_B9t9QEm|{kVSy+OQEqC>HCkadK?qc%uQOMQywWAgWC`?t|wF^PKa9dv4S)ii(XT z+V{GU18&qV5~1{#!qmlfAD5N*z-olP=aQFt_nqU^(~qwOrMHuSJTmj!m<9o|42SJQZ%26LBZbgbgnf_emzN8VVqg@X2$ z6;CERffA;hb(; z?N3FxYaGyL;nz>??-|n>uEL5($!%=oLN{+^YpflFoQyW5JQNg`Ac~84DztJ&+hwUK zuH^Y%LS6t*ep#>ZKK(Fn*p5DYEv@;VVtGv-y8cRXq-D$LNSorV7|#&NJ|kk&w^xmr|K&Q5cu_H;CIoB|s2PWd8V#_N$zTO;FeWB;%1F&iLtxn(79dLzq zb?Gc*PV-ssth-v(tU(*JpZ0%waM_LiZu!;#Vvb68cRCAZ0@HX#vewLiI1@YS0w=%9|Ew^rZtXaQsq+Lgd$R+c7+U8A68v}iWe)*)z=4Nk1p?Sp)_i~yRamAki{Y!=D07N>`u@OE=<+acu$GZW`9Hfp^Zt=OUJ4Z{Rj6#q=HVvwI~s z?C?JTGUrl>{I$wYXv@k50PJCigVs9h9p3bv|$>Gw;E4>s50|Z8jaU&az(Z zbKGU{-p{`6Oup1x?9KdspkbI#{=kFXL%>jPS~K`%VuU%{!{ovi4#vJgzJV z@aNcKXWj=D8|$2Q@8haJ-7dWI{zLgNG&PpTdy)PewyFy=%;byCTKED=s75!vHeWoe z%BAdmD^fO`?z=j?G{J9(A0|wJ&V5FOb%Bz>(g$>6=;U&~y$YB2NByFT&1Tkk3HIdM z#G{?%s#`8VqauZP{c{nv3d>e2g=6Y4l;vjOGH7gn7f=KW$db<+#;&-t@3|yy7K)rZ zY+A#x=|V9im2)2Vo!T3sqn+aq@I*MYVOa!wr)MqV@I}V5N*dB-XK9+OM z%VAxKM>s!v45wZ4I^|(1c7kyjbP3a&b`NuOcN>@M7diOr?TG_lKR}Z%+m5j|AeLq$ zkdtro2n=JBs{$TN==uerwP2VAhi?7Z;}1Ryx{Gt(x?oghy+;2~N0iU)TTDat+qGk7u3RM&s=Lh7W>GyRX(J# zQ_S<{^Jj;HyP_Z8ig*GsgV&=XhNpwrgBUKPjvdap+jomBL-q~mir*&$JRj7mi5V}V za9PHjI2~HXtj9fQTJs~>;S-EFWBbq|5C|=<`?<}Eg0#kvSS~x)=?|3GLjl6>?izI7 zTyjG>56T9=KCy1Tg*m7RG+F#WS=-PN^KAWngRPml%DTwFqLd#lRGFe!2bXdbTgzo!8QMvxa>LK;LPS1Za)Z)F7QR|F8 zu)RHTwqig29yg`(@OCMtenCH}C_SQm_g_b9(w>~2SLl=^NS!;Rwdx!zx|SZxl5#e-)fcZHDABs?QvJIj&&SAx^fT#j z?`4H@!)Q32`d8gAs~wIp)es!tS^=}H1gqC6@2s!TU`pCBk7bsafy469ppo9B@%QRj zk40SkweVAnuryv9hcj+v7Fw(Kt?AbF_H1{&PT_qT&zw4yL|jX)Bo81s6b@Y#fbjH7 z*wwvZReeg`67i{74OD|OIW+P616iBIkr|};?cyf+Tqz*CSu{qGX71|Ff8O|7kr`QO zh}DxC{uSiG4=mb3Vfu)w^dj7}ZrIY=R1ev`;x&hziIiZ}BL)G)0dFQ>LUuKr-QoMvWJ7`w!P8V#9!t`~pv-lugwgbb$Kt9!{|GLV!|nYsb#Z#FL!2% zIBgPrssdS_RuK@M9Cp7=yZtooV;6L9qpWwO?tflf>V;$YyR_DLYl1x5Wbxc|Vsxlk z*R#kf^X;lgeR5~%F{j08wUy{`YMypsg1Q^8CE_FE?^T3c8vK-Oy#OTpIOz^oPIAER z+-fi)PR0gyg4?mqt*W0f4%+kj1$AoY11l)8o}ED{o>v|@0+MpM(l{G~i@1N4jueo! z45T35f)+Z-PcrvZZtD3L%$7)-Z{^z6X?68!&#R5>&a3?OwN`*xE&+(bOWn(nD_aZ3 zb}F-JV`EmMwKQR;%C^Z42IvogKhHN$BHz4zh>Ugp3x1Rq=g#p>_fvDQqNi6uNpz-X zh5Oy@-lf;#d->s3*Xrn&J(NmsOo|ld7eY6v!JBY04|>hrs^O0JcxRSg`d&QvJ5Aie z)~UVq(>18> zr3!mFu%?CJo$2M;9Hpt}h+Y91mN=8sjQ?#`K0q>FwX?`z>>;(z-5wPogYH2tHYijVxP~vwlU5f0A>*wjzrU6K7E3Dec z`(hR!z!Pi&eO_xXDsYj>zx;EJ1VXV?>)@-4Yp=)ZyMCA zzvCX2%YVe*y%D^NcEwV9V$g}n^0b-$buVl-{u@rrZ2^lVw>y)Sea^PDcHRiM{0&b2 zHmB;Re7@*DM;?s7w&^a?roUk zdJQRC;|D(_$jhu5!kT3mYzv$FSciIFQb0HFIsesL5mY6J1p0emr4j`k^OtKy*zQr zAIQbCkqZk?YsGcRzFUs%k9r+tu&;ecgY{=;H|l3Et3B%KH*h@}ZWb^p;U3IsR5&Q? ziTX+=@I6+a(=_Jw2vvzIzd3ySv)X|gcJX7wn*MZ;D2-MSHA$<7+=#6}rNfyB*`J&2 z0L%KkeCWZMf@s&g@FGSVyBJe z-bZoS_$y!9CM5vPyEk0DHFo;hu8Ya*m-#{U2PwfmpdQg7_L_oJRi$<5`u5^^SqE2V zfsdw?#S0J$su)SJ-)DE_ItnlJy zf?)gpv*+)ub=RHg2F^aas=jiLOHdQ46DAu@K4mk{ovXn7x!?Htd&Czt>$k6z5Tcx1 zWQ@N<#`z6~?uj>f47g3uNd`=pZZvR^yGGQ8OZ^Bl&y@WHt;1XV9n<~pbkjX^H0X>J zaH@DHrtBJ@zjLR4HOrdV#uGvPnHPd+jk%O(EceaU;q)Z)6eOFu>w=>aJv3w<;L9Co5zH6t2l%R(brb zPIuUiUmku8eObS_S!*NJmdX7-%j-HPwS@(f-D(JOcc#zpxOG;l}6e%o>k&avVab4}RI$dE3PR zyOWUEJypf+yQH0(omNfPntCVIkDo}-3gg_QRb#krTbuMQd(RM~&OKOtzU6j*nMg=Y zlu8cN^YX!MNpLd{w$|$qG~V@Q+uKlQN!K5h{BsiK`g5W`qYJFL*5kwKIi1c#!)B2j&ZxbeU||uTl5|~$XAZPP_d96 zN0+2*eXmVyi{fMUwSuK=-+|C;{NBs^Qf?O%BAV<-wPe>`Hga2Z5nWAZnQIblsA4L< zJ%hOx@49p3q}ONX3iaJf{s zD^`&`NT&Gb{5Rc*jU9FffUWsnq*IA~x5H+)1+pH-YAy6tTC&8g&4jD+efVYlbEMpK zBcGoSVx=7#!7IDh+~)MxXk>jVpXba&f7^#5pax%UBPTRn!YO7Tzk<->rN*~8-(n;1 zI6wLsF{C~L-u@o&tr(+#sYz0x_Z6+-^U0g!h`-lzxUOxZOW4mc-7I~gI%_<0D?^cA z{6_1cgD;?O8;E)zRANwgy+J_EEh#9$Ao&25tH=vdc(vbb*$+t+G-GIqEr_Vzue zkME>o=au82%2Az9S}S%nl%5bMQEUBcSkhIKL^7Ck=EYI>ZE7Sc-c6*RfhK+^?_7vO zy5{pVOqr&}_z+$m`TYvT-?OC+HRwd+8}*y-DJ2-sc)IeBQhCk>m)`~V2STn@|GLeu z&(_<6Fkcuoy$0E}eD`~A6%}W9H`Tx4e^u1mZf`@I@(Ri-*D{BHx3b}X3Z%{N4(`6e zr+%qEn-aU1qj~mIth3e6xDkf(u5-Mq%6(c%1f+WBI)B9lKDSw61q-ZdUjr!pu^!Lc zbK!D>c`V^`2lbtG|CY^!EcXJGGum<;zPJ6n6kV+aQAPCDrg3W;6LZDsE0-a?K?b#C zkJ`mj>&z3`(@w2eXLL<-j4S>=CdEFi@e8swg6P5?v0a$P72|#x=1;lV*-*2p{>lp; zd*r#d|C$%1B4Cjji7F+ z-Cr#zpgDqQ=-nsPRto=?O&o2xcDvstT55G5F*_6rD<{DnO@D;}KfJYCEMs3sW^UQI zY-3hFKQdB^edye)Q%k5dZ+q*F42KiCtzA;(kQAZ&51k|<6$w!-LY6?m;&Ko2=Uxksd-^2*<$<4m6mIIe%; zdiHl6go|0Sri}T>6a^R5w|IrQ_t0xI@<$xC5Odf#kL%Ypl?R_S^bBdRj*Q>0XUG2O zdYS3=JJ%2S=Y6*GN7E^*tZcbLqk4I=r#}Z@vko_Rymb@X%t;N=_jxVNw?FVCyFGxK zX;S`=t#)IeCZr{|3Cq<`f5twq%e^{kcGgb;v)q2=?vm=KZ5*F%$%u@d)=c6Ntqvw{ zLse_Rvi)-dMl6zBOeW=UpqiD8bifn@i1!z z@IjE*1iRC^o!ji%^Ol+Tjw8**KCDp!j+ZdM{HcC9^v2f1|8rVpE9WxBI6T#gyYJTf zy{?@GOiIO*L@la9bl4%2j{`Z5#Y-2}sr^@}2S|xvXKHPPq_BLWy3HcEoxXr7OQN1! zpqGvJCBLNKrehLfGsU!l{>ol_L(3k_YI?bo*(wW<0$YR`1}n!G`V-yD=AHR#oq1?S zX-Vl-Xm+4H_^|eR!{)QPH>5OjeoL(xOO(i z7y9-a?hDmlH1f&p6{KK%ANOG^&qep~V_e-FkB8bdaKKWi;}|gaSMA^1@tQ1bu8c_; z_=}y#NXIqWmfAZ9GnwO7+9!$X9~-M2a+q!ZV+U(0bK2S6`ZH?CvlTK&hR6=gN%VoY z_e+mMIT5Oetr3b)Zd59Q2(7C(K#8P2{KO8#pl)__&qd$7*}WpGBTnqJEA&mc6}4e$ zL3op(x3)!zuTiz$@P0s^IeG}n*1zlS?|zhu8JL5J`AUDkW&Vv_)zf!4y}H&hJ2;aU zlx$H9jNV?G^7uEjdQfUzVh+?QKd(IND^Rj5 zxAGwe#tN+ECAtdl&#UEYkIf?yoL;ZcN_yhKYD)h91zQCBu`|*bAuY8_jVcmlpRsNq zZMnXT^uufl@DnI0U5`TF6c5Sbv2?O&Vz-^c0!TV6S~Z|e!QSs%qEUR&QkpB}t?7h8 zjK<~4Z2w+bc<%P1<^kNc7t_vNj9L?YElN|<@BNCQd4=c@S6!SfauN`D1oXCPchB`0 z-VUHiW;nX*b%gpQl1N+vGq+gqmnZ~k!J)-HzMiRhgKlwyJ;X_G{Sw9d3{GUojTxlQ z^g7d~v`m^#8+u-6x!LVd>Yus*;Dy>%-4d>J#UIkAz9lCq zQJQ~pwZxP!b#25nt9A7w!dMgQiN5;8do`Xi%WQKDF+M7 zjUfrCff1pWlNapxDH^$869j9O9D6|?Al`7zp5Zub8Mk{bRJ7gqR9k#tax2Ytv!U(z zg2wNmI)hE>{UF<*zvI#xW?Qh24a#RcUoD?A2Zt?TxQ2NQSX3IJ70vI#$#-RKc3UTp zHxzqk(J=0^EjvoGjnnK0Y>e?VHQ=j#_ZvcJi2@s{Nu*a4hUD|94s3`!PNavAUH|p~ zacSH}wd%Ce?+a%*_iL5jcMz+sKD#4M%SL(#0yDE;D>^7Nn9}4~x~!MO*@aL!r~>T( z*_eDy(N-yXuF@Q0dvCLzgMwFOU+75AcKWg4$jSVZ^QF3IJP8+hz0rVuvV6v0DvBD* zYW|aductHi&qcgVZm5}AMo&Srq4nOazsL)@*>v|Zw&bg|0D#hTa`{y+ACy%DsD7ZqzhniZhx;sJV{fUj`t_5vcoeWb9 z-^XYnv-+QVeQB(3N(roR4}>>n4uXc7zV-{eHAX zUfyEX9>KEWs*bvZ!@*XegW!kO?)9;=EGRY4;*HD)SMUWnMO1bQXv5Wp<(}rITDNt5 zq&n4Va8-Si=dtOm|77@WHlNWO|GHZCZCEv@$00iOpw_`Pbg1HlG~NDctbnA4A3H7+ zuvR;pkHmhjb2>d*w|BP-Rds$eC9s19)pk!rutzEPII?>U0N}m5$9IE@hz7xRbSL%v zWT;j~#9F!fOtY#SgGRm(HifJ!PrBLADj3=d% z#hh}Bbcey-1pl=2hi|*TjkoHRx5f6mmTM-ffIpWNa7y_nJPnW~RInMC@B9tdsU~GIs8rS=KMSf9cviOZG19g1CvGOjX@6!guX&V0Y5rAyv-{&_6z0aV(NU;Ywui#yO&y3gdG|_r? zQq(&)-!2Yi8}8LZZ=#^zPFb#(+tnp;>2CMl?LbfLtp{<9?H3u`73|fnEmgK#gEiKi z{p0p~xl`Y)VU%7RvfTgaqB$RPFtofXrHE>)%iKj#V8Jw;7X4SPVs?|^*^WQfNesID z-rQYF<%`7yq26nNP4Ojfz6r25Y)I;z$!RrLd~zJ=8-Q); z`1yAHBzD<(EYn;%9A5ULzFx1L(#LkTw)`D$D#TALswpA|Q=!het?l@+c5(i#b^6Qfh$moL`c7%k{A|qc`w{5`=HpRS(D?Fq!>y*Vq1t!_+N zLQ^dER~on(qt9*cl-YH=iMIGwkchczbHUiB{koDPQSYgWv={cJsfsQZn*^L(u%u(z z>C~DZe(;4!_R;$Ru%G_gB7RA*`xQRn`gu^*gEf%cTo~|1>oV24qNchHd0J@`3WL9Z z#yS&=^;uJA*21*mp8Xb|-^&>nCWVRiJB``q`h}g8C4ab9VLLjLfa=YCU#a*^*G%|b%w0F&CvNMWAVGEtey&9%^o-0 zzfRR*kyIL;-p-wrmffID!8BgVyYfi&23WkYnN#B;g}vU{bw5S>$=4d~8DfvScJ@$N zaew>VFV0_6{9oYb;PJy)XWiQu-cGhPF3jxK{S;QB9LV8c}l1*x3# zvCjh}SwSz_}yWNBF&)oC;Lhf1hw(y8l zA!_5o&vW-eZRs~xKeXtS{>}t;e3bY7f-MdJmyK={!1ht`6!sEz?+`IK8;g(54P@h6 z`=nPP@eAoE0n6FTRb$xP;jM3uCT$F>#Pj)r>7CYa!B3H}(av-z%^i*&LCi1g@kuxvD)v+7>Kz)mOtzFQ|rWXq6Bz~1h zW4F{J#yie+RlF99ccH&A>o}s!ZbUNpgL_ZSXe*(kF=G0lVBPv~?E`I!5oE))Z|B&G6+ zIs7%QPPnSrug@Tryx*^lm)P;gP9Q@l*SAG6Gsx>Zg17nrsmh zaoPucw}bynbM&!VO8&TT_)l55tuBA)XEfxP(5R;X_hS+7qP2j7P6JdlFzDSADs$P~ zpFG-aR`(NL*RIr)(oc(5A-Qa<3KwQ<+`gSt@(09Me)iI>JG5p50{IL<X>9N*0j}(PjfDOAleuRrp^d1~mb3vHVgY!v0kB4tN#xU3*N2b<9p(6ES zFRRm5ccmcxz&eL5ZO1tR*2%8OcZ;xls{0;xSNLf5@*Y9C%h z7h?X(W6U1}_FPold1JkK0@P%J&3e4^SI8Uog9cL=$Frb(*wciI8F| zBJ~^Ampa3#3XW?ClNfAcrZFO{CLw$?wSbskN> zBPYL*>G%xpk5&+tXU$~@4vjSL5r60gp5%Pz?3)%kN4cm@z^eG~K$%a6u5CkU$Ybm< zPpfflP+gacIzGQcJKLbZqHwJrt%xqNfwVEnJ8mnV3S`tPt@OjqCfhkhC>QZZD?LtE zy_*5|$^r0Xf=^-fNy~M7xy;Jat(&~K-3%zv!L?LdO}2W8-a+Flz#5L>0Y=qMf7qLH zXOrQOXU;m?tUD|w1!as|Y5CN}_kWD^J~CUbckCRRL$L=5?(r0}OC4<*frIMVjxlrN z_R=L%4TDOvj9c^R321zu4>Zk}d!M%Can>jqH3( z>}J(DxkU6pmvDc5E zsAupkq5{uY@6^Ri;*YwGiLonAFU$STD1_7eo-Q{kl|!|QRuux@7Ecb|>wKb4cHSGc z!vykRsxwJyl%p!GF)o*Rn>}&A#ci@v&y?JJkGDL#PqgNcOKteVoJU;NZVd6kH2e)_ zjVr;~?cd_8bCBAvR-gl{HchtMamcONo_%qzZZ1c^CWXKMKa~}j<9E2tdX|E&2uT^A z3r@EnyaZ#DPYQq6F_vp$3rGz>kGYk4_^3a@cHye;5`WgB+tDQAxmW%G(tSX>smhtDFwJR|;aDTURFWu+9Q^LoChW~uj(Nv_A@wC=F;Tt%` zfUbT&2Rr%>Eg-@^O6Sb*q_eNT>EETgL;MdT=W^$4ooiMW5IApiD>>d;kmLS+_ad5F z3{9L$B};odBBsYa70fLVCzvaWUdTAm;CD%%;g;mU0v~Ab$;NyTvO1mKNH8H2e@vi{lw8sG5DNzPQa9TE@4(1+88x+miN8-n-V{cr|&| zZmybt4R-5E2+AcZB1DZWLnQvSoY}kh_-m}pYm1dW+jja=YrNNydEJby^p;MR4F)!vA%&*S9GSYr^DP;Oi z@L}okdtz?=?|py}arOaOt~l~o$nx+)x3pDY&zx))B}DPD+p7Ay4c?tWW8O@IQ$Drt z+`KY`nzn0~E6QNL4K~(Em4@pfFgfQJqZ|%&wR%?lC0WU3(2~vhoh}=G)C~a#NWcrQ zxr*N_uY#RWRv3k)b6c*CZ8rV3bJ4bAj;+C_vdDODCAuYN%aZS@3&@#uAJ|0qz2`s_ zbkM2Eik4eb1O)~4r&d138#W*O82NcKpu98g=ruUS{3TaB$oGKF(hY>ywefwbTs zXT3PP%i-3~F;Gp+_TFb>P!==%1`2O$5(w8hKF{xVL2G)F-Z`(m+f=cn0&6bvvPb2^ z<+!ZfIoWCo!n9i_{Dq}w*qX9CN}4#sHgJ%ca5g$ft#IORDqDonE4^J96{P+qEcLz zKcmFv(ho|0SQwB8Z%1(gG-I3VZoE9zD~Ezr`-Y`<=3Ya0Q?Z?(u5ruHy`|LCs+f)C z>U=%aP8(u7We&i;9`w^?7qNOR$X7lWuZVZ0ojM}wrDZ$q#ty6&4(&qG6usC6Rm>!UbD@1(%$$b9ZG^VYijb4 z8G(Xie>CW&f2Ym960^cBZSoF@e+y{w)tHdCgTKd-G}*7CsGprwQUP>MadGm^~Nt>5ludvl90Ts%Y_( z9GbRXIZz6seqe@am@9lK+U#=P5kAh*aJuP2fL3rHyyx-RtK5RsKxk((_xyBTrm>Bl z@?%-!Ph=VHId-@1D5#W#&y}SP&aUB(z3`a&7l&rgoLbX2sVOg@axFWwaF~6p_QWN2 zb!Y=Pjj{1wIa2?DdI_c}iH*R!mW6TJq5T<>| zn!TzxhasxP)=N4NYJ@Bsp-{jZy)f`U8<_Y@G zZ8<8Ow)B2cCbj~@dDz&E7mr34`S#lOvSyt|W)+puF1 zG<%h8}4|}uWjojdRex_ zUhMc3X11epZc$4+IeSxUn#QEslkRg2p@eCUfTdxY<4^c*ons&>8K;%=yLJ z*@D!5cVed+yR}|=k}IB7e%QXg9}ktJZ|}`Mt@LFs6-VViW!{5j&D?>^n^CW>cXHXh zD$q|-gor#DJMeoc58Mzo@4$!>EBiPvyumC8#fPh2O@3{Vdk-M1_qlu!p}zi6MYTQ` zAG;RG+a#znRx)X+V};$6$ITJUa4x_s;7>>AD^FGSP)@cP@TJxpl*Ei1|DEt2ho>c7XezTZT<76y)p2{P^Hgi~`fkJs*to2`G1JGkOz=VR5(1n(mZ7ICilgqvOaEf-tn_t+`^ z{Ry>(8SX~AMx@D_iF@ldL}ehjUi@t)?7+M108|Qoe)L!EY5fyDBedQJB15D=^#3lG z7DvX@l=!W8{`q1zo8IPeWQxJ;QvVjHdxdCB#7(b)^*%#qey()6LO5i{j+$Eze%i2| zUXSLOX30)xQ`|vbEa{)flUQMpFiS+nxsD$9jzZ(;|DQtp?n>`eHg?;FxHzBV2U*{R zJCZJEGp<^Fps{@F_b>SMaIk-sUl<+KM)YP2X`F1BIhDQ&1x1=-8T?xc!DX3$bauI7 zMKF|uUA(-uZdzQgTJNftr5HH`m$bNMgss2dk@LxSmmlZ0e>F*cgV}3?D4%8F@S^z1 zdFlL#1-*4xFfC$IS9Ph09^DQYySN3TMZr z`mQIJsOKy^Cq8)GjjCIt*yiUmtQC|xbL?Ja)L53b*+D5DZHJ3dATN) zdP>cFwVNAY%QMxX!9+xOZtzHHmDg#E4d!smF~($uho zzRq=C-{ODAxQF|z{~Zu4kVHQ>&u!_Y?Xt?ceYkPG*E#Ig`$o=J`CNa+s7F>>r@|Z} z*M^QeFNAVPJL&5|aqCyL)^V&TtMe7uF{PcFdyj08oOTx}=wAWyzOD9j_$K#XRNrmU zyproq8b0*fmJ~i!5b1J-f3z@4!7S)OJ>b()m62goj(|%T&K8HEuUnKXtL3}AvB{S(_N-D!&Aly02wqHcy8;(eWt`Wkc}TyK|q zeo}K(?b;(rU)O>B62X1_IxwtGYhnSZJ0o*HJeI-4PlXu&!sK@>AEY30Q z01VeTJqX8*MYVBOYwz`70x|NST$+poJ82-F3wZwqW0vh{gO63J-Tm$#rerQubvG$) zn1?vcpkh=REIRaxNd#|YI?bB6JSip&%{RTI-{}SITPn=qu|yBp)NLLRPw}Enn~TUv}$J)$``G(bWPrQinP8 zNA?%eSYw6C_#`If(#zn;=qb29RhQsKU~v7u{;j|MUT6XZ8dgd9Y}s~D=xUqjTPa4L z0)|8OtqsqeTN_!g;q<$#-mFAD*#P2eu7Rixo1(|$QX=~6Z-9tjce$=gV%Y7xM!)B+ zP4&yG5%iDJ`@ic_lsFMU)-*^oaOB{!ztr-Ja`r4tfwK;MuhsPkWrjnz5AHAD^Qr9p zwn%=nl5%3joj32@sSK))F9x0wvbFfSNRh!4?Y2wj)Qa|z$tGy>Ox=W=Q9AaP> z|2m_JHXBT?wfV;6_Arg-VfGyf&b)^f>En@?^xB|pq+fr%_@KELv`aV*R z-~#X+m5DZk~9^^th#UMz{LQx$n?Do!ifGYPjosYS=mttI-Qw1XG9@c*W{c z9Mxu^SC&6v^6V~McV!Y0HO@~T(7EV+Aur!-k6`>0Naq<{@JbIQYGwX1)r=G`x(IqnV#W| z(zE0XIPi${?dpN3%KS7Kk2zlcs#ul_<%hCO#>O*FZ1sxul6g(!8m@Tx8TcM8k6wxX5x zszFP@ExV}Jq5iy8 z>e!aY_4auEx{@{{ z`inzid5`XCwv4LxLlFlr9JJ^ZHtfQJboXSJ9=4m)7p_x6#9e>O<~XM(VddSs%&1N_ zQ%2$0=)f1_G6nn_cxn9-0|rCj^MdWnui zp6g5&REXNIbL_T%gG4DH3H*GL(gvEMNSY`1Fn#ZF{}uJKhdAUB!lJoK)$Sn!jyI$XVKCV{dSH zAki$L57g-fKA1u*UZ1R)ZXd$zg`7idWQMifsR@N=^RlDs&F1X8&4(K$CXvP;kfyYL zcmqY}a^VujS&j9MliI=iV)I?W zkSRVwAyRN4uX$DQz6vMX2YR%!_w{IWwLj6Jt;8nF%z&$rLf2Ly9C%r^gy~OHY%BU9 zSD&<+tLBC4=xF8sqig&7U~l;J^Yu(ZIFU089AG_f$D>7*NVN0PFXApF7a&~sluJGk z{^{uH!@`cZZL-Ry<6AGM1|rL=S`;dq;1M>^S@P@0vvWza=A-jy7PV{7qwt(#uJx&# zYzrH~Z(nBq7%~3)#(Mrmonaq$_YeCKt0d*ZSzXDrU+UAn>ub{g`_{~~9>u$lHEF!) zF8hoNhxYK@+0H+2{!nq{)~Z~s54`kG>*�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 z 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

ZzF!rRaF?sGZmMSjK1Y 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%0DnWLVRfvKdo8L)8?Y)QeX=7) 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ΞTc`fyfEoON-ZaL8LBEzjHGwlp4)#T z`Mv736V3ZAO8aM_u$K>HX<4kBNyfr8Hl?SlYV~q?d(nbDFEYPz-m%b}+70n%YjNG7 zJBK8Ds)f#^qR=+PdVkB+ML;r*vrS|Bs7a&2sqGh{c zD*NW&Gzp$z&M+R1Mu%W(D-?^2>!KgaY} zmwJ^0XUBHHrrvdb1_D7jPmNlTeQ*Q0dx^IcV@mIWwlNMBZPTsTG;{c-8L5_;=N+3& zqd$~uL=fxah{Biw*A2X-jZtk-v-mAn9 zGHRWlVIHa5^5RpjrgI5bUKgC&eGWJK1?ijoq+{gA4DknbJlnzs&M)ELD>bL>VXvVq z=v%r#K()BA++grmS`<4_Xgvcs3|ev>^~PiTJWJOWO=%PCDlPGv zj0v{bJ4BOVwf2D`o14=?yLIF~Us;8%>Q8&#WU;XutBt%BoI-vPyHH?x-2!Fyw|u~a zcj#C{C@t{bSN=I^ZSGo#^)%N+8tLILJ!aPz+4GaO_8jq14R6kN?b+_NFP*qrm4HsV zS`6ov4TIm^JZ<>+6e%ioXRlV(C$V@@Z)|;&gdYq_mcCUk zOQTw+2>14?&x4K|0Mzd&wvDZ5HlImzTw&tzwa+dhu)Dl!{em&2mv>_ zoHd6xCM?Pf)w?%*VLEO1PlNBVQ#dMDu59L*xk81P+n~T2<+&>Nrn~4s)%~wKJZ@zv zXI|jh3_V)d4t#wq|0Q=v^dv+)aE-&<@}+`CE|exa4+6T?1Tl^Lw2YdoOnB1oXYpj+}SY>my ze=j-1@^yF#3P>$ieU2jK8iA^i?xL!C|Mg!v_hpOFnSwiyT}_v0ZIwO z?xiV>qXr(#O?t4af13jz@8#c&o7WMNgC%f=NOH~TclzHxdSg4vDW|UL^W+tDuXWIr zPEBePI8b$OWbZ`k<(xMgr0%r}1nkaEN^(eY`UKDz-O=liyVACe+ z({NBzHo0UMZq$44Fx~Ztyl^uTZ;d_kJSEC-+cJ^{^9POv`GS8*#Rvcf& zWo_Wz2Fp9`9ycz`1@*n#$t%ocS<`QeGIaYyfRWvrldU+#S`#C;enX@EhAQl)Gr9=A zi&9g4;i7i#+JieUV_l^542)-KmN%XRS$uU`ULBur53@$edf=}njy0rd$Kc^H-z_!f zOJ-Uy3NZDXT};|Ls#}h7`6kg2M4Iu|OvJX61chDSymrWKlA$W+={I;t665=77{;|Hb00OY zx1;-~W{S7jf&c3?(!p+WW_|k%Q|{`o>s29X_wwOdt&{EjR){CPPPB|~;k7HU1OE8# zDRsLuJO;^)u?$Y1^wwd$Oo4~Q&_c&ZW&J)=!lU+#sh1)Pxaextn4h- zxWTOUVV!98&tsaOY|W!vgm%$)=OK$&8-{r2Z@~s?%-x%XMQrOM#I^MGw1@h$V9y_( z4$`wb6BaY*b)Yyj>+VZ0wq=zk&EV;69*caX!8*5TZ2*p5H-%1{%BcMA@28g%T5a6f zd$ySbv1c#qnf4Ab+|dtPVey@PJwOz@%TgZ;;S=k&z2&uegI3zhA_-poC9W=gXKG)Q z-|(-Q{In(G*<(Ln{&Jt*X3mcrY~#AeA7O}juVMQR@JZ&xPP>dancIyxs#*XQtk_rm&SG)2?~f%DY3 z4twbJI2-8CL*yR)f>x0Fx2#vdIP2A!pwaty#ez`KbD=(dTE4=w{b?Qlhv)z{ zN5=-h>EiAD=cl68AJrjz9)NPCPk&p_8PLi7aZaOgGLiDPX`fDZlR@ov*yWC6YcUTE z4I1X7`x*RM<89UaJ<$7_+Ei$YRPJ=F~e~+ivSOpKf zLm#<56#SjFf3nVkj#}Zce3_R$@KgP@H@{-OeyAmYkxw;sB7rp_O7r83G3ln4(o%gNx zoBFn2r8Q)%vTF!sc-_ZMdc(Y%-@f7;e4uCK_pDV`g?uM^x3zs?{6Nl=xlWUnV^N0D zz`pWmy$s_*HCQTN__e8QQHLG(x>qSLi@zN+Vu|sG7}lYIf%(G9KM+&ZXfX6?a4-|f zt`HxIB!(EVZ4ZBkx%}R?xoBl`LE0YE!LUe7ZF=3f_AFXo{dVW7h(Y5TV5r}LISA`v zzYrU>n+o-rnR}?AkK$qu)ptOmU{)_rfQP?*q0S%s57)1-wfcRLN`BDk+xek7jM-V? zLzCL5JK$Pi zNY2wvuc%E*>JcIP`JFf%g~?!}9f}h@@3#7?wvA5dc(Pib$EDG+UAkF^@V$rPk`{9O z7<=et&g$+rc!L7JdCM)qCda027WsottG_bjD%yX$@^IIb=(=(2^jHL|Iun3~78j*F zlwF;j4JwP2K zu+-)}fGl%Ap}9L8e}h-=47GEjxV7S2X+LKs)mzpxpM~qq259RkqOX6kS4JC#dl{^&m7Y$rT^8K7`A&3tPd~9YFBy<+T!Jh+Kc$ z`9!S+((7zWCy#Rf=JmN^ObRh|zm)yQ-o%Sf3{#-M&owL+YqAy1j)zXc} zF~+YDK_g@sSeDn(kt1}~8rMYk-hc1Y34@FHg**tOU9F+Nzmbq@ue(6hSvMPcsh_Ui z!+ySIlg>cv-N8YWq2A$wKoB%q@&|hUx_T+mRDPt=kV~)y&8D0tUQP@5dOc5|QYJ^> z62cI|qZ6E7p)0gwSQGcpQnLQBpu-F$^-t^m4(Li=VahaHQ21JB-da0Y^Gl|nz4{KV z=K9A=qMokh+@`S6Xyd70)T=ip#!T19;wqii_eD|WTXAgje9V`LWtw4)7d4r(h7$rpUDHTs19lppfv9{dOd=?m;MG5Us9YzWT_8Y1nPHT00XK>_6UV zl+Z1+j^kNnwf3Atcm4gu=&w;SaH-sbycs>2-#$P`6~8RLJ;0tJ8{es@KJBBz21OFs zCttQyMR0;|)uNI$Ay1PZ*)GVaAheHsXO*%O{!8x)K$Tl$!gghi5Zy33W`oA2Wmf)0 z#A*5n^GD5yg`BxWulg-02!?B0R~p{?zCl5+6bI9U*J^bt%9ZX}hXx$GG~}N3=V;tC zyZYn=(aCxHoO4t#CD@U6)>hOpw>t3YR;dNn+bbK_uW)g&4ign zMGopasy`jS;ojdHR=5ggb7VEF561iVdrVol^}4&-;ERJR)q3wWc5=TK_CU|a>DMAj zlYP$es$x_z%-5)@9l1q*_Ps3Ta}nvbfR91QSRC{18=sfTwm~RU$nv1d_&99KEPa9A zr;6J+P-T5uZY;XP8HDCW?yO>J)n|}HS_8&jC{k*R~=01h4f>PQlX|OQY zH@n(u)%doBiun237qk2tLM$8tKm}$@H<-i=KJUFNivzb-xh}05fN=0t_?x*mtye-} zx{?hT;!|q{a`qf%? z#KHjLU>9&N&XXn$66GP%|9G>DioY3iJxN*9J-T<$l)MTySZSm%ipTA^{A+!(arc1y zAioTKPS1nxPVcvjTa`c8-|dYw!vU_{f`~1vRVij&5a9SY>VC;jr8lzLxhYm=s;^z` zjGrMbcc@u}1<7KVi=E^ds8xxVd$f1?u%GVd?(Q#-qmuZZFsH3pN4KRqVbYn&pA?)-DESNr!Ql#dCN`xTgLjEi`~pt=8>jQP@B1F3=T_e7%w-6~Odup<-{4>k!Cs7?ZoWTU}B81CkwL;65MX zD%~U;V9Y?|Uj73WZb10*e3Yk3ipsK|8H>L(^SGPGKE0jb^WK8Dfkqjf8p@KsYR=Md6$2~;6icsyQe>q5{mKU}FBM+^zcyR+!|006G(`E<@&FPCk?4YRTvP zwm#5KY(cZP?alp4cCf!E+r25{F)&*T2K~m+t5_@dqoSSh?$>$Hgz49wOb>1CP8F9! z-?^r0EsdW<{AyRwF2=(j)XSF*a2Y!CZGCvWIu46nDxvex+2FSX(wEwO(vuZ){XaW+1E zp0U#cdip7IbQr1A#%6!tIM@=@U^mKtUM}vd;dK^fWQis7Zm5LQpHFW5jhXgl zI*wb4A8kr;d63qh=DcxOp~Zc0V+WSgeomv^cZ!|RORrzL|Bk0Y1mXRs^*z<>+p5NF zPoVTB@wspooU^d)?V&4x8FZm~mc}bKZ%xF0t3U*=Sx|e)z}>8Wy93o2;lUI+STnZ2 zSuBNVt9dg&>nK-}h#f?AAJU>Cz%}=bGo*MCX{W3lH5mT{N% z3I0m@J@8Gn5-WHE+X=1VxIdZf$d;$pgfEw-AKIA+=Kk@(V9~2sW*x|)6v@qPImSfP68yS+g)XJ-j(x{U7Smg3WL+Yt zmXtNc!GA)bG2YTgW=$7U2l(O=eEThogK3aMsryr-g&9`=FI^$E3!&i`qPLov4Xp!I zJ6mn++&|7 zWrG!s=Sv(Dr=vJUhv*c7^w_r!fL@`4&eA2?3)@$iC3TyNRZe*O=RC#bd7#!bA#=Lx zT#>4kKj%l%sSyHvt0d-dO8+Z-A_=F=UuOl*H(KUdBqi%0YuL?KZsf6wHc*==nJCnC z3RS}@kqhyTHrHU5H0(6~kSaa-X5^ZB>|mYmVm%uaIAus;g^GX`p|bmty~-39{Sk|5 z%L#9A4*$$%`_?VEOfMN)3HY|h3gOzUG`ZWfSBm%MJ<`f5!qpeQ3EcbscgF0>5BS66 zbI)Fz%`Q_%XI45BPOG1t3`z$})V;!PU-QMAZ2(}}lr|lrtR|}Mt$U9a1^516?dd;U zTyG4T|Ii^UbIiJ50Xq%p|( z!wUQAWVFbKtgp?>8+2I!{Qk@?+42lxXN3cAxaf^$36TKlR3_aw%HC zhZ(bHw@D-t`+Jx;0)d)j^CY37kR|ckvf4g=u{USLed?rjs>dya;nr|7)rGbni>f{K zQp-|_LvgTLud`86=KGq&?)Uj2yK6|)HG2uNes4zPT(pH=%P_iIdbeE1NC zbE57!fbPFqGCV6|2lTj6z(+5ARW@4XsRFUSE4}7Q#HbAQz9Mu?Fxe420Npa+`|6bEzy1Y? zg;Lx8!3R?-o+{IyaCldxmQ1z>+T0?G0U5kNkms0%uoTeu&4KqPY~$y%H^qt+r?oew zZ-5W5#BN?D0V&yzyYAGUuMbQ{6rM~Q^c}n%TRGl;b${I57~j+Cg0!BDO01fhxs2bP zQ(^OM@|#7EB4y}1I!v`my=3J|qu9z>dGY<$D_v{ya)>+MQdd#zwt2~gknkD(_%Ion z`oJcewkfpTo;_~0x<=Ad0X5jY_GtIJFVb36&I4NrH-kbYDW!7_H5Y}GvmXf;wBn@i z;vd-vi@LJ<4(erK)ok85jd*1IzWyGL9ftdUaqz=fl-)Si0t6J*9UrwL|7~5^oJsXI zHRXO;CPznG3E;`lM@Hv&2`*v&R zUoQguvsbsp1e9B^#4U6f*_?E>ERW{lto8|hHAw8f`DW=cI*!5|xH@xX?K(@4A{^Aa zD2R*J@C|Rbhrfy!B*ZIOn+o?2AnlNQY`HrAExvusU#^M9>8F^3Y}3Ldd?dCX-K#>I zRAcgcnuC*6<~SB=_Agx2~OPmz5&%&b*H!RMZEU_pX+Ms zf9E~!!;Faiw&8nzX|>>l`5PM+PEkVvaV5$RitLHH-3GPo?$^CODl}xmx9DTtOE3T2 zgD1zl)OabG-hY6ZucZgc)S6f*KZA1fSLjK^vfE?yamnHMnlqRJxJcVRz5q~Zb0^II z?q1gVY`p95^%)REOZ2X@G+(_HTR5?;XN6p@I)m>elp3YQ#w0qG0ixypNUcim?&XJE zBB=ozg?TqS>?Sceb;VFUE55MZZ=*Yu8Gf=HU`gie{lN&;T^n#rf$7MK)}@ZYu}^_! z`_P)Oh23n{u!DtUj;1E9ic*W7;jzLDr-S)ZyD~==x~#=hUh_2_|J>Cr`qgr3N zZKsD{_P5+<{o;_?&`-IGvew@s1JVj$dt65ugKGy`Qy_OU(7xF;)dz*88{#9c`|MW7 zZ*AQlaGQ!kG}6~6MX=!0JjEB#`Z~k)?KR-dI+Fgd&9yK@-yt54Yf3q>qzo*pUNQoQb=#Z-(wvg(WdexQNK9-e@ZD=uAE6CdwvtujSxRl3MYuyGq_88{FYJVIQ<|c6z zD%sAUF$oPgVI+?Pj2AZm9PPS@RIxc4y!krw`U9d4^q{ToBin|-Wrv{1nxdYzX#veR1hvv(8f(F~z)?B_*7bZq! zFD16n7)9ZO4WnA*7$$9>&#CzMhT~1E`JVV4FFWB9t%NiDe$Kw^}wi<)h^dl%eE;pWl z)4n);Ckt-bDnWPCd!FHKk(iC=(-bA&w>K6WxsCEkHUx#y%IS#Y*44=U)hf~GZ}p0( z_`K>^gYuR>pZoKu{Y%b|^pTkjv^;<39;%Aazj+md+3P)z?WjOf4|NtF!A9y6z19=E z@TPj!V!vtW`0z0>UbfQ*>n@aomc+pbLmLflg1xaK2Mp}8qJ)=0UBTkv1#PsY5|BS& zZ0z*5r-|nX{0G+L9wOmecplWtdpIs1>}RkqCC8IwRKumRl@`)6f2ptOK{xZgbM;2> z*)R;#UwF6N_G3d!%LH8yM+pj3U~jYEgi|J)Ug1x0!oiiWm7egyn41EJANXdL^0x8MA@BWzG zM6X*~vdGmt->f|Qw$vCotwIPqfueZW$ibt@0|%`rzr*oIo5aBTCS7OC6_!9~?0*{z z+JX|g@283}tK+y<9Sr5Hk{aQgA0vP4)ZKWO;;hyzKeOSt?hP=_MYex;<+{;Frtq6M zCGhkHf>|pT)1-MECzrqy*BU;)U*7Qpw!9D2!_B17jb13xX$vdO$;j$h!%%@gmnPRm zgqpsb7#*$ky8nKbE7yB?qw*;i!keuuB-G5B!uSV!OV~7?4#}wrzBhca%d)#AsG-FAkzp>YnzVP{-(H7CCbN0)?|xq`1FKE!{v* zH?0LO;JH6)jDt(<-h5-b22bEOlem1EqMYJ}a<$RCWu2f72WwqhI_$=qbEi9HTBqx{ z$ti+nX_MB6tIEmPANqY{?enEIH$!y$ImXZ5QuAdDZ^uKYthstr*0jfHJA4F%-DdM( z2CF^%6{;elpf9cDxqxHmGZfvJ@V#K1fd0nC!5I3<>HfvVej~XOL{dcFU^nX&3J$%> zZMLQZ)FW)`iABys7iCBcKcB5lcU({Im(8Uy{JbIKf!cl9i!Q|5ZQ=1S$VjnZ>@Vjk zTw@=P@IH_eRcuNLm7%x%n2Y+h+|=M6*N*9Y;+NaPskz3d%8;&|!@uAVc8mU&VNmj} zy@il{xT8LvpGj@BRbNeOn{0G`+gT7yxJwHeVh0AEFZ0S^eRP!RE5-{go)&%Jp4UJZHa@rCQQ42RD$n z91IOU!yDL zu$IUddrvT7q$}(M{ns7Z;_BuZkpS#CS%6^nSLD?<_{|m_*ct;$eWOQ^*_6k-#~j#u z48fLXXmPh)f=MYybAzsxfF8X_5myLx$?7VQlljq#WbMAo( zce(6@Elkt99AggQORcHczs@s??XGH)*IDh$MxtzNojcWbAQQKg3h{WYcE-wOHaF17 zD*3fa{?Su)GNE8)yeJ)e_}7lt`NmQqD)|U-#dO)g(U8uUv5FoW<(bR+Uyi&kZTM6)w&`WsLi!KU%+Z*JeV#Y%l9OBO?fv-cc}Skk8L+=j z4=Z6V5~#Dx2SU5ad($Rz$eB9TF8blUe;1>k2T&y4;!c1!cN^{qc6|bGWZTi*Yp*$* zBUf(*uyB$j_}!inQS@Hn+840zt_fp(>s56e#Lc`~4WrXv(fN7Z~xmTcVq6kTOz$@vEOmMnzmZZa>Jyvm{s~&)QkaWGM={I zV0GR-Am7$q*8rBcuJd>Avi$-+2XZ2BGVZ%?8N1m%Fc;*3runUZvZQ!VRU&okYzs6c zP9KHPw4LncyZSoJJne3w&wNI7=GPvXnirMljoVJ^g*g_Pfu91l%y!aTRSS|Mw=;Qz zHFu_Ge^%6|phorM`5EWE?QuQDJ3`O+^fz5#Ji_;qb$#&5PMW;#6fX1TqNHEqkm7hN5AAwgr3yzYMa zgzWzc5^jSP1Ez0#jk#1IvvkiIO>abxS4vWYNu0{{g;ET^-dg$FxJc{UIbi~J$R{7A z5fqSmrunj<^sXJXF4T;hDxaM3s~_OOKgp6uaR6|9w()y)pY8%au_9lEisSch^Z`V` zKN)cJyDw|e4sllT(_S==pTEVn@^z}YsJO$j7$X*f;mj7-VjBfa^R+kJ8T&_YJHs5L z!X?5>I0_Ae`0dv7aNc4=XX1jU1cl#UMC7f%F0h}^Lvnc4&jtE?YqoYO?u&!_XI$b- zhD3<8$c93v@q$zW^Ec;xyKEQY+p0f_KFrJlaD=e=#&*BVGl0LYA1SSyV7{F3H<-TF zfX$;05$y~Lb^mfK9F~7j0foaA-5)G*P%dJq+ofoKu8`H?${Ysg3v!qyaAmz6E+4M{ zF1Pyh?|N3SAEV$|8@OkeW4ASXVqG~Y>0JzM=irHKJ*a&HeRTJ>-{YL~Lwr;9)_v8r zuQxKh!z|`Qf*p*uO(cQ@A?#pq`L<&6#{omrc9 z^2@dc(`OrYbwMAoV5LS{<+Gy?IN8^PCPUR(OV+AHuI-J4K($9|YlCli4 zJk)O6?zQ4ZuQT?0ze2f|K$h>F;FpGQD{MGyhHI0YQMoFj-n1MXunp|ds5Nr#!fSv% zl2~0UUUY@aT;8uAs}?sdxwYMexy&@|=CtDbHlITN1$p7mr`WDrPPlsmYJQk~+|>Vt zHa7YasqP~{XDpAk<;?iwkFE;guFwM8ZPT#xH6Z#xzI zqgJa^r*Kbe4k(Iw^DB?<#hfhkiu$Pw{qMb*4Z0(8+G+{hr{%E`${H^)w1CkG;S7T!o7OyTZ z&J#2n*+P5w^m?7Xmun<#V&*mosabEo|I$BO>OQs=>sDStl;HVVqG`K?x+FmV=ES+h z?m}2!8F7*9t8xI7_laSKZ4VxuhF@vSJi#c+{!uobWYmcBsPZ6%myrVy|n3H9e%cIn__+(h$<<{B-4&-wG4W zR(GSjZJX_PheYqgb^3)q5qZgmA3w{+Cv$(fYUqY-4s!?gTg(9sP=P<@PvJ^lKys$` zBoDaS>e62b!@y2)nlF_yRf?;+V`^R@6VGeclcNe{ACSpfK!jA#$lsIo>=Z? z8pkLT=67Re9)8O2q-I=Gn9`vFG$Fsk3e3 zAiqycC0F8d&<^d~+LsaV&iYUxXer6*jGTMRmzz6WfqYzX1qkF@&8{RjCb?a4mo{#> z+)jvkx$hD>b-uvg&*xfOJpWgVuLbF?P{s3tJD)r334E}kMVe6kQycn|&ob#BulxBV zUz~mZ27xfZhO&SH(c!rq5X|$qWwnY^d=gKRY8b;}H;|3}8vf^0Do(I@TP;7j41PWo zLnwa>RJZmxme0lh5>9-m-R(!v@ZR!i()*2BM_|^uZ<^nsQ#^_44X0YK z=X$%vhi>25B!)h$&5W5Df#rO2YOO~{@mZ;(=RdTqQj^N%Vv^TxWR(^4-wI<@2jNSB zh-P1eL8?r(wleVAgKplWAG=-G9r^u^6VI09$ve2KzkKo{%Dcu}_!R8*G%NMRn$(q{?(qlwXcr}RUq zE82~|ly0H{%}|01CDI^qyPSY0PS1QJV3i+_DjSk!o&+5=D#fSUolTPB!R`0C;*~o+ z`!E%qk1Gst_{-yMDCyN!sZ*;9h3IMfiGC&pAL-Ozc=zDf5=Ou5TP}>yd(eYQh>oFm zq$>s;P+2UOC%z~h+)8tH%$=Z3#~@l>FFlI_P2MJNm?mt@#{%loabz~?-j{#jx2zG? z{4f0$pQ}=rk=wEn+&_;s*%Rf7_40sIy|;iM+$`0dNjtqlY^Zlj zF2eQINHc0Sb@o5zMCnLvct58r4Y$DmNGAcd+dR zvp*v@*1vaA$oiWiISb9(cdumB+gk$oVREqU)VWd!GXYk8abBDhTbJ91@d$8e;=`>7npW>|Y=NpYF*oa<~3=-l;eN zCX@*zrOl=YwW!cYKAkofyVt}hV9h^}kbuxzBFLbJ>Ma4>gWpfzaHhph>a`UuKl^*D z(-X?guGPraOodtGo`b%(y+R{6ts;?|edeYNo( zahEm}R_y6ZM?o4z<90m#N)lBnWn3_BrYoo_MfXnYdzRdU{Xr>U?j4EcA2^8Y(}v1F z^W%kyfUS3Xf2Q>r4!gTjosX#W)9-3GLq*F%m(;T+ercNvs8`kv2-*C`l{wv^W+$Kp zY^3jdvZ|8UI=!XKo1@s&H!W2dedNYc2JW;_V%yJ$Yz4$*D>-4+_W_?toEU#5^D zBtmyk2nFkYzYdA_3s>?sQM@9qd42B8s+aw?jsIRtuTb9?JB+XId|*zGB55W)vr~dVH=LiZ&Lz(V%fc(Djlla zGVvPKmA0qluIjy;(q^DvDI#nj;NvZ_(oBWUl+t;WViWr^XYU!qx6}}87~8{{pMu92 zs>A>KNn>0tNpvkaGhVRkAcVLSAiVF|6};8$eTNw#>v6RLV5YkVq>bU=GO8Kef)86F zer}@IBls@TUA@5;19hFtiLn!vxPrFh!uNVfluA%%)GJctR^*E4bt<(Yl9n&kd>ZwF ztF=0Q$y%q7fp}1JrjtMS*4thtJ+fCiNI*p9>|S!7cbOjedw~+5u-M@7f_LG*`Q<*V zZy-Fwzs+f4aPWM`<9jpof1QfK?2m=Fwm@b}7=Wik=>Mz8Q@O}|g4~%Ns-MwuqH+W1 zQSperC2q5R3r$yHIGfFnIH+)+vaA-ZXT2#MUY`7-*-V|BYj>y*5{>*?tH&IFEc6TY z_G>*lOKD-M0&ie_@V&sZulG|9Xl2hia$aR?Y=Ydk`c`dnYMXcJi*f*nx7Uk?H~*+G zWxp-+ycur5;NZM#+mYe_m~3-8rm**IayHat-CBp#_*9$h5+|SY*{q@)dRjKEE^N?%3&*r-eu(z6pxSm!RaxpA-hn?#i{RN`Z<`Rc!G{!!Z2`*E z2rr#|;Wg&w!u(+oAOEKHpZJEvw$J_Z;_O}c=N^ymlfy%AbLcYFMQa#5A51oJ@Dg%q z<}|7+^O%%8R_#?$+!n7GoGbn5;&OPZ-X&3Bhw_zDEmQczHg}p7U+dhug(i(a%E|x} z($=&4w=P>n8a0Z__$YQ4^T?RL^rkMdr6Es4ZJDa)_2!{LZTnJ4@9S^bhFUOKUzS|I zWJ1v@DC*P#%RTnTO1z7O;=SRkge#z>@%dU_k8GYhxd)g$vA@OK{x)T3WSxRayMG2N z=r@8o4yfnNubi0J8J#C4<^i$677GZ-m^ur0a(xgjyiNtN=qiA)N>9w`CM2UdA$1zb zI^000`pZ=c4etUxIk`Fi?7C7Yshgg3X$g;L5XQ0*TKhr?UH0Uj-N})^lBI2_bT>a)v-a+S+M_0*`-?!d{16L14^F~f z@H?EEr(FX$2&cG}6EmJ(Mb2i{SO=qQ+kOGKUG}YIQ^Cq_{%UCsIvzMEsx+V}6x?T~ zouhqcK3`vpl=R8|sM8u;YL4Nanf+>Ssmr9n2igi=D*VD~3D4CT=*l_oY+XMz;lo|# zR^IDlqmn8xpX281{(ml#SIIL5JJ~y8(_Hpy4=cw2w)C*7wZr2hqHK8c-?)ud@cI>@ zHZ|GtTrPd7og)n)usWMP9Ohhf=DE|QiD6R|DgW^$>Dr9c3h+~^LdFCu_ciB;ng2$( zW_n5_WzVOUvR{i4M1{n2EHM{Ip}_aT{!Y?=E<{mud1b5Sb@>OL)cF?=_6zI+f!zKD zZ4d47P%fXbT*D&@uOzofL>_@gU`Xyrj6gl_&kyR&5%P6|adQ3r>etx`5V~ zPbqGaE+%;Tk}wilb)j6{xMdWqZ*s0>!*EAi`phf<~&$+dS>B~ zG_lm*$Boh`p-$=F^a)h7LbbI%LHQ8P!#^G7$j~1SKeQ5K+39(I)%cdCe%g3dGvn<& zAG4d~o`7Dc;OE53AVwLcn3oqBvs7a8+bT2E8u~~euUapDG%) zQflUU2@7s0^%)fR=Bpv+#{nL}7NDMLM8(@&FR;F`6;=@bSv=$r(B)`!Ub*PpuL?H`zW8$H~ zzVCHOA56v5T09VmpYd(PYsg@t#q(j%dd(=mylG1nCf0VH*A+cv;#AqfDyG@LJ|w=K z>a;M?d&(?bhtA17opmbGJDWL7nEWpOTH4C2E?=g~FOclo!Wl;%-!)79(*7u5)w?O? z7e*K2YL3>YNg|#+Hk018BkrCjyZ~P7?K#&PYP03Qp2s)3b+3>?J39za6ovlyWn~o^ zhU0zy7L<~E4$t!9ob?@RB`3GFH-g`0=$tk_r%ZQa^Xz?w^Y)(fp3L+vVRPz*+n_ zTreY7tSFliF&%mr;#j+i&PGzn9m&7za;Q&3=DXhLC3rcLE5vO5om(T8oEnsp;8)afCPjP(8U#eK20ujk|3G z52g7W50}Mh^$^aANk}z>P5anaeSA7T_Z&m8KicB0mA%JX{liLPi(Gzab4#wyci3Lu z_zC9;40#D*a5b2dC&c{Q;J_c#@`;%*5Ba3?5Va%GxbyT$zs^qsSOm=VPR-q}%LVkg z;6PtkQuUtL!(w{h} z_h7C+998f6TRkVEpMJf+-G;zu_Pl~5mAoCksW$&gQ@h({=DHTLo_qWAYM&oF$2C~e z*IzZ4LV2ADlXs!xD_C0^H>=s|*f}Y8v`w4}eZ6522SFW=vBkV`yY{=gC6ZSFOO85Q z`M6}))~MC&BjYyv-;42m6(ERxRCmM2*Kdsm9uw)?Ve2*7!P^oP=i10?E!-`1dTcw$ zt^v`9Ux;7N`tK{vE5DFA)dfe3-`&$xYkTBz;_Y*nWht;RO^lH5?eRNA@EIVfP~|E`J-9XU}~cXZvRG0)ZZia!zZZP`Rg>Cc?~uOUp(~ z%TQ`HNb-o4N72p0RSnA$Zoga9jlxcgVUKZ%Ip;jNm%lv_aFZ`uY8#K}=^xVZodd6P z{Nwv8YJe@>o>VT$L{b|<1u!|?x#=f`_ZW!Q(KbP{@%QmL>|Yc#%n2Ir<~cKA_doXR z;??H-D*e>!sW(^4H!+(prg@>f5KoFhbnk{;8!FS8#i}J3&hdEZJXcOE!)8o;js&8zQ5>(-6tuKH#!1-VZ0ctZ#Kyc(vT=+5M5Y(QubiU@&G7*i!lwDJ|nR zk$u4>{+-m|WKnN#=+vFr1V3zX+m<3_9r3}$SX9m%rhaC)BOFl?k|x*3Bsn=BsHMJ# z>aG18ozQ^Aw;R z2!UF;tiK-g)MGoH-nafqBvKyD@@DticCfX1bcuAiC|Pi)+OL=SheY-Q?c{_=W#(E7 z&;ax03lizmN*B3ZcM@ic@Kd<{TuPq~$aS#qsjo)yUmH0D&M117B+~dRrU&0j$^20w zpPgHH^?S3+ClZ2A?pvffnLvpaAD!7 zXU(B_c3W(a^b5TD*I(0_#%*c(4QOe+^@hDunFlQ#Y*jFnHUa(VQN@;mF;{(7)mpL80MaA4-4A-9OeUyd7Z%ya(XpNESRrI&rX z(cE?D#rydGT=Gq*2C8lVqCXj;vQxyy)9bwcx_I6AA47FGNH6%+nDY3EedHEkM zXt%AK6ct=SzTeShtJ}v~f|-tGZMdS!9iu;heZso0o$+Zc#m1W4PK6oZn~UEH;}5M3 zl*XHwBb5fb;v_Gca2A6zXLDmN%_}^;b+uf*YC*Z6_ol;EyFDz@(L6^1;gI+C*8#K3 z|9zQd1G*_E+T`@9pvx!ubh>#tH|NK@>I2#r`N*j#4~gmvy~fMGx>;5Or^*L8$O|bz zKIifu^^MwZ{}TJ_r2WataV>n5Y~&NpjjhBq!6#-7yX~iRc?MxoYdeQy17_xGz`pT~V0@D79iXyD`W zi^XCk`96)Oyzy`8Ho3OxacPbIr5S;R0IPUY?WXLP0;TA`cFcGh@1POmuz#GqSCL(I z5{Nv(WW;+LXKm11K4Rf!e|pf8bJ{bFvK4km_37%9PcM}Zgx}||#KrA4PE8K^^XWUQ zM!$lTEDNm!EwR-oB?TfnG^^5oFP$gVvFEqEU>wVEvY1`2(@ovB(Q2!E zvEhu?#rw^W|1J9PyWA6N;rO)wb#yF=i<1{XAl}?n*1VEkLZ0066EokV({kbc7QH65f zU0L|$xJxrV&g|c0e4ID4&J0S1#bVyd&lm0Ng>u^2MeaS69IU%)t~%Tlz@sFfNIO_> z?Bcz2-eEHtBoH`@@qSQm)FF-8r=`1{{c@+ng3Df!*z)U$^3Fs5&=oTfxjuiNM}OvL z)g&O11j=8%c^?saaVw6Ngo?aHMtLof!H^2+Cu|6=gAvs0$(K2ggKFIaLR7{H=u;nT z3VUAoj&>(*hwTyM8Ana!_9_*_O`%wEDo&Y#jKQ||f&ezKs$OCVd6IW`byjEXtq;w> z-2+8!v`JUKvxW-soN+wmcmtXoVAuC-E@zikrDXvQ9WjRA5|{nWuc{dvgahG-xFw%3IQaM{9DrDe>&iof3UT@3x-`(FO1tW%(cp*Sn zsL{(kVx2bw-iokR?dR&ULbg*5+D+Le9_kA|gK2e`?q&__bMoDLZg(2TW}W??3wOo7khgz)OD0V7oE%b3uaJI{2?q%M95TIVm(_?YZ)RJ< zF?WsHto;2eLe)SM+50>%C=X<~%5CG_~-* zg6nA#u~bN`dzEAi~c0ZrhP4Yrmqeq zSPD|_uu#7#k7k8btQ|6%E8MqQ7f}{c7rCBaC*%FzSq{KG>a4#zbZ7Lv`Ns8Mp53%c zj}GjVzEf+$1yM`b+mi3Gd~Ls+wmFE)f=@8-sA9(LTGeWDn2eN;=r`+Ibk}Q?&;8bd z%$2X#dQBQ0>j-UcPBr>b`}&n!D6Ao1v$OUVTAtSW%?Buoxoaq|?cNCbdY|Eu=x!GdnxIU41Ql-d;JW_&NQvm6HRDaXtCn?4%cB@PnUt#6cZ3MS@PyYKKtbiqc4DtUwGKSb(!6Z+ zLyZ-&xG}^5i5D;K=4$#*g}>lBm{E0P6^p}%(Q=Fn-*+qKNG${TaDL2Q8siqRY=8dB zyTXFrdVe9z?H@?zGR%ke1$2GcRO@Y6N?Jx)n7ddjX;3&obTtoBH)^i;mRTl z8NyP?IRD<5szz>h{R1iNrp5Z}nHDJQ>$B<+TZqH@_)}e6iX#Kh^`;wdR)2D$jOVRq z4C{Vtf0#+nVV}Pi=-ShL_@h1v;*s9GSnCWpftRtF`SwlUPX&Cv-xkh`iT7IzX!$0s zq*1p7ky>gtB0IGqM9cQRKR;EhQE;;FP?%?G?YKVqz$xiWtFJ%(jswl0-g@Ty!Y-l0 zTL#pmYt9D2ZcMH7vlgU zd3Qy60n#0J&JD(a+-tQgsS~HE^9}mkK1-c2**omLgt$;`(@+L*AlL7$r1Ku_>eu0v?_m>ei>_pNDzU|<+Ii?a z@Z>$_FKQFjxP!mVXv%ThQ1VJxw+BTS!ck@WyneiPZ?%MI7ld%O620qUar>sRDr(bC z6<)5ZoWt+0dlzzNt@%)ODR*-5%on7eil{#5iu0e@uKl?TfFsmM6JLJ!ITCy4>15Q* z7EkY|406U{RZx$WB0Jw92j?o_eXp>c5=DV$`9c$NO58V(qqH22j*60?)EkT*@oP4>fuECy?$!R;+1fZH}2v-%_EAM+mcr z8h_{Nab+%L!XSI`wN&eDg!hY)3zyO84@YkzQimz+?w{gWmT%6-q{_@8;`5MJ$WZX zS`B8ewv^wQ`(I(RMp=H|*JfNZ_*Y`Oc79`_P=)T)kxCJ5TN#D2ML z+^gz-(){dJlPgKFta+@(w>^7U>VM}lcn6^L%n5Q34^C@Ck%R|HRein`T4GOoEzXFECNA

p)Nf3 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%0AmM>^sj~I({m;?qmRDE7eH2q4&ju~}t26-4x|NZL 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�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Ⓢ)+&RE{7AI~B%AX1qHQ!VY<4(m=Ma-3z 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 literal 0 HcmV?d00001 diff --git a/logo/androiaps_tshirt.pdf b/logo/androiaps_tshirt.pdf new file mode 100644 index 0000000000..2c911543bc --- /dev/null +++ b/logo/androiaps_tshirt.pdf @@ -0,0 +1,4922 @@ +%PDF-1.5 % +1 0 obj <>/OCGs[5 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + application/pdf + + + androiaps + + + 2018-07-27T11:39:31-04:00 + 2018-07-27T11:39:31-04:00 + 2018-07-27T11:39:31-04:00 + Adobe Illustrator CC 22.0 (Macintosh) + + + + 256 + 168 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAqAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FUBrm uaXoemTanqc4t7SAVZz1J7Ko6sx7AYqxLR/zn8o6lqMFi8d5pzXZpa3F7CsUMhOw4uHfr2rTFUV5 h/NfytoOsXGj3i3UmowLGwggh9QyGUBgse43CmprTFUX5R/MTy/5ouLi0sxPa6ha7zWF4ginC9OQ UM4IB677d8VSnUPzq8nWepT2UaXl6lqeNze2kIlt0INDV+QJoe4FMVYz5H87aLpd1588xXEzz6U2 owvC8SliyzPIqFVbj2I602xVl1l+bnli8vlhhgvvqLF6aw9sUsqIpZmMrEMFop3K4ql6/nt5LM6h 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 + + + + uuid:d6916827-33fd-484e-9513-f8064b0ae656 + xmp.did:9f74d324-0e2f-490d-a3c9-8c0617bc5686 + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + xmp.iid:0297eb24-1bbe-4975-9a15-49d9391df7d1 + xmp.did:0297eb24-1bbe-4975-9a15-49d9391df7d1 + uuid:5D20892493BFDB11914A8590D31508C8 + proof:pdf + + + + + saved + xmp.iid:0297eb24-1bbe-4975-9a15-49d9391df7d1 + 2018-07-27T11:39:25-04:00 + Adobe Illustrator CC 22.0 (Macintosh) + / + + + saved + xmp.iid:9f74d324-0e2f-490d-a3c9-8c0617bc5686 + 2018-07-27T11:39:30-04:00 + Adobe Illustrator CC 22.0 (Macintosh) + / + + + + Print + False + False + 1 + + 297.000000 + 210.000000 + Millimeters + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + White + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 0.000000 + + + Black + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 100.000000 + + + CMYK Red + CMYK + PROCESS + 0.000000 + 100.000000 + 100.000000 + 0.000000 + + + CMYK Yellow + CMYK + PROCESS + 0.000000 + 0.000000 + 100.000000 + 0.000000 + + + CMYK Green + CMYK + PROCESS + 100.000000 + 0.000000 + 100.000000 + 0.000000 + + + CMYK Cyan + CMYK + PROCESS + 100.000000 + 0.000000 + 0.000000 + 0.000000 + + + CMYK Blue + CMYK + PROCESS + 100.000000 + 100.000000 + 0.000000 + 0.000000 + + + CMYK Magenta + CMYK + PROCESS + 0.000000 + 100.000000 + 0.000000 + 0.000000 + + + C=15 M=100 Y=90 K=10 + CMYK + PROCESS + 15.000000 + 100.000000 + 90.000000 + 10.000000 + + + C=0 M=90 Y=85 K=0 + CMYK + PROCESS + 0.000000 + 90.000000 + 85.000000 + 0.000000 + + + C=0 M=80 Y=95 K=0 + CMYK + PROCESS + 0.000000 + 80.000000 + 95.000000 + 0.000000 + + + C=0 M=50 Y=100 K=0 + CMYK + PROCESS + 0.000000 + 50.000000 + 100.000000 + 0.000000 + + + C=0 M=35 Y=85 K=0 + CMYK + PROCESS + 0.000000 + 35.000000 + 85.000000 + 0.000000 + + + C=5 M=0 Y=90 K=0 + CMYK + PROCESS + 5.000000 + 0.000000 + 90.000000 + 0.000000 + + + C=20 M=0 Y=100 K=0 + CMYK + PROCESS + 20.000000 + 0.000000 + 100.000000 + 0.000000 + + + C=50 M=0 Y=100 K=0 + CMYK + PROCESS + 50.000000 + 0.000000 + 100.000000 + 0.000000 + + + C=75 M=0 Y=100 K=0 + CMYK + PROCESS + 75.000000 + 0.000000 + 100.000000 + 0.000000 + + + C=85 M=10 Y=100 K=10 + CMYK + PROCESS + 85.000000 + 10.000000 + 100.000000 + 10.000000 + + + C=90 M=30 Y=95 K=30 + CMYK + PROCESS + 90.000000 + 30.000000 + 95.000000 + 30.000000 + + + C=75 M=0 Y=75 K=0 + CMYK + PROCESS + 75.000000 + 0.000000 + 75.000000 + 0.000000 + + + C=80 M=10 Y=45 K=0 + CMYK + PROCESS + 80.000000 + 10.000000 + 45.000000 + 0.000000 + + + C=70 M=15 Y=0 K=0 + CMYK + PROCESS + 70.000000 + 15.000000 + 0.000000 + 0.000000 + + + C=85 M=50 Y=0 K=0 + CMYK + PROCESS + 85.000000 + 50.000000 + 0.000000 + 0.000000 + + + C=100 M=95 Y=5 K=0 + CMYK + PROCESS + 100.000000 + 95.000000 + 5.000000 + 0.000000 + + + C=100 M=100 Y=25 K=25 + CMYK + PROCESS + 100.000000 + 100.000000 + 25.000000 + 25.000000 + + + C=75 M=100 Y=0 K=0 + CMYK + PROCESS + 75.000000 + 100.000000 + 0.000000 + 0.000000 + + + C=50 M=100 Y=0 K=0 + CMYK + PROCESS + 50.000000 + 100.000000 + 0.000000 + 0.000000 + + + C=35 M=100 Y=35 K=10 + CMYK + PROCESS + 35.000000 + 100.000000 + 35.000000 + 10.000000 + + + C=10 M=100 Y=50 K=0 + CMYK + PROCESS + 10.000000 + 100.000000 + 50.000000 + 0.000000 + + + C=0 M=95 Y=20 K=0 + CMYK + PROCESS + 0.000000 + 95.000000 + 20.000000 + 0.000000 + + + C=25 M=25 Y=40 K=0 + CMYK + PROCESS + 25.000000 + 25.000000 + 40.000000 + 0.000000 + + + C=40 M=45 Y=50 K=5 + CMYK + PROCESS + 40.000000 + 45.000000 + 50.000000 + 5.000000 + + + C=50 M=50 Y=60 K=25 + CMYK + PROCESS + 50.000000 + 50.000000 + 60.000000 + 25.000000 + + + C=55 M=60 Y=65 K=40 + CMYK + PROCESS + 55.000000 + 60.000000 + 65.000000 + 40.000000 + + + C=25 M=40 Y=65 K=0 + CMYK + PROCESS + 25.000000 + 40.000000 + 65.000000 + 0.000000 + + + C=30 M=50 Y=75 K=10 + CMYK + PROCESS + 30.000000 + 50.000000 + 75.000000 + 10.000000 + + + C=35 M=60 Y=80 K=25 + CMYK + PROCESS + 35.000000 + 60.000000 + 80.000000 + 25.000000 + + + C=40 M=65 Y=90 K=35 + CMYK + PROCESS + 40.000000 + 65.000000 + 90.000000 + 35.000000 + + + C=40 M=70 Y=100 K=50 + CMYK + PROCESS + 40.000000 + 70.000000 + 100.000000 + 50.000000 + + + C=50 M=70 Y=80 K=70 + CMYK + PROCESS + 50.000000 + 70.000000 + 80.000000 + 70.000000 + + + + + + Grays + 1 + + + + C=0 M=0 Y=0 K=100 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 100.000000 + + + C=0 M=0 Y=0 K=90 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 89.999400 + + + C=0 M=0 Y=0 K=80 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 79.998800 + + + C=0 M=0 Y=0 K=70 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 69.999700 + + + C=0 M=0 Y=0 K=60 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 59.999100 + + + C=0 M=0 Y=0 K=50 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 50.000000 + + + C=0 M=0 Y=0 K=40 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 39.999400 + + + C=0 M=0 Y=0 K=30 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 29.998800 + + + C=0 M=0 Y=0 K=20 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 19.999700 + + + C=0 M=0 Y=0 K=10 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 9.999100 + + + C=0 M=0 Y=0 K=5 + CMYK + PROCESS + 0.000000 + 0.000000 + 0.000000 + 4.998800 + + + + + + Brights + 1 + + + + C=0 M=100 Y=100 K=0 + CMYK + PROCESS + 0.000000 + 100.000000 + 100.000000 + 0.000000 + + + C=0 M=75 Y=100 K=0 + CMYK + PROCESS + 0.000000 + 75.000000 + 100.000000 + 0.000000 + + + C=0 M=10 Y=95 K=0 + CMYK + PROCESS + 0.000000 + 10.000000 + 95.000000 + 0.000000 + + + C=85 M=10 Y=100 K=0 + CMYK + PROCESS + 85.000000 + 10.000000 + 100.000000 + 0.000000 + + + C=100 M=90 Y=0 K=0 + CMYK + PROCESS + 100.000000 + 90.000000 + 0.000000 + 0.000000 + + + C=60 M=90 Y=0 K=0 + CMYK + PROCESS + 60.000000 + 90.000000 + 0.003100 + 0.003100 + + + + + + + Adobe PDF library 15.00 + + + + + + + + + + + + + + + + + + + + + + + + + endstream endobj 3 0 obj <> endobj 7 0 obj <>/Resources<>/Properties<>>>/Thumb 11 0 R/TrimBox[0.0 0.0 841.89 595.276]/Type/Page>> endobj 8 0 obj <>stream +HWI-IܿS2;^\z$\#_]Q +7}T9UѮE$IrՄ􄴫wɸTx3atPW Х\qkJiTx_RrH:| +P>*ϵJƓ'u)0g+{Wf O +N[tl길]C)Ctsr zG%_SW^WV8]#7[Ƥ*Ŕ'9ǠKS%3(JݒY/9>̶| =خ%'h,<>XWT,Jc]45$Dq.w+TT/!M[c +iLŷtIog +'c[ 22\תM_,ϡEGaC앫 H֙)5U*#v M- bGD`ysY_&{ZPs  E5&#\P\l45kz\&8Lӏ_~Y/phذ_pow=XA=chLd%V(T|n9#@XoTžPAT+*NBvMMi*49R`. ! jվE"HcN] 69n&:d$pH;B^E+ +<\g" ^ք7}q4q5Z%o `f>Ʌf=# ~[2;dZz.fR._%q&rݭ*ȅѭ\U#j +{Ѹ<hd$1M=>]0ycӓ*FeW V '\8ٹLU 6--7"=/@bKllWnD Cy3Ü,) "8BB`{2C{ J%j4٫ܫmL@FAAf0F0uvIPL~ ;Zڶ ּ'݀OdVY_xzYc}\10nA5(Cy99ɑ|UM[:%e!,olEy˖ qB~2V]Qj :E5&9;Y˷YwzN5*keMB;%ApNRilfXK&~#4(-]N$%w- uRjTDT%,[9"Nai]Y8cofl^.0K]S`:hЩj[:y'7RKuj*>Qў.lLBWmۢlK8lNwFuNmxHxoreJ1hֿ[-P!;Cd@X`}]#K$͂g|A{^Ms?;UBlvӠܓI6F1=3>>PK׆@G'58>ƪϖq6HIY]h1)J8Ӛ[ӓ9.Bj'gHU%{\ҾH3GZN6|qO=>de73d#m&|紡fS[K̭HdS-\}ϼِv] =p=tᅡW}K}k^x^.xaŃ^^A/z?W/yƾyЫz!6o*JD/E/ŝE~Zy/_WO_~ _a0GxrÞO-)F-0^p;!{ɜ/REvx@(S| QHN1vX5M(vUvivB5 v`4BL`ج7#O*lAо<31i0໤ bc!P;ł..CnPйy4|4BV] [f~2KSH+-) VDq,!0IeX#ѿ0w_ܤ +FCm +CX[mԖXz l@!oguQ`7zfj,.hn?=%3fR JV`HF1ʕ 4 PPD3\%o6>`H +Hoغ1x1x僧=%3!vWWVhXaSt˺a~/ۏgIgS8Sh*#$ C0Kd@ēoN`m@X$g%HK5-PvwmlѸҟڹpl:Tgxǡ8ĄN~]JԁZ8Fw+ʧ/w6',S$Iu˜[՘oc."&`GV":aA*j-u>c3-g!, 琳J},zYG%yB svxLwzP}Eyo^ғRqKAjMMY0lTes"!"vŦݪDAjTt[R]hAxeNi|%AbG:s~^%Duߒ]izb'*3Hax9r>Ik7<ֹXt=ἧ £t!ָȑA)-^#@ fjHʗ>Jm +qP +gBkI ƹ-b1UҦ:[l?%LF/VD*l @.\]1> Daz,O"^m `IʃP` )jF.dT i B+fJ7h{O(VkiU0ѨB5>GEB.M6͓NJQn<"Rd_h +I=-Y(a`mo5/%Yz, *) sBB=S7a=pc;QKAGdUAݝ +ѝPyR B*ڣY+hٌڠ-A^(}EM%]@E v +])MPqBԕ+o8,h52<+~T\ jՋ;fQ s? H/"b$rPIu Xf6:_W|XpaJΤ.Pgt ̩nAi8HY= Q]Zq=Nǒ`>} '<2@Ob!P$D|d%ZQ'o'p J6Iićjqy5I܋4+: +#<;tďuӬq|1Qvxm߂+nyF!:_'q+I@} +] i8B_w{*A3HQUTsC" +S"5Vz쇍ϲ4hty;_S4m[l1d/]5uoB뚃*{_'%@9^!Xo4-hufVڈvήoqwg@D+-:${y[Bⶆc_#.ʾȓ+X6 +KXjy{s|ƽò/ج hw;QCۘm]Vy1e~Ks\?tE9(2+fq@fH#plڣ/oR}A1 ` +ؚ,-!l-YXod2Hyj"d^>r<469T#BW`VQk +ԭazb+/JW.0li`,6JȆCeޙ\QU>.[7/}y\Y-an\4Ǽ-1OOl!TMt +EbY:WLb8X9/|&NH˜A]3? /V x ީ& ?L+Ū2D?pf? ۬P0 ùۧ-W]΃XعqJk-gߥ% ([wO$8E{ޫ5޽Eh?g9xźF?0Fb.cn޴s`)[606AmdGSz|s !Ү[׈mՀfSy1elt/|o6$Z{oQM,l\+gߚW4kĶ>#[A{]Ӟ;m~x#xΥif1 Rl$KQUz +X+>>/glQrSnK5.-yp;wj%6 eVC<$lۺv<ҼƓφo<>?3='xgX=/#Z獴ըլNFć+sgc$N .ˆ3<o@b'FʦUfM{a=k@%*\ n 6A8ײg͕UCRR92Ύ/辒A"n@|F{^ʸi135d- tVCenťElRF0ڀ+&+o)O]\e}ozcVXF_ŧ"[Z\';5+*MYv\e36Yr#Us8HtRtvʔ;1{x,vaY-;sJ4NjjhϞ2G{A8_ݖW40fXOkx;Db8%޹ͳ:GsZskZO>t8EIfQ|Vrlğ[n"O`|5XSq8b888bqqɐ3E|rm-3gENP+r g܍vD9鯔?rU9K9oSNl߫*g>rU9sUN[9墜J9nԋrE9rr>rE9~G 9^ b5W9^Uθ*}r?AN{r r+υcE<)|QN(tkf)O|UXSVN('RN[9墜qQN~/|r߫5aӮirENB#>9?r/ bv1N=iú6y?|p0$8)#$GI28"NqF8q8-"ʎ8"NqH$T#S" 8C7X BJYmtQ$O + ^-ϨU@+-#H2G8&")FQwEQ_"jBtqgY?",, +Tq$OtAc9EQ4UQ|IDԉDoLԜp)R>+D"pDF"$B!'8$"!ʯ"QH=D#!wRGr$ȑd G9D$HuaCcV0b-7G#m\eLϒ4(C[bbG;Ď;!vŎ ;!v$CH#1|/¨H8 qк6d QC4d!d"FC/۱tH-$ MpXU߄ +^3A3`u*҄[B $D9BYd݁BUYg @a)!?$B~H Øŧ +CDآʸ^lP H>N`!VOH!pJcngrB~J''9,N8 y/CPTfBBN(@/PhH_?T +*%Ka9P?B_0 + +B@\PB]0( (A.P@a'8a'䆅Z C0Nh N „L8V&gBy(Q,Sq mux'r|qB eqX/Nh_Nr -NOr㙝? NhPPOP(z[;J=\ŗ$A!I +$) +X,O)@($nty9C()+MBH! +B"$-axS1MؐH$C$ _UTوG +]88qQۓDXLK8pE|R":Imݦ~>QrFbFgx|~ǁPv`G|&`ć>q; $$I )d$$*$!Ttc$$I$)!'Y$ )41*Tg,$:C,A 7^ I +&#B/ͰM4Ia$&FML"Y-|5S]9DDD!Aa5["R7 +دVXZis('. ؈^_l` #H"#"6-c8ʹ6ʹ[(ɱpe?PC33hFpzfnʹK_eZ*@g0-,1"\#"d#O.pþ?rNlq-/1K MLەV9 I#sjϜ3gSWɿyJLsq9g9!ΙS09)s8vN) +:k Ag[5ڞgSz,g4Bg34@gz0t:t/t:8t#3}9sc3n\=SF9(t]SG@g9 sCΩs=ss8gzs2@| t-l/ NS4BЙC' ICgSWɿݡ/tms:yNs999C )Nz8Y>@e{ 6w NSz⤣Ʃog9jGԓ!a㬃qƹ8;9K/lS?#9Gt9i@Nzt9Ӏ&rDʱ??99~9׭o<2'9rQ| @]91Nٴ-#)d4I?8$Ʃ_ei0N=nr}2,G<99ٞӏA#șrʀ|=r+R+*cʹmnͭ7׮ %ƦŶPQ(ǐKV!)ǑPȑ+u W8yD9965Pq#3ya͸q#& 0% a w_)T0 F4j]3`@L$CNO +D26xi҈Om .Єxc'X]xSal#R ?F!P"O脻b2aG;Ya+5>.UGB#`lOg'H8+!uuﯞPx0t9\ $V%0@G`Sf! /Z shמbkK_b[ աơo tL>e.7r{v.Zq y NnPxyvkࡐCȣ@a+'0x [ 9:# s@8lD6jm4եxۦd1Ka0b1 l-X \alo:_W=Vb ~"XHpEa1.evhI|%jۖu^!:}*To,@; B!l@G۠mʭ\ 2 +.ib +|.OsRȽ F)^ +)N +iB: B)_)JaB:wKaEۺۆw')Q +Q( -ZVpWҁ9FPmK-!#6oUYz'PUG(׃B: KNhrNXitB0p9a0p9vN'JDŽ20 L(20L(3%LO JH6c~j<*aL%;%,Eޕ O*ǘ|!=:& ҞsB' ypB' y'@!z?(oBGĻ.gCaPF(, J28a N넲xV}*~" NP VMjݡNPp'ۆ<!y} +)\ +@rf8 +>9\Ov|KEɻ[ +3D^x|rGbT*}!!3jTqe"9Jpd+sCG.@!j8Nw`|hJ! yq\F=ݑRߞ־Sn eDu[7[kDmٽqD;0G42o":8~5~("" "GL!CCDĆ,("Hd+ +XG+^|sÁZKtӇDAI*d}@& +Llϸ!h-=MZ4t*jgh{ᒃ%bJl;&P`IX^=LnUT"XJKړaIDT"XJ6k%DC$̩ ;#(|"""""HTTUOg""QH%2hjleprtvx% ¨!FD0FhE@&mt[3q%imiL[&Ƃgg "i1*uZx*DsdÅ@5s *60B7,GOڅ3 >xc1s`_Uۇ{+8gS{3 Ι8g:ypN3=qNΩ߀9(gzrY唏+C9u >_<*'IgS^aN=˜sŜ_arsaN]99Sw~4>ꜥwNsJs9s9U,?9,݋C!µ,t^:g_N9 .Ω?9녝9sY6 sbN>I9")Ŝi`N9Ϝ}3ԳΩwqΒl#[S{98<8g.:률yt>˾Nذ9 +s|$3⛆#N+@R;#Yb9tp:8G@ǝ#c;L&oL4 6^8@p!8tCZ\;kxјVh 4=g Dj_KQIQIaH㢀/ 0/j]~wXnXdMCnB)0J$ +TtBs&4x +,>U㗥ح3IxmlG&!l cAH@iט<Y:( Xk8*o-}=>bC4y>&B(Ka:!I! RH'0uR( O +R.R>}Q +K/Pȿ +?B/ #+ cL`Bꘐ&?&Z{ sB' ypB{'Pt + + +ejP( B|& P( NXNz';a{s嶆]o+&'`pL5LNp&}&B,-m 0A *r0Ak& +   !C\hhw 6CkCkBr>?@گ đAD䨿G.4!/j8NW`vhJ +ye)\F1ݑ:ߞ־Sn bDdDuFƑFpD#.!WЇ r " @P`ؐD6 GGHH$&(*Lp,^ .Q &-LZ4t_*oɴ6yZgv璃%J&q]6HLI[4wDI 0ID'c $DII @I'B'''(B(jDE E(E0E8E!9Uʱr  袆 +A!HmĕP6(ӞbL5(#,ee`GP-WD<9BxFhCF ".1?nj"T#.`ò9~ͤ]ؾ NgkT+')=qNi Ng#η$4'N޾qYԻgN E8y45)l g;rB#'!}ș˾/=r3ȩ=rșLO3F< ș '!["gS#8S8ƺ|qh'ENR9 FN~8)O]8[o}38i@N?9]8ѭnDIHiHz{^6up58zd:XkUwx@ b?FH%^~N8!}`[[tBQNHtBP'8} ypB;ㄺ] +Y(b;e-_( +gB:@lBp{nS +^lM +7P#+@!PXG(,g( + +_;=* DWTAa82l- 9tđ P{ ;0V>w9ǏtmNGjگrO(#6zfaȡ#7""I:pG7|78~5~("" "G\!! +,,"HHdD"H"L"PP`p0(lb4i{k&Dah"l7Mz6l2}&y0^}49drpDVp Jn ȫ4;X"\3ۍ%%X"\үK%rX4,.%B&Zخt"x"| 0@P:S3Vi;TnmyUVV3^9bYZZb[\\]]lFVB//@0$Xt=c8af%SXTC33hFpzfK_58Tf a!uě ܰog@?9 +s>r ߧ2]9ifN9ybN^1<#'̩sz9Cbas:Y9s,N}ۥsSytW:uz:4A'N: ?`5K!Mj(C>a>S~ o_1đQDh=/CK P[CCU +W[sH4}D}Z*1"2"oFƑ]Fq$qyz>>?DnBCCeԕ(N%UәU6R$$Oa!u/DAPX$rh$2 "$QDFx5B&D_(db0aj=ӆI!C&=LZۜ&r`dgɮ%nQUa Վ&(鿁L"P&($%Π$L"G &($}mIJ0PI赑B'''(B((FHJLNPQHEPEn>rDF,,,GB---.B.@ FDFPE(&}n{F2q& {ɥ`c `,#GVxH2CflQ@@`K fѫI?UAGA0VmY`e6:z8dqƹNY',όS~q [_8pDžC8k{ [NSFᤣĩg=JqɌS^!NlqĹ8&8S/m[>h<8u4r8i2Nzft8dq4ȱ?C91C9ַ6WNGENy9(r~q`g;q3'OɟC┇"NzIz"2'N=q֣Y89ٞm3K)q_cqd|;5r3lB6"!}ȹԶ|47mC= L-q1Efu=Q ȑ{ȹ#ɱ 9G#ȹ@R 5c3fH.V+L7n8ېߒ35~P 40qn29o)p/$B_l+p_=.OA/]ƇG)3H!R#RH$t@ + :H!MRR$tv)loBDmٵ},(CP';amicN(Ov', #NX',NNX',ʣ:a} u`BP'&ԉ ubBPG&gSR] kf)aPf%\?S %A vR&lʄ o`Bi "[cW2a& ibBcosBP&' erBP&' ߝPo? +v(6yB~6 +uBL(/@P(/8!Nnzz',*uҦySYR +B +!`{%٢0(& +()8D +,征 +B +! P ܡ`9YQ1(pE^ +""8ЯjpW[B>>Tt9 !DW b0"u:ϑ{.??DCCDDAP`$rp$2 "$&QDDDDw}L41{g&DA S[l7Mz4h2}&K0^}v2adgDVl Jn ȫ4;T"X37S~gX*C%%DC$5̿f*#(|"""""Jl*B**/g""'QeO%2hjlmprtvx%? ¨ã#FD0FhE@&}v{3q&LQ-k8Ӈ33pF#8spX +ChlQ׈kǠ"h#o.tzOqQ0GU;Yev::z9sιNY',ϜS~s`[_9rǕC9k{ [/PNSF夣̩0g=ʜsɜS^aNls0̹9&9S=buNSO::g949'=sN:erN}9g:{r؟!![k\[H'ɣtBz:?9oqC9 Ι'aNjlisC1'=sdN= sg1gS39Q✜l϶-YG9ׯqN}9erN:tSAgS>\j[m>6j%h3:8Gsa[d^Vh19r6ab?N߆ODؓcs{P=G#c`)`KMfND;uHٯ)W;`npUxS\7lcFM$Md~'@M$cq_.զՖTaC1 ~u*.cB1HaR%{V+Va8!S|8 +d_Kvx:'ؤ-;ڑ$XJ@  )8B#X(b+c9cVSH8 pOwX0(6PbΩF C HFZOKۣ:W7vhW9I&2r8{lywDpHA( CLɾj( )ز:}CxSjzZmAƏ[أFj3ъ❯uoaO!aSeظ" ΀(krdszZ3؟\͟ HBo1C 7Cz`!3toͰ|3Tg$s0p6# + +P hH )!AW{jN 55ԠPWC}_ m-lH7a< ~6m:벡}6gCl(Ɇ~ ͱ^PCf5jX!?U e6޷y~lmAH5`L_@Y#dՠ `jxƭj؏ L0KTL:L8C 'K9AX9;D ZŬ (o ,, va`Ofcv-Ӄ~mC"Te+<[6K] ъ|}jF}04~Nfߐu~>ln{"1,xy F#+6,caͧ9fh 붹C,!fC?D" "DP!Tس>4$b,bxWҎQ$BM"D8D,ZD%d%%3Kf4UxKJFl{o%J&QwU"Z9;NPIa;Dy(ѫPI(Ithu4Qb&E MRd&ȄI-d2e"&B'](qj3x-:KSPAw7"QEhQ1$,B*1"~Iz%"LY021 #1BciۙI5g39xl *W@bF9g/bq(ƙ#CB!4L7P5Bث3tjWrf1 ʩM`WVNV匇3~rjTNuI)+řCN,sK_Ss>991g9cN 3g| sƃĜ8srJPN崭mHrx+ߎ|9rr~rS"gQANÊE/Axm/BN`Όӂq糉3n @~8cɎ8'G?G37g9MM}79⦯33333ԨnxΛqƛqƛqof,tTȭ_uSnϛy\MY.fx޴ț(orzƛx\MIA7L7=fݴA7kM +77=&߬7oZ}S7=fw&9x˺4V#;88MʯooQ߈޼mۏFbDoĀCg3IAPup@$3/$lxla"jxFd>a U1d Q1&+LVL00K -ɔC. ز1+>~N ̻ zwS*LT&ɄbI}@ c2a3m=nI(;#ܯ #)D0N9 BXL L(Z`5QAz<Fx&S] Bu":: BuBJ3uCDCnj@yXl-F5!;p~# ;y~<(~ ss5xEtpG'!<%X*W7n/pB,422sɎ np]V]gV+6D8̠2 V0c.mo,Ьх]n,/l[ǎx H ,a `.ڍPGY,:=yB@YbCY*,=m* ?,K(ؠz*LF4j?@ut ^%2cP0'δ}&LX"LȎ 92!? 1!&fBPB@B0B BB w :! PjB B^^!!7F D.a*vED!,BhX HjBBHWP<ڭDe" OP<#BDa D#BsDP>(PpBhABwBX#BwD!9#aFh7BN#tg!dPꇑP+}"Cb%ОvQ (! %_|Y PWW0_K WB}H ۔>^`Lʄz %̄Z>E&ȄΔ8%,N KTrQ kTBJH 92{&,70!;&|DŽ昐RB +RH +)X!9, cX pVf~ +Q*@ZBThS)C +Aa +(P( +k:('5J]BRh^ +K!G)(|H/  +BQ +ϔBsRϔ'OB{U),[=(mۚqRRR  йL +B*7<!Iҁ)Z   Fa& NȺQ󿭛5fdj\ya`fk~MSߩ!(B{9eAlU2jyȺe_ + B!,/KNr2- Yv:۱':ދ^lڰl8"a:f|c°n>8 B "f!B +estN P"B-"ĈPbY5$BWҎe.A O[Dv&b8M'xMpBqBpٯ$Gy [ * HI7)Tl,='3L*Nf8"N:wprhdPWBU1(Wi؃P%s \BQYL%$0K0KfrK&p sq-kFfxB (B!`Rq`7 fB +*jW"IJE0P ->QB /T&! ahc*c\!HFuug ̼ᴈ:U 4 4 5gfO* CRl1゠"CK4B *oNy7z1o::e kKC}.teS t%`~q@?:_N^^rɞ:Rɿҹ(Nui_#~M:+I_NvρN]l_@@:'8'~ss™sʯs~s)I9=ΩB7S^՝_zǜSw̩9'ʩyr:WeiIהrUNʉrvgGpvq)|oڸSv);p8eS 'vpN8/4n˳8Xd+jNSpұpNWpN8 ''? 8'pN=Ns8 9ᴝpNp88gXO'Ns8gSc=e{nE&q@q@~߽Jc!1${-8Y#!5C0`5DYkF c "f {ȝ4 fe2 ?1q7oFiGшӄƥeZC],ei}wh`Pz AHH|QLGmiB&2{(I  AV@#XD((D0 +BC H>i<ǐkʲ!Ciq+CA`Jfc`D;%:f!}\QG]27[b\ C>~AL>]v|1Y\U !yV) )f Rs@|ax$yQK[cZ`asc,$׹7fx#68ub5ddȜ 8`ep0V@Z,`WV*xRujmY^Aeoq%pkUk\C8/7yVuArgb7.5Xy ?>~XCd 5WhP7l?׭Ț&Fy|{?$\-2̓!n;P 3!_`BL L 1! N  N! D 6B1B(N 8!'PʣBh!~2#BwDDB +!Y!$/䅐6!DžPy/, "!/bN-D(z"dKf!B4D!"TCr WB(F !t#0°B9"4C`05°F|1°Fw!$H˕j_pPPBJJh_[ yys3k)!Y%KJWJ 铙P, `Bx3"2?32!{&˄fSB2JHV +!*ax%D`=eB 0!:&; aBtL(aBpN +I!8*g`P7,Tb!,$n + +P:*TGPBTBsRB +(C(d0B6P +H!) /z(PBR^ +qB{\ +qYϐBS +D +RF +}RHRxWs K2d)R PR PR}R PA@ݼqпq(P;@B @ @Г +v ( I'0AFJR0pA9LI@  &DI`ڂ5bb$=;Fl/r宨:Iw֓h۸]V?GtFPcx}54VmlxCCCs$|6C\AvAA !0R$B"A$$PBP )K.Lhۄ' [&&8M888d2Nn>| '#s_GXT'M6l2`".!UYVd .!Ti؃P%s \Bvԉ*Ѐ&p &pnu &p si:!PHB +(P]vP!H@UX! ++$^kH"-Y4Zl!RB /D ax-BKGۑ +$Ѻ3fJxfV=3 Z-}`. -, !C=HjBp;$-!!mWt\JAWbí_ RwNJJmOcN?9999s˘攰[˟͜﬜PN_9)SWNוz{lo7R͖'/n)qɺ7cTu(O ndiY :PWv[I8'oț@o}РYo э0A6(Q5#% +#F G%M8 I> j府"%"CNp2 +!BX_Ic եJD|&RxDw<9q AsHc4\p"́Q1̱NNDX!ax2Ǿ{:E9Pr#,|)<~ ;!AUdG;#aG;Pʬ`ݖv#‚u86FFd UܐI.ΪVSr;tD0 2h %`bcqA[ԷrD\Yl| vY8-LP@HXW+Vhl,_}Ă +X^qˆ +BgP@,бat(bux͟j B d/`;1}T + +NH B!?d BPpNpLpJpHpF0D!Y"F !BB~ApH Kп ]#$4&$@By#$#4cЌa.aC5E!#Q"[DjhO4BO#TcP3BuF2B|e#DgCd0!BDȞ!_0'B܋Gz"TKx5BFȷ07BF#$cЍ1B3FDjP!0Dh"LKhЍ3B7F ![$L0 aB¼hP[P=> ڟRl?3dBe—0!&#L:k'9T VN )'眐wBv e~( + œ 4=y*C ("U +`A6ĦADyhB!@ +(B.QD=!J.TR@tu$gIeGfRdGB_AוuWI;aM5%N$T#)#.qk]:XIqR7ڒHp9E^phbʮuukUO(+>?+9.CCCAx$z6C\l-Mn2*$! ƀ HEKrF0Yh]~a`l!sH,ʃPXA978[֤iHIzS妉79<9d@< +8S(d\y'';lRĀ N.6DdXYd TVu,*@H$&*@P&H2 MLЄ2[9 y e5So+O-%P(D j@*EwBq2U@r%W(fDTtK \v K^藰 4LXbq+y,輺+gJfvf \MfAmBh9 +uJOÄàEkmUx$6T M b)pt?dƝo>8St>/|/Cq:V:tK'ݑN'+%a?D:5s峥=S?:㵡tiǡtta贗x:dq眓suNIss+\8N8)$/>b錓0N~'dgqeqe_c$/8]qƉOqq)Џ"xY#Dc#TgP3BuF !:#"$Cq%BDȞB8^]DP-#kv!6°Fh#tgn3B7F~!BqD9"LCn0-1B7F!$Ln0-G:$ty &QB5JoUB㟶DBL$_ٍJ =7cVu=N+B~ c$l/UJ+c&ԫLȿL&ā &] ۖZj y+' )'眐wBz&P(o BڶQ-}?mFBt{JUc%7AoՠmkȜH'&]lv I Mc< 0(4'A^tgǸ<ЩK,k#)vSiWtGG +ծo2đe5aeaBY8r/f^[=rPY_]AoG?X/^7b,h(OYP7HrhDQ2B-zh4͵_%[ ( {!C JV YQF[KĪWFNJ\8~sYsUL@X)Ur|DGM69lA&L,9TQU,B X>AD`J@1(U"*!J@]%DI7Vns7P(#URU&M@8u %Ǖ)d +*T VANJ!:W@(,Y@h-[@rg * cLLb/+=U5C̀!f@x3{)Q<~B9&iU"t :Fq?{"8qprv;#})r(9e@Nx +9ܹog2'+Kε|s̜<2ɿyJ9B9uRN{Z9(gyR9;)gy^9rԭ.۔5Yn g4NaƉ7n''mr82NTq!)b彍?8q&ԉ88u"-_Z8m ]NzN8qNg_|$ \7dml>2\\\\\̸)⦭nfrwYܞ)3nʈpC7yMun覌Iun򳺉n ݴI7n Lin 7&nڄuMt&ݴ ݴI7a:]My)_Λ6fyM|S&ߔma^Ȱ]m +Nx!o@or7 g:o ߐ7辱_fG&k3o7 7EA6cB B]4pنo)N~% gxobe(:1z?Q1J9YbR{ga$%[&gP\:jjr!M8bﴀ_LWgeRaPL2 +}@ #ptI=I(1#,-Btt!bB $ c= LA{=z 6tSMLwŹ'DCc淁 :hP4ã1|dr yfB&\(! JHҬtU 묄8*!L3Ȅt81!40 L:0!LN$0Q!LVꁅ:bX҈eB*ԁ +uBP'*ԉ +uBP?B),]Pw@^BNPX'(8A! RHY +,:J!R,xH=.͛5!| )WJR)+H}ymu*m^˶$}<}CV @+ +H +B'QBXI=ERvbcT *V @+ +`S~M*!.?ZAIhP&tf_W$|4 | @A4C82!lMY-ZY8r/zM +@W~? 7O} {˩cOd,l(GP$94(vh?>@}G @@@ "]!X}v ("E@8,($I@*X (0@8M M@&Nh'‰Gģ'qӋρ&M0.*qV\,t Xi% LaB0K@%֏~kD.A ]„.-0K@~Hfkf6<} +H( RPr7 +6RZ ++W|AfQZ@n>\@vN + .W 1 W@(뙚љ_=㷤g|4=8Ty =!쑞I1?!p$F@ـPmFoNz܏g. b]Ĵi_ i,? +:eNK:I +us-AF:9?I:y,I t@ G}.3;'\8'~ss•ss~s/+ԯqNADžw:'sڟA)WYSsœ _強rwԻٟSNgU9W9*焜qN9 7)7?'O'p 8yN~8/‰_.vN; A8i 8' Ip,B8y~_8mNYN\O©p wN^N pr p"zN]8.qJ>':qB'8a1N^lׂ`2J@$# +KC$ϖ4yX" Yc v# -0``#\x1\ӎxhÀӎ0 lC`ms*+[ /nl}v>'{=^=+Ίi ; pAcF\?u!lmN'llbŦ/ {zJyqaKt-͡EZ-m-}+R5|SCohCXXLsV؎c6*_7w}/ELl^b{}`:ㅆqpf4p:p">`8IÉtb3?T%g*fo +GᬢpV1bg #lL|># +}@aD'6 IAsKxW>p&ё Vq +PzO^b3@lZO@8^A"ٚNOC<s`w+4X,8b0x;>^69\9<`?T +'t4g  N|`C+ 0@`ձ3`|0< 1;tp*:o|A89pp&>8X郃pƂZ)UҸ9]*eJuRJ>G+~?%Vj/܉v7V+ASSkkwS_`%̱/?+qJ| V;ZRX K%X’,adK¥Rp)pSsRDK,Rh)K%Z-ez{`iSKz X`IS%X,} +4K\%K,yM2'K%dGI qIJLja,psKcjܷѢ#otX1nظ!;J~݈QF#ZŮ/ӎ;9lfA+Рro5ꠤ닝\PC(cyإLmK쥎*:ߊb/]0e]TAB`Fy<ޜP6x|%u<ȳ- .(cYյD{RI[8 CS"ٞ0e%F_VFZ8^A! Hzolis!s/uCKoq|Yo }ݎY7# ,fA`PFuĝask=tK܂;G20nVrZJ\7=QW-SݱC]/|6P!_ 񂊞 klv4{ǽG 摸cx"~4# tAAA tAx(JBAu CA(BA(BA';5`C +;8{$u.Bydho*"`7#ăݩ8~PB/&#-klT;&Z㖞㊘w] +`Jm_p;#z]VQ^3L^6Z%AsM:; >O!@' B*D!BCD(!EbD(qx $DJY"t pLD'[`!Nhq&BBX8qb%pm8 j3d&L.Qc6rzqaHv]b%d%KKtD%d%d-ng%dPv^v5q"ԉ'BE(!QFrn "*BcEQ3Q,^-B"t8\rEh!^Č|#f "4UjEnjbƿIi3vaNwޫs@1@rFH̭׾S/Cq5h!4BՈYD!S_ƗS&vZ9ʑϜѣ㍏6i̙.?]9B9J9W9r)gKέOVΟ!i9eAN}r) r 9qo8{D7g8q2NW_fqN9otWyS}M;|Ӿ7k|u 9,)'ߔwM~7IߤwM{7OaݴźI >4Liߜ7aM8&>oƒ o7ě|M>&xW7&XބoE7Qݔ nU7M{B7Iǫɫnp4<ʛFXaX;D2DA BԅフӃAw4;y40r})*_Bp0p777poXްޘƝ7y#b+B{ccOCrCs`7[My1 VG̱{ sP mDqpeCPsс4K]x0Ǯ/S+/ ycWen֑({@zzܸ҃uH@1miOlE$p܀6A';6_P*lXI.ǂ#K2ghi  0t 8?( " +|WPaֵam9]U X]r6v}n i~3I72+FXE?Pnm'6žK;`(|'!O&Y Z9ls' utXnn D_]%B~D!LF?LF(b,F(lr !,F'"WP_ BV"$?D8$:x#b9I>L$OI8%I$jO%QOXsy{nFFnsQ_h7nhڍHSQ?(SvMSѦvF6buaj8p/4i G0ue8ʟv񀱃\˘:^AhRtH\P1 1i=RP!4/xxGQ?% ٖUR +xNxs*O*bAWׂpp8)ar3xM5/ vVΪ$l4B

2ľ#M(!M\&BP&ؑjzie"JD#˱\&BP&BH~yhff+tPD7)B<;`PEh!VZrE+BbQhZ[pEvq"ԋ/B9#FT FIS[y,Bxu<]%Ec5%%wd'aJLJ8c%:xTKp1USeķJ}+;W+qʕz%WJ>IPƂ]r&["Oa0Y`a"L ujR;~JF0KNTFP(6(a` ,IJ@(;M +,D LER1PH:3+vV"#x"/€AGv\Cs WXi$)uߏ/x[[41&| GaZ{y}ܦG^͵F %1F%?n$T-# (aBG0!%єƔxN JTk";B ׈5KYz[n4Y[.Arq'dxxE⹦M ٥gx!@T>a/8R# FBm(҄žca^PېMhM7Y~B`~Mg61kc˺eS*>-xB74?ډ 0 -(]ʱZ+!9-ۂXrΜ@u-}MUGQƣ +qguҳA!`E}PXA:11i9MCA}T;&>7giTqfP?H`:z1=/sԩuzU9"ck;fHvÚcm\ؚnD!d$f;nţ:cIS!N;J +<.1:v=X8}]Y/;V{,羕XQsy~T޳Ntۊ^V1y4d2>EU<}b?z;ʵh|$S`MǙȾ7eN +s̜̉ sœpǜ͜Ȝ0^gN_9sړBF2)s8^vN/@'}; : A'H)t W:2txx:iN[SЩpN|sUg9'a9)sp:]SWN sS/Ωw9}vN:Ήᜰ@,)og3t'NXSg tte:uNN7t:oNƢW:WScIOqN[SsqN , s0'vX<8+[G94949jq8XGc6AErFl=Dr>EP9X.:@!(SFq) CۆUS9kx &i8,MR*gbpxUrİrx-~QPP/F \h>|gn,pjB' ^?**6X9RX9QR OxU G4( <w@$ =FRq!dӕ1  t>pi7enca( o%8UM +IU0upw=EB CG/F !1t =CǼVu ЎPW>q7+vL}z xx,Uq\5;<ܡ~gܡGw +xd;Iq@`k@ ΀(d` cpAXT` +Ha](hp^1XwJD~A +ƈɏcH3$fI^my髻д~[dze@~XHbjtRoc{?l?N6_Rද/'zᵟrB pB SNȃ'PBa +핹oPP +( +eA +kPR^ע.BPG(#P +  +|B;0_SP(g~ #Nhg.rB*Q;} +068Ä#Lx Lh&,2anτ|)Z7'PF';8!F'NH 68!PNx:atB;!/r:^섲G0PB=ҥP^k1mj[Ӷ6#TV*+@-Е +}(Pa )h*V TVsnзl~ *kN}1 |+ D`.dh L :-FLJa3=8r`"rpbۅ(ԛ0B2'W?RB=ǏmNoWݼ@3"4"o99Ko1c#<F@,Mߛ-(u( "$"(" +#$!0@P%%&B&'*pb6i5l 68'''1u5:qd.QYၨY/f R-!dbr7LLLeLLI_V 0462<>@BQEE E(E0E8EPUz~bO(Њϡ˞0Kd"b%Ћ^^E.#E(\Mg4glx\΅-ac `l%1־B*xF;hQt!T#!\#爐0L gW?ѿQ8G'+׹~-ti#tC'IoSЩ/|V:EҙR0U:[SҙG:tL7N}CǽSu:u|#u:iuԙԙoSԙԙS]!q鴳iWIg8N=JIgӾ:H=ԙOSA:<ioK:({tҁ:@5ԩ{MuHv#uH|:@:|>f^+= +5 +갊~C^h^^$ִ~:zqPwx3PCwx (LSB=BaJ(wP(6R)@P/9(L3Ph?'Nh8!ۦӝо NqBPaB&<&kLhgB yk]9' NHG' tpB:<8 NH'N88!} 󭝐a [P/vBYށ#P(B +R(N65Cao()P% С J7PBY +*)K(PPQR .0D +2D qfg_5w>_=Èс#GsxB Q1 L!SPЃ),{sH4vE:͋dK #=czjD~e8΍#azc#Ə:EB9 EcF?A9uUN2~9i'sN}9!/Ĝ2zbW0'-Ωs8g윴8'=sN:으8==7tt?C:Hgt?A:eNs:责]9YS攏aN,v9+1'}椟ɜvbN^ӎ3^sQ9$ݴc~s윺:gSɡSAg?t::oSKpGsCsPsT9`trxۃ9 HcAsnE/ZsJlG=|`s`` #l֘:G'eΖ ~oP?.U57aXAMh ADT8r#^7µ]~6[ +忥]-mwHRhgBZf)RH"tD +yB)_)JaB:WKalƱ9R(,P? +_BPO Ba?!(LN(ʻt ~N:N8!ONȋ'l䄼8~U'?0MLh „0-Lh ̄LE TB][QBPW%l%I zR&e˄W0QF}ʧ2? ibBZ~N7' uqB]P' uqBP ]Aa$CcBh(3 +PBPם'\vz':onm.ڂ=E P! P)fl_B +л­HE-BzT)T9Rkܤ:JNx - +3D◸or>A>T ?F3A !8"8KDz ;Rk@@(V|W%! 9>g;ry*u8#czֈ:qQ^čq9b?GaOݦTV bS $"4d"8$4ux$jD"D0 ,\"Dn +(Mz~2ch"a 3[q7x62l%6ljqrɝ&wab.:+:zneK4xD01CVhK 0%LID &D ..`K~2*ۨщ'P$"E0A)Sĝ9q\T"`Ew W`Ir@K԰EpmQ.]z#JK#N#g#D2Qfk84~g~ W5@#1ͭd{_*Fu0ͽV^!F#1[J7bՅo9= ]=%s$#1{ҩtWY:aE:tqlt"L:{J:8'9sG89}}'8ΩsQӏB'Q:dҩ/@<:V\O +E:uN錇8{SfJɇgIǥStغ禎gX'}ou]8F?:eNs:괣"]X:YSWCgM{O}uBK(ד7jo#xcic 0W[i-$DcKFͧ=gG"xt+#V$QJޑ<xlI&L +??R2ID qDW#TE4 9DcC B!Κ?қC?h) /"~x˱5l%|1c @;;{I{I;A/Ik/is/zIzIZzI:KKKKo/%K/Ig%?zjKL^iϴ26Xvcx{}0z(r0*n"K"8H1PLC#BD!)LH1bS]7I1bxQM^Ǚ:ME~!^/]4 Ʌ>Wm:zRM̓S +a"5ABJiXQH( G80hє@0!@x,![lHI_dQGa#N?ɻW>MF"B!aCZ/caE"Dڋ>!DB"AZO+t'6߉}wXeЏtwsou¯0mL^{b'םNvz':iLg]K_(dߞK +.Wsйq­H=-Gmmi8A`M'$;ŠNllG 6D'VJ} _ Q KcߵFlFtgrʮѩh(LƇMӯڨ%DФ͇"!D>1p +_c!=t [--J٫WQ>7)~~~F:"u7Np+9%6:8x#>M ď/M ])$`H0D(;a`s#8Hrw!&e[*V_(&LmD|IPB(adP7 +@ :ԙBPB kIhVɘL^6>e?Z98pmH䗄- M 6KʬLiA2'0XE>i\=P8g @>kBy(DK.##Q,@av8LD!vl>fG`vT`vThvT(v\~~z2IYĐ4/G.r]n]yaadꃙ2SZj|` +G[2Yq勵aC9, JC[ۜ)7:0fБbn`Zֻf/9(!g0P1Cʨ1qevI9i-oY b_X"EXl d u4 \% Iu"BONCl*} m?,  CbU#%dVm|D#aagΚYBn4G5 c?o'о/ C0xC mbX)btXX .OU EndX? E 6 kd/2dX> aay ۋm./1X b@ a{'0=9m*۞XaQseU*`etT(F A<>Y$jh< )L h{E">ausk䖏)CX AG9bT&9']{6ot}6kSlΫ3?/X!>ӂ:?9 :$lh+{RlIM*c# &dh 4 l4 lRF9Z[CӥlL,kFr$dm B 1 +25Hu`afV@L՘2[6>(|%PD~DdYHA +: +'pxܙ>%F#CZ?ߦ Y2Ur Ph b x.‚=eG;/EcQ |.Ùv^˻ `t3ŧV4 dQԩPl"H'n3[f_ y&*Ebcc0>7sg@me{9{sf.8qT1]FFÎ:"u.LgnCzP!EPiKwTƱ$Ԏh=JLk`im*:4RckdFU%UR +"+eWEQFo]Ga*"T51ѦMQhku2:ٰͮIG=fg"dPi3vt"wsdf KH%߻Li Jǎyb:#رNHWW;wuq厶qGrGk玺qGڸqx;q7w䱁;!w̍;~;wGܑ6wԇ1ܑGySw;xR)G\#7;}^~?jQj|yA]p0jAxm1!~@ w RC;1n@I_|bHD"EM5p$ 1 I_NF'{{u1N0?{~̷;O[7AiF>g7AF}~}G6пl?MIhzI?>|[ӁMAt}^Wyf0U^nXO5ECFZ18v;>-H]F"HT9.fC S9[-J&Ȓ C`tC2NhL[6f[. Dĩr˦'<=5Ò 6 GE*an DӴf7էP%*D<``wV9l;xf呚|34٦1F:x2T" ;T=h3XZH_]O9YV\X._B/cnXi{7/)[Ű`tT +Q9(v:4{bh VFNt!wϜ*zJʲw4J.m>6{ kK~! [fni<09{!kGJ^ܭÌ4}7G;BCɜ2>߹K֍pFІpCn!aLJ] Nb6Nj[@J+V99A`"9i"sr!dA2q\H { 9A d8c1H "pAf,bL`D`wA`Q$s.D6$MM 7RZߜ""7v @-FAzT}Kr2O;==|\=B>p +CDbS A z'3'1$ˎ'15@ |:񩨠~b**}f!}nH>{v c/t Qval¸k.G+~!kptcm ڇ8oN0~ 띠oN _NF@پ@C +MIRj3 +}Z7!qXPwXoCyj6h3~!|u=fYiX3Y.K,/buql VAR;tzKk +V1,U| QOӌ_kDCGOHqYl!{-jT*gΒVr( o@3ӯwϝ?YW˃lסBd1f_NSu/ӸUXw'Ŷ[XZ_ȓfѩᷙKH%J"3Dyc[RIKH%&:IT:J9}BHHGAy$H$L/LNLlge$l$hW2͕LdRyoubqL\Rѡ:1ƱcobK+Φ De=AoN?=>릶T?[-H:8+R7 0*Yce)Μ䐬~] NMɩƦ4]'OpW)*j+I-A-T"Ud +RU8W*V)EQ[rў[꓌Xia' fܦ\GoMg.mu!^3vt,Ua_&R僪.JJ\=Ճ:U%ݩk:Z{޷mY<./K?.?p\q}q|qiqKǷ>_aiai3K|X~XthHӟ8 < ˉ3 N{E/q?8"{D.9>6rwB +9Oٞ}a8%&vӷ|/ێ! FӢgJcp 8)0qёwD֛[=gVTA8a 8)8PqF'%"h/`fS ڰ!5"Qo2ih4W{_e2HS=W , +ETR]ͼHvcJ1@I=% l"Q*&; #tp00c$DpB@HDL dV!\Az5#;PCް(@D F{6CTب + +waOEcvIh6F܋#dl9c)bcl8Êʫ&GˊPā># q5-qd)+FiCKmZttc5ll]s$hڸ0 20FgL,k>BXZH+DBm|ιh39}TaK-hwz# ujQ?R,ilUvD=YD_h5UT +5WB<б0dX*C5Ս,.2T^Ɨm98R4,pA):)W b-|G[_KU3Jx^]^~ #$fflF%lO W|%ϡG*a7>G#e+H9֏-پpCUk?@ As? lZZ4--?j`#;F9 !BKߺڥ9} AtRIJ=; V>t=Ghru)$_-!Mm=G뗉z&C&Cu5AeK>h:Ԓ qˬ2EرJw Wȴ8I+3ry~$?d>V=7Uz#žZ|Z\p| k[;Nq8p'yn|@T˴L B"bH +oC Rr`?uqSO#$@wXˁ-s`UaLy}3#ib<2dl +'G6(T@O`II{prO837Mn0Iye2%2ҜM*iA6K=\K%K`Q6-$%$^H,ɏ*bI(Am>|ʣ ;N> Ec?%d/SR X%@+Wjdq Zl 8ewE<9%%J& +F\Zqtn`ƿ3L5ٜ+)w'A]5gRbA8ÜB8S~*t``Y CTH" Xtq APB0}] Vm2ˌ~$̿ E @BH8{:]Z_LctSXA]]*6_T\p|k-;Nk8De^#a0n%9嗌A,|]I:(t~I 6tswdw(jAM-ABP! BE,6X (c"9^>{>&94/.0>ƤSyƎI.t4u:z`vC1+Yd͂MdP+@_m8Hں_HALڪ""pC!zJۥ +5pC@Cd$:0a0d&Kpq^ E}+M +VCY j'U r$c@Ru޺d) !GXD& ?h I EDEDnAU$A6 ՔER 2*IK,i-5`vC~#2[1$ BxY"+"l7F9!3B +FH_#K#_9#`ЂZ0B Fh)# #R0#BvD؞%x"HPN"l'B/"BDh5BF(Fؼ8z#tgН3F$BsDasD@'BrF=;#$=GG$ ;ǑSBJxd]SQ I%J㳘}'_'|s?6~,φc˼Ax(_B8% (q!ۥ~ڍ_)}sb+R +5Jy)t' +A8(r =BR^ +BBvP +](НrpB; )@!)@H kasXȿ;,p,p,p{,SX'6gPB;*%T +Q:*@PF_ZE+BV +9Z!VBr_X>iViV> +kVؾ +S4,8d*/+Ȝ`XA` VӒdWto]z /=tɞZE TٕcZd9Y;H,MoYhM*ǦEVD2bL ȿI< WR`͚$d|RGJIMF#E + +PJt9CjPh|h.l<5p>/ a,xqܕPЏ&ֳNi;zrD`(f| rƆ g~Ic A6tӇwdw(kGfB +nnQ{"22A#wyav"w䯤Ce@D-9G,L%[6 N66:,Dl +Nv QyPC 's5lR}JCS)&B^\BlTPҰ!K0s &pԣv01.|#`".eL?fO-jhEƖ3/~H3St·C> :哠|tנ|-tz:tsjpNuV~,Iɿ9999sڧ9-CJOqݝS/Ӄs;ӟwN'ΩdM{S^sNv99:'8M眘sR 9'㜈^NKi8Dv"N;Ni8U5'8僌Sqqq/6m\C>8E4oS"rGN)9#y䔈䕳xrrPzR)iȩ)9儜r 9# g 9rF@8!g\ g #rV#rzDN9@N?!䌀5"'_ rZPN/*9KW^r2VP9DrrmH19S@9{Hwj!rĔC*g3YApl kJ!ox qm `QeP+44AQg -C(? 23`]5 0A2a{JrAr!Ar`1#!w[/oS`(U!:P~$kN8&}dg¼þhAuPU Nv`w5΋P2Jj6 +m/@GձqXgUK'n>&轰Ɯw$HSgr" 1 V/泂-M‚*ꍨ7R@T~@koXtmv d,p!~Ѩ!nۣbe$'kl!sK +-7Nv@olW3rhsxF M%4kuoL :6wѣ /Ĵv`.y&.^~3#0mbQmB} ++ +||wFnne_#BTZ  fTZA ,ݤT:W QAhRAhRAؕ +†M*!/aaRCHKdpg5:9!H!(!"BqdB²`ˆ Ɖ#k(D29pD\!|WbζmgdWt^eOde6g6lX6nYaq6Hc17|q? +D B"QۚP"B-"ĈPbl L`/:>D1]"P&6 m"DD '''3Nf4u>[iEoᒃ%J%¢Jd %SeD фL"DG$BI(I(W&J$(I(I6QB!O>k-S&Bm"ĉN<D{m\RJ2E!TĤ"U3,B"a-1:*ǓHE_dc +FaT*lgdHZf,3RiX2B2B2Bwe>M}12M1F <=S!"D(BbdusZ2r:? 8b‘'`lk!rA/t!˅/~'|po%5 qڧgƩd~e@O8W?huk:۲аmqG(#p.hQkpT[#&G(P8 &i + +i Bt#mmaz3ix &g8, -df, 5^4\f;j%W(>w:;=~OӐzzV׶)&)لdbI]@4 c"0Fh"t1 +!B J +Bl܌L&:lMeUm:䆁ޖYC"(u='1YcFƌyek66Іܐئ.;ň'Mw~`a,ɊYWI;Œ9 d8Um'헆8*!9@rLMxTBƬ@[ZӟU8QJ: t72SȠ1&1ҫuiu\ԛق,Y6]DUעLI <~Тн) u,jA_oS;;m{XLlSS"fR`mYhll {wm"yؚrn 6 j49?@8l*?u7*sT )^6-X8vlo6_ǡ?Z JhQBJHG%䗕~m%~ՌFo2BmFHd#~U$$/Hh8KWi.@%)% !^tK} J7<]<# (~H-$K ӜDA OPl~H xatnqt);_zfB qT?%1!j-w~O~L"YSZ8k ŧ'-' alkR%~{}-i eD}\f†jq*I"]F_e#>o?}@1! +12#D1dEa҈jyD5Eb$$`/*Acc%L 2Yz?ϳ0k򳩤M8'88IIIU~'>'NN49er]bPVC. %؎[q~%Fwt YbtXbt YOgKs%>o0oK=H,1dy%F}X)|mەCyb (QΨ4wbp*Fb +F7"YT-Fb .]<~Ӭ#A|c w#mti;Ԋ2513qL2iVr̓Kg0\`3Q3Q7Aecy~4a j|8p5#FbQ0zr ҧIv5BcR9^<߇9 sF߯|tW9,卵[)gls8g)v眉9mbN0M̹QN_PΏ8v;eG VQ䦍QqɟT6gGAz;YPټa(aYfB[*+N 3Q׋>lg߳塦gϣVߏlvVlu&6:M\$ +`/*C |D\зx/x==*=kJ<>3oJY"X)iRP)3ʄ(_pL\>/LтB W0Vp*T0S0Rx@<840A$1J )l V"!! k/PX a%396zN$(TrGl@srKATZj©b+*Ʊ©b+*Ʊb+>US%EVoS+1cqpcjXmn>Ic4L1R18PTiP?}谚,:'gK,8]bb08b_QrD&Q:8pGqX '~1v%i{W߲*oji:gNsTB5TfjMyIL"5tK8]fֻm`xeQxՏ0v_qRGq"ƕj ,YƙeZƩe[s +|O1O]ek}/.2/$B+J (18:@ȄR)mwδs3xԉżaTڋ1DSԁlҢu_{10NYsQ<01(6"DcU3[b_NB>`1f1&O"21r7 <=4OAgIYLiyIOf"TTdX,L$#c1f#c2#Uǽ IdF*#9eVe$cHbF2$!(#%_(3)%51(S687>ƸdLEztJLzo}?paٌdN٩ntiql:gs!2gY^$>'Iqlu42'OS.Y&ᬓpE8uN.I rE9œ499mbN~9Ȝ61].i sڅ9mfN2'&,,rI9N9mDNEN__O)r9iR2)gFQ9uVNGY9yVN>rڳHkSfQ9J䬟|rAFl6!g{;r&8}> rI7ɿ888q,3'D1Sn&?az8bz㴿yo&'8y0Ngq.Ĺo.tSߤg}8m>i3p 6i'p8m:go\&I8uN{p֗Џ a1Q8I8N{G'8x޽g;yÒ89qb q"V)F11Džc$NA T8nޠ!@)  ?K6pd.K!f2 %c( 6./{!x!D7xqL. }3u5]俧0DzqNaEPX'\',h2r.*^DBpᴖEHJ!!C"!A(C`%}=HãTVND̑Rųn_$V$V6 3S8Hd,?CF q8N@ƍ;PaB#w>:}%Z;~, !9B6ԭ!MTTk;فmz>lg|BuH^`G1"7 b5( .]:0e(2h  0ts\\״#ʂ+ +WQS2{T1`s~S,kI#*>Y(BeP^Eyŭq>PB>PB>V,V e/c =3\+G(ׄj8-4n 4{ `+ X΄w(a(]+0;0(_]/;a>uBoqB Nq*֟ XBPBǡPBa +}"ۥ0~+RPczI +S),)ܠZBPhOg(P(vI?B P +E('q9a'PJBIX(A CZhQ [B} 3`a&,̄0fŒXB+d+gVS*@=QaOTzBMT( +-XaVO0fBV +5[^VX?lcS +VX +;о +YaoV؏231X>N9m`b2A,` +`|r>T-z! m0Y6j}Ăp,G$`AJ\q1 4ryF)S(a:+iE)D#$08CRBy^-tM&[xB墹PazD8,x_.vXOOot=9#*sحkR;>8Ç@ߝ,k8Dh!B~it%""Œ,V4E1Mi'䯢CK׻pG[6#dnL 谈DNm8qbB$W>z=N.\4drD]"̫ā0KKY&pw&v0K0qaBi]" +D a.„.zm磝_D!Pą"$(!SĜ"P*B"ĊV\z&Q(+Y䜞ӿ9u?zl@':S_qNy9s]9$!J_;ꜙ~9Ι9n?j,u?mt58'L 9U!0kޡZ"tjQk2;8=¿<${Ngq,"U=F gk!ArǢr-,r׎F7:i˅oG.pXTP{ecOSŔb )xQ"A?|5{ȹbV vǙn)>PzGiNmBP&ǟV%\,J&[FF-`mw jXp /, 33uΆnM +Xb!NAr,y -]f7/#\ !znR7BG1e3dၡ놳NkXu!!B!!C`؂gdC!B 1c]@"tN;ܱJ2@cAڏC{pR:pqq^R 0Cwh06=]Ƣ圶@Ǧ, a  +`!>W Ÿ٧PT[ъK_jr㜀& SBNXwN!O# P! l +|*!W^&)n <oalX\]/a{ꆞ0Z`C lh -=eÞP#JtCnX 5&6ГZPPƥPJrCIp(I%ѡ;١E;lM:@0fLt3aВZПa^pO=ap59 =a>rQ5ʡf9,za8=e?Fpâ*pd]?BݶF0qXV vddp1@1 kic2b% Ȗpd0Ў3J1 PB:A@ܫ&^$01A !4BE!pI(D ) +!)bZ\cug_u=*&m!Vݩ O_`6F2' Bc)3:gbJߤ5n kְHh}ukd-!t[ f/~qD^ڸb}ʢz$*BDR鯜=Ğί=YdzERYG -G&=Qӣ\e:c(6 0G$Gf&G ((4G %_jHHH"<@ݮFX&717FHʍ΍o%nl@ -'U,R4I'ؒ(>?~6MsTTQ'nT */ǍeQ 77 7Q\EgkF+h,֧mA9m7mp˗q(V_OMI#GNX9߆ /X? I9 9#G~1G1G%125-XQUfz :Vtйt$R +L̒&rr!wI!`L߅ޯ녵A%X9C$єyiԑRpGF|xX|UO1d}7U'v !L)@$UP+V4#-O +VYCrI&LPH0Ji$g$Fa +?;\ +PyI(GjGIrPK.rF/!_B#1&+[ޮd8FLR$M2I425IT5Q6 a=ChrMěbikMm0kk;K('sܸ8TB"֚n!JzI:.H1 I2FޤӞA}'? :o@gY? :ςxyyqN{qNaV!00%zY㕒`Q T ݔ~ݨ*.$U@ hU RT+I@SOR5V@ (U #bUʀ@UM:g_W+#zK9xIw]]1r]LW+ϕ:*M[Iff2?$)BYCQdeejM/IYNjϾ#*\]@>:])j4*O;2RM;yDc>0By[)"u靽D7x @Hk18F h-v+T/P%]93A}e" &Ғ \fyZӷ<'|: D +lxR8fCx~Qp4`$Å +1e\.#:8iM;~ZzRN$;R"hMCڣV˧! +ic7|du/#_ _Ip`lˢ4(V.Eûn-c#u5[8242ٍg"+`!@mt8; ƨKL6בؽn#q IƹǑuQW 2[lQ岁w}5B.ag]w9vX(̖-ڢ=|CE^:nX>=b5O?W?2|mz 2uoPo$dA>sL:7@4xh0a@cإRJ;4u KW'[qe.;~IVD4Cʎ~fX:1~a+zXC(Vl2llNAa68 v>`X Lwo~_T;N>8oB9?84~P[`hXQ7xГ(0:!*Rk5%dL6F9@b )[̡'%w;P \,V06:<ăGSHtP7@wт|}`u,aPKa +O/" +!ZHh"&BUX[7Y0 Re4 Ix8'[g&Ʒ#b% %FA ؼocN.^X2KޑU%[Xӱ)d~^."6bj?ufS)cgYccl`/dmCѹV Th?|rGU|d ppSY糩rѳ9q̹qI">5֕\쐝O8χ/B5 Iw㨔{N9 +!wGpUt/7ΰ9X-8==)Sك%:gQ3b),Sq'b}c}•imR٘K9_e6vxݒ,_}c=}'{[LL].rBD:-ӪTttEhpd\Qq8pYU"br #7aE|zț!xYt2ϰt^ '90!AGq6,`3SMY0|&YE)֋m +#mm8G{B_Cn@ȗ~fHR oүsc ~|4?A21eU.zrNCOќёltQn(T-~d'+xْ}}5°sMR2lDx s Ⱦ&U0jSVjg0L=1؇2PJȠ$Vf t9 ?=8n}Kj1Q`,4(8T2dO14^caĦ*QWO &UEC󣕝lUNqLfAXXTDVc?OʖSgW?yX%162|F YvɌ + ?-<12992R-C6lb +`艄/¦X,Y;$q\q̪|"*'M?~Y?/GW!i +1krv"8g |溑9Q u)>M ݭES5)k3eEºacF,:Pg9ٜń88ct=א(m- nKOYm6{D_jE ~Kq/_4D3/m֤dGD uUqDԓG֊e[y}YIC L$熔Eݔ}^Y,NR>cOMDrB␯ kuL_K4R_a"0Q/r0))F&`hz؍-a)ʀ`)I]2Xrrjt+z  b*j7M WwZY:᛿vLP A\s@T;Nͫ}$ 8heˀ[,I^W4s(Ɂ2EsPH`tjq{RedRjTHk-Þ'*t\lf*:?ū=z_~^*Yx5]li %8y{S'(8|9;w<:^߱Kyb|sz0>+mblʟY!L$>BaUzo'3i6ت;IeQ4=[]hUx0GΦWL}J\:e-m߽<~QЬIvvV9ݫJto iVr~]*_R;׺cH%29/ɲ/%= ]$2 +NhIo+}0`$IKTk+SPc0N$$<~ӵI%79Q̰%XRt"s):KLd)%jgۈԤrb&;eަeU Gr*ǮO Hr'g9~)]hbvAR{ +.lmŹ4]vM1_Fz=UTw1jVp*KvnO#xT!\u]= b4bAYˊg[Ԓ*9`j}["Iť Vzap\WJ"uZ:aeIX(u56Ŀ9>>hC.@ZSfa>(8ڊ?E j uҁu7Vʏ4P٤zsِr ſ=&<*%U%~?Q+dqTXxpr $AD*dVQQFeI/Py5=]&@|خ '{;~rV:` 9TQ{06EqokĪ{B6'Rw֑ڨUJU=w-6E/y\2zGn΋e}|7E@6᫋A8W Ul9?ΨxE7]Аg9$ΪG-ӊ Q@ sI,UrD&XdMTm,.emC;ElMz.}[š`ySӽ/*ԥ$)frN"jUQ([#H-x'~Hq{a+X4`DgnU~S9XVaਙ 駪Z[]5ZH:#I=n% DIM_3kxrsP )=IT۴5Qo^ -œv4Kw+84sf_1574= m[Wݏ*9*ČpƓ|jNbLO?Q6.!Y?'zt4 ~^}zyw:ShE VES{mxùY&;ˢR*=Z}w)jsƢ81sƿ9ߜ?=cW5g(I >71Snٶ$B1_Dbn&?MEhe܃7[h l1]n'KTVA B,ցw[:WI:=hۛ)h@LNb,M.13ȥ+{B0IwX5kM -3x?8ʓ#JSA̻sc+Z2c_īdZW$t|н +=uޖO`g!r~dʟ*lOu"Imy0ED]p@Ohr&z*CM4EQ ' LUykgv+f iN"!Zr575 +wӺ3-&j8ɔ2fٕ"%zvNRvd(nT/E3'Tay3b&3xx3- ӭ^s*?O*mq)sekafVYQxzohVIJ˄l5.=kV /E̓Qy>q^(R#FEXɍ}S(&5zef쪼0RlI$ɖ&5ݴ7]L2&CMfS׉ 5vct2b1/8BNqFLSd8ZnX~ mDek⶧ nq;M\, (/c^!~o^nl9h lݢ޾A/8(c!pq@ +`-ExJaAx.b}['Sm]œy+{(‘=z} +W#&Lk+߸, }|,wt\ 9MR5F#SN;FY$wH}ަ~u%cW4DLJihc uk9U| Zh$&%6FL᥈[)KձQ sIL_a`⏈ΓϤ)sT!$&&x-0t%T:H$KYwZ$Ͼ(8|DGCऽ|q;~rV:` 9TQ{06fu~$蜷π\vMS~#OMyck *\.|p5|5-f/܅ѨU%WA=EFkhfhM(@~Κjx!UuoŠ h!?D2-'QdieK +b &0۰FldC;PK(S=;IbS(bb!{5$er"񁞺4v޴J$\3W]Q jPκPXFTc/F+I$߀R^ yaP̉6$b<~wےR*__ Bs!cʑ`SR .>wؽ̀e]@UtLv"jɽ;XWR2NyJ@@-sSH;v֔Ztϱ}A2.0*ʠI]I1кۏ+Ǔ+WW3BULQ$q etrXrYaic }QˣP5-_߿2;1fg/el\w5%"0?'G=+hLҌ69?hRؠ)2 w:k #gt%&ˁN5R;k}k [QmXQL.՞y s~_ZHA".G'yd@*3WݏBConj?i*T}l^q$]R8?%>OɌA`A6>< z60-mӛ]رQe>8abaWi 2*72pHPؑXɍ}, {uzs̶KwJQeJ U<"c','[+L1a&>%9~Eo,83q8@+֢N4NWv!o$/F&RN`jP&2호ΗJH@N5ܖl5}cH_EI6ͅZls(u?=已}O)n R W+!}%Ԟ^D)BҔľlTkh1] $2,Zre84E&FV|,da=D`4ɔ*'r]/ ++eFW)//U/'080=OԷǎ8n'XUx 8sz=o\X=:yhD:=?ó޹U3Uuu{EdW;d_@x@ ިq]3e˶vX-6nѥL;҄p^)2zj=@4\!cZt\>v mqllxKfTD:u5n)cLj|4bhВp&YC^ Hi-M{| (VS,q5[9 %*+4IX^X][`+ + +:3) [xJV53% n\YEHs)RP GRG;hk2.[Za*D}ɸWqHduGڻAyEUM\[X^1C*8SI̶Ue?M%>j @%5:c/Iw8jy|υ_ 3s endstream endobj 11 0 obj <>stream +8;Z\64-lZr%%L6]6oLIf$-kTk'W,eTf3-5dQSFH4^qL7+T!/d5V/da.^k2ml-`i3^ +MbYpP=!D2`0BG>-4'O!8Q$aP1qIh_Aes`gBKm_0*[hjO/n-6K5"89Vap>0\P# +Z9t=0)^A]+X`b<5;eXi41i]TGO4<5k]+X#-WDKQ;:L%V6DTjn2nK"ZkKh;f%dOMlo +RMkel&_@0#b02u>ONs"Z;'lH$AA3ubL/a;@gB78:U"Kmr +-jTX`hOYrGRb;AFAmQjRH\UV@le1P6TKe0uQrQUaoUVD^7N)*#W/m4&J-/8e_hco/ +X4d<)?H+:(jHYQHjig`AWl'rUC'Q9>o=WJA$2t^Ae:S!mi6MC+@FEO~> endstream endobj 12 0 obj [/Indexed/DeviceRGB 255 13 0 R] endobj 13 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 5 0 obj <> endobj 14 0 obj [/View/Design] endobj 15 0 obj <>>> endobj 10 0 obj <> endobj 9 0 obj <> endobj 16 0 obj <> endobj 17 0 obj <>stream +%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 17.0 %%AI8_CreatorVersion: 22.0.0 %%For: (Thiago) () %%Title: (androiaps.svg) %%CreationDate: 27/07/2018 11:39 %%Canvassize: 16383 %%BoundingBox: 35 -550 811 -49 %%HiResBoundingBox: 35.4375 -550 810.48046875 -49.8112244125487 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 13.0 %AI12_BuildNumber: 244 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%CMYKProcessColor: 1 1 1 1 ([Registration]) %AI3_Cropmarks: 0 -595.2755905512 841.8897637795 0 %AI3_TemplateBox: 421.5 -298.5 421.5 -298.5 %AI3_TileBox: 17.9448818897499 -577.137795275601 800.944881889751 -18.1377952756002 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 1 %AI9_ColorModel: 2 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI17_Begin_Content_if_version_gt:17 1 %AI9_OpenToView: -552.360881955901 312.379031048447 0.6667 1640 903 18 0 0 38 75 0 0 0 1 1 0 1 1 0 0 %AI17_Alternate_Content %AI9_OpenToView: -552.360881955901 312.379031048447 0.6667 1640 903 18 0 0 38 75 0 0 0 1 1 0 1 1 0 0 %AI17_End_Versioned_Content %AI5_OpenViewLayers: 7 %%PageOrigin:115 -694 %AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 18 0 obj <>stream +%%BoundingBox: 35 -550 811 -49 %%HiResBoundingBox: 35.4375 -550 810.48046875 -49.8112244125487 %AI7_Thumbnail: 128 84 8 %%BeginData: 9268 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD2CFFA852FD0BFFA852A8FD05FF52A8FD69FF7D52FD0CFF7DFD05 %FFA852A1FD59FF7D7DA8FFFFA8FF7D7DA8FFFFFF7D7DA8A852FFA8FF7D7D %FFA87D7DA8FFFFA8FFFFA87D7DFF52A8FFFF7E7EA8FD05FF7E7EA9FFFFFF %A97E7EFD44FFA852275227A1FF52275252527DFF7D5252522752A8525276 %527D27522752A8FF27FFA85227525252A7FF295329297EFFFFA929532929 %7EFFA853535328A9FD05FF7E77FFFFA97E7EA8FF777EFD32FF7D52FFFFA8 %52CA527DFFFF7D76A852A8FFFF5252FF52A8FFFF527DFFFF7652A852A87D %52FFFFA827A85354FFFF7E53A9FF4D7EFFFF7E53FFA929CBFFFFCBFD04FF %7E537E53FF53537EA9537E547EFD31FF27A8FFFFFF527D527DFFFFA8527D %52FFFFFF7D52A852A8FF7D52FFFFFFA827A84BA827A8FFFFFF527D53A2FF %FFFF29A8A853A8FFFFFF29A9FF7E29537EFD05FF29FFFFFD047EFF7E53FF %FF53A9FD30FF527DFFFFFF27A852A8FFFFA8527D52FFFFFF7D52FF52FFFF %A827A8FFFF7D52A852A8527DFFFFFF51A8297EFFFFA853A2FF29A9FFFFA8 %53A9FFFFFFA8297EFFFFFFA953A9FF53A97E7EFFA953FFA953A8FD30FF7D %5252A152277D527DFFFFA827FF52527D7D27A8A852A8FFFF7D27A17D527D %FF27A87D527D7D277DFF7E287E7E5306A8A929287E7E2953FF7E4D7EA828 %7EFFFF53A97E53537EFF7E7EFFFF7E537829A9FD31FF7D5252A87DA87DA8 %FFFFA87DFFFF7D5252A8FFFF76FD04FF7D52527DFFFF7DA8FFA152527DFF %FFFFA953547E7EA9FF29A953537EFFFFFF7854537EFD0EFF7EA97E54FD61 %FFA84DA8FD18FF7E53537EFD62FF29FD7EFFA8A9A9FDFCFFFDFCFFFDFCFF %FDFCFFFD6EFF85FFA9AFFFAFA9FF85FFA9AFFFAFA9FF85FFAFAFFFAFA9FF %A9FFAFAFFFFFA9FFA9FFFFAFFFFF85FFA9AFAFAFFFFFA9FFA9AFAFAFFFFF %A9FFA9AFFD45FF8461608436858461846160856085846184856085368584 %61848560855A618461608560853661846184853C853661846160853C855A %858461608536FD46FF608BA961A9AF61FF608BA961A9AF61FF608BA96185 %AF61AF8485A98585AF61AF848BAF6185AF61AF8461AF8585AF61AF8461AF %8585AF61AF8461FD45FF6061A86184A936AF6061A86184A95AAF6061A861 %84AF36AF8461846160AF36A9843D848560AF3685846184855AAF36A98461 %848536AF60A9843D84FD45FF8B84AF61A9858B848560AF61A98585848B60 %AF8585858B84AF60AF8585848B848B61AF8585848584AF61AF8585848B84 %AF85AF8585848B848561AFFD2BFFA8FD19FFA985A9AF84FF84AFAF85A9AF %84FF84AFFF85A9AF84FF84A9FF85A8FF60FF8485FF85A8FF60FF8485FF85 %A8FF60FFA885FF85A8FF60FFA885FF8584FD28FFA885363C84FFFF3D148B %FD13FFAF6085848585A961AF6085848B85A961AF8485848585A961AF8485 %848585A960AF8485848585A960AF8485848585AF608B8485848585A9608B %8485AFFD25FFAF5A1413361436CA851414141585FD11FFA86160A95AAF84 %3DA88560A936AF8461A88560A960AFA83D848560AF5A85A86184A960AF36 %85A861848536AF6085A86184A936AF5A85A83D84AF36FD25FFAF143C143C %363C36FFAF1B141B141561FD10FFAF61FF61AFAF85A98B61FF61AFA961A9 %8B61AF618BAF6185AF61AF8585AF6184AF61AF8585AF6184AF61AF8561AF %8584AF61AF8561AF8585AF61AFFD24FFA9143C143C603C1436A8FFAF8514 %15141460FD0FFF608584618485608460618461848560846085846160A960 %856061846160853C85606184615A856085846184615A856085846184615A %A96085846184FD24FF143C1461FFFF363C36FD05FF141B141585FD0EFFAF %60FFA985FFAFA9FF60FFA985FFAFA9FF60FFAF85FFAF84FF84FFAF85AFAF %85FF84FFFF85AFAF84FF84AFFF85AFAF84FF84AFFF85AFAF84FF84AFFD23 %FF5A361460A8FFA836143CA8FD05FF14151415A9FD0DFF848584A960A984 %85848584A984A98485848584A960AF8485848584A960858485848484A960 %858485848560A960858485848560A960858485848460FD22FFA93C363CA9 %FFFFFF363C36FD07FF141514AFFD0EFF6061A96185AF1BAF6085A96185AF %3DAF6061A98585AF3DAF8461A98561AF61AF8461A96161AF61AF843DA985 %61AF3D8B843DA98561AF3D85843DFD22FF84143660FFFFFFA936143CA9FD %06FF61141414FD0DFF8561A88584AF60AF8561A88584AF60AF8561A88584 %AF60AFA961A88560AF60A9A961A8AF85FF6085FFFFAFAF60AF6085A96184 %AF60AF8485AFFFA9FD22FF363C14AFFD04FF363C14FD07FFA91B1415AFFD %0CFF8560A936858561846160853CA98561846160A93C85856184853C853C %85843D84853DA93CAFFF3D60FFFFFF6061843D848561856061846160FD24 %FFA83C1436A8FFFFFFA9601360AFFD07FF141514AFFD0CFFA885A8AF84FF %84A9A885A8AF84FF84A9A885A8AF84FF8485A985A8AF60FFA985A985A8AF %A8FF8485A8FFFFAF60FF8585A885A8FF60FF8585A8FD24FF363C36FD06FF %AFAFFD08FF1B1415A9FD0CFFAF84AF848BAFA985AF84AFA88BA9A985AF84 %AF8485AFAF85AF84AFA885AFAF85AF84AFA8AFFFA985FFFFFFA885A9AF85 %AF84AFA985A9AF85FD24FFA83C143CAFFD07FFA985A9FD05FF141514AFFD %0CFFA88560A93685843D848560A960A9843D848536A96085A83D848536A9 %6061846184A93CA9A8FF843D84FFFFAF5A61846160AF14A96061841B84FD %24FF363C36FD08FF1B141BFD05FF15141BA9FD0CFFAF60FF8585A98585AF %60AF8585A98585AF60AF8585A98585AF60FF8585AFFF85AF60FF85AFFFFF %A9FFFFFFA961AFFF85AF60AFA961A9FFAFFD25FF361436A8FD07FF141414 %AFFFFFFFAF141414AFFD0CFF6061843D848536A936618461848536A93661 %843D608536A96085FF3D85FFFFAF5A61FF6184FD06FF6184FFFFAF6061FF %6136A9FD27FF603C1485FD07FF1B141BA9FFFFFF6115141BA9FD0CFFAF84 %FFA9AFAFAFA9FF84FFA9AFAFAFA9FF84FFA9AFAFAF84FFA9FFAFFFFFFFA9 %FFA9FFAFFD07FFAFFFFFFF84FFA9FFAF85A9FD27FFA9143C14FD07FF1414 %14AFFFFFA915141414AFFD0CFFA885A9AF84FF84AFA885A9AF84FF84AFA9 %85A9AF84FF84AFA9A9FFAF84FFFFFFAF85FFAFA8FD06FFAF84FD04FF85FF %AF60AFFD28FF60143C60FD06FF1B1415A9FFFF1B141B1415A9FD0CFFAF61 %61846185A914AF6061846185A936AF8561848585A93C85A9FF84FD04FFAF %84FF84FD07FF84FD05FF84FFA86161FD28FFA81414145AFD05FF141514AF %FF1B1414141514AFFD0CFFA861858560AF6085A861A98560AF6085A86184 %A95AFFA885A8FFFFA9A8FFFFFFA8FFFFAF84FD06FFAF84FFFFFFA8FFFFFF %84AFFD29FF843C363C36AFFFFFFF1B14153D1B1415141B1415A9FD0CFF85 %85AF3CAF8561A86161AF3CAF8561846185AF3C85AFFFA8FFFFFF3DAFFD06 %FF61AFFD06FF618BFD08FFA9FD2AFF84361436143CA8FF14151414141514 %FF141514AFFD0CFF8485A88584AF60A9A985A88584AF84A98485A8A984FF %FF84A9FFFF85A9FD06FFA9A9FD06FFA9A9FD07FF84AFFD2BFF8460143C14 %AFFF15141B14153CFFFF15141BA9FD0DFF84FFA985AFAFA9FF60FFA985AF %AFA9FF84FFA9AFFD4DFFA8A95A60A8FF60141461A9FFFFFF601414FD0DFF %846136853685843D8461368560855A3D84613685A8FD54FFAFFD17FF60AF %A985A9AF61FF60AFA985AFAF85FF60AFA9FD6CFF6061A83D84A936AF6061 %846184FFFFFF6061843D85FD6BFFAF84AF85A9A98584AF84A98585AFFFFF %AF60A985FD6CFFA885AFAF84FF84AFA885A9AF84FFFFFFA885FFFFA9FD6B %FFAF6085846185853DAF606184FD04FFAFA9FD6EFFA86185AF60AF8461A8 %8585AFAFFFFFFFA8FD6FFF8560FFFFFFA961A98560AF3DAFFD73FF848584 %FFFFAF60A984618485FD75FF60FD04FF8BA9FF85FFA9FD74FF846184FFFF %AF8461FFAF5AA9A9FD74FF6185FFFFFF853CFF8585A8FD74FF8461A8FFFF %AF5AA9FFFFA8FFAFFD73FF8B60AFFFFFAF6184FFA9A9FD75FFA9AFAFFFFF %FF84AFFFFFA9FDFCFFFDFCFFFDFCFFFDFCFFFDEDFF7D7DFD0BFFA852FD05 %FFA87DA8FD69FF7D52FD0BFFA876A8FD05FF27FD5AFFA8A8A8FFFFFFCAA8 %A8FD04FFA87DFF7D52FFFFFFA8A8FFA8A8A8FFFFFFA8FFFFFF7DFFA852A8 %FFFFA9A2FD06FFA8A8FD05FFA8A9FD0AFF7DA87DFD1DFFA8FD0AFFA87DFF %A8FF7DFD0AFFFD0452A8FFFD0552FFFFA82752527652A8527D527D7DFD04 %52FFA852FFFF5252527D52FFFF54295329FFFFFFA853295353FFFFFF5353 %2953A9FD07FFA8525252A8FFFFFFA8FFA8A8FFFFA8A8FFFFA8A8FFFFA8FF %FFA8A8FFFFFFA8FFFF527DFD07FFA8FFA8A87D52FFA8A8FFA8A8FFFFA8A8 %FF5252A8FF5252A85252FFA85252A827A2FFA8277DA82E7DFFA85252FFA8 %5252A827FF5252A8FF5252A85329FFA95329FFFF5353FFA85353FF7D29A8 %FF7EA9FD07FF7D2752527D7D527D7D7D5252A87D5252A87D517D7D52527D %7D277652FF527D52A8277D52A827A8527D52527DA8527D27A852A8275227 %A8A852527D52A8FFFFFF52A852A8FFFFFD047DFFFFFF7D52A852FFFFA852 %FFFFFF7D52A852A852A8FFFFFF52A829CBFFFFA953A9FF29FFFFFFA853FF %FF4D5478FD09FF5252527DA85252527D7D767D7D52FFFF52A87DFF52FD04 %7DA8FF527D7DFF7D7D7DFFA8525252A852FFFF7D7D7DA87DFF7DA852FFA8 %7D7DA8FF5227A8FFFFA8527D52A8FFFFA8527D52FFFFFF527DA852A8FF7D %52A8FFFF7D52A852A827A8FFFFA852A829A2FFFFA928A9A829A8FFFFA828 %FFFFFF7E7E29A9FD07FF7D7D7DA8FF27A827A87D527DA8527D52527D7DFF %7D277DA87D7DFF27A852A852FF7D7DFF277D27A87D527D27A852FF27A852 %A852FFA87DA8527D277D52A8A87D27A852A8FFFF7D52A8527DFF7D52A8A8 %52FFFFFF527DA8A852A1A852FF7D52FFA85252FF5353A8FF5329A8FF2953 %A8CB297EFF7E7EFFA8537EFD07FFA8FFA8FD07FF7DA8FFFF7DA8A8FFA8FF %FFA87DFFA8FFFFA8FFFF7DA8FFFF7DFFA8FFA8FFFFA87DFFA8FFFFA8A8FF %A8A8FFFFA8FF7D7D27A87D27525252A252A8FFFFA852FFA85227527DFFA8 %52A8FFFFFF5252277DFFA852FFFF76275252FFFFFF5329297E29A9A85353 %532854FFFF7E53292953FD3FFFA87D52A8FFFFFFCBFD17FFA8FD09FFA8FD %05FFA9FD04FFA929FD09FFA9FD74FF7E29A9FD7EFF7EFDCDFFFF %%EndData endstream endobj 19 0 obj <>stream +G[OpK䒺R҂V]^k}}vy#8vNM:~ +q#0{g/(PVU b^J>J䨪_6j Yc궘c_\c]P/<ʏNJލj|{4錍]hLn ߠ !?eA6)5'J48꘿궒^y=鵣wg /mҫzDerΛ㥑W"zq(>xGNv(~_ (λŞW;=?nlI5 rt̛AQ%̈́]`⁍縴2rL,W^MZ +q9p3 +Rp*' iN]Ղ촔+Vb̟?wy 5;^&*(GQ>a꿏 _G?iK[0t]nhcYD'% rnY +p :zݼC%Z6e!ix_3K{J6,/d_k坐#]d]s7Yʒ7&euL>l:9Cs>^,uCn;A`TH (q>..c"9@A{`s,9r휲Jɬ= {gU]n}/-hek1ೲ [klƸʂ.rˍX5OCެ#Ȧ_ld(`ƻ@ڪ=?s-5'Q׬E+aX.vݝ)50 gYz\-#ÃĈA術rW<7ī&ݤ>yo*T\q61ك@2t+"{^5T=o s.G.j7^Zbj7Ms;CJH܉ǥcZrIK^ﯮ!xiM +S.X/ORrlxl7"%'<(Bʧ.Faã~AY94%7؏m%/[>c~g<:{tdR\(y )`敐D7Roypqg*_;>6I!ۊWaiս\=2 Ybֳ+?O+KvM{ >f%V#O!Ҟ?ƸoA6so‹7 H~rpUo]sq&;_%*2kZ-A7uiqOu58fЖF+vT暓C}؏vЈ<_Ko[+ai:^.[i dw}䁛\y h!zB)s<򢻳}\/h:;^>}ۆ+ܱ"s>q['*oAM<*i~8H.<Mk)'>鏉{{^69`Ոnˋ- OP;ARkږ9Q`Yb+/,Ȧ?|Ӹ룂:mlYAj` 4vO[t`GH avXװùKLI[~W"2/[{ ĵWU%Sj|Xvӛ-̺y+jwE: @+.DZvf㺇Ҹ!M9;|A A-bzzIO)^2fԘT/xƮyGeUMK.Z1T!{REz99bց6/Zٳzxڒ [b6X/ |~XwӫmoxdOΪ3ʖzBe,O/FB1kcҦSogشq9&uItU+{Xsi˙T?^z`&ԬB3RK(fCUN˯NKJxY燄!I%#d*w󮊛9`wsZPԺ]`i세!5$ TE[.<,$c; +rnBHRpsTRpW'7 !"vҐȸ@ŞP#\ꔑZ1܍^vcX}ԡ2K;Y rY/䲝SlK[2BV-Eh! x:ڗ}2W@x^0 F@.yDɪY0mF$Mz^s6⾋Ral5Cam@q F/i6=nŁ/\2%yfFIY6 +cDW9uK/Xw͋ 7|`<!FM7G; )<֐7~EL2 O!:u{"}  72oo_3nV}l@l8W!%mF(?zscLMVf8oԬ8)!28PmQV:>o'W/ 6|=;^ +G:1A=ѧDNkgf xޚiCqu3vИB6@}p L77~dd5NPbgV`"|2KVl^=%dz!y#xTCh#|ހ_Ӹ9,;ٰ90a$ҦVA %Y>]R7ĺuuDCK/~v&BAH^`PzaX%7azG.ZqZ 5Ǥ~6 +^rC5)J]Po1yO#>5 g) )5ZrٗiSFAs-^D~_#TAO&d֧ GnypM rՆ-F)-;%/vQӘ@\^%avm]wZ=1+DЊҶ#ت57yû/MO;LQL|„:D9w`npHUo/Z@~-u`> {BaӌH;) :BCNiE?dRV63ʨl V%bFmEZ@ ZpӚ"8s+x u~Ǡ4y8sՏg]}F6ݮfۥ%<Ș9xM(Ag'͸\`ݨ~lX;g|,39N +"~]3Afۦ3WM*lYѓz>8KX4*Զ ?4Ȃ &!:t{]=evXO<,_3SZs1CJrT~nV  ыzhX_ oG=@cio/m:&Wf!9 eJ|꜁X $!PrJ>;o&4o #oD,~|3cٸaeӽ5mSYigVޝ`qW9"4@ Zbb*9*Ǹ܍Q~NVAr uZb5k~ 7n;@ =mN ˁ롯sٻcx{h|K:pK^R m-?֟C]NüR3'>^!7clU7dOQ1iԋUQXqyh'(3=<҄ZT2r2fZ@ïf7^qwIO /XAMP)tR}OmK6bŒް&4qc7)%3cf+eXޖ06Κd1AS<Em'f,/{Nh~?o!\0Zy zJ iOjNZsh7ke"ʄڴSu C.Z!g`-@p`Eۖ+^:|+j7 N +%u\RG,^ !94'~bÔmyɭ5 $o 7l vv|ќzs(@\2h̬=x3v}]vf„ۘk6;a۝i׮YTf&MuoԶ=sY^`~cJju{W/Krpp{^YvS3&ۙuЍ1:f{Bۙv;[4ʼ9gAXqGMCl:CL䢇4s[ޔԵ5aY !oƆ+Ypˁ-6`V}؊ad;.mdI.wBjm;cLʼR3:I(O j_1wQ~8e7DŬ$›ۧػpP!quXΰ )/|~Yv@ \="3Ç~wĊ?S*vK@zt`_ o9eCp+n,RR昸=znoE.-IKnzRlxz4^^ u+*W)hMƁvyǂyu~*3T}7tV^})V]3}b glD +%QV v|]Vzh#T{yz1N{o{hEV>8yRM͙Y3C"Տ+cAxIN-$jzIzcnxi{'s/Xv2@-/çͪau19!#ԇʙ7|VxsSFlX#21\h3̯ht(HQ,*AzBO.;Q n<Ov5S]e橿w'Y16m1a::hivBNQ̝ kq]>e•,%[nHxEJY>Ei6)ۗ/߉QxMfqpmPJJdI9v(gW8ojG|s>W`[UJ3Tgˤ`.ERA'Hw{}Lg+ +W2.C*8ʙ(k^HgMD)YNEhS=?J4rWB+]*o0Y$eu!bM!dG D^K>7Jso!6\t+k:zsz)Y{]9~2cUF-:Qxċ +Z@qi쐵ot*&EƠo찼vŌ01`dB5tgT6Yɟ +Ά~0R_OxH%UC=뢆-RƤQ8?@)Cc\W7upSO{cwK` |mdb)U.,̄Hn=WT~Gޚ;s%w]mC6פ - Qry<5 WʫD?Qs7.K [iwixR th@m,[=c*$mdqrwMJ٩c 5(ecRXys6?}")k^t~o=uɒ,)} KQvj4jebpM<_@\!x1L7Q-K%*Jz/YqVnDR"g0qM*m+^lk5> rUltiYmRNQE=g+5|=rvnD;ԑ Dzi먆e%ܳp C,mCy98JXJ%[1oj:\6QjY?ٌpވM$xxB}\:w$:yݺۑ +-+J,6HD#jZN@MJwpYw-#[1Eՠ Ot1&ݜQ?F?~;#5K>-={UWK'Clʸ5|@7ݫ157 Z"pD 87է23gRLʿ2+fh3I&pfc crT%d&e~zqYq//?m9+pĥ9i)4J2Pvx89T9@A_U zL8]9zdmğ{]SU[(̑?WVtX +Jt&e9ҠktT(K`ffJ1xL~ٱDZ7*"n=IyqqKĭHXDt*HTwiwgGYrv6HvCxjX{D<:#߂R}$}-jI]ҁ"NG_EjGG2G3?AtvoG>Eő"W8{$~<;z%aK#2TאiTwM+E0TS2+(< wʏxq'1γgǞ%ҏ͑ˮGrD¾.ةӳGxճ6Z_KTϸT 0E/@hyӘ;:"qQc퇵@CGD#nFa^+|/ 2*ͦ.XirWQWFb$e$ 5q>v #-GӃЈأ/>q!%$dqN|HD.G{гNn@S'WcpvDQ0 +FVA.%r~I#J|^ޑg^DzVhN w,Bbn96%ehY-#OVtvo +{Aݧ99Y_csǟNƦ+o1ǚ֛Q55uƈ;)5v.|n( +yGf bt)(? Nse"o~;:VQvܢ;كy&v ֌5cA{:2KXi 2qIc G=KG$yN4\%\pv ^%ŐYјJFT-g2qt&Xt͢˷J#?G\WqjNDԻ#9cS`tD\tkMVe/XkY"dœmԌ4Ht?r2*z$9{<\ZuKߕA:snF(=)I7_@9i|K$)0^ic[%٥P-FFsXN^6@ 2؜5e$Zp!=6cxVʻ%]}*@Biub2E}KuG^ģ'KL(=[^NyP>h +#T]C4೧oa'dP Hy:`$J{[Y源S8yYӑSgS#ޭbs4UJ%?-7:ob+:[wż\7Tn FL 铣 +^ɨ4~Xޥ/vJXlC4߅q<,A% KVj=*~K +Afy?B]^n 8)h{\t>H-6}H؅.;q5[A&i|KҴv8./G30i3m 7\U*v} +Tq*!e}Zbք +&l#i N2`Ue}ziSf/r}PLK)_6~FϘ2GEZ[V:M=Cc`Q.1E_gYQ9i#,ɢ whʮޞ yV2zjd2Sqڃ5ۈ:CO^x5i9ydüWKvR2gM ^c{î*#KvSb+Nyj+(u$q=q8#'3:M9R]D/{\ֹ`W0eNYƅ)giK7hStj}JumGP3;9/ *߉{P27S+GR\@I(Zcj|qHυ$aG%jMnUg]N)RfM%="Sv}=j)hy@B +=/飷M> *: QR@ TK.Qj [?L`3VZײ5[m"PK5]Er:MоbUHT[~#nQvM7_.7JZ2*? ۿuglYy#P#Ur'\ت7 %zg+gHuRݧq1C/yAO+શ5_پ+>qEIĪkkSt¨{iV9>$ſ+hIC~|G] y,9*4~Z#6o/vSNΨ@9.X~bOi\tmzP. +)&nG#YE+ehQ3j|?D[kꐶ㼹1vMw@NoVwPzܪ.7~8# E:$oNL4 +~lZyjζ;.cg}Zda|J|KFw(>iUj ugpg~YM83SjLi7fb*.+6X `[RQ7a:xO-p)) ZUc>^΅N݅f`'+8AXJoM'b@o&IdGIwxڃyLyX \CнͿi 0tIşF=sM.^lq)۽5;AwT⛆'Jq@WO0`ik5 PnB7|(i/usFcOOCSch4+onU? 1'CehC:vy(EFnL,kL-~sig]aQrI[jt,7,Ȇ&d4FE3$kDa^xM=1 ~XG:VuY@/"ޘawXE4g6G^U6ܭtkPRƒHE[֕S=pHN>0 ^9 +qJ n%U7-s_ Jg +9hw +kӏl_ͨuՇL(<|xo!#oA7LBR02&"Z'/6 +~~Wr6%c1IXSlR2mº!Dm=ĴaxLaCL/=[4\mSA.)%)&z̪aTLC`h4/Gxق:WM+9Js)Z ibe"©}#ug`¤yjWۮ9X{ү[f39>-~8C>ٻMJC~ٮoָ.kax]z[NYĨxjæ\ncv'`OV8u>-Sc +2X?8 ZMv-O7vBBG!f0.1&4x??\rfWND5!k}}psco{xgle3*_|-=^ƀlRtSI* \9h;$܍x=YO(,$pbc`UGݟwͭΕFSǫs)*qxhilޗ{aÞF!O>: /f~S:ƯBۑ1ͱK,3(6 kF!㘈IZr7"t=W܄;W g@-vbS/蚒_~{pVy 9[`;5O|).MEW ## ~$D82Qa'ekIqT,6٣aAJjxUaFo[,Y9Ygkjr鱊RisMh P=&tE+D46~f⎵_I+Y!=\u&~oc6XM쫸{s|Ư#Ոd3s.|:JWC4C17xn5 7xc75֟m'Kړ͖N;Vw-gz\Y~jcc=P3ĸ4\WPA>%,8xgoC^wUnBۅ"$1qͰK)`]!O&1kU-#9gHI^E]s!*t5}rdA2j8U4&I&%|^fT* /Fy?-@)K +x0Ux+׍_q1CwĄ d:`btkm }xw +noon+qV >y.姓 |қKK)?S~7^9??7!%K^xd_|8NNV!LLU. +h$6z;8Pr}w3O2|(7\z:VPۜ#'+?xiyo啱LLw!!;lO#ЈiNΏ10`*z(4lM Pcw{B:/}(!i9@T̽»;9lSe!'z\TOIݪsK)I@G*FWE^}v -Enrh։53xOl- (|AbxuGʺ"o3lRn= 7MHux?'= k[HnˀojIU ʫ"A'ZbPYFÒC +LhZ葑 =JRSNsHve:D۞ra/9g:luo*AnȽ!Bi7L4 yl½ v.wԞ[K:Un1dw!f:C!]X#퍂BdY?-ԗ2Aa38,!F>Ǎ2/ED9b3W5]~Wu{6*HyJٕN,z3)yv[S}3>KvY.9I82ˬynSȿZs/ibխY?N_::QXۜ~iD C_wU'nikEEmƜ(~"< zS~{TϟV9VK3.iwk%ّQӴ:!0)"4|^𫯀w?`&lt\׿~ZD\䊺6D;R0]"pNoio܌ {8(s7 u2)JXʺ,d\J/f}v04#\2t,&cSr9)Ŗ@w}vy$Pq9D9ge2֩P@)];]c=Ӽ fte|ުovJ7,cU#9HOOȦɻA)lЋ/"2>U +:Һ"h E}k~lzp+C[:Rjfwܧ"^SwkbE?Cmb9ߋ9w))Q|f?BPzCXxI/y9I^u_#(씐FIQK<:(4݇ŗEQsȨ Wߪ8Zn̽&ay9Hf5;']EOҒ]m(ovO†b^u*jⶼ>ծ5m&i}]+O. T +ѩiBs^dbpibG;}4?;Cա召!ڧQ8 +5+>Iursn4\C-(Ն~K]3wT'CHu΂Ew@Wu{H96tM3+MDHmWm@gR ׻ԜWڪn/v=X|StCUr!8 +@w>T&&S.4迋)k6P^.^~ +$_V.x| +|12޺rzeϹ(oMKr^76aEm&&!zZCoCOcO3`u*PWw?,WC\ﭸmC$,w,nj7<"Xqs(gc>5 dXg锢RӇV]ѳ@/ ƭ_Mpi:A'k_C5īl8'p/_3B;ԙ}X M ĶiؙuC畎 ſޝi:*l!cvO6:.m^;gpw7fpβK5Eo +Wj~]^7NFyWMӵUO:a1G813h +/r)? c؅=+]7_1qJPGőӽu̹i?}׵i?;槍!УnLӤ_C$Cgp]ӛl39WKp0[ ju q/=s,"p +ث]w E{.tW%SQ' +JgRfƈiΒrf'W߀ m+!PVrX[>9d'w^_iϾڞ1_LS/yo PJ:){S`.)y0Cɝdd4TqE݋E}[+C;ײ;h;>Cg($6 Qf+jawn*]Tx`e}2o;eL0P/.ƽZKo[+my7)X ?i63Y :*}v(A@M q0 lgC (jw4@m +9YsIɹFX$uc4 3+o7쭾gFX&Ɏ>lw'm|:upIlof쯼WrgC1>| K?77U׾=DnOR@Hs?t$`ɻy(CM?rI~dD,~ywn.k]oo +.{A }5{kJګnդ=<΅s-D]W䞇0K|2F*52reͿ%Oε4[TzfBՍ?Oa +Vf?"t6ع)&9@įU=æ|ri-,t 8 LjO])88']W_%Kmt%x}.&ڥbYCLO Z6.B,ս)|WdksY;{_$fad1>nQnh?皾;yZyzEt| P ?2^Ŕ, =%uY3@>/ҏ24AI+$)yև]m{/QL_CmtC|=;Vpn)1p&/)i<ݳ)v9n+j*Y4}nǻ%N!!Jg )'q/Я{!ꎚǛO| x>`BݞbvFϖ: + V?RF$` +[N]eczO &]! PҤ8ə5ԲydJP򚢱7,1Ӻ@H3O#mT-4՞ʧCĸg9 C:[li: ?J׍zV/&J*y  xaJyihy}c,#O=s͡07=Rvso.5\ʸ3X; +u͡Swi?JK_,ر-ť;sE{qUZ|K~*myPtIvʽ&Z_bKґy?'4_BY& }]qc{0}MJ 4{0Hq,&)> !W ++v)H(PgKuг5&,$_W~<k2L3ح)z;t2dٴ5 Og\2E >ﰩ1$Aђrqm=Lˀ: <y|`" +1\r{yasB .ڄLUT;H>> H1Iv"vC[Uw2FekCG/[ f:Z임{3] !%ڦ/BbJ )%9`k4]al-ؚ]?29Z%sr#z*!A%L-mӄx^#2SNOA;_OLU=Nֆ:D!-SGmmD)9{Uܙ"%˯WΓ ` CNӍw0"xUe̝St|jpbd_Ũ͑%-an94{eo]Du+Xy[Ƌy7%96<7 Fjs\}u<`>z֭⧻"f[ՀuIe 54%[iG+L䡆X`ג +OD LA;Ps [_.vT>/scYk1O@2rCLH1\ѯd@]%W-Bdz_C}{# f_HJ۝"$oz2{G9Rg]eU0:fc㒷5-:HK(LXĤM16ȯx<.ral.=OLBdu57GyKonH@u@9^!tJPP5q\SE);]rdy2;9 9K*ŧR?[KlOE+۝E^^s#Z&Ca\eL׳GK\Sɬ0ϓ3wfPћ^XӔӽ)Nu鑱krBy +5X ƥto!O;˯{el"BX̗*̣ŕY$"8o䖢䊺!WxTV82KϹ9+7LG9+ϴmw$+*AUqEpr|~G~8IP x}@#=z`\ z3)xҲF!q7Qd]oY9vI4,>s@lOa_0 GJl_)R7 ʮm\/m$(%gZU]Z؞wA#4 +!x(:{le趪W[p=b.2JHC +aOEnCouW ~*pH*)Q8ŷa_R|汎;Rjb,*nojw/Ƥ@M*Qtb.Hͬ@@ +gѯ&БqT^vr&HiGݣ^]䑮shXg6e 0"fk yȲ a';}rrE>yrW GX>&8Rrwgsa~cmbNW#5&.^~}Gӕyu}/JVqgss3Z&9c4T *-!uܙ[Hi8Vyqbb0",8K9&yY:Or\494FJ͐3|P r}@=|iT$ ЋG^qc]{S@mF;-o1Fҳ~ӱI> ejCA[N7If4io +[ăw_'恝7ow]z`5+bHd=}뙵9\"ylm_p; "دMzF[A- t̲7xWbonaLwmfI34EI=ZjezX?]DQ^(+8FO1ORXeK֯S8Я +ri3Iuis.E<{h/}&ٵ<(&C#]+2~3>(ЍSĸIt1xl?Щ Lm+V}-sk=wW?0E+ &oRnpXPW +vFA<< !Vat:ӑ Xe[+)Gfǧ-p_;t}Z_SUW? Mw)0.e][F0>-|Cih5Z&l +uR*7϶GO)mn$Pkp87ic uP.Gtkk ҷXԿJM^6xIj(`4"ƷHHi|wR0lJM />L +fp/_ʐz]Bۛ&%),-}z8U!劶տO9Fq.q:? ~?+l3EwgNi"jkeB.yG9qql]T =-SVy[p >"rsx_!'laLV!O؈G 6)%@Xc3|:.!.3y9 +/P ڎŞ)s(Ah`N֙heB:%1qbcQհ6115fcb]rқ{PP7qVҧcbTv#ThI7e7P]2ZJE@w!f@OZZ=}?1xki/rqklB@va378̯6$E[cC>OFf W~!/?nu! S~TO,?vq͖شžһG4p/&AGz2ZF'CcKDl{J+f*B_/l_+q+IhC96`m-4ڥrx XF~EXyں?;gZ޻}Jj6P98@y5t8Yd~iTh,Trfi-cQ R~\teo1d5s|uWg/&{KxɽҗvAٙa&+lsirC.s k>!:v0ѷBdR3ϭmϰs"\eI`ޓy]ߖkTGQUlPa+TؑXRa?^ZNdl$$&| +Z[HŽHO(wV)!-#xd# dw y|MB/kӨ wGQW=?깧K `m+P1.%V0YTp΍Iӟ"x-[#$[][C9=Z`Ǧ7<2ttiLBLFCGCc둞:rНByRkCH2 +\V}VjLġd# ,Y&%t[E{Ĝ3= +{ m7FBzKmudPEGo YcD@U(ˢ߃>=%&?/PEΩ>^zL[]WhED ^v}斁9J,f~24osCחu +;Wߗ|Qߜqckz4iIֲ; lsQEmst}*m +.}o~~mVW?jY0 w85v)4IL$6I#ܣn$8I~ B<4ALFXuUШb'YiBkUl'A1[ح@u}dz5 XHUkP,>p$2"iTRJGPabajW/Ytgr 'HYyr5.E~BJi nt +0W;d*R$hG:&2~fB8YXR+5Ʀz8O؛ +>V7t݆qLyVRQ@<N_W>8i7[4 bGN)>E:i@)m?:|M>G)XY!lrY =NVMrxuаD<ytC튨%n]kQ%&F&IGZ@~-9K=kkjٖk=mU=9OM>guT|O mVs`jܦb#]=sphF7kjс!RIKT檪U`W6_䜣h<2N7t2 aW 5u݋ lGƹau3@;k6b(bR/bOCc=E)=le[[_7Yxڬub-4HeF-RfUƫ97 Kٕ,>4 7qlƚg(qvkuHtPro!%D"eYE$X$z9L($DA^OP?zv0|vm0gNg:B{`>5 C #S/#dn ,io8m.G/3`N!1Ki%Zu0?o'+J,$ZyǛ.,5tCtQI'˸?/tOM,K'KTB_dW. $棎 ͖?VޞYuE=zg&8yILD?VV2VX9i3P pc1? +8G/K Z+=«D*[S.*_Rj?|K]?nIg[ L[uͻFL;^f!ꛬ ۪`fƗ]n3E<ȥtyTW1 +Ceys0^e]POPVzèh3 U>xPr2v]Ʃ:1 v&"R8Nxi !Qcy-Qs.9֭l"yy@2˂_l] 1[}5VVZyh"VJv>Y3lsZJi@M)>Xe9_rk{&*!Ab~$]) +fi_xE6֭+> +޿jLT\L&u>" dpCCu]1Ů|_s:bm9jl䲏4B +RcrJ|65u+@r<]ory 6ŢbT#  h`|=}q6C%:yOIthNMgpJBѡP՜oQ%Fߏk)yRQ)>UMW8]ל-1:jG \kn|§ܓf?=!&9\W!s ,?Qrۣf8LRqGjh}zBԴ2 J. +>-g99v 9L}h֒pUNUѣjwxC)9PKC<\rJQpy-'f|^a!$Ƒ#5RRZswfe[ĄTv?IT1{=8 +znp +լQfsrRSA3Na"2J +t@mn.{`DϽ*ByF.\ZczdxD|ԷuY( ޳m- ,7нE:^"~f>Z&z?.!|1t}dL},(dosuh_W%^'+yjoܙ (!!U<! 9+#)y>)&p^3qht`H5[O[Fy ?Ѣ3ɢ{ M{ʺRIWMBic`52dw䮲%$:ӿ9aͥg<]glԳM3|[b=&hZ֐KhW2+rNMp.5 m97X61*Rh`w 0*ej&m6;HECY]: }:.!^i=8Dȁ`V69xMSĴ4%&ԥ8i9ī&*. +?m˿lNWeYu7XX1Q>%-'$tU1ʀϯ9_%8Pj#iU&¿wwX'AmBZ(&jm%1Jҥ^S]^unY]پf]DذfoQhlOQ<8@RBTCN&(ľ4evPNtT{"bZ>6R?tυ-SZpgƾ -K`ݽᪧ.)_&dtd?]c"Jt-T_;ma^y5{>7re6vgv5i^GZ%[ʪ'ː,zoA{{z='QxW4 + MvNZAK8C +פºXӱߒq{s._?[6¼l䔅|!S0QS aҰf7n͉֣eQNOmsd%I?~->B=7̲k#º82B99JD;2 s_ kǍO}*>}_x)!E}xLބZU\,nXj;wLx͘^ڣ^FM:{i26r,iT69x}=bǝ==15:)N kCW yePtmY+okZzվ5[iMl\ܔ- r |:$LJmMշq <w*AOb 3VGY7iۼK7iy-EJr*GWۅ;{3tE=j93^ qJplN>r0u1ì\Tm Zl; 7w?̽j=|MXNM'2.K9聼G#e2J??񫅧5_lj9(yT+fJ+@Fǚ;ŧIH(3b7sp{\&&QmĠL]d7/aT695 + +fa-jaN%;|Xuv]O)+0^؜0IisB\9,_.)l5z"9)(CfR.U +T7RNzIPs(2YoR0g:mps[}\gen68'[/_S-u }63e۴2^|cyfs[V&/~Xq69iwqƨgqڤS祟F⎴kaޭd$`Yd8n7O)cSyN?1/t K&Q֬JxĴ[ Z8^QV@z-)3|Uӷc۳[=vӲߴ?Vݷ)e'P,s'o%w~DW1!e}yH(JXE͛änΩZf2zޣUf=:M,>mr?O]?nzkVv˨AX8%щ+o\~Shq>iTmw))hsܭdj1o ʎ|ǦXWRFVI +U(O~^KqVGU}B=.o OwFeN&FX#…5?L+l/10'X4)څڃIJqxDht|s0A͌bԥ~xqiӁ󛠝f(lmz*4/E;&2E>?Z܊YEߘ,\?ari޻v{+}?Ɲ2j$ ldoV襡Iz8,6-57aulv)Ә_&(e̼&Wֆ+u0G[Y(N;luj7t']*ꤴm%ɍQGYL0躎Kؒ( #2- mGB#afdfo L+"Fnbvic|}Vɾ!jq8Q /Zm/O}19)jm ?vsҡ1.朂&#%ga&ƕdYF.ʸuГj ~,'o}o^4~uYޥ)1q,xŪţkcڤG|{ 蟇8~6`h>K{f$kڄEG@_liyձӈVs=lSv{cBAZ"&99iU'i{)&>M;,%F*b':|t8bcR\6*^/<n˨G%?{X],ͺQ4_cDh>2ەGR 1)( gf]|rf\NeQ-CijIyyhr|-Rs^!#n(L3!vAs!&64lWCkM; +ɸH9x-ˀKäG) EMC7F:'%aQ*۞StFm"]B|#a7mܳ\w~}^:edVP}37H_9(g~<մ[Z躇yk+qv(!}+x{յsA*a -kp6SVzY!9M+6Uu,G<B;ahy:9lms'+'.}Bh9筲gS"N )EGМ4ѯHNшql̸z6&E5gcӔs)s۹d1OVDʘK6qBŤ[ڄ KSv)[i{ +< OrvP&DLr߭o^3kgiryݸIҼ6̾ +XUh2T}tm|*bdg|].}+g-b`f<"r4itfg nIG#^99MX-1#<;#VTgSs޲Nč) v0`8Bh{ x ȸ͇Ra햵S5):@5֧HShZX9/%3"ڿ/KۋS:vdyۏ AUrJc_NR.x٠⯵߂~nuۤ;dIޖ0 kq'2il.:v<2ſ7))R+7~od\P-zm_^w+x)#//}s|LKq 8u[dT ^1v84F?m@%¦[،^5nS쒵7YEfTZ%\PLOXq>_md\YzYjjUE_~C:[sloފDaѵ1aFWYl/O"A'غ/G Z`)zԥ`/4H$Z-inum'2N]/7T4Ehܿ^)eCڮEQ# u(xYmo~Vw yr}y)CJ?m>0#5R2߹2qtiq. S6v;cOK;HG[eUYxqhR{ׂ#G*"W>,(4CL|@+cobfҿk?$&?e[Jmhr5K-m޴|XzkMW]xx~+Mm06FY0@^g柞W:Tud~6gr6qs)jm:A9PKǩW~b孴:f}*0#埄0 V0zzDyi3+丸b /aaN8Dd_إE@W빿'1e5Ϡ+soǗ_Ͽy!+†}KC8w`{F½ +^d^0lʽ4Wm?:u˥l{Tuuir4aQ3N+m&L׍,ݛ2myЫ&bm=z-6&YKmg_KZxUyZi Va$mCrzާQdc6)uS."{O6?-ty÷WLٞteg]iB[-]ҨSv&'6;!V 폃w}C=rvj󚞨張?n3[iZ(0I}Oko??O.2?K쐼ׇE5UU}P& +]ypp9s < sn3jm<\Q~xOI۫X1K@;XKYƣ$}_x_]4/?|?Hb7Mdn";-viNDvZ&b7Mdn";-viNDvZ&b7Mdn";-viNDvZ&b7Mdn";-viNDvZ&b7Mdn";-viNDvZ&b7Mdn";-viNDvZ&b7Md)?H$~wo!R.iG{_=_.PE~"I,ay"WڻK$ĞcG1%VLSC'+S+̂KF]N ++fF%q0A5݅:#FɶFIJ-L[() cS 6v%bd\ͺ2*Qp2.%7H3>ġFMrR¬a逜x 9 Wlq]lPw'3u'h3.xw bf}7$)ۋ{B6OfJ!Tq1ayF)KB^f_^Zm!i蓕7KM+ʻv^۪/~3Ji3n3X0)vAcoH[CKo[mNjSkgc#4bd^O/ ulY巴3 1 j6F[o6N(ŸߊZ(N +=.quuv IvNUdpk4e:y̬  YEKō#-}.ƥv_"1G&d냜oYg#ogi卡}_?}^_bV/ ؿ1J9X,msYFT~Z"yFTN^-}yZqK۟6Q$yZo ھO!@2ЈSR9Lg4l>كU_Yf\@u^?u77܆c^uH:IRsaSáE Q07w3ێ ~sOpoύ]F q +=h1\=^"KN{U hE&fQ(nYtuNEqR6IkkrӮ?cV9慎^ +8-jfƔ]>,r)0;9,(YzM>: Y:4ca#3.]ک#v'i7Mo'n[ѳnV~եm▘]S +0+>"vSKvQ:a4Md\Xҋ#4m%vfqHN4~yv9k<2μ +F~%b_X{ÆW=昉rup*0'9pi ԦnAoI);0fl?0 RVvi=aEЄ<<ƅ\ ux۴/(g<'$L4Uʫ$v +^Υb~j\]M̯ig6Q +]R9 K-)ckAw7;T⠋ =Vs\UqG8Y_vC> +8HQ#cgafw%}n.2E;8yR݊L茙Asq 6M:9u]3 'uc6jQ:e^O^M*VmyQT' x8퀚tq*a0.'̜ҴW9I9@J/ktwg]୬q)f0lߑHxPŧ(g6~3qotW&@}qv21ah1nh9>M>[ mБ[~>2M9&Lg[\g3(iWmXx^OTycvjaryn +:e0#b'6 0OG$%%S٠ip*u~ecGÜS~N.qCO1/}~^z?iDmMciаfŌ_qK(YRiUg N=1IӸSs+ʸx@!$t=J>(f5Y$?eг^EP˸Fr[92;+`0՘KԖq9iwA*g"nUļ5U5qJ2^/}K쪲Ίhۀ$جB'=ozL:|Xv>هBĵ +tMi.a]IZkD 0_IF@w~zmVXg"_ElR6q Tō-'+Z޻ؽ4iw?~8畁FLؔQ̛} 6`bL8FR +#*>[zS %nm~:aM90cG^W#3:5$Eǹű18T|y)6, #&fIH39;fdmw O\P/E cç:NƕO-2.cp!ӺVҠN&nEl^6󪿄Ghgvӟļ,YxW$#>~G#hͻyY1vU6( 'q#w q't ऐu%jFW"eFZ}=^,h܌m-g/8qW*1-is| +(2 nit 7  +&A]h(]=׉0o$C',KoyI6OLiYn_wIq,6+]"v +p)G]Nq֌R uaQݗS!NMu_My\@.&Sh14pM6O耄I漝]16!m[ǬB1AīRD, fQ#ٰv1RLE=LV1Da wi[-^ga&$4dxu)>)LX4D%IkS+XAI0b7_':.[ +'=*1T]ZE(#/%]_^YxL>V%WNbNBD- R,hYxV,y!#ʻKO~Nd\mqAhۡ42xQ($Vރ +>sD둅&qRLi5 ؂N4kWK;^MYeKoh +JҭI>j5픐Rv~xM=8Ŭr:#<h#:* ٳ54=Ir鿛]OصŒ/; ;7:Zؽ=?W˖W}zoKyz=JmBHi9~m,jOi6n'3+#x]C>x5.xz\ vV)jQ2ٮf}. mϤK[V!o}w_Kq{ ~^ȸͳ/ZͽƜ7_zK]K{ 41ycy9")h΁Akea1]Ɍ/ߘޚdeBȕ5(I>;D-cG 3]7V 'n +~;;*0gWGW 3v+"&iS+[YfqC"#%L*Iї[z~XCG_ՄsOeJ>PbCkys&<)n{q5091-1ݫZ4Us>kQkƩ罝t>:ݰ?'[SU,gfĪϨMNNh8U2H9J03d`]ZMuQ'OڒքAN2=k9(c&lR^1`LptvXHB-KLԭV-jnܦ'm +z- znҽCL)[CBxe,x.d|ܧ̾_x)7oE<Z][3}[0%nT fyjW2>~K/3߿af.3Ά'yWW77`n)s+vjS-º vuS8¸Ȩ3Cs){ ?lu'= +^)&E Wc&31Pwb]_Ư +{aTV8"*5Z8L3|V׏g*y^uզӲ^J{ w'g%mʌ[B.TSw]OdP|*y94`# pe.mO9% ٠B&LCkEޘY͌۔ #|n0\(n:;%$p4jUңz~4Oit X\~A9KQ]tZX0J"Ӓڅw aRaV!#t4|w]bIkxZX3*#hф^Tۄv_%y԰wqwi=hmJD<Qsvw\]ڤ_4ά2B:w37&g:qNۺԈUIAOlIsVP!֪0{6mB%,RHm?qNb^]oܡBō_w`ޔKBȧzA.2F%hLX@{RV7VϖGܯڷVsKggI(<S `5);n^^ u @EW}곾16KwkFDJ6XUtUsC]2 +efAE!~2Rgi'eYx=^df;{69uh$)F +#AC¶)Ű["{*cҸ^x 5 |ekke/(oBwEuIlZ!SNolԬGH 'NƄ~c_I<:XP hwv!&n9b%MM2rr`gᦟq9x[Z~ 1tVvܫ#m욜Wi5&r&L5NJb^ƬG-:{qYڤINkJrbJւոۘZRN9]0>AEMU9XI0>M:A|#b=ckN)۞InEsP+i7⑲ 4 |&>fgeb$@Y4{} Zp[ൔ*dM͏i 9smGFW) U UJYYy5V}1#R !唦,0c´UB mekiMԨR(N@{qww!Hp!@phs+s?/!쬽ؒ@R kISn3-%巊="(I {(1b$zyrL繂 tl0lô|dATgJ q0I4I_OAҸ< }(% G2jy.P 2˾TXl P|&0 =1V . us>c)LHP20. g8C\E@jzsOei|Pc1d2=b&/8ԕVvc؟)`d4^*o +#idVO?ZP3w.j~/1p}h~ӹ Ԃ~ԏRIɌ$5þUk:p.4 s0Dn^KA( s6f 'S32tnw ~(NồZz+0{QE9s{ܞ@zlNjk=dM]dB7{R-G|f?;ANJ9:Sf)z|L7&hGq +S @&0Ǡf~-j`Ԋ~&|!bߟ"|N?j xJ|b3*:"gfO6ܙⓗG˃ce^xYaڡRq )$'Y/8Q#8ib1pAS#f𡻓؀.hְ?,b9|>=Ƴ% ]aN׉Gx('ꙜPHY`=jvo1q4EO6:V8=#%qdzi"P}'Es3k'9]) h!B:.Y UZosd OM<(;_}sg@*.0ǭ`/f3Jgs܋Iɔm5_:'I#t~2jgTDM!`=}~duRR{:ti o&8b=Z xkL# LNEzl#_U']LDg +K qqis7~@GBFg +orxq6dZmX[;VԜe(:|܅ XhHPgYjbIǰ6e֡<g41𑹀ON gFFIqcĨ}0NzEcs4[z0]Ԯerwu8+|%eyEFPp1url{id(%~')=V.r/%'L?  rIޮth!]pI.D@%%RRR^A&/TڅRbuw6Qn^ +xaO@^9T?Tsd|>Ђ ܸa˜Pd=^pR@el~O>s N0 Giv( x[6ְXƟ 1diI,y(Re zX#5~M Y`d|&\1sEz࿕N1z=;ωR!C7nQvwҙl/) ,w'}DqϊmPR1Lƿ=a^ѐ]b.z'ɰ~"e$@>DžNo=B:^}'P:ө oO:;gϊsͱM{Pψh) ((ǍN۱ D!G39Zqj!砟da}1 ;y# s[(hۉ/N #N86B7<rd`tmwwװh;'Sݔvv'}0rz?N5=c\$pΉ|:!NrR=-%J?L S#Vd?Mh&팒#7H4b3s ngpnkF5%0c%&띤q!}oT5#wA`2 +S 0Î,|_p{&{&MRblj;X?3\p"4cĈ Bq< ;2ReiS5у1R2*do<_SC0#x3 <xu,ҩu2MٞG8 ~P&JYh29qwE3Y05G2& +<Z + 4g{_(=a|ډ2tA\x:GZ$%B49p[-RgTTsg q3@V=q4+C&X^[!`*iȣZnZ++%Ǫ̲}>RPR{gﮬyc̚})-H!x þyvT,(>Sf'D#9~ y2MI=|, KɡKq^kK=Q2 +p d%Sw)Y3%Aۇq[i[~ݖv{.YmL4_}{:=RGGQr-TL`I!h*ai۽s!rnùkz1~Fj'w?#na=&]x8p8F=)GRb09lt>! 9q'&h>N7Yׇv9$GV@>.T<8+ut0J$5v+R~/-d\H_}Jv8F;臓2/T@]znu`3FwAPё'3x(>Pۇ9 } O{H͐b#N z;)q7N>C `aΦǓx% gQ a}O67Dg}7'4&@GeL,ws4N GN}.TL…a L);8WI +\̐Y;`| {h k~9UtH~+(I'2b 9 GCCeV9В³9|I";I/9J^&'[Vp +!wB4 Ms #.F9ǜNP~xz6AO41=I OI.fwљmmaC{֗2D){pWj%Vj0j3V׃1"pn$ȧ>̺vL@\l@}&(11[OyEm-h GmtkQ_D/&\ejz3~p8AYۭmuCĀQ~Ch'{+owO)GcЃ!^?Nwʷ^!pՍT"Xk͉ccǨX/0oA81.r `'nv$[mþО@ay2E4e83-փh?36h~?D +p8AGh 1g{gǙɻxm1h i֎udw'2пurf;v](/@< )`:# Pw8;1\?J"znvpgr&J?L<gN<t v'MpR>I;JZO ֍ 9Ѓq79?Re.fha-p3 XA:PYRIGY&HIGMR5o[دR-s"3t99seGP M%HJvo:Sc@= 5Di| 0#vDŽDD;"~AnM _Ӄtþ %~ \ ouqd,ৼN^#🛺mmǻ7!."6[ktvvjCQ{O4h;o-T옧mxw#VK8ZmBخ7c^6V7W^d9}dgJ# U˥d3Y?o +~U܈]im`Gqgl,}9PK xvl5$XlKҁ yRd4}jK zt4ENLa7{ѳ)sUU$#psArv2F0 r1oKEj˭I[@($z̏j8{ElEٯ7!U%_MRE dmpo9pn8Gu;SeGm6U?aX[vNk=]{PGziaϝA*TgϠt# h{hD|[kA:R#\a߳ S1/dE1w{~?brB0;i,Hy#χEożڱA Џ&Lat/줥Tqoڐ8Oٮ9;Ah{ZP;P{Dj_fRk&|W}Ӵ;Ԁ&Fn,<˵F˱THӍpR6 睁/ ``֋5_*̦M:ndy1Ū$31/o +c/?I?x.Й^Vicc4\d~húl4Xd1D|u8j./FrA?2V[0?Tf//t]xqFHяhz8uhxe nϹ8Si>K5x1,.Vy-j-V۱ ˵FQg NpњvJ+k,rMbe‡`#Y^ԳF7EʾMj݅ >bՂ8 FkMf e&3F뭩S%;=ȓ>m֐dPb2ߨbOǫLu 2J=I^Zd@$o%ܞ/}v#]NV}a3d<#x"S 7쵮U*_ /תbߨFnTlԣl]BPp>_ 3coс4BUvy͠(z^'9@jscZVƙ=My֊ }܄ .֐-FKOK<)z>m6psspHt%!mw=v{ ~L;* y2c89R?mR;K b +BHb#;=o?VkaJI酪O'#U%lYf5hfB EU+p-+ +{‹[+,ךhk-D׵fT䏪7c!TE~P$*NĽ>/G{]k]nfχ#9wCL=\oK&1ny3^YaFSyOb{nbD~hz8@^MZWd5WklXvvK4S0SW`l)6 _ZfE4Wgjk:z?-@+׊"R4n)HXKb^JcL[wbmtMIOJˀgA$̎z򿛗3xAY _qkڈAj-ɶR[#"{թ p/ kmzFcǕwmԯ7Tt\%Nz1_ވvRW@,ףm +q\Or7!D/7Dlf;^@:IRͯk`kGr_>j/@m&Ȩdznd[(|&vf>)&l4ka3EI3#u b^L!opYDAɂ cYqsUq*pv⛬d0WUXЉSϔ7#BeYOop盬ϥ"ZkJ4gЇD:V#ϏƗZh~ u4;%_ Dp3vT;^ʏܘO7: z$De<]b,3y0?r )3N1 /-D } txx.UY۱ǵo7zFsUqV LiI + d=H~fGҗ|軡c#w?y,4V\Anr(dtǓ>G>?nuѿYjz ~ ǣ'R>XmÍe47S]O!$qwYXM;pvk <'V9h'IqLJou-%}. {>Urb{:<7D!l(3?F?`߬F8_QlVZ(YIi^*g5J DfɼxcUe(;]棗6vFF;+VY3fD?Gjzq0b2JcbM47tE]D6 +@p_BNoƺgƛw#?kq[=r*l [Yi,XYB+>zBl*zEۃ#TVۭ +;eҀ:$ ?, +3=x\nLv̉ߜk Z.2˒GP6LZhv?1R!lKM# 0KǕVvDh MYaOOAfr;WVAI6ZYD$TUt*Ƚrd?u&/aei;S~ +ajt&YnrR,^-$&b}ו&(Ϙrj !QaQ1Q ºMþlGpv%p?,7"vYp q[= 6P=&-wCe犯hu9FU̎[mdˊ߮R@?Bf&VAME Q Y7)%᠆B=n/$EXoun T^m45m޴;9ߘd2V3m CKW7;E愾lg%+|;b,?OW =Hg͗&?`XgӅt领5r=C̤t="73%Q?^k:eۄ϶(_mHv7{yf?,.6~xdֺQTnaI+z'mG*אRԤz2S:I~+8,=Ǎ4:HޏVq>tFKcKiqj(=* мOEZsq>!ao?R۽)NmIv2BV5q5ˡ4p23k8A \4{_Bq}4-3mĝnf~V7"lW;1 źKQqA^Z8͎^lbEqŘw[EΗ&MVՓCqmԏ] \oʡ+HǝF|#s$靮Xoy4St|VUw5_I "nCmI*`VC͔U m=]@M䩛ci:9/ޏ*6W8.Fep2N:F %5L?CK6hߝ1cg@\nĪ G/C-z~;rui#֫m6nsvf"t{iP?K _fG>)IG +}#76ڙZVVŒ,7¶{I5*ᬐWi>:q;j뭝`ց[iĸh;q^.ۀ߸r AnA>n,S5 ah9VQJ'iAX l#GYC87:fV?1d֍+6¸V}iqhde o:(߷GVE¹6j$C;]+$o^C^HB>D)q GAR~23G7 ^Z33x$>栿l7PWDq%UfZ9π |tq`AvK ]i&6Q[x?~H/7h[M옵A;{;_I^ 4WM;srK['lՑվ4J;=l܈c&ށҊuYl@|Wa=vELi^,/TUl\KIcmr`f˵fDf^*I_/5!͔A-rBNE3`Gobۃ%ۑgȝA>E7F&'z9K5C";\{_ɂ0no_nGhzsy}PUܢycPso&lc؋䥬50kYa5œ֓e ]8vj(ڟ)[7`d0DŽkJ$T|)Ώ#v+Ok׷W:]^Jጐ=DNV$|X#wr6-8O-{(Q>lOa̪*`UYl*Nm 㠨C|YqnfPmU=;@YIqPоϗs_l=Dc1gfjGEO?a /mrzrӷZ$j{-8WKL2[m$}D0'e/q}sF f0'j"Lw++Bs(?,F/`&M,XuӉ꣉.Ow8.yࢬeӿUSNGݥOׯ / s +?!ߞ?D zoTO9 +{u3TASDܝC%BlRK#o=龮>r"\c:A s)"DԳtГtb;h SUQ ]7"jLj?#qiݟAFOэff8|c1* +Vũ9Wp^W},]ƺ]_#s&3"h94b7_݉sWo\'NFsbM;iVM|jv&wFw!o]f޴ cT5!6b{XFPCOT6|(Jt5VB̕/9=w =ztrڟgBb/ H5,0 +y6e, +D81W`^Η\_Z} 4@޾݆x| y rU{P?>\ʊ9Y<O~2{/+y tpȥh''H7)ݿ!_?zbb/_WAoAlL!`$>,PЯ=iUB|xp[ /܅=z 1yrg?[Bؑ^GH;Js$}b\+'3D%>qinxl)W!/o|r_smܸu{,0c_)[jK_]ȅxӥ7p>?C.WHOW"\z.>  $`'^%]I ӥGwA}!Ϗ߯B`Q$y9f Ti̔ܘ4lH˘KH_KO/B>W`}%OK?A!&zD%@P.P!ϡx^H<&;ZYB, oA^=04}^ܺ p~"exAضlmcHEMn ԙCӷM O܇<ebd Š+FY&8}2|3}xu?12<.ceW2eDfb s"+#|~48Dۥ OV \ZX>yO[}y)eЗQw+Q&cekǦ5'ݭ7+#ПVP엸d؛`=F,^=7߷'9U]Xl/.dP@Z͜ 8 OUwHAw!!&8P7\@񟭆[-6W38KYlU{e>ڐ`㞵fgz07X2 z[U[sKȻ@-?<hx +}Z%ٌ*YK aKnB%i~7:t2<6e&9_ +p]oO_/uz910I$+9o f0W>vo$={23W;2#iMi/O'EFpbr]竘h1N4s8\ZoAb0pvֺӐTc>q\ߒͰg^S⼂8z]vjې-!.C`4?eS6w\eFL{}EV,hqzr}dʫd#ZT=|DxH]ׯپxB|.8z^ufw)1,:bҝOwQ5;s8=^Ab+7zIZʡ`0v6ע]Dswn%+F~w"2)*fGHV wHB1CbhN\6C<$D撻$ p' G˸ؐDi6]/,awF A@q|l{YV+!۴+0SeOBC`ޝ;,d4puX[Ws}i4+8X-yWٖLUkeGX{}Bf4φwlMoU`~Bo:Qݟ]ɤ(yjI6?e(yN_SCo/ +lT9Ļ%X̰BVa0_;#tBx:O;mNW< L!3i<'(8#ħ'/ϫK"k`L":kDBڬL\_6s_[Ö:᳕/kmSy~nLHWg;Ɂ#M}SQgϟm%4I?߾.ܧ/JL0{[W?<3Sf4M6`vlq̌%Y,l1e,f2{4?Gk}גMAG:2F"0Q5z O]ļ9\bV;0D8~_<>ez7zV419\/e)g +dQp ?'13s7d `XpRxSNw6ײ68C:\!Yt<&2 {pI15ԾMzwԽҏJ† ! m`[fKz6'3A`_:E *W䪔XTѡa˭`@FDQڱw,)v(0PMͻ/q-2g1ovGkC]vM{\QqXGϩaX|(i +HNٶĬ :(!5UQuWK{xv eoNwljw) GMs*hXjQA],q<$I?LߕR`v%bSi3_,B I0U@5P؞+J&4,gOFHOGۖZܷ-E|saweX1 +Qos]FD1=_PK5NҎK l?5wOn &:%Xp䱉ˋ$gW)_77YLvϼ OĆM\v@O Ơ +S既mBг{fp6  Gɠ+جn T7T;rǾv*b]@IPya55$Vŀe1J<79 Pk`r"t[Vd>8g +#9sk*KF!7", &! +q0U϶О`[#JDGArzld=b:tk1qs,b@*.I;ңBVXQvPrJˡeSc&.7sA '49Q^ЃN!<HУ @>k0u)8HBm:h+ˠ8ݷ2tycMW]FjrIe^5cacf#TmDGF 3 &fyeXd|rJ[(ls*IS[DGAsMI lq{"=绂g[ v@lY2bFA$;'֮Y `>OTH@+=\w8Wu3%/뭓$*$"BV+/:]Rx< z7 i:|˩1^ +H`3/m "bKLi4 T]t|m%D 3w%܌. +z۽J=RTОQbv~ȡtM +.; ,lW- +~2Ƕ}kVu8N>V Yx@<>{3|O+|ױL.r +in*pm:< wFB㟻,&+Aρ`̯Uxl˛wP=rub}q`yb}.\1IC]8d빬 @ֻD +9$‡^l}nU`rXOrR+ n)d_D*ۜFv9w>^-a@FU=q Rrq^ 8o|2T~?𞤯6ۥ1sl;2FLpb vZ%4fW@>Q +X.9 gߩMG̍'ʱA "!';et9b:bs>S+=6H8<!c +@O*bmsuĈk<"`Ov51I&"X*ۙ({~XKl ظ#!.'!&xc ;jsr +K=ZqKqQBa`%9XM^OX)&վɊiK ?v۵z jI595lfm2&-#K&KK!wؽN)ҍxsa=;%ϡWC-=F;_8Ͼ .Os sEx ++J_:JH֯!C:FrKwJy~50TdJ.feB^HD,.쳨$|kz7Qs'!Uakfxo 7I2uIHU;1 ̟&g^_X!Ӝ$ 4٧#ήS-Tȋ(Z"+ +4ٶԞ薒c$GzB$u ޿K*{`o.kOL]#cgo@){%oyY@_ ob澹h'_\oO hi#. R\kC)Z'd"bte@Jipy_N6iH?+۝$nN4>`HF9V+k7pD_j}bi{d[f-R#* 茪(_\Ʀ}y8*Y!(ٯ7Yw-ïa 6]plgڽegif'Sޟi919$ͱ N0?Rj1lfp#&.ޟ/w@E 4^ *8ldά,湅Ih-s|+CQ =/0ttL +Ca8U HXMmi-%pGhZlUnTJk%tXm5B\{(63Vz7uG {uww6'm/s qr΃~;dm +9dz "Up5 +[-UW?%ߛ_曟xeHj͛;@snzEf +*a%޳Iۙ.\kIhx`-&6 +@ +pBg!9OT@OT؊藣KJl[ʴ-#Su? yPuEHNs_@݀ދn` NԤ#~xx:<>X[ +ҶA6fbJbG)I- bw endstream endobj 20 0 obj <>stream + uVPJׄFt|n31;]\S?q<˰t`@=F4!S˩b}eWVo ֱD*eUM}x=fA 㔐+Y5ЫL9=)JAA)w@5i8L0,"϶r2{[^td6&bvUꩁN oƴͩ[։"l2:owM hڛhL{j^ |M4:nXqzA5==K)9ݩW8V3 "'!آHC=1pjȠx'4G(೼-v{K.ʮd\ ڝFiutk k[@=uVܴ$4HZ&ĦFS2A|but{4* M?Ű7źAP33s- ^1u@sAGlE^ $P} VSSVXGCt4@2ϵܙ=蘌cˈ.)lu D,#!#z*¹tC[Kw˰eqP6]d;்7{]̜qŷ7է;\cWep-|s1/ nNT䱩-~s=ͽ,ĹͶ.u7kMhu0toɦ ȔV Kۭu]嗌5uKβ;uwۺ؞9eZU;W 6o1!+r +T"ȥ:`\[㭏~34uQE_wV3D.V' @{Ƨ;à78 M=u]\5ׅ̃Ċ#c= 9aoW e[iNt[Rrj{Ċbv/Q-5sla "LMCdT2YԿEn@_lYA|!!W^Ts~꯺w4 ?X&U>E, ;fo_;sv,?:ۤ:s^@oq-naΒUOĴʮU1Hv˫5& +'@ky_ 5HLՑ!p[Heo &RoYmu"@O9Ao\"RIXAmo~\TѳXAM`_i)22olM$hS OM,rfg=2.)p W Q=[wh +Qds>ukuonu)F ]2J}Paz;/`Bj6:t[ͫ^";麎殂$K𭵿96v @ȊS nxg%N65GˍˈY}9p*( O7pዖe?97K6{{X} +$ESzU:L\5Wܚhxdm|3識 +Sa_؅]cn CjJyъ֡tۻN( 9G7!).%O?rmJSiXw9BW\_tyxk [yxV(sg϶xĺx=g pATMC<62 A5*bb" +BMpUr4Jgꮹ;K\<վ; Iv-]\X`XBMw_[έJK8전ܤi.u8ݒxn&LOA^.1rn5_ 2<@_;3|oU_[m;Br\Lg5DaD +ƈMOߙݷz  ~p,޷-=<12h5\#dL_Bm-y?mo>X#}7RqDI}?ۢө?'<ߤBjT\ӓUC ŷ'CP]ѝ!;Lvh5pHjpQXk +wIERNe)k;%4:%bJ^bFOK[{/ NOtty幺; rb`[lzXt:(| +iHWTA'F^gfgPm,&5"(։ q^)X-wWJ2$c {MO +J뉞kgfC*|_ 5~% o[F$SKkzEgC5ׇS??›t 3C2\yTEn<Ѳ0!5̯i/͵њxbdY'C +rt5DOUOoPs0I{jږeik|?^{ӿ2ֳ ؟}*c$}Uį ;߁鈠?痓[?4< o ky ځx$dg'Sߙ0u!e{+#:Pѧ5QWT*nKpΊ[6Z5z\#4kL2*cwt]BDvH@&l{XG¯$7##F&׮ Xภ +ni ' ֹ {=yb ΀ [ ,aodEʯY&AoVϖ?Ym*2>,'6 Iv/:'%ֺ*ne|y:-ÐS3~ǔL,d!5Jã{Uhcv]syW*HjZn!>lxϾRo \ӳo2~` +R\52\tsYX.{c$޿",GN7=8kyQa*϶m&#2T!Y a [3mOg =bWz4\CfY 6@Ue/ 7goL\ X$4G{cu/g z%ɱZ/4 4wI&<"jձ +ON߰ ]_QѶ 9Pu%w5lcDMiߟm~na5Q~'izn͊y,RTR?vxQ-WYfu:#a4G`OBJX͝{N~@O=CE{ 9t;S;tnDUŎǦmw ̓n̂S=xnc*RcHh{;~VQSGV*7w.giKpkWPtXM7?<~4Z^lp\0aUT}i[8D4`a}d85͝Zz,܎w[.ȍnZR+s)(>uh' ݭZ^Ʌg!42pshNr0o9\d,s=7N܋ ~)5 13JF}#sꟺI[c͏E?^nT5^u,T=1 +#zLz>6p1sɤ]rDeW(5FkT1*<֎n7hw? WӐyT<Ƈ:!a*DK-ؚn~꨼%ރsHnc=3yQ+ȌٖG^I|o';D0#*Z[Th :W˽4ϼ3P{s)k!"faROL)a}hTWruz}TCjJa9{Ӎl3W3mkw9fk½L +추Qv1y@)Ma }1k{7hя' +>f@̗,a6%ał|9Vog۽K''l_Us.&0OCR|P_3u׳擒kf OmoVSM-'WP!:ݹJ(ډY/=XfՃI〈 LK IA9̌k9A-*&㲣?f=[}>x7f}ZD~riY)|%Ti'K)%>z?/ V YB) Д +ٸW3`jrL!v9Ḵ.r ,m-6c$Gt|N3qltE \@.s7%:כS"b_j=\"JX-צ?.Nd˾ߙ?We_|:þ z^D:xQHK8%TvL@n u!-$EU44GIA,Mε-bLrջ*?wÒvb~/܆1ɶG5T,2Yso[V8ns4^/RopkKAkY.)2HŊ8l Sb-YZL-bg> $dTn~- +ߵvz /,*!a*[{0Q j_&뚪(韎C8{5aNJ)w=e?*ϭcG>_o-nsFcz ,Iڝx;~ qlf:6!cbZT$EODnwgA/p҃ڞ󻣆~P&qF"2t.^:VO\Pm 2mWpu߻IgF:BhQV؊3Bg4Lge8w A@9Uf82eΪu=sYpв–gA  6O}\͉T^i|e{k{Hsq%Wr +WJ''a o*fz +W䑓L6f_mOB::-In)hw=_lw5p-߹ږv$B/+~%8Э ׉.!g] +&ԶAu+p!0i+%W;iS{{ f Xxqgg)6B qO>:oH}gew 1iL[ɦ[Y&ޥbjhDC*/b5\vʩwqsـ$XʯW`j=|#4K Ðq*o(ϡ'E|W)i 5[#>5ulQDErnaHjq9:_ D] +,s쓰D`5}O[C?&O c ]xE䊀I^1s5Iѕ󣜟}Br ᑴ%e&.ޓ@Gx$~䰦+#iT#_{~cCe.ʶGN?Gd}F˻W78IZ8kYW+Km1)jDׅ .Q>-է"&ǖ{8b?k +4p8:.%] +~-ӫӈW:^rFڗ[;ӭ3׹esm, w-S w-&g0"αi$ [ iFEgۼހ +12^ÕD1mh@Niqy{ ھk3$xlaw٤<;V_DLKNnp3{K`Rk*'; +F2p[ȬYVŦіu$|T~%.6=5 Ud싸 K⩹#ÖzdzKuW, :8[srGa'qic 7b9wp"*2`## i 8/UlV`X WƁk[ķ_Wh?#^#~c鯽Xho*)u,r30 + +r Tj`6tD|cOT?}O,TCBޯ{bLOIP֔AROvj. e%?v@/k^vjD>+e8{?[^x_{B2bz2 +`cg.$8יHM_3~ok__ssgOc-wKqDԯwG1evTokKΚ[ӰӤJRjBYԳM،džhh@m)1e~|ݳ\"4{_:@F`oayTݐ9OE] x>u]g"4[EȬIJOɗv(~SK$ [h#ۓ-Ii\TZfP)GB\Ub8`\FPOG7y]~mj&ܣbB}ᥣ56q_HkR'l}0+0:T[n&`^:zsR3R17iԨLQΥ8 +cf` wH(}LpH56 4G${@D_"VF-CyT6Iۭ_۠nt6v'UAZf8'o U_U3qK~H?~p.#3L}M7ͷjV9?@jGl_;T-8]A-ubwG\*}g7+8WowG O+.I3CWKg=Vu⚪+o,^}/$]ٙhLO>nKrVC2BML +39WGT=c*b_f2?#xgⲏduTսeTEJٍI\H#So/%B->zON/"bUbU:\ps9mg"t{\! +]bHj3"BJ~WPNET2a_Xܾ֒qNm), [ZA3#2:cg6Kr *qGsӘɹ?mH~mP-&؈XH(R]#NK!:7PM#k=BHs5׻2JNη/a&0I)D"2."M# +R\zOeN3;t68YVk@|Mު nUkgZB!틁k~ leQLw.s"=ɢD\}Ulpα^ұҐRQchߘƠ ^ N_\'T͋ĜzWCJc˰]xw[K(_N_@?(SkԪxv P˭um&57<} .($eemy0OXMoy 4 s fӌKٓ-NG$ut:pAXF,̭aSCO]1|1O,7J/لm ;Ӎv&jsـFN-n7?vO+Urolmր Zt䙁AHَ5[0R1 +3M/y+^D%!&:|GQ%k ,׽|fo)\ղG;Ҙ= } =zxPk}OL۞l+AV:X%}ґ1DVۯC~gW;֌unNQkֻm tt {# toxVrz6?ݜdmIit[0հpn-73=O6H`MDC@?`5s'g:[6܋hPyAyVm%Z8&EîJ@A=[䭥񞮣O/۞ixa=R{2RvpԿByxm#da}:2b~h鞊>)9(7dǤc3*SwLgjn*~/2v%qlOzUV:} ^'אb ;}[K. fwp$WU*<"|a X3DGn U >ٙħ{OU߮~gwU_[D'0~Qh҇Ko+f_S(8^_ *Ez[~?Ox~wofꟄ4HDգͣ΁xt9`盨anG.I 䃣e"ThulL[:莄 x:x=H t_.KAE`%T˦^/z" ШI<\䂖A1`ܯG F`-Z%W_uYBs .=RH[Ium%XR!w@bReL))W^h;/OC}Ӎ̿^yOWALXA04֔oz/9e7xSn|ԛН%D +(1'$蒭prz> s=Y8=蕜϶ImB+u_͝xk n4M%UV38 ъOW_>_X#SGETd^ۋɟ8P94 躡[Xt/x3jN6ӭ~CXϡG\rDIi +n˼k +comc'Hk'Co>|4,K g=ɿ-AV`WuP"ZbKԖ,np 23f⼀>)mu#a,z3e #sД3- UURUX&U|}\xn]o}9tgw +p^$f\^MUGt(,)뛁Ure_wz? zY:Ҡ X̯~rjϷ)3=6XkzH.OxSp?l`D較ц}U?iY_0JqijX&8#!KڠR+۝^1ӠXYg#>ӳ(a%)lK2U2>G/m[x/#CRjmMSt?2Sr /^$4&g hw9]g&/f/4ޏ=7 kW\fu&h{j3^![}9𲮳׃D&l"Bi " ({׼xc-' 26oqz{``zWBMbc5a=".ۣW{S 5wlrX?.92꒓\Z_Ņ)D/S}eg|.}/CrSB)F)b*!$_Y43zu4Ygi5o,Ä\"1|]E7peG@Lإ +)e d6PaQ +x궨Wͣu7Q%gPq8מ?x3Jqjo3+nĚ.lo"95̯̔+R[}ô3mG:ޙөNhKK[ +-nww  !kG{߸͝skd3gE/h .':J Pkzνɴꊇs̻dVB^(La }@Ou=2'fŽ5OΉJoz16J[q3G> L ?/+L<n0Svsq\; :Dު.N~&qՈpq +ڞzϳ=IqChZWM% j$,Zhfn{WAZxCNQzk:xnXГ^|+e=PIhq? +[n|FjqL m0ElyK:U-yT4'IO~Uj6235嬋_Pw@Қ0-mLªt򦋍s/Zf؂-/f֞fF/_ܑqSFz\W,4xwղ٬N`-aFOo//uњm_г^Qzoj.Fގs2kHGmE–Ӓ{J 04y#]uelqeQ3"{ٌ,Z֜,$f@#4`Jw}\f&VJ;̟Bm|.8H8.8_V~î?fW_g?8oxэi뫻c\~j&DfVٵGU'\z+H#-Eݳi5'/m9?qſy0_cp>[bS{Vz]rS +_h%6z7gD ͹7p16iύݚ](j|3/&c)#\67R~nNtg +/<ӰXHGWlBfo{nPnXzՊ*VLqYf^*?ŰhJ_q;%8jW}Z6n餃 eF2dR?L6-#;4}oOxiU>8nEgN';o rfAb +^_\z~Bv}g~tq8{l VN1~.{? ܝ`l536"GfNU4sRdʬokVJUI۫SJh)As`NV`?<#4~y=/3WS1~08'+!7/^PxGoIůn +3U7ON ?;멿!]I}x$:OcVL_:xERUor$邗7N鍭HÝ|Ww Cg^] j_zqaWѥ#w_uk&B UlFY:'kI6%.JvcjK3.Z {~ kM LQ3/YI>usmL0)b݆lq qe1seQszh="H\Q䨌5bԭXk>vQCkdFLfΏ߬h;l܂UߑqDx!^S1^7 NV̝ɛ^BA͚W@b%ơQ-xixwUm5 "7l•8IٚW19$cތF`%,1|?l;s[C?DwN2CLQ>+vlANd2L>NZv]5:w=O3D()8y k{ny= 7ݞkjRN!}UOY8j|n9Yꦇi듃I}+k.*`M`Ї)1Lˊ"6.j0Q2ΪFԞuEm>?D)腽S! ~w&ؘ/}=&/j!.hAob ij+1z7b96{]޲k6biv99~x%9i:4Ig*te,gAӾ;$dhYNޜ@e>;Lv{NEƯðK*|ޟG?P)?)gdv坨[vfzzcɈtdQ+g-GX5>򱊯w8+iy [DjH؂{&DѪ#q |mlxg &]6=$eQUc?sT?SClڑcc]֠Ut?ΙHmKÐ=jUM%(HWᦕK*\Ul5M mÄ.j2POfZo`qeI;7uZnzj{f_XcS%]ˋ`?^րҷl}7 )g=nfm9UGT§ 40e8Š|?ϳal1u09cq À{Y%UˏT!kF3=x3W紸ҲVP/ol\众[x>jdI^m7Oi~f@׳%:+<-"Uۅ?޴v%+NK/-*]ڍQ*`n"#_,ZׯZaTE5qoվ>8Kfbͺqs)r˒:fU8o]}Y%/#9;:lu#g~]^wnt]IF+~M+f[D *EA?\ kZ䍷gǞƀ[6| +Zy Q i֞ {w9(@oT-A58g~4gKXX`O!}~kBBhI{z^ps׉kJ]Q=wҳ~n{ǯ R:%ş'!>GB˪,GfӼ{'fUʧmo1 _Q@;v&$"9=Ǧ{xY_sO3dZf猋oig:D>G*w-oV5VuG*n=8-qL{{Ӏ,g_w~K`1LjmbޚK$ʧ9 +GvL?k|2>u[nT{?$[`I^TVЬ /W!+%4yagum9bь{ӠꆅRl_U +j?3":>ȰO!*ioZ04E;+>ޮG۱bv->lö @ VՕtoѭ}bg"nBS9D&cvĮ 4oΪXO6LЖ ;ڎM۞܈i9#,s'R1V%;|gZN^K a&9 Sc4鏁 SҮױڳXՅ5Y%.'b!Th939bM0 q|G ϏimMnSsFlႍTl~P1czaYGX6Jtoiae5Y! F|' !0`FA+by؅3*B4M-YP:XSRZלLd޿,8,nil5W-,|]T@r0ꮮI&!5[f}Yh?z9/dOIYkbӶԾeYf]7p^p6]E̯dj|͝u+nNXל򊏞󳇑Xw]|Htـa}⿄WbU>v vTYԎ!{1Ɣ|`ѓk^vg$6!QIQݱaTqً{>85> +0Qskj7ؘPf D⪝rfBylTyUMjICʋ6v}|ulKF\{{VuK:BZ0ld- 6>X6?0A2 J߽]Y?OFF`f[I+vl{iy uZK,[ɛL̺_AW,;y5 8c \s#JLY*Wǭ}?p[6-Mqg b8:4:['sl9=79jǕ-qK:r岕ˉ>x*Wse[|.8dEnճ8vǩ rE8!*59 +fړ%D4&#!eg{"B?MぇtӦ Q?kgjUt mBr+j/w=tرڱ窗K3ڗ, 1r i)+ 1!s>yN_W m'tz:O 6bD pY:B3!#dN)k^>mFG,/"^R,X1.DnS2593I{1RgÅo0H&=Ct6<*i;Bb֕e۰auOGP&ji7.YV  _Գzd~r'`JmZ4s l5%Q d5,yADbH +}h TL%䲰 +ؙmLGؒ5 %1m[ݼYpӖ>W.neR1g{ rTмuMHEBTVs~lɊ_6cvPa=q>{G:h(u3 +vrúYj$ءy1r[@]D$2ڶ亍ֶ#wyE'-bg6<<${+@Gǰt!(q:jK/YESCE-a +|ݍwG1(lNX1s7=VpW#mpCC-O҂'^۲x_8di5l\}J =;x׼7LI;}jۍ9TݚS9= Np;w6uBAXvJVE kcL80*p4$EG Q/w1. \cBX1rR6k м]XpgVvڬ +F6fGljV̸ 'gQOu@7amsQ;|4fAzPҤ^p V|f7De+vJ +6&Eu?_袶)nvzܻ>sDϝp}ԬRbg +=뎣bJEYdbpFhds7},ºc +gp<=Q>ymrSS4}\4u-,`⌎Qs}?cG1Oq8l;=~ӧ~qD͚#}QזV?ie=&'51> s#]K:prpx+1;1Ć3 ~]v7BF/[tIl<Ģ_u*1uڮw&dκ kvLyDۙ~i[7 W[iX^16&ĪMZaXLLqY zB実}VǺʛ_#&<`s6L0&bٲ ]qu/,b@^PԔ2&(-j^ 9P&TɎ +s>vsM>gYInlr{^`ܝ+5`'ֆ␖i؀s1mWp6'鸈Լ9FAF(iu +s'ISu_{ۉM^:zyz%V]tNP3Һf69 `gd{GAeum[tW%P0اX!)oFks sxc"d㥣֬ٴ#6^^CfOxjBBNICi%N(9'adU瞖ܛ:*e/gwc27ubA]jʹ֨Vq ĀґYœw2V:%Q/wː%uz$xkm/\6:ǨX~ ]-xQG|ˊ +iIFDzM@s[6r(e7<4Њ>NƸ?? 2);tyS`AOԍsY~A Ba$owÝ]c#z\t=80-ݙHlĊֺbÕ/ ikǞCn 8)'[Xʤ>>{O[x`0Lij3½ֽpz#lZ9O;ALKȜ #úw0c[ ʞl%O6:WogcM Ѫ6<@z7(ޝQAzgZٝx"}i*9b-e+cLdHi!&g#ëc Ē1qۓ|ع=k1.7lV.hUov,0k^L8r/HFM 5[!uF-Z0wo7 GI-:kMhݙ%/Ek~*n}؝Mzvp{! +: AgX[`nY~ U2ʸk&?q3fG$mj-ߧ&.ꅛz?)2C(%.ȩ!'ICP4R骾{#2 fNKH.j +gBU&?r6݃5aR'd`spsDЫ6m1hFk<6b +^P75;}ԧpi 4F4\YxVNH {"yhS2oKV|݆ˌ:B=V~`Zn3fS7rA!K1( xq%G>WRq˜:~'e+)U+100Ulx̕Q.nqyHoXrq`KJkLMjݢ UY}# d:uH7h}wBo`WzT RAAZ 'FV+g:dA#D&u#}H>ÔuS9bT''bOˀwD匓ϛ~ U,wèX Zb&U~t}Lk b:>R'5 }r1(lK&exM}- w:2RSis25k.ٜbLZԵ\A'{da~zTe%2%bxVIΛvw2g#@Ŀt~bg\9)'*9;F5C0`Od@+%ns,!X^6aft,_h*!/M}>3,xے4g@M|(#Gh^&닸dm1hIBc\zׅŔwڛUeI]ԛT[\ J(N%:ʦFغY+gz#ehHU-UH,u|>f`D MsYݮj⃺"ݒ\ग़ FxD%V+{X%{S Y&{wNlٚG9w)z-˫7evDY* :ҝoNY;!`J(_c\e\b#{֩/-EI 8uZ?||Lo7?#m +ŨaPi%B8*ef뿋2\ 7p5dȅf镚*?TJ_wzQ\zk ~Y,l G,6r;'`AQjF9z8c>J{ePX]yO5uJOǿFQ\+ǯq5}wao+9CW9acmZHS%⺋4g8]Χ2xܩ&ռL Hry O>XCU>o3Fz]ё>fէ +-VݠԏKQS<K=\g.jJX;v]C)|^S,J)1@ +fvuX>IE{6r'M%4i?i Uج!5p2=]qWU}۳۷J^n=]Q ;M)*DZ=.X\mi'1x=o@qo3's +_J']o%v=x>q9޹^sK.[TpLAH%AȫEO]T!Tr~21׫q4%QOɪ~/ s+ĉ\Ɍ jjeR ; ,u2V.):!['IG-F9YX-n `AjbބVӋ5JegPHd(; z,+,ɯ}\(<(Mr&uZz_|1d 1bͬv%rI?F5=M#|wEo2 +I.UBv D>hQ+ׯJq^im Jm4; g3^NOCӉK&N$~pRmr+eT(dNCnfH__O +AoA8dU{E?UTLש*ϤTخG cK8Q5+lvA)x9b8G1#5(/Bv?\w_~ZKK%AN΄_Q bli5!Z|bWG ԆE7p}x'GB[(O㉵9d|@{R] 9]1(-3發I=a&nYC֎ T}9ެ\鈱I0t h%cŀҍ2Y `N6cT,8E'`A<}g6b1gG]7HHd%!nեcZV~b-)n{*g|kRDr],6ljQ'0sÃjߟVϊQO˕M2p `, L+*jb=8I}j)ec*tN"J|}}ن+q!4iǵnޣ} +@?"4V +u~Ce@Q;V{n{(a`Qo0[^tDؕ19؋O R1$Ux%ҭy}!u/0Bl֞^1-jΪqsfS҃PJg|̔ӳk4 +^z6]tN-&=benl^^lOZ1uCކ-Ԗ%ߐy32Zz[E-˺TCne6~(n) ^y\0$o=|aPTR8eUlulw| +jgl9~i=o$A((vVCΞq09ւA"-;nl(8 >?zq+>7= \cBS9FX LkRbK>fFB\Zܛc ?DO4QY1n; +av|躰S<ۥYGcw/{y #-9ՋBU·΍JaO7yy <:JlZu"ʗtyE1˼м}]м`'7wS[ 0bP_]~^,v͒iMqȜ =<{qن+ڷA3#GNVorXm3$~ڰ2];p eZcMmK{ }nTyxEWz=,(颁#:hƚhk$=AGE ෫Z`(aU:$1)(ki}g~?,m޴!w%#4p )nۑeFpځ+!4zl˷l쁟R@{.d횹#e +Xte +53ɧ ~8=gA[vXϳ ^DrEw o `ƮhOXтR6]O2k8rBr%EWeOn/ne@X#ʮ7` \)UqXa,qJ=WЩVXpːPwM},<`aΒ +|EΝ?t>903@xX/\mk}3m$M $NI{6@ʑxd[rx!qz.NmG^|ˑX5'D.,Ko^ynTŞصbܹDdb|XwIQŕYií`~`/Q(e[ ~aA@|o@ckK7fNj5c6)+!A /# NSk;fl岺p)]$kM|C xHR.FFZsp>ewݩf/>GnDQq=JlBq\y:aG>xł`55i׌?rswLM QEC|JdA,^xQz1,o{aO֎w5u ݖUSUϣ}eύ[Vս Uݘ:=Xs4jly5>]75<"*>zsֆGomX,ήS[S<6o;?ݘG!5+YQ[A9 뚆呚m]SG/nEU8;X}x#ߏCJiĈ{8N!bgF;5IӒ[ۖq +e@4}e _/Be_,*o)1NX02F GQnT 6eWraBX}yaٖ_/ =5*ZDں6Q T]*&ayM=87o󛏞Όe=8ynG7UUTVwJE{rE~{>ދq4'q~pkGzښ3?feW#;jeygҊv:fŵקDjLެ@򶌳K뫲{{6Pfxλ)>NCIiQp1*k| Κ=:q~ɍOii]"{3>G'5Za1Ljޮ!EtZ%h=e簸}4oێ +KR@>wGZ[Eу+Sz 2N W\YU\[Wcfd"#O|_N|ݒ"g懑;L cS?#oy#fFM{LMD4ؓ}y]]p[SsWwZš+gYQr32׆ POTQ[mاߍ-%W΄ˊV~IF }*5O.rϢ]Ө13VEg_bS/A𩨐V➥OgXO&mgmmky UES7% ŶX_J0!a伮=넾=yo3Nnٝ$$7W>gO;CI~%|⋢ƴ+o ;ڽIZ(+>J/nt *b,BZq]>WF=f!~o,n?'jZ1O7'9AX򛬱uYxEEb=Ns,a@O">rKί朋Sen20cȄIaΙ)tEDd ,+JLe[@>n4vLtMGN-.UsU"H`ŗ +:<8,%=|Ư}v9;C5kݕW7kGHIy!rk3]} ;}\oǮt]0}G^zXޒ%~dc p;3qkc?.ew#/qiFCS#&ۋsxesS}l"NR'7k~7 tԄf}]'F/e>Pҍ~-D61ɃGȝ舍ފK+wP+`]zx[qiM5sQbJ3hE)iMAב+}kIS_ "-ⓕ; ~ҵq-3 o +]yjrSusz*j/8RC +Jk>4-ؕ/|kBS-4>R1`һưs.)zuЃx`&v.tlP'q\ojOk_!3[{lAlV w2KNW]\zW:K1]]e𬱫7xC}謁'su,>:\rseWYWl3QP_1^lǥMmW/ +{nk>gs~)#٤\ xvs׉'Lւ(嫼;NڣaPZ<*r&_ٻCQabmSrT? 4nq7OL HYN-'bM嗕 .m @ړNOz5;_ BEۣ \M‡);7,881Aӿ.,8|(&Z診AH!LV"F룂!Ŏ*oZ?g)~%ro po7 NYC/yI?%$2@KוS3 ysɯ u IybiV~xc]H?LO`w Lȡ0`}$'CQ{HJa *Lc׷ m=S@=lmZ4b{j'ȵ9p7Ŧ^_}r9IHAP+ JJKOtDg~VZtQ'nMQnՐe|SxqUےwf]5R2PWp)}[ SrQh'ҋ˯/Gp^N@D|g"zD"!e_:Qy[D4X_lS̀)e64ANS<^`?ìޛoOb }Uwǘ 2/0١%:%c7FkɧM3¯u͟6t <^ڒ|jUU$_ã7ŇD^;ZoLvEzȸKKnGAegg89RmHhBŬ˹`x_p Z`i9] ?t<)FCu.&Xqld]$9۹@/uY=tt/+R"nWek[3~^6ҺYF-Ѝ\<*&%E$2:NO aj)9⡼Rr"R L e}7!f#:M2>2nd<ޚ7IIs,"B&f~o <- _@As0ZHϓv$p /Zx o "f9.n1Y9;{ +jD2TtXO,Ρ._!z2斡vJon_ *D =#ȹ`$p<#gĥ(^dߕ&\u**B]>x_{pjxyoظDn&RQta!ۊ O,u%j?/(pIۃW4M1c^~sPC8XPq3 bjmD^^{_uCҜuv,0Lu3P]ѽ)6%9ŬҍGS_i\RBWŬصJRME.H56&/-3 bpOvE3\НWCqkm6-!gNJֺkl<^~v =xlIQיyjg_ǸT|yVn ޷t$mHT UMb7&f{DkVsr[,܍AbgcW-_ -=Ӌz1F\&6|h?p闑r2%B$!W|R,>)}m1OM#(>CLz.g梳K/Ϛ'j#wƐWz74EWJV9ukQKcf9y.:) +O%n|ި ؃^u pm ,5-8qJm &1 (,>ާ r_!vcⵯ +BڜOFRUPGߔ_9`QcԦF+"!c'k!{am0vxZ#!fPQ7A+UN~,;Y dNtL ~ёn,yj@= +%m,EQ{# 8yZٿ +ǸAf!l8^㐬r|ƞYvl0)k ?tk85GI +jJ7>&'Sίeclv{]7q́E;g.HEeT4WzW =z/YFyZ Cbs˜u.1̟ wSȍuRvFY%yK.-Wg 1v瘉?nzڵ^-߼sZrWK~WtЃt A5Pp2Zm3\uK:!_ybФbiG^S5-*Lx3CPGf<ȎӘLy0(a(D QwA~7cb׃uh@;\^" yJxiuim(S~#M'B|ES\3`H!PͩʱWvG*nqGZd%Q(8б066}6eY۲? [ +TV~y=i@-dTl_ĺp1#,:%"Mɦ֢H*y(QZbRj?*"%$26#kmuK uSƴיLf@QOX?=)k iF썡(y~ 鋚EOwHr7Kn瞳LVG +yn/v#E,2q{,.M= RBy3W]*Zi#?Z1QNyI$+k,)rco +v%ƣ_>XinߙdZ_g+`7M'K}j˛miWVya=WIå\W%{\h]JvygV赟Ɨz>׉٥1~D;0(,cf,pƏmßvڧk|UN-ޙe:ZNiS;;2}F4M!w^-rY״ rΌPxl~y]'&hnUx&fexgST$d5j,>p|skZ-:Cq_4j^egxMţ4$b{Ӷ$jnRֺ7rO2RN%fT+vyP2Ib&FiIaB%GSprq a}Rj8!fsԡƪڳOB[(`KD i6){?tU>ԽIuc[4H#nb쎑LL\elu&FӞmA6}:'eAÙ̧ ?]~~]ttum=BKς 4-5z'ZP?k^B/Xs>E,Oo&alSl\S/YZjo宲+o+o V=q/` t,њPh9w*׻X7!wҚ$4":[c ;ЊUS+]tP‹&\\t. a2Jo6&h9K=( )i}^ms=0Fjt]9lA%q%ZbT~4 +VZ7A&cR?mR쓒\ D8<{VR4˻z}Ԥۀ7ci>^k:2 +x>_fV)A9TͺP`JJG'`5>?6v <Yy`_.)9+$X$:xD}ynׇd/2(7T<zi S NY 2+W,}weS쏖њ8c}=ӌڛq +q[-CwmSOSDn{7/3vGq=ZL=}[i~CZWk!$_W&<9ۗw=DLBKbL^P":Dݲx=7  x]p]ٞy2w e!dlŋb&2^zuhWʮmbcJٞ@nmŸ9 +`9Bj`K׫b @rJ4")Ŧ8eR&yU䲣5ëdTUl" +zjCv'ha7BZZF lbPG}ZcJuyhy]dc},[M)HX\4 z6ɣQOZFg-󞠮թhaYEL2b|?7k,"=Pq'Dܝqr)>|욨?Vq.U{BK<~x+ycSy7 {?:Rş,Lcq#șc{Ӥ4qcgz\uWp)6w}EUt]W4q\aN{C"\z&TM+UL2TcsFik␔YSҡ룘(;m[KO,s~5>>8Z屿l5\kh^%J*n9d_! 7Tqi)@]&hCXoV? #ɱG\_̈́"nɀXR,bbk^ eӭs$YS5 Uޚoʺ2:랃}5yVO2>%`[F~GM㵷艚W+W5W%|`-xoϺ^dN )s{Zxllh hm(ٟq1OL/ VSʱ7]2NU@FKjmTmRXED sə0}!머=Cyshhڙ#@,w_]SS!sf>[D Jui[X)D_s$G%ʠգb\ +Ji;xQS?5ߝ*_#ofMT +3 I:iJ`IW57>?MkmΫL#Y;׼z.+<8˛n/E\HtxWjr.ʦ}ٵ:yxH d7&ꑞʟWW6Ya3 5;:Vue(ICܥ \msTwۜ)N4c; +c[*x`)cF|yg%}oUh9.ՙ+jpLN,▃K7>0%Aվ֣:BMƃNGkAobLans Zl`elqIruWl嗙)RuЯ%UYl T.}}F͓̬pmyphjbk6~{q8pzmi @AY +RKLϹiܲMDXH1>O*"2\ \zHG0O\kw-4Mst thh/ +Yy$|=XWG șPШ;_VZV/ҝ1xpՃO+0y~d,ƹ7G|KZcᆠξ(d'Xm(#ϲJMqGL§C1Pu}k&`.zTb\Q +O06:L \}tcC y˿"`x4e2W^ps`YMS|YO.RYwQuf% ڭlB7,[aBfP_GxnmݛboPRMSyf0`<*|.ϭ +)Wdd *4|58 SCOE+ŕ71R8oU Y%1<ԧ§@k:@ :X%.<h0dmiP9h9xug;*<ȣc7G +'Ƕ9c&1]FgiAd̳7xtlPSk>oH6wgytZQ|*Z_9^9,i`69Dz XDd ӟig W㲎4ZHŹ䔢@-y#}o d8 \bcքM_[?|9. 665tBԍ{{DH9\9!<}?)RRKJ? h_o?ZC:NW(5P5SmfC*qIeyb[BzaQ3U|Fp,,uIny[}AS!}.)1"$LIbpm@M}3,bJys`.5϶(#' .T9R5&!g:܍1lm G+,mc91xjkUGzaM{g+Cj.XpР3%H}6PEjuŧidEƖkC\2Yr: 3R1<^Sױ}j:`Q@[Vow`w:^k\r~i{]5[¨^168$6~sĿƙ*ڇ uapGJ 0鶙[«D2wF⾮^·Z2Omb2|˝#VPoN h"`ZOH+LBni[XWԒ:d +WPpű=E΁K +1oLwpL46|J>iw@00Zy_wL2;f&CE~@ԲG: !2K +琡Ӑ~%!7F8*#<^}_Hō%bURgzÕ~PW98h[P "bC©p,JWiyD*x_q6J +hPi[q3`"$u;Z|Upe}u=1d}Or׵ZNS ؤDU;s\|}LԀJ&v Ta+MyVii-r_A Tz$BXJH +v0yB_łRsMg~9Rqk{;  <呿lw=]A+󯴾=\myqe!B*B_J4 WGgeŦõN> V [!96wkzåBxt4ҫi0΄Χ=\{1[aS:bZsVSryOMs)[֩4flw>=`#l£=ƫ2|ȡ:r104C:^Bc%wg^AwȧU .)fg!LӘg%&+<W#}l@AixYva +zEP@.1^%̯aB2*X#Vq@G{Ar)8ЍI3MW%<9X8&|<6ѫM3܀ s(Y>92 ~>c%@<r!έlDO@nEl}X6c~Zi{_x/Ⴟ>W {k6a{}.OCl*.*pYF{E'EHIؤBHڞ[(1tRgok~>5CsTӈoYJ;SamoV=*%bFȽ-#~W}Zx} b#ϫkmp^OIZi9d|]y9Xyi-2)YU>)a}@E& 8,2sɩEex;X~ڷyppcp:""إشc=|}s?ZWsjO]{u׻dTjCz##qll +yA=wʦulBxgPԉm`DGϒ*c}2:Te>D3n,-W\6z%isX"§UW>5 +Y,0k}cP~ >ë"=yeU=f.ik@%hy. +WhȺ9XGzbJZѡ zjX!9+|2 &ŭdBGv,P} +~MHøfebQҲ: ]דsa h<Sr0.9>* TÛf:&1zApr*`W8XO^%$e\ E7,7uƒ=v)x`M{T,ޚbC? +5{nucwޥ!UPR5iF[ƫ6OZ2N𓿵O&au<\HAehݡ u ,4y\hK~=+--&ehJ9Zn@=14_2#ş |W-ny=)me-ilMYӺWg@/4:Wn;?mGteQA]0\s ~6qaC)v-j8 ;Z%oMbCGc]N^%f]]ph( xdU&ꋑEJU7s脯tc@qx$ Km6%~d{Zׁz@:1DٛFE: c =絯Oה.BZLjGyAqޭbV@;3T}.5PeSXw̪ ?3 !99=_<7 +'|׍:2І>pHH͏e!x'`[$7XoPs}rJS(ٞD'Q#=2 }>Xr-U:4,`=27KvJO\=qkM.u="&L?t-sh.IٛM˅7 u=U{cIv*"QbUuHhGL"%_}ufmY@E)rpNia'.]ccW^S6e\Xl8Xx̲ݹWrDXeŤ q^UsP+or~D{8P`U33Bb)~ZB&9:>)xpC__G,p;#L86&BY9\Gc23V4rIN1)&&6FKޛQe% tD]kn[dl03ёtc tnI9̃OЀ x@:{{kػjWձU49/Tk^ZUwL\utwr|wc;Vr}+o}?.}7vϏ>5S{dOdrVݻ'v]÷o?pk/|>yy軏-Ot̉=].;O^޼+wÁ3#o<2}-3}|y]G~:׏;uk]+K?i;]ɾ?7m8sƏwV;o{Ikkσ7/7j<ߨz9ztWSO?zc;&s꯾UԖ12pj??=z|tGzb]c*xz:8}'7U}۟{g7Oo8r).5rxտ~f݇תG;Ćk?6򍃏,}Wk/:c|%y<:u\}+^|n7-_kWܷOT/=M꥟pޛRG8α]w}ï_/Ck?yѱmcrAoy>^tU㪝}bFN>zꙍcXwmcˎpӡ=~}][ǎ왼 ੯߿6:K߸o{uѡj7M|o1pno~_n:_OV_tdMOn/u|𥟼ܺᵟk?ZuށV}lˎ}]MyK?ٜ81cDmlvG.:6zhG4FNi?#;Gӕf^?}{_>/y[?}צ ^7~su[zjơϞݼ{ּc|㷍ȷFA]/ڳe[w}W86z7kܿ:x-Co?yg??=zY]oygk{m\[+?\tuǯxT}ֿ}oƒ>3]9sfݷ.|7􁍲7`~nmZϦƍ<2^s}-''Wy̯u6>cgֽ%mKş޺u'׼7Uzxإ'N^w-<|c?mس[oš^pxg 'O<}=<ڸ +l ȓkq'{yߍ੉A|=>:pxc6^v#ANw%:Y36|ƣOx{לϗm;٫wO4oz>^ 7۹ ]}o_+N<{{G@ycWߨot?ڽڣ>̦Gvn'_l΀x'/Nm_zǦn8kfm:<ז2kퟙx7G߸ӝj|bOA/9>sdu_z{6|O ~bcќu'_}k?Y +?i_KK^u7|{43شW}w;w>vWlMt2ζiW+޸{|⦁޶_W|fk}'_FcS[L}xcT?}`+sgF|lO_?}o{z7]nGO/[;}v̓/G>r⩩?|͟___=t!ˏ v۶w/?g'/O^ R;gz#{Gw[|1;|`]cx_S?^W#]V?_:;Gؠ~F^zo^|=ož'Y6Gwv~kz2W6|ږ;6| ?/훙}7o;GW=YKM_z|#clK?l܀9_K^h//Wg/n3'>:-}Wsl[}'n<On؞'{'on{}W|oo|sl3ß|Ƿ??U𑑯ë~yo.?]?yiS7o3o:]!~g.o'wO}`?}p(=Oz yfl٧6nDAm37 {eO63m>rGn'۳igo|욮}c3`O^79x{'ן3Sßr]'_lpO5oM}w;{t\£;op|C_e5:[͋w5oƯ}ĚÝ#zxOzrG`~o?yK~l>~-|?=߷?kV텙{޺=/=uSn_펓`zr}߿<~EduO>~qs!7s]dU=QZ7XmIczjlPd2^5W'W4jh_Ta?\"U|6{p~+ ^Y⯩M9yb|jM7S7p:_6Lܲ\8{ +W¸GgƧٱjmty'&aykӦps0J9Ǩ8> 㲹R-,06Fŧ6 O΂ >3Z4ԧ'anKP2x9UxR|F&ӍuJ|gl֚Y_=}MmZ|S9oEkTNj7$"49=icW^:;(n놦lT7NÙ,.+2o@AD֌k +dg،9ޥFzIchXRXMޣd,'0lf[jcYoF(ya@}bC}l| U_Z]TSiv&]bz 0GC_YMF`iγXtXاVڀ Xڀ Xڀ^ NaɅbIہK3cCM_D@{LuӳphO5VgjC86 #9G8c|aZ}qDjsvj>ӿvνp + Ptq5vON59G|z)w(15Tu +q}KX2f7&*Wfغv6&KO9NaVᦴp>.[ uUds㫬2qP3ӎHmNv8"nqDy@dQkMTO]vݾW[<˪*W|q(ģ$\*P;K v.l@>Qn-/KPpv][Rܟ6\\vF[5sH5( ƇG ?6p pm8g1ϟ\olG 1[_t8w[pf%O+yZΊWLodߓnm-v[wjuK^u {+r} +oANJnLܵaqadu|euZiʿ8$wu@"q,)#c- yIt~~[a2j^*͓8ZZ0>TNT'ˆ6tL +GVj!`'˜t o..7;7;zsԯE1ߊNyL7`i;IƤ[D.҆t[r,lΊeoν (:눟s|FJh5> oRx5mI~sݲzq>&C ,OB^\Q6ҨO?G%P[d M&ڠ/FUNLPfIzeL6S)f&m^u {+KfȎ"ę2qf,ęty^8S~-gęwjLLqL7/Q&t۫,ęt XЉ3mH.!IitVvq62!Fݳ_.ksRG-Ⱦ AOqw헠=O +7o%VVKV(շު [nVr.nVri/ec1V]%,Q(2ȗ/@N*\S:n⃢x#oJ#z" +/Ή_x^#[&gNPj.mc7>cvujT'공(; uB ؚ(^Ԙeӕl +j#_F6Jk:hn[^"_M]POlO|z3}'-Q vzl[k0‚kqV϶~-dѹ/; MU\q%|jS7oؑ̒f#"CZsl,|Ei?J +wTV!.s{}>;TƟτ^3m1F.ce9wKy^SƜ˘ssLs.cHIwǜk##4t&: +wnNש:wzcX@}̈${oQRo*xmt `Ohf_܍dށKU.t/1F:PuQmr6Z_4SWEl7ךK\+}soͣotͯrmML7gӟ_8-Ƽyc6Ϲ3K4' @q7džjE@,a>_{˲0mIq +cy + 2-q ~T3g^L~agOtΜҙS:sJgN)93g.jdU3yR;5gZ llѡa\1T=}xU~wXW}m(H(Hٖ ZvTڮ󬬞Rv"lݓж̲ՂjrlhRҪ{B,/܎,(~Š#RZ]zt%TԨub}Ӯ}l'nԳ0:es&=Rqn 9(U`{WWM6rsQP1*0·&5PGѻttQź.GqDJG(t|ttP4 &Hc^+/\9ƫҞ :l֚Y|r]O_SoCHޫnQ7ҚXpͲ_<- MU٨nNV{3հSkM{i_"fUTn6H>Q,=픺RӗIfnzּ ]mX^YH2Tn3:`Z8uGZq|:;8H5-!a4 *mXnܷ/}~gv Α* +- +, +,N k-VBMd+n w>;0jXXyM&6p3O,CL:^m 縥v`[U^k6- h@aqeԮefmݲ<-d崌a_n|~Q/* N5TL}#5E Z2=>ɩxwǻS^v8knsX#CP;CꥅeXu\=˄:Pjvymfߛs7KcK2Z#[nrӶ,Z-V&B9R~SqG[uySֈ ,eVYmC\_\VnڶLο8Hťѥ[ @12TJTF+^iܳ@ӅSG^zR7W f3!1 >@3:;:~\ +ܼF; 5jͱj7"sz:\A.=)%hi.A#RJ&AU]^*4%_<,HZHE{tp/›~0Aͽ&`­_N͞}̯}.k[ ).Vߛ788rȂRo+vz y!;庵:q_YV;]={2! 8Dnaݨ w8j㛵Ƃ}r{͡uס|p`p_՞,5\}Le[~9풒ė-D5ɩ]t# +^:觝>9ʩsRzNjc(o:;-..M"p6WX2ᬹxr8 +A +!kO!JTGkz@cx[&{νXlw1MKg'Yq9r+6zzoǯ铲? ++~'aDQ !}B@{`ɛ|8^?|Z'T \WN0>KT"EOH^OO~/ +ED~/^Hد" 0/B>?Uc +u!8SB"\-@O88%{.?nodD%v=OlAAU=0v`EcGa@ rc0C_-UC +,n80uKWۛ>[+XX̠p W¿$ȍ<(|_rDGD8L +UR_DėdЇvC#WĽW>:nO(Gpy5-h  ]f WąCYE/' +;O䅰@Zt4!yQ5S.}< +O>4?TxRD ×qs~ +,5Pҥ=Ap]X+'ԁWCʁŁ% q)P +ޑHk蟦J:rd)>ۼ +mUr,gxE)!RC@-5Cu"N +!Q9H@mO@u +945Uƽw$O@7К \ϣCZ@J!i| [B=p292@BH"G ]bɉw @!/-AϹ +saah +>xOSH)I2<.$r"Mm7$ <$E(Q"@ g+J[祗!AJOɯaf= l7Ҋ'<+##C.,Èh.2Kp DOkM `b&Y3!|)X (C%#~8wV"|t}Dҧ?!R!*>Zkxˁzt3*CD $.*BS(ŁF0bH7B AF@ R,rRa@V KǡN2{=ig*;E +k#SA:NwHGĘiv>DfbTіr*UNjf$ |f$aM܀_]Ey:s@iKyhta^31}$J#"C߇X+$BN(B@7!ċiCNZ*A*p H $%6~ډh]@IBkVV4ꙝt)W_ITl"zKYKrh4~KH,W`]A檀F1kxBo~MpI'#6j_ + H; +^lDakqw[>k!D#Q}3@@{BX8  +(vD\~ϥ + ^H -}7P|F,>ifȑR3CL 3 H)Sh"VB"_@ +RYb^NVLA H^Vsc*ڗD}ct2$0(D֠5Z$X6ArIZΞˊ.qbX:$"Rr LUlL,?ꠄCV4BA*GUH~a(i~%av%?=.%ЄaB2]]DɃjh=,sxdpqYX2$ ɞ/ЗiKp>  +-?=v\=ET<gÖ:s{ o#Rg"EghՙအT-À8:csN +"W1x,P^heɒ@>X0$"zwg +i?R|A[66e?Зֈ@Ry:w%iMN҆y<hĂ8gR[кځle<$#<Ȳߎ,o9d߀Hj!D5sv97:{'|VH<=Yde8k. jJCǂr"g$ЩDIsO Yw&Tt<&7АPUHYQyr]etAo,9؄ B!HLvLZH+P?gA},P(t 8M 8(d/' ejT@* 5陊4rѹG* +&%PAM=DWyǾt'BX~H;b:nbMr'翛 瑃.S,l9 7ֱ-tt|]MT@NNNgQ==9w)BΥqp#bUp)Gz +>ē$[ ZdDh@4%ɸQs^ּ'ϽkCsR:{i5&PT,@O[{'D"c2ro%)1E :6)ށog'Gc0LOXgڴAl iȓ$EX3 ԄCqEf:wtasjWd`D ziV}t^Îd-;s:lN;gP(rSFB-yIvv?0DeP(d|?"De n2LHL> +x:gE^8Gs+$@ NRL!W/@MsDJ32!Ïr,d=rX`[G^JѯeM?s7+p LeInWΨ#*j@\Wi|z* Pp2l¾4[#0\&;NyR:҈*KtE:C4Dz y+=-'مPÓzqlŚ$*sDql.f3=-Bn.HJFЄVAHKL>{Eو^v2!򐋩pLƢz1u~4 + Z|Nbj|"IG/ UtZ`9n =&J%E5ȶ%' N4̚>B=aYe2lyޢR,Hu u8IzOQ:p+L>m'e_"qy~!:*}2\L0'N87$V$2ʼ%n 90u '6g$ \F&ǃoB %2W C]f 00LH= tpt<`en,ڍ90;ʒL҄7Ђ83X nl;$pI`I%od<*t|RDA tYi"l0@’fi!y$1H}k [9Q)1nPC(R0>#H N%N,ʒƙmV&pJIHG AAfo&WB#(+4N/ɤ䒁2[xfj &(T Ca,Pk}mTv3eV$д5lF qLK./&:̧1*!$ibĘŋN Whe:ebMԩԓT211B qV@*!8Y/fq*brX£aQΐ-FUE%3Y"W;yʠUX&,tMK,Q@5X"Aʗs^V`T1;l n]˙3Q0iqط7]AW>UZ:g!S 3lXJ]9Br*=lr[:)$!R 9šriJEJB%Ҥ r('%f>j#iDt|<kErP)8-ixEtr q/kfE+A 0Jiw@x=rd3eQPB R@hͤvtHR +.ePA&fL>LO.-I-SSincqsz˷UȦ3r98j:cFN߫L9KyTup*4 Ly&= ?"@r +3寡{Ĺ" 5_K{u ++mvCauKH̎0gUzx-29YV&o+ٕ`\3:_&/rvrY=$JH'Rurۓfv,b@ЧU.=IgR\Zʖgdr%*=-2*Y JЮv "^@Kl?Sʔt؉T +1)JS-Bdd u.@ˈ,dsMz+J34oflBq0`BːC:0mv;d^|yᅫc8B>ڐ IiG5Yj͑|;9{C81N;@$<$]z'הe}_?h OieF/1T`{^ջ^8>hiItE t  6JY:cz%_ٓ.ɕTzxOK8c@l䍒'+ŶHېhܥ̬1Őm]20iP8OY鐱,2 +l4Z$w6cTIt%VzkVMku J)1rT9 ZdWrm[}]}ZH./ERǂcKbԇSf{-Q4htRP0Qljb2VP|rcC +Cdti]2ɹsURJ$Wk$m^U$/#.Q@CA@t!c\@`OcH#P5 l4KO?sBV07 s#ă'v6:kt^.N vZc=I-m_AfP3nHU-#C}t="Ԧ,#R9!H ;.tRPl=~N.EԥO-c@7 M.짟(#p<%}M?"C@Z%lc :|APb8BAff F:5j)M[x  晨a<+/I8.!W)3J H@hrI`Amy,`R; b(|tgYqhCػeqӝ_rI;dQ3 xǤκԵ Hnf^lM֒"]sΚ7ּY?M冧-Z^6>>=QjV{7&G&wGN=*ƾ1vѽI TE_>pt/UC%җ}/?>'H0мb$r:h%`=νv[6kf'ϣpu]2J/T#! }GA0='rc Ka'K*-&u Ao^[2|Q^Do/~Gح +Xq1& + Pm{ rG*aV,RpJה E[#}P>7 `"6G!|_Q3DwWGCc(LK3Yx8"WHJP%mOH=D +Tog ='Rn "RBHe9^kQAX#d碍k-R *WCYM+t?tuV)%1!'P('ؗ}'rd:Q >=3@Oi\jj,I1)%/Bn9ba2`5|sܞjOq\ cxI\wﲅ̅`񌙑]sִB<Ύ9kyx]Ysv pΚIC'ۀCf1y F}G9kg&Kk|#JFR꽺Zi)9~z[iۖӵG_sF6*RMSQ-;,H<]c %ԍ2HV'Ӱ6ݠ 1ИCU VCoSAGVT?0dԇ v (RUc ittR6ghSs<9d0#f0#D6#+Ziv-rabFG.CT|"LpZgGH-iTY2v(ߘKZ^kXr<XCਘzcgyQ5AZJCkB[m;*4;9nKÖܫ/>ՅCC%+U9:<^p801[?n߄Þ1 n8lK,ZeJ84ӧ/~H/~]-S#1ԆH/AS2 O+P6B ||O5GGrf b/E 155.e7Z?Y$ՖQS4n[I^n_K`#-̫kց;Yyu\wrEkڥ37}H`%W72&r ,@2 +=u=dK0wjaE.m^X$L㓄-I:( 5y $Bm%>F):$IIm:DH);YTbs7&gR}QJk?c(; {Y) +P/#Ncr) 9! +pUL=@7ĈR+ݜ-"(Y+]>H~RF| Cj׀J#x4R^L8,05608OrCaұ3&(! +GVys}g|IOS(] @!aJ/`)G7Mxx%NI@!&`"<~a:_Ƃ_"幒R{cHHVᕌ-ݺ;Q?+$7\jK̉."G~.$qrY82OQDXOTL>stream +ös|N ̫߻9-LRa( v +"]['E'LֈTV}7KU, +VpP'؞1`4BhݼA&|AfQtM"}>rePi4,Bv# <ŕ"UId<"8 .ľԷgJ6uӤBQjRA{ķ i]lUd;,MwDZT1b.a^=lU~A%S#vy5HV`q5.VkDtjjOulܫ7ʥ| {va7# 湥 ua(쪍;0 W9or\BjiA[,.Ʊ.\V5H\;`#j#W@XoK}J}+ +"W!nŅчwxQ4 >m,ug;E苞1O$?b~t;.BW#ON1?|X+,)R$t=-k==`+Hk=T1 Ǐp2yd]er37-d;L:{8 rݠ5grѻfdHӼ<\Fn",4N D^0H.IPrY:eG#r蠕g%([ Iw)Ρ4 lo{V5Ee]My%ȸ+T/V:NoDyA'`OIJ?x5|٠%VՉ-s!vhiJOF0lؼ~}`ISN1lKFX>K2ң֯6GsEV4H6M6MD_ggYf5Q}K-Hٿ>`xvÈ #F8TsLFQ7=&E͡ƞ.!q];`XF3֕=SVl\Ag0;uġJWG R./$W$@߼)5h#>1H=c9 Xzgfa$Äf+7!~ߞ#xJj~ Gb7DOo>D3Hɛ%˒IJsB"H^Tq^RB^@fv K鐱^j@Pzn PN`@!4q S**Y"AD8**!Yr2uh&z;cc4>xmP 'R +[2Lv)K@gZWc'Y"Ds7DU0_ O?pS<^qK@d<\7 ǜDn "r5 $adc0^ܨ@Ǡ=}>W:Yz\S嚝L6 (X 7qxbڇ3˫dd靑a†X*T_1ON!["Ez} /G4z#7p)˿T<1P RSzg295MxM$| .maD$*r\>?Esh@#PziGK=M%ԏ6X915zZf47'D㦇"0PO{YX[m) m,O @22Hp5j >,P2"HF !~JAEǫI' ,P|(xNQMK'JO5)@}+2Ŭ$I#K9A`Pr:̀pqB$#7܉A†Q%4~@2"9%6/ _g \|0R)5ɱ2܀*%!ƞf.hF0IЄ΄~|#!kXs%ƋG%fk:Ա07RJcPq<ɤHltАD1POgF<=lMx$\"FAAZd+10DEMa,|@ciazc- :1"EPMB/$_Oj@>(Y6fc 7eXd5IڙioD<7]^a.gݦ&*#,0cex[\[⯞UWBXdEVxoA 3i%Pڨ#и9 +!SC 29fnFfa㘧+jFڭi,7C\'^"$;uKXV (J(H ~"` D,rc8RcWH ëj) (ޗ(<5O8PM-%o (ə@ 4=$PAj <xTC0ő7܄`LĀUŹ R]Xc5s#LAZ8A&VCD$ThB5:NF QlL cYF!"DL/!hSRGjq7d_sD!a:PR\"E:ńlѢؒŁlsjlxA\75j~/^]eB!lCsy@"nq"(x @c~|ko'jα ƅ#Cst5$J#S*8Ё^;Q:@&RcHM LF阔ő&:Q<_g ׺^6P g=UG 7e0rIxf4OijOp0Fe8;. !ԍ` *,uM}DV! ͟WMf#DbYؙ"up>FqtIf,Vf~ӈ8ZؕbÉԬ]/al8$g3D{¤6 H.%7^8Sr\Ñ2kU)^aͨ7/paj w٩C`6 +;C9jԪ_;Va* (qPQ.&W;Q.!DA +\B9bHED v#e≻IV9D-DQOz]8AMbo$@$Bbr|I3t(M$ʁW9aRXȤ୲ S'UѨ_5L29N"|=07Cyً-2Gwi怱 +oVRCۛhdp@G%>MYc&OHtL-t +Nԑ~ٳJBn p#L@@G 3gY ϘR}} 4+tBf<?7 L@ JcWd="$Wq\< XIJm>qQek 25q޳; RyS)|5&^HEJgajҽhYeTy.4~\oώ=q`W8(Zr뇖偔`툢+yS&փXmS3j # )]f(~ 3n1HTtv2eWYYTg 4I`I&Lv,WX{cj1R;gN6SG:/O"MD:V 9 @Bhd>ptblP!M:VRI~J Mr&)Č+%s-Kec,mU+仑f+筣j9:.7uEdQm^nqrG:AMJcݤ4V$֯޶ϑ!U>C\rTZ$wHM*!Us[:CR;%wH"ClrT$Y;dRk6%wH"C\rT2fJ*!U.C|.PrR;j!U.C\rT-;%wHKErG9N*!UrR;"Cze;"Cz; Hc&Czi;K^ĄD;O^.Cz 3qrGLy'wH/!lrZ$wH/!\rLrrr8q5oHErr%wHErr%wHErG9J/ܑ$wH/!\rZ$wHM*!UrR;j!U.C\rT-;%wHK:ܬ,%)ܕ^v& Br4٩ZDiـRll;>sf*lZS66:YelԚc;vmgmgOÈvlٸvRs{QzelgrPemgflg:iA9ۙLG+m;P%(y9 dr3}6m;3 ٴZ%6sj+lm5Ys&,+g;gd/ aAll$lgZL;iS;3ŶsxZgKα(KlblPv.,k;[vvU&8o;gHdf9vIt:C6nsßUݬ8YwcPJ3'1 tRA &%h8 Ci-Jz8m7+bSPl7[@Oor9c7ks!lL /`PK@QD P͈/!\n6v3ߪŠ84ٌ{%U1U*nV:flnl6+@٬t,bCcfE>J&"0 LhЬ1}SwZfs, > Gl59zV\7m5 iYX~\ff+hl5xCl5'u:Hf[uħ2 "(1)6nU"= e6+mPShs&MQhl6+]lVZ@1αF>gJX͊c̞nnf/P@f4f3WW[E=/ے7jVHbdt9A&6ntOwGc[wlfZ$[Xo4FiN@YӇ}%j,f X15xe<}pcKb KBJ9LK15$٩$bVQ=i!d*N@r^qjӥ\?/OJ22#b*eSU~O B[eRa{"IbT& +2-=tV'a|C-CxIOl@Mv'jδo'kj%Afy;ݍmOZ7iKI@l#OZY-|i=|aތgwn2ATz|81YK$NhY#;kZK'݀'u Фױ$^BaIzؠ0!SHSQj#}:n$ҍ@?Hᅧ]b`7~͚=a7tdsd4 (ҭbM&ɤޥz?FW[LL%XCv')ҽm|CY$3EWr|,ٚ:Sq,['$.9*qnӭbRrb[gʭZ4R(u0(福[_u<7e1ԋ2X%- Kj1aM E7YR%^vʮK@vvY rOoh(BCms r[֑ӓ~PKhYLeK}aPU]a8~V'DaR0-͋E6ttMkJ +$@&^ykr{/u^u,=:&:&B7(׌5@֔]#ՄhxDF4u%`,78Fؕ.:p؎4}S'4,\ˣMBӬ@TCG?jZ.qtM) +>Q)֣6 XJˤi})ZZWFJI|܇:X{T\q{l380a쟤tCc33;ݳTR)eo9SiSyr:g\iwŭ]N]ô4td?t-Y{J@A9GLC~y\~7{t\xg/qsOըyBG-afrĮ.=gY"A[D'(u{hvX +囵OЉ`́K"?tuC936L2Xa/ K*ʒknzF|g:aنlD:|)gԛC"T ̫YZ5JDECTpVT֟hndYxo?t"(K򙋚X= {=+#QgƷ1LXf <0}=Έбq<gNn"`>r1'IZXs?r#~bXo|uE9krpVRT?gщWܢ ~틇l) +HuR7uФ9U#4tęQΌuK=U|epv/ʱZ>!(٪v%(*ࡢdTaB1G b+8n-VZ xfk aZ 2淈/=U+DHw&M-\9U,S~S[`LL;r;|K7#۬*-n(q>*l(ZTQ@`b~@w2[7A$,@L_~D|,n̲ MIYdIm+a;dXA DFP^k&&`qer +aKP@(bUP~+'4[J /XTE~i#;^oW6K6S֏"34/XžQ+94t_kx>zDĕ2_[I/$n7ʤ[xo~}Ă'殿dOu^^9kWd b,tS̆5S;/ +)}g8qf|jDq{%tK_YmYn ʇkn 5q^1r5 ZxKhJaMlbs| ]tx; ^p"xDž2b|zEceq/Uً+1@wHxl/{2G%0p1D^v_㊇n _1uIODVD<>\q#5UP?1Y29=u O AeY Dͪ7ζEY_xV8 +Lb(jt$MQ5en Qj zBv&R&y6_[|}h/zϠt_KbT3͡ ~TtHҧG7VFO?sy 3ow`!["}m@YR v%6e }Ч-zȎӓ> ہtG!{/`Rvy FRoƶoF|B1R+ThKv7_+#R2N`axݕnpQ"# + +Z( Wxl!BLSn4źEǫ#t;<3 N$8|D)kXS+1MG@r1@ '02ͺ ?|&5Jj*h2h/-Xǐ!"j2K9qH3)jDjպXAś5C"97]aȇ o:rf>xvMbTz}#2=H#ī"idOXӐ@պ\WQT*2mX+[S5vӧ5FW: STZ>NNiUbIcdȢ  +S .KpLd²]a0"M`Ɂ]Ap +n. + RxiX2Et.IJ2R*V=-'ndVX^)}d5*F} à<7 ^1Y5+@Sh_Z~]sZw"F'^f1?Ĥ1hj@~9 +j0>`|B,:~dV>R(xcF @悤h|))utYدFw c.8HX͎WR}R2CB 29"܍L7U DU:7XW®c +Ro6okuo@1 + $`T S!@%~ӱЧLmH],C@"D\`"('T#! *~?q ?~i +PlXJ" +4phJL2L9eiRhcFFhȏ + +tבT +*iPŪ*tL.ObHLCU- U3"KD))c(HI "et Li°.dɾwdC.&764V)/X@ |!4:D qQdIbRpDl\V'5ZD`ϖPF@5 ]g Vz6:^D( ݊!.U'Ŗ[֐Hq7*LGv(zdz !si&N%GX3Ef"^hsʑώ)9IhKj׬|v,H &ӃebHJxW4sC3Ӻ\Ģy8F٠]h1pT@`: 0V4#"KɺZE<g24aXw5Ks3|UB""2Gہ]m`Z5fn'~湍&2/\["Hdlp52]&IalHܨFF 6߉Y?Dn#k3j 77+ ,a56v$t2vŜ*3WҘ%O@nպAUeE\-v&,%Lŭkb ċZS8(\4.=aݑ:R4Uh2/vk \[7kC8VO6aɩ3 WNcVmJUQwa$z`DhIp%;bMK g&M2JEvY.d&+33VCaY5Q'HN"5巠TupJ#̮Gf^CSREML5Ic% \@7Z܀.@IHd:Kf×UtZ!VXez91;y$jh ^,q"-) +L*R$d2/ 6H&թ@e\_t\^C(u-/԰9 3xAw"b50Π65,1;kq $Ͳ|fDbցaR|ue&gC7))Q&0&e_|\9-sÓ&:X%OHVA@Y6;2οbx"iaIkWm:4Yօ2㓎2D(\#~HQ"q~e $?[@5Àna>lY!655\,Qa!J"Jg<OP5TPeC(6d{"βngOLvo{ ݫ2"RYMm*ӧ!.:$k?K HV,lZY|VF*\i>L1>.DQwpDLKRxr^&ʮ3OWC֭,E"ixࢳ38kp/Ԑd_IXh +Z]8^<"'j3|x"*$hUp.F] m\L&oְc~>< wwʬ܁YctRy)ļ2b +$!qZC\(*DySu^g +!}H+8kK'+Zt*l s7E7%:Ē.Qmrt)FUQ+mt24t*;Yv1KZ ;IP!ctOvLXH'5ȗ¶8i^%:QQ :*G@<^utijtQhqkmu<>H:lE#rV:a wU0|tzL*W7^&R*:Nt#YEБ"1s +po7ջiYA,@cR&6t#Driў +7*ऑ%i.w)谰8@ с%vxOtOTC1hQ"C7V@GFj/PIVA|H ;5~%yLxKǕEXmːnUx{<&^aAC#FګhI1tNƫSvQя^5x[ر=F2͂\m"kHBett y]-h譇U#<S]ĻQ%A U4 z650vj;Z;y%,э҂A] 0\vDŽ M٢תdMQ,ZB1F$Z3=S2ҹHG";(' HL |bjbcXT`蔎ABya!jQ6Qb$2O2hF0UF:l'N>Jo4xe.ET'dT+4?ޓ}h\Ȳ2TrBoD:T+kx>k=6ol(<1yl*MPs *x8T+;(ul5NTdkݍG&ІA2PG \l + #nF{d: Zۡ,2Kh*,Hg%y|{f)rJDEfȺ'@bGLy%G>ux/ 7chS{/"dԆ~cH#'rZfQw^KjY¢3RK>cj"(.-S` vA?'z\K?~4GZ Nc)wh9ç7A,4lyj;~خTs\^KZ<-x ,bI/x+Շg}R%W~ hc} ~؀~@ɽ&uQSbZTۃ?~UumvlYM8Um>\ !T5 f`,_7j%-ŭޗqf?+Ihnq2NU}cMu\ Ġo `48piB?p\0%I ~zsE>Z dNJ +>YvbK{ :f2h®XC=k)oURkZ큄k8k1]7Y{`֩p-G![ʮ4^ӕX|rm7߫G!ыa=uu@`{R-7AK֌11hvfAfH[(%g/ +*_I TW4{_DN8|~Ts4;zLf;]jʺĨ>rKz:- h]@Z+kitjhmƈ{?Ϲ4b}qZu[ӥG| c4笘&&⪊ u񟲬! + +)(*Ȓ aDȄ5Co )`#!H*+b4iV¦j>wU=_Noq 8,s)xJLM5L^: {3#?N11Z> '4Z69n&۸p2>$zփsߣ ++M}ɷkId'PxwSDZI;SA3#wŦ[% CBTk1"e-^<&ήڲRjs_k)۞:գlGekOYcRhcfv5~Qmwjm_\eM!SL7||skK0 n.Ղhly\wVi~tbZYkt9?eS.ի֍}p8ك/rud?~.|/~Qxo7n!_}iW+7(4hҍG٪fkz ~/781hN7hNWp8G7~w@c/? y&)%Ej&)U&([ +c3$Mo>1ƿF}׼J"j"%,EӐ1_ 忑 ++Pd_5P~gyϦ+/zR}:uo>wE3s]:#-0KI&umqQu![W!;03~bap[)X >Y4{_Z濜E|j.:(i (E{}x7F݉K_y0m_#qqUN ?@{_ /3~y&Fs OKznpkAHYTШ8K?=}S[w;\N4vTvM&yZV]1P l?\L^Z_WJa\orEޫ/J/`};xe# 5ڮL!ZVZkhoiLO+:R R TwY86 +oj$& ^ZuQFP-Sni0*s|ؤy(=xn|PAe+A,芻Vΰ;j훌MVi%Z3l8j'b#7 [J3]58*kj +mdF꬇&`#tnzI+yUjVIKRqTz9*[u4KXT- nVC51hxƮ*vS +J! xe{gt/xTkK:_/2յ _c=5e㌃-|mq.5^9gz5w)x9WS%1isa_^(%xHF5%ɭvO22^ܒmG )5]^h*Lo3ZF3LfP-+fReo31d2zL Zm^^Ί9jњg:St5%ܝTT.Q."E,JEF (k9J-}P>Z7G>;oTsОOA|bQ`LrӁ%/m?7Qk`0גKakL T?&(ɭj./bgo{&K^e//M4++Nv׵.Zʴ-]Wk^iWU zt;3ovgUZ*->1֌/N٨F@LY~1f켞j Fs8v$zLML1i5. +]x{n&.[ar.;yŢ_/NPvi`io*UV^uU5tEfZE,R[-Yv KݵS+ln*Tqxvfx<|RDږdRS0-l&FɟL젃i<5WQf@kY*jznZwa~sSB]Ƅ+0#q۟M/5^zj8ۃjT;z.7jee /Vv]r&: !cIӭkG.h! +/{V;}n՛OIիwvzZ9Ayv r+tZMfYo*K֬Tu\娴ji_* 'Z6YAHZN<6m8viWK,_Au!&/*IHɓ^v3& ^WJɴOR ĵf2'V I~,9p ll48Q k9]K kH[r0bH = }B>6n֨; |^a˶]#NZrnnp&Bd.*i!-x{fث-K[u4Jn-(`*w@tutmZ^z8k֛f:l9If(, *g,CA-=]5pr?LQSUY}!\gƧ>/z`窄Uz-5ʼoC4Ÿ(Ç-lu0ZA2t`|>5[)NL4!ġHfG"St^ÑK*֐}"qfh:,,Qyꈰ.aQQ;>dQև6d=yv}:j٨(=s]dL_#'@n~oVm cirr_,]ufo{g \&:/G;rTA:*t?hg#م`{bܲfzݴ1ѥT,uR+y=%J`v>jx!ܲ/Nmm"m۾l[% ,>zc ؛5аJǐGi}hKEqXPe5ِ-+5~+uEo Ҏ L{VX[V2 q&lꡏhxtdPܴ@;z{5r6xuqLİ~N户+#CF͈B-.7 u0ȵXÒ1?e%u3#c mhq8"_M'01.{ߝ^li ۵W^YxOIJd#5ߍ[WNSܕs,9%`+uN=HQlEԹOC5xثMsPkL .ZCt;vg tjjlNa/Ohpr>{k5^aЉZm;pJ w~ZV;%[vgo7qI@^0` k.xs)^/,CVf^Ni䫝KAk`tg|51'=BZM ]i |:~ +,bQ[;|G Tw-1d5AH5J-I,h3q_Ge4&(G5Cktgyr|:Cڣ: h8j%#c(NpYTm3i= (pKpf̥G;.4(gFV1l~t2Aˁ{g_m#]`#yk6~cT7h-s^}l;/ ?C] R,]X}[s1a̬]|:l;;j]9"?p3!79` +-vRLUE8%q ⼬("ˌTמkWQd?,U +TSIFS9)O~jتI6#lPrxF +߉@q!``JXVí ¨|HiUQ`WIh8\6''Y'iYfm4c*%T6gnV/fWJWa*x]~iL'Z)ݙη s`+łt`$DEN-(Loܧ7W[ΞKlOFR=tz~bbYMj1dvN TW/oX",>v6Y.}nnsxI,brKmwzYZ~ξvsAL,nn^~`ȝ}Tv&)m:sj1\*X|K. e8{UVV3 yf!cqa37{^U{S+r-_dQX*r~'6fS텟'nseU%L7?_br}yUn +EVoڛx)E@TAKbWrD젲fg߃FK-]g4I~+żz#-o=b g^0sW: / h~5}V>E3sz5 ]- +Rq&fN_g᳻ʸ\yv[6_,\\m[,ݝ͗+d'2s(wf2'gu㭞Z%o +dV\.~s2_rdYS\t$-Pr}Dž3p{n53۹44y.?ozޙ⼥fݟg䙉tNo_&T7dn~|K8-)"+чS;ݗgYYf5UTDzi*5ƟX^paPM{+GsDC4M6a~}pV3 +uG5d?Piwʡ_7+᠒/+6 +N 6U{*`ieP7,oɋ5:!oa3p.× {d@?Y#PR DJG+ kΜaR};FØoeolȌ}@뀒C1 *+l^OݎB(',RϜƂ Mޚ![{1nIc< qbi79k7gg?Knaf +_ʼn4H1aI4h.˩\aP~ḁNݣpsƭv,\9נ_RsL;ڙ8%Lm^&k&uO(P͜4򇛧'`?j]#U(/-eE)K:_vt+Ԕv{4][m[^l>3+>K5N~fp\)|8`M$iµ>BS85f2{lwB16_;׏v:xr,Ȑ6 枲Ǜ]adzܶ%m`Y 83m9<rɈHQiֵ[c Gh0:^EFZn&LsaEv?HYef+sZ\_>ơy>arKl +zWT2 Z4L7 {?~ѳboe4 ڄ&vaQpv=6-~^T(kqzM?@{׉ o2qsF{OG~+]V>|W`r,adq~=W.7]Nx6s;[ +yg³se/e8S>ӵ bvq~nQvu bX|xřʛOㅙׅ?ŝ۩n{X?LYK{z:{%-3C08^@p)|:5 +awu{<ڽ2/{uj,箏k–qmG%_0-KN!sSLi`޳5u8Sx>Z'"tz #`w- eb3{%֫Mwu`ARxZyuطdsy~y:nR_ &+p +gFI. pL~vU/ҙX[;=.VnU <*'iuӋ\{&x0'WO_* DO:y-pZ͋n׆K2u'@Y:y5;!n.lJڃtbz{>hjvB,r׼9żrkR{'?򏗕Zay#gT̩Zb7QTd+Sd6܏ņ6E{XOvȻҀV,A kik|}_u`Sf69a+N3p]y$f {+ٖ[#[MnSfyfF?KjwƇO={r:|=yVOg0irYF7OHm|?w@"3VG=Ue^͗5q'c.gd6/vJ|5S˗՗M~ d?0i^Δy^V 6ȗϛk{d`鏁:f6/z׵^>}RIm.x{w)ϙ6Ylы]?3hf?@y?[_z?Z*ntlN~XXN-^f?~z9~Ҋ>$@U;[??\;ps(Nmf;@&H͗9<۹*7dgpL*N_I}o'b/n:v+N˟#{4z h9Cm\V92)^ ¢YϕBFM#P#}Q: IF6r*=ٌ~zP5>43`(=#$hO lf"N=[0·B6Y##Hc GPn֧x +izN\XX۽ua]oN)25<\{/NSϫm{n[>ޡ1~*< n zSxX#dNgҔ{ʓX2b8+'d(<̀9Pp(t >5lýi\LA%lؗ[wvp ~G( a-qJkkP~,զWBk5*>ԗ4Z}Sz)dNSn"'tV3097"'o^nOH {s\])z9]܄uyoqʽɇJOB QU+7r۹$ZX}~oou>,X4S\;S?^2pwϭI]0fgj2+Oe[A :?zXZ/6Y? `WeN6Yœ8phfamSS .VSssR)-Kl=%m]\5`]YǛǚzm1KQxB[l5RLc6O@W P^{e\?spgo?.=.K%?Z.(!+;z-Wcq\h +Q^l9sǥ/׈3Iەe ץ[X090u@Gsоsݕfͩك9^@K>Pr)r)\__|ɜ;^ic l$W엧]zEhv?dփB>νnVRz'T15`]n{jhpFT+䰶<$7&TF\(=-fG䝄g~wYpgps}-_?\E"qn+ꃚ7~}]"|X(,au +m|5mn͗KadOg^][9m>)}SI'OY_qFe`{9I'1ߚOM̟? }Rê2$-(xwSe'4X;:B}VO=-V=ջVj%JΤjTsO3G_b hTO_41OUm:?$I2$'}Bhv:|M[/'Fj>?\!̓Q:U+o@l/r(aԬ?u{rx?Zf %4(S*HH*+f%+'k<)[ۏ!Q܄tV #/f +R4GUXxd@Xw HԊpQ^ +'7#n+"#mUQjv_r>MkWHnCm{8xIע;yfɧ!tVLW U8pc_4 af2yV20\.)_ dІז\ +Sm3Dy!iz;mW}ybzBk񊨃{t؝ѷ]׋D!>>ddέf{#RU_kt9l59kZíl&wN㢤)zJZA97!:kvaVc%g<ͣ=_A">x.bŮՎ2Vk;aFGêm {1`e]JUގ +< 0l *Ouk-;V]6\daʟ归0I~T{wԮkgrBad_(@L V{tz=A]Z^-dQs:D:lQ&I`º/l\<- K ׮Il8+Y76޷NJmnN׉9y{m"4{KL,N1'_k9=[>XYC6BȅX^/5oOǃLfY\(\&37{mm#W'!=:ݸH)fv6^+}SSO%F ]oͭh\~*d_4RGN[}M 8PYᒴv^oַ&feؒ/WVλgҹi߭\@ğbPXTޖ&€>.M4Lk0z"2wR>< +s=.'AsjPmjXy6C^gc4d8ݚjW~Y霷];׿rB‡JOJwoM3}N@c q>T]$z^yY +z:4 , +ܧY^=-ڙ] (rK\׹lu+2w2Cw A6P u#Plݚ^ٯAsUݞIM_sEB0|KztzJfM0P&+ ݙe#a +t/ZE( p '@vj;@OGAs ½ t?5uVy_ zq%(E +z \6!@ F;fve\&!@j]q!rǢ!h| z <@b,1y= k#5Ł>sM`d4vO tr%? Wtܼ^@y$RZDŽ-ꗪ?R yU- FcΓܞWSR kƏ[TKL]oo  ){ʁ.}3%ޚkwv|ߋ`qoM\s)oݏ i73!W>Z\"W`Ӭ௕6A-PX=,Xv8͚)Kl'Jی_ނ#L\a ay$p{]N/&8ާ̓dתp>~:!{:ē5޿є]%v_63ao1-R+ 7S]7f>O]{{^0W䰯7 y{ףּRR4}1w<܄xj!+sL[qڽ ~+u&fvpImDz{s>[XUv\os#Os ,Y9[6;?Y_k%J R(%nnO,v{CLq9f~)^o +ix&st9.-DG#[R{J%cZ:[:0`W^po{|^ɩB8^>cIiv(Z:. \_%@dV\ ,ڂS +%Jur+eVff@ezQ_nh%N&sUN`PզPcn8P)(iA@JҦPVÁ?FF! q)M-/rnGv;b-5C̳q=gos48\,gXB\\ukrDžt L馛1!]5?n%+Ri:?3 Oʥ1sSyprM5BxdaZŎ\d`>Z' a7(ߐ&!CZ,,?+9F嘏̍`;Ud6ã 7Ϗ9~'֏[||[g6M"GY?+ #"++-W#tط[Ax)Kx'ޙ24YJ'c=׋-|JQil: l`]/v= vܦb"qJfLmCM-`WZjj?գ ;M`^>,o} U0j#Mhr0o͐E@䅟ӏP/qڱ)Y(=uBE>uK ̻V߾{>#9aщ3`=fA;XyΡRQe-(@)l=-\6dǎۡK|-ɻiK2j)5CU`VʖX%aӻ91 YkOIgH\,hPR h ijto}:T1" + P"]x%TK!V:_Wϫal^7Ҹ7cØ1ײ0O*eCb`f|lOX#*'2{>9] {s4-O;|4AzyHG6Bl 8d $XġH#$x XDD4p3XDu;E*1mHǒA9lpR!- wwF<PpPA{8|Hݩ!~T3:av3.Z 3:)To$]q>V}~h(7 ,^Ȳx(1"#+%\}Oo]1yD^/cg9%F3*6D(d9?LM䍋G@O!{^>r(oOdG!<-Q# fq݁ V4xU壮O%DgpU3%"ƹ8p1(a0EiASs\T:ȭ=/Oc1Qy[|n_߼:鄁q0t6qCv%:|ʌ? +^:8<[q.E:VZ96vь%ur1}<EQ~C( CҔ|DaG"6,* + 0H(Kp)PK^|3gCXy䘫؉53L6|?VG?Xb@u˱JӪŜ!KK,z?@aX?M +<RB ɭ4,MGi\0⻺~!ҟ.:( cHß ȗgq2e/MEA?I)|;z" kC<K e!Hb4\NF"d[SvOa~9BݯX82 Ln,mwCgt}^v^d\J^D2cO#G1O/ *EA%){urĒ;UwuXr>wZX{IWnhnbɥFѣmHe`@ݕID!Lԕdr?, +2R-,o}CbҐ)uK Ș򺘾z{z)̶= %wyb'K3| -\`J:=5&}'s.lj4$Q 2z_bXy|>fn! 6A]d@gK*t~z  cw&u.r uz=Iv|aCf- \l{8á-/dyt˯{ݍ!sia]D5CӰQV: '`3E 0Bs{(:"pOyYr[șD,SRNhX(2gu^CrzdhOaH +|7,hvy9w(;y2;ac={+qNSACewPߠ'ϐ5UXhڟ#{d0%)G]q>v푑ӱx`wG]DCLNI~? -#3j=%JC#ӗih_ v-#腋7BrvBsFJaޥ~e7,5Gwsy\:qI佨645+"}n&$Յ.WeaŰb)$!^ܠ t8%%GQܰhgeG>}Ɉ=7. +:|EF͇:|8FcQ -U1FKB>\x 82ↅG`2ruCf=!s2Y$!&>9R: +!q!:'Ke-h4^9,O|x?_αwerG?Ѩr:6,\'~ZC었:rQX;7!8hHՔX`3,t`kq4m<6)c؆ME ~]zyhDTb(7@:դ 2R/Ǚz9ԟcH'ScH~ƒ##~F*f74ͿAM 2 +oÇv6|h +g*1˩p_=j*Ɠ +0#jQX*\]¸ +Uw*"ET :ĘrGO oa<E'6!뒽9î10B!gIZF_&؛K/ z ]ۂTGaRexv]r!2ț5z=67N|?rH] +Ue[*QoTu1ح÷C{6bWӘFKb]{˗ agC2cӘf#PcíhvC1ؕ?so]űl ?A`dʮl0 Z[clZ; iƽ}oά.3#֒8c|gHAV6̌ff;wjq$5C+'>a(agG5 Ny/?.;ö{YuR9/f>9쨥:W/v;|{/+~81$}=dn]cg2o'-nwb:/ Sӆlwƻ~}؎sݒ6wǿ\V/8Hh [%ܿn_o-D}.|4OM{õ7.wʹ!5rr\ >\W-8dbeފ~т>{թeYU=߻p,/"㭻٩? tk=哏o;bO>/]c?~T#"sP>[.&EWO/[{PjiaJN^[1ɊtͻA|,smkm+'*X$r>- Kݫe1BseV!iuc{}cҗ,oDmLv(֌1 OT\Z( @EJm)uW0n=x#v^ + Yϯ}>;~d0x6(_tۿPl+SZ҃g-R#"O/$@Q1ݧ!Ң^ӌe(1 9t-ӳ'R`U9!,hOLOhUFZx$}z`rsV*>!W_Vg޾jߦ|/lwQҔOpꬭOlVz;MpL>`SD/6뭾MVp)߲۔ܯ)7bRދl u~7~Pg O_CՆ~DW)}VBJO'uPe_OίL}N߲*to50gr_4=t%}[~j_]vg8d_OP=|_?DɟjEcGwϔ)C_Y`~CO?Zo;l_YouW;xs>f_[mд߯a+|Z_u"aoZ/^?j3[K<}VgЬ~R$~Y[mouWr9OQ}~rȾ~v/+iUWCK~2-Y*~+rEouc]{~b=}s(AkoBQSv[oy~9"AGWJy%ϖ+A/C;]BيHec"q1 |3t b)h۷;Î 髝w._{ɴ?dO^8~%0ƙ?<wl3_#t[ҙ.םտm}wJu?wwj歧~n]Wݽ?~W?9y{oWOyWn;y"3wb-c[cgpJNVߵ sz|mU=wp]߷O~_tߺݛUujJx*(_Nvv3Nm[_w0{pՍ7\{wlYfž;}ٍNݸyӜx1໳///~??~n=xF^BMS u♉/mͿvo$m_]>×w;mO6ss&,4/5ܧ;[\9Egѓ;bٻq;= Hic.T'ճ擋_UO2gڄa?ϰը+f_ջ=R(棟 ;3w믟E~_i~^uM^ٻ?}˓O?O]P"O61M쫗MgpkyvxϿroWy짴>5ܙ/lcǛƏ>ގp_{_~Kt|o.s+߻_O^}ug_-o˟eĿLxʧ`(㨂/;Q,"c?Y0*47*N1*YB6JB?g߁776v^~tABVw OJO#@݇oe|sq7}sH*X>͌]ݸӋ:ۜ.+'ݽ|GÙ)?A="A%,0*;?'X}1ɍ_ʦ&[VAOc.~ىsԤoc]q&|T2ζ2H\{I~2 +UaV܍c'zgp:zyzʥsXX=/?i+$-O+fiYjKs ?v;qn׫q͠?X3ѱvq<=L b/nė:A#ԫh_a>?9ya=gH[~}ϿnO +яqK_Ziug&:EqD8T5zr3E!ݙg_lxLw_~i-/N\~t[&/9?7g3E@cY?cn|#};)3ܘ;Pw978gwϻ=`q1ÿs/w _|}7t&c7RlXܝ=ryeyן81 {g4?~~駏'w|\7w}[~mL^5y{d1 ٌs|rӟ|?կD]mQ5ɤ}[W^q-/^[e3ZL`w_n> իjrbeQv5nW?@3\Vqw yrq(>\6>cOˀ#xq\g"S}}s=yܙir[-@bwC?=|ylί)LtgϏ?⼢^eq{J6ǽ|j{\w*>u?ȶ[?JlGغfzqaX"b߅i~?ٵֶ/4ۗ\{WÕ>yK?ܼن+yj= ϚIm @i=C{aq_xߪlOoz8v_~:vz +@{Oqջ~BET{vyџ/߿޾qwW]?Q?oYI{GOӞ=蹶Ϟz<h>7j^Aqfō1*on'&r!uF槱?\ˑ6`;|Gmj۳1=Lb_^Rz2s { l^t/sO6FMŕܺWO6vm"B] lLR^}H,T溹H܌z9%A}ˋل޼Usמ}Eom}}S}{ ׃/T)A~| OOB(Gp6{lϿ/z{WN׾X?\9;rccG2W`x\_AO;v;07N\ܾT1zľ~ƃצ>n0oj9US|@Zf'azSeW>)߉WOC $O__ތ/_ӭ*{{cO\Yzy;\{pݤQ~õ?/ܻ2څ7?o=3bD;X/Gvh|6D P{$"{X߄'Di؂G`6YfO_N/mɭzٚ6a@[z/уzz>1F19~s !Ν:{e,+5w82b󾧱V>> +O3$L1c Fl_ߚpm4ÜwRq4['n8o\>3X8;_By%L֕g|ȑxo|ysxwa$u2ċ'G/~?sf+gbLUa,N4[G∽y+i&Jw+tRZ}s7n_Lzޥ!9>آHi+ߜyww}1\_cj6V꟨/\9:ק(:0퀀=JQ!2g[ka/tkzĺUo 4mdgDN>P~Q3YL:1#omcXXqdp-2>ONֲ2+dQ\qdVNYtWC.ox~Ot#ajS?_}>b}0cLũ#.m{e3RNV ,vx}0= ovQSs*+nV# ϲcA)HS.8 `/K|^[3*tƶ6%/NEuvZtumw>?޻yez|~ +SSL)^kCjVup]ڄr'sMXc.TV_^k|?uSj%g㚵fZc>ڭo֛͢*6o@w]"QŎյ $^MU?Nc|bIE]B绚46تm&f]0MkGw rfQUm1j?VtI:Wu(;kۮ5VځhW!2UuNn|3H`VDRcg!IkBm;`}a˦ Tmg]k,HVjXoUkS"[ԭ[2NX4pnl¢j\ l/<۪i8rw@R:7-cA"jgM!S`Bev15f޵`? NdT^D\-,F K7-&h?rn7-N'UO$0Q)TlpC0̅h2X(=ǽQDwq`wMHg6lKl(Fީch +ϼ ץSz`pF>$d`#8`MwGfu45F,B/4EARpu5p1mUlO6f:.j : |a:2Ĭւm/ݠs X)xgM^U$Y"lКIi:h*U6gUI +7N])8.\~M9~՛U)u^311\hcU!dU8׳o ?8( &6'U0^A=0!q/J3J+.H$\:!kk"[ӺQ3 ';L~=PSp{fHLvmlWG# ̳ 3*0ޘM@EvrѨb2+Ϻ3l'a2M~/)$R(D|RH/9i'WqTw0C^$Z SB1`?aLP@P tcO W? f]-ǁ &w[L WV#0Je aWG17jr˳B`8sTI^($D%'و W+;~=8+ g.!X9‚q fs0&mX!9}XTYU+<%IcIפ| +I%T"蒦^HIvAOvH#gFAV;S̤pM{? h6q U|lD$\5po2%q A=;Cz0yR^|:2*A Č?3<@F۔RIGc$XC\<)9]`PBrS)La^o&M6[ӫB M;l RAIDwNTG8;$_L"}W^%Q4pm/0D8CgO DBjDB~) gK# +\zep4yғ@AdL0# +Iڵi*l絁Z,!*(֎$*WJ% 5 D_>hռjUzn0${QRex]1;܌FiM\u.l.v41O3pE/3z{,gð/Дh5$#P>Ygih!~% IdBcu;9j 70*Of V㪠Ts԰hsw'a;ha\\^񬺮">=f(RXg/UFM)EZb+|"P?i'@⦸ gU[;yrw>R=?hg 09A1IΑ$ +J"b6>UiJ쎼b-g%Ϫy)IhӖN|0M[aڪ@/"rw@nǒD9+I$\Fp\UɁqUIBg.Ƒ#fm3$WノT$} ! dqok9{@]:}1naԼxPeGS88RHd$:(g_W0hT79e"[t:t4C"U7XimSāj` eljE:S'/7IJǂDΚ$RB"=bʒZ_Jwtw`mM(x' $ +dc@X+IZ)De Ŝ9TH@IJ|:%i"3_8shE4QD+(QIa:Ƴ&O60{i"7M.0[%zQƁj,3Lyf +5C?=嬙:g(qqLYIׁkHe$Q$Qkg\X+{]sZk#ybe$RZyXJ2 +K\0jh =7Q 2?qZyS 2[fĦ/"=0EbTk%* +0'(xfWVH.M"b;6uHqUiJ쎼b-gD%3Ms+9Pr%'q}_*0ZElCt- +fñáubݞk$$EE.lQ/'˨wLvӪMYwq4Ipz0ʪyEiψ, S) Ȼn<3Ri+;š m^%Ic!j4gs.([s JxXgQ +Ji]mzDiP9YB~YG!F +*M˭(=)U"]"E瓐s)pqV]Y"6PPFb8-ܴZxW +wƁ=X^X^|wlWGw\|+24K M(AJ mS#JDYhӰ%QD!QUVlD*܋Q6FYiv4eIiז_:jAh ^QT=Mvei]lb*vemp+vXFY*$0[s$&.d1yĪ{%vGO򖋳Ҽq#zw 8Yr6@;)2_?V]ܗPdQ X +?hiP1\'Ƃf>oH3<&OҘǮlsD[34F06}]t"$E5t7ě6ȻLVKwE&.Id\HXCS,VW1ex CSlX[U ua:u;-tz{g&0Ո͏u,[@3=h6RF>X|(L/b$vϏ3J6081>/K,A쯎F1(ϯʾ4z|֘YϬcaSPzn|Z&P VaPWYMs r\bGcaʳRc%% ~ ˳%*6`Z<:`JllpeUAOU.K<60(ưr E6ǧw6ǂ=>9iKD6XfݑS챼X%[]rbKN g lДY0Lw*q/x1奃-CP9Q%LD1 Fte9f@&Ǹ6M$ ,5I"/2 2$qlIL'+IYUM'!r : T%B`]$..~WB>X_5!xd!巓\n -Mvμ``BjmBSaZ@3@M3z8YOWy#21϶yQ% +d +IiR~JEE70%aiP0&@M6C%U l]*C`*LY+s-oKHɞƘR$LHб9u3IxK$X3s`W@mmSBpBZxf{91 4d%ܬ"|* @!i Diy ~2aHRT9~fZZu'd +䔟ڂc$YqICQ";I#IzhY-9j:悷L[82ڤTͲ( +iVTڲ|M6iXfx9K`zKD!VU:9{-Jonl:y)Kh(l!`út3s6> ;ocm$;<ʧ)j\`w >BDլ!HZuzZL؂ ip|hJℴ'ҧba<)1"Ɉ$XbD+\"1i u]FRh'I.+ʾuɫwa[&$MT(X˗>S@q7 +h.ppƦ1.2fffք3¨g9VǖrRfIxb +I`ISasjgcY }2jiu]&h/T죗*jݐ u8tqJ4IX)6I\$+Y?3KUY sɁ +Qr6>U)Jr-g%٢dr6f<1 Åyy=ajDP32/a3ͦ6HL^oM9"PIA`^g"3KuYQyUb60}ZMFYKaMD=f&|:gJmre\c4fR%".K~aً$J l)*2Hcl=)Jx2ު'Ig` QH4-JNVfSeU^S򬄴eX~l?#U%vJ$T8}Pf T(k6 cgECO0*Hyrw#*`"4Tud>Eۑd'&1I\)p$ %^eBҀH$ Ujhl$eyL6SgɢQh]S߂'rhP[Gɚn̷WqbyYCӱqK!g&̅2$0lZmW'IVGH fge +X],ݲ.X*g%:e5&%I۴$X2ɐEgӸgnSȴ}šS'$u]5MTv$;_bt/-٥l[B+<K$=bymB_bARnvmBJٍw'8`,aHqQ&$y!FJ ۙ){$:Sp-K3^E0/54q *Ik Q (&i$#&a,RGH(){ $)mNp OuW#SG Thz=X:XTy\vՎWێO@MH0sCjRLaBRݞ$i VXq|J<`Y.m7FIX.S |*\bӐ.@h5FT0z#8SٵwBuK+yW>N $3`cllCrY:ચB;bcy}Cҷ$C|VIVuqݤ^I9'ɋBrUɻf\:\Mjg&syVG|/"[s|M֮ۧz〽ڴ<9z̜5T1$e'9pdՋ/DN=e2L`YԢqij]RDyUe$@e T I $djgM!BvK{YUױZ|=wå&,:H?ڀַ#Zt P C,M<4,9H56F:L,)l>o_- k2M݂&.55@b&+$"a<~nXs:Ű?T̈́|L(«ufAGavl4/ǂO'Qʂ73Cl+&S;|: t]ߗna.%iQ Uk+÷jrOlbxՖrW|3`\8rpQIk^3?8(2@ 3x +0r醄~Ml +Yn{ŠxދxI]=Xg6d](f0w) +?Y4$|Zk d@1Xx,pA]L5XТu17uŞ$X0 =fn ))V[X7[%iɶ;)je*]}*n<3fYľ7|Rarw!MוZ)9b1ĕа)Θ[lFqE,A$Tm h\ +V[A{Qzx;Dnk1%14BO0#A.X.3+x̂qU4 +,Z\b/^/ +oQ85VOKwIE>D|҆ք~"s)D 1Xg?M;C8Mژn烬a(B1=`8nuKf,qx-k1k`H,nǧ#BSuQ1*2@5Ƴ2(ur5c*dl+)EQ*n~s* |v]Xcʽl +&ݰ՜!88Fs]t<ځf-*(Fk`'T:\u"VLlcVHfɼ6p H)/ +YX-}Ai,`}pk4v ۅJ;zkmҰQæ0[B]j;:m +3GB.Vz`I) Mtlh%K:NDŽu@ez#a{/0Y1ѵ¬\c- "v0x(QeLt,!փ,B㣦Zا2 9D:F25F0Jw,f(l!mER s±9$_`0k4!YD;i +ldM B]!2), ê]rRj"BYl9hQ\7DM5I4ʼnJa˝p5=(hIppo*B"oBT:d/%1rg$PD/!i([is~z0 l6c[M7!C{+.dxg!^b?6,x q7#$Ne$sKy@D8:Q4bj: &=b=Zˋ% +љ58hw= $ph $a;D$iY#"r çGA*N0hIpyZf.h$-GMAqu?L16F($eE7e!%9-u1#6vbk,Bb|k`D6'ÛI+DD=c}|$a`!5=xy N.d"l uNĺ|Q}.-M-[cIWbnJƱAF$"*>wIlGH^t~Nu=W`}Gиp))GP kDdfΛ^"V8ѶYðP#ߴ\(E +3F1.q,DPHM|M>CXƎYďX1%EY1ޒq8)ƹAi#4BP04zm;|cnE <Ɠ-w%lQH:EvJGvuz +epx2\S #|,9VA²BYտ 9kl^3n' 4X)] B/pq02@F $t` $yģ'IYQ>MԬ̱6V@(ТMoYDfLPi@AEk7Y>%| E5z:h(F6l ˊPބb,xE+7$l|DTB"e{aa5` +~Q!1nb.a[1056vdƈn7,~HqE0sވeU5?HF~lNK؁ m2 . 0"0%T`v&;PԽ~jhJ] ŕ@Hq4%c%.Lk_xIJ8:W;R/ {-?(X/ҳ$$aGķD)y]}تbZ׎1C뼏`lO|o1_ ƣK0+ /җ$ct"a\~铒cIkXo,\A(+%J]L+聲9% +lqe(G%1Y8 L4~( WG7^a%A+9a(IVdfvTQ݃ %0dŘwD[Sۺv ZNV%D=\ +.%CvK-b!z:95\v7ޭ h*'ap6gGi`BD,'C%W()$44* TOA* 0°(ab5T4 2 s샦߬W68 c I¨Uw8d3-RFU4&a=ul.fCDG `9`3il l:a[#ou~]%`N$a(=_0B9j||xeQV 1U3GI ^`&$Gy &.fu94Vd0Xp3H aaň*|($U7 RHY!*f97E)p7-p<*ofC3/1 VX8c|3bl:/oVX8+4pVJY!B$g "h~Â4zμ}]RǠ њ>De.1xљ[π`l6q!gs5cku0Ck&T0fQt|i i:@v„٠n$F$gHQ 84 Y'gm Y9 7kgZg@ap&-d bnH3+0 +?Z&!񍆏 +Lu +̒LmC(fv Xʿofr8Cx"c %IY%g*$a]1TA SZjXcBڌΆIt$@pD)w;f +3ťùxp,A?vD@aqhD$E3ęuqfu]igvrVIJY!$3A5Ga%AgH5":kDt։2Й$҃}7xL +l˖xPsvd'=ڍn9 *R(b2<|0ȠS< I s񋸳n0gٯawfs e*'3d3I" kΘ9X?q\K<=ڎ<I^b&65k32S/[V|3yGU[)I@Icd {U7f20(h^]g s[eBX h]b.fc13șN9SPq9祉сr&G,ቭ̖ r|avf!gr([A!Y; \rI +Y#!x]jwZ7@t4I9s匯.gk߳'PKgl ge/ft-nx=paǀݠ)r5㛈pKnLX*ԧ@9oY +h "SNX ^ ec Ξʆ92m릁gPLރ2uԘڬhF$fH@umi2($ӎ&l34b5lp-= H.Y:cJ( X^Pg &ĉ@k@#l +9ah*M9WlF LSo"CȤ&t*-"ZAlVU%&sw@u͎"x7 U63 eOS vU6;gL}ɂff19fuY +`J ϚUcxy6ǼFB*fʱx,vw9،1u fcuɵ.Yq8K}M@F^byYH`um<ຊ4R뀤ygݵ4$Q4BT(R9Ś.Fb}!IS(q#Hf`r d!"GW1$*fF"*Q4+DiV$Ҭ0(3 sca,-z7^=ӭ!ԩ_OQ9[Ηo6xl0NKY ͎LiYpMG}:چZ3"7|1C<&SXHY!PB$fH@*M 5+DjVrYjVNCbʩX%FĚx{Id`͎6:d +60HUr3͔bD&b!1)A/j8l6fs*U5>A`'eXa]" 6D9LGlfXWh3nD0 +`mv@iM1lfoNa~Lb%1)Y@Q͠UKY^6$%ج`3 +E` + +%lYmf$a8mf95[ u6΂O5͒p!˒X|p 74o$36vKi qF#7cOZ*H81CW\2٨Y +rd/`rs!X\G^f܍ qM$Km]A[6vNZDUqV$IY!JT *MZ&`RTVrrPmm&0fYZ °`Qʑ'k2E" ) +1i(fX%) rihBlXՒ;7[s09F7JXz&Gu;+KTXoRΞR^,V,a +aoS}QXe @gva\)3شX!41bD%%Ĝ%5q4phrYn^ 7+g f,KY&V8K͞g= +EIbq nf38` +M`7~qp$LZW:Ж)#9(1ƀp36Q1\nf7BbY6K 6k49L="Ivkc}* D3)x,h#A4$M򄫵"{d/ߚe:HV7=T@́gQbƻṔ=Ne`s`AR>SXrY%)fH͒HZ\S--[݌qolJ%%D%%ę5f Ufpr(ؐ08%]cc99ٌ"5 $$;nD>@U^27ZWPfG$&%4gŲQ2{8XP԰ v +|QfP#ޱaŚĶGJ1=a]=kv  #P%nYӎeVDqh؍!1 +55Yюę36TVCDG3{vwOBcn3{﬩=ugg : `t3{:8K\[B/PfL>4aTD2"@fĘ%M1󢰲84A̜K5 ZYM%._f,)A PlkTjb 8,q"}LNw2;h#HBYڄKzCrZ4g3Jp ;5KP p@n BxrX|]Ay[|GrX4Y,B1YM%B$fH +U`VirS s *+gelJDM= +KY +DsBNF%ڢy#7G V( +py_{U %'ɲb`^D5U>Qfl6|vKZI20 EG6 7ol4"6 mDf4w +}@٣g*)G.F6P,cKf޴}_ +5tdFb-% bXf|p6Rh%T9΁@_4V@󐠻;`ˠXؒb*а֊e4Ya +IX FY` Xc* +st|TKIEђ|{Y~P_2|[]lPG +6:AaC_"~[IG ƙa+,hT.KЉtLP1|$#6p>?%|֣^n.˼X[[ _d4A",45e'A@>eN;c|qIqcztJD՗Y|AtwUGei,,%b#7&mq&R\j.#4feհOî.QrwE<k,G&mMM Qް!"MD} &.<6vQ,Y۰>"Šhɒf0]X V'Ӱ;yL:E51s9m?7B`ufg)y}wur 1"b0WA;Y^OaHb͊e41 +Ѱ{W?(_X۫G°:qn(+~hicPS ?,)Xج>D4vCjߐ Wc@TmE̗^?IJ#xlbfuO@" 1sJGJjaYYDyR>Xמ_c G6?JhD; UT 5@2CijVϿ + r[êYYb$d$q2X`( $;XYlJGbٱim[?S[A6׷Ϸ|7?9i7ς+3щk!@雠MczTz?~5*&N.e>־$ZҀ)`аUև{6jPJs`ͦsK2VEAǾM?>[43dp\  V|:2_2 1&h_$9K0e>>6HU9C_O}mc/׎D<%G$bO.c߼hH0Ccej+heqf-chWXBã/j|\֮|Z!.BIJ] aePzӌԲ f\T ]M stX2"~58h׳ݶch_|ƋiZ6‹8tsfo1"wE{0"/nbGaA#7=_;|l} EĴ\\T 2؞ PpF 5Udly'(V +"0C6#@nb}1IRB{4rl 5TC}lt(PcW`7EK DKUe犜"mou̸d9cR-h#cp[䪏ng|]*ck 2hnp7vS: +r$Q+)!eUjPv@,+GyRzB۵֎HK<a^,?4,!*RQ^0{PO3&a^94*X~= iF n$q Es)[vU[BU a2x)cK(>̳U4ˎP*щr{E_黋Od<It:>  ==x83 +LT:vqdvdNA1De2LiP() uQl+A~{a~& 6S: FT)7P^|+9xuiy[Ky&͐XL: >3Bp3K7:7&5H{kV($(EU ֎y5jv'e1ڎo2s֭j +›U6)688n!ASU `n \lktMcFFƲfi,N }+R)$R*DVfSjseU*{Sb"I3t/Dc +o# .H;&7=d@0됶B$ mFB*Q i+DVrĕ@UCeFm y6db1վ@yk{ RBc^> {6̫a"-Hzb"+YFTNۜ!yƍw*Ij+DVr\[!B$mHB*Qm+XaHp[9ܖQҒ$t6"[+w mA ݶ4=5-mn MC-W -mP>Ãe8z^wtnSZRESF-G(8)<(tX٦3 +۲_`>a="^E oKnK foV$DUV$-$H[!*!X> <)ޑfM0ChuLu#Bܬħ8cC$;7 +^_=u~!k%ePqv|bO*4?U`ܬlcYa q2Z9j 8҇ dfA\XJ20gװ&mALúM V,#.B"] +lZv[uS\+A0OGYѿ{jrsDj(7kXA+aQn1i2e@r+j:VOs0 ;d@:`NY˵r#anĹjYa p.땲Y7d$:lfU&Nc9ؗyKbXv$H`foWhZs ++9}\5f1f`+$ʭ{d[V$۲ч݂#V"jP`:׻.Y :OxAA1G*Ԡ#v˫Gҝ'ؽ1o7|-E(n):QE-E;rX$U4Z HB,)2g7Euima4*Zl)u@iY9-V#F'gao.pw "dո;QSeV"F;Fz.*-2bi_Iر+y7 +w{yF687C~ո^BYל>qm ckݼ[w;yo/AwN컂*x7!AՏپ%mbf7w#l':*h_`3uhOeh`wɕ:m~C<$BtiS]UVF`,z2ؤit'yʭ7K<{ys +y϶cV( o[N-DyKc݂,nq3 0 +{(3VyRGѼyֶ~ܭy3aΰ>1ېF5ͳ5D6D'B4]poțP_)h;,ȼdBt2oVcCy*B+;]1oz>@!i%;yM6Y3:xe$D#IK4Q3i.xD'fSK.w&tP_=&V@9A9‚_JAfKj]V̛ex73FznhK-Eż(2o):E-E;:p<^L8tne}/H|?fvQ g,l|cM0Jr7'޶CWדmU>?TNZ9=CջLQ؜hР1ռۋP +}n^\~:J}$m_tG HlJj}e~oxk'FA bfAir2)O}J)RlIȒTE[{FٶR= 3\$[9ӳӴ)1JѩD.Y&qf1}; W5)I8A8z`9spO%~ a vR[tR; W' j4]A!Vt+M Ztn% +[6 +TM{^.LvDAolWU|m*P-BnD$w&QvM> 6ݵV9vxN'9va/c$V@h#JHҭDtkF [}@GI,n4Tc~YUnR9FrSu ky%j-WuUl }.&KؕNnDX߂fG&zﴢM{V9`حEFBaFf  ʸ[ ֍]݃"RcBRNA?RT7"DE/ճ`HnR, esVo?XWnWO[KԭDu+Đ|EHgj [֭DuGQ`JX hu_+ycH9/v#zq(yWVOmL&s&@j$Tr",Un^ZoTPv`(̮aKb)CWGnUT]wݗ6+2mBM%|/lZA,T?T(5QYE~{/(哝`w\`E$rQsrn(\p+wZ)m綑Î2љ$s3"׉6+zyܗ[/OWMrrn +\qn|R_ݣlܬkp$fr<2᷌玫%pn-98Tc)]bv}]^Yq戝mn6B]7ʹ.5tŹc;b/Nl_'+ |yifY:N4IԘbJv`(-cH*]VL̆D,(:1xs[΁;|'A/?ol]6?b^f^Q[rKAFQn![N-DrK`Mb>U.> ܎x+N@i<\N$Ph 9M +4i"4q(b-90`''9mkL0 lXD|=2 +E3p[qbՍ4be(EUp/SgQ61'B^ҘΎbؾ_G,<|Eƶup Ey'$;hW$0i=}__sҞ 7KՋi "h}6aQ6sP("@7|qGc& +y SgYO0/\ə7 Oyx4|!NGǥ=rTiR5hmH yoy s|9\QDЦ_Mj endstream endobj 22 0 obj <>stream +c՝-3;&P&&/g*vi8mm< +8_?MmO)';"1sQ8}OFT5 "(0X.?~ vjIڨa.l.NSLO<Ή<cJMC2A4v;,u\biz5>7M6>amW֠ zlD9kpHvV[jeyO  J3oVFƅ#bxOw㹉 +sS_xq bg5 +ɑ𑪷P"9fВ[qCjSg.{lkkE Om7iYhDwA)'/-$xK {|ˊC}x/I`hKYHA%yRUf= 7"lJuiWz'.k#Dt4/4;)/Nkj;dp!FĈqg\6N^eu|TEmT8كܧxL̾H|K|/9]_;F|P|n;Ukecv౱i]{ XxYo.r634w$6R8;d$^aV('}HU"޻HC$Js6\й0ϋyGþ)=EzƸLzTFrMM2M#ǯr,*v bT/w<숛 +$Z2rL|RV(idgŚDElW#B2ƘQ N +| ~?DIp؆Ӿ˝7GK8T#Tݡ=g آ@Q.GMyEN²?qo +Rf봘Ν^Hk9֒sUE᪫g9~N9c/qxj[A.qT<i[Ta`aϙL툿1e eP ++kcD{h˵&ulf{f!! Mo_Eb^n8Ѥ?6,)_cO!!RL}ǃ%ؿ;h_IwۣAS< V|m^2=s+^db*^ +lrO" sy$?D"eexI,64,6=ըYF!wtUOwdU=Ոj:Eq!zzYbV( f-ĬEbVx f-aV@jbhXM=1?`JPgys.h'LÜٷ2\ż1jsvϿf\Y$_$̞IZ|WaGv>9E,E㈆YfN@5o>s# +jk숙|r3_od26 Ic il0O[tgHB`7$/ZsHُYJN,D3 əGFf1]3afU,D3+́$`f% +Y6<*3HQ㝾F0ajش_N0 7ayQO앙:!$+tLwb\Q2fn4~JQ?C\^ɼC5 U7ڪzPf$vRO]ԟEgeHOy[x^aā%:BSI{7wpz JGpU0Jp:VjKs5ec;E؊((T͎<\Qfx{ou|RfFMŎK;-uYڳD̜y5 AfY%|r@fw˒bYId֢ 2(sBf`rj.Q2gp&-Z'cg wj12-Q"a -*V LU, (}Ib "$vKoߥ"(f){&ït&?a\")FJDsR=쫅V+<?rIz#Zte%:,D/kΗ怠H?QW4z +7/݋Q018#1M4mD. 2v/_])5ߖA- +* 2*1G /Kbz rd;^z/Ӡ2}AFTn4NL\ㆣkmxyH'l,%'^*Re>lVT:rث]ntx⦥%293zC@dƓQrC<|8@Q;=)>$h@YtÆ tԽ:${Ra388{ o0*W  +u8 _yOq#زw@NRte):ٲE,D- QdBtO`^(]_y.20/=ИxM_Iɹtųn|' +G8ޜ7Acc,ۦ)g33g3Sl'c1 Q`Bs ,EcWqL)qI0/~IeMd7=w}+0K +]vr2h 81Y"&7aTiwLr7d6ȧLASYL s7PN[ +RLb`.X6&k8盗fP+ȉ&=:v N̮Yb#|ez;`S/|9j"^VO)Wk|n׬鲉OjR|g,6ח7TsӦJ_wTl]awߥٕVI.?DE_(βOlNǾI^jU{BМ("N|/gxaox9T.MQr娈h9j"YV,t1;6,䤫'X.fE7\ Q- 96x %W6 AU?Ùy۾\pgdKE> ,T[\?QWT+FSo %7˷bU{(T(S1f"m*=r#2#L^Ӕ,V($ -ØcIv;5B2Cs۳ykfd#~ +4w#-$HlBi7S2u,'L ,3(Ju_yrBG.5>rX-+GEJCe֊={|jZPo V@[U7l6eN$S6m^?}Vl<)K\߫} +e|y&&y(گ/N68=?‘-bkaWRr.9}s,I868"~)? +Ń2U)=ΔY-ɸ9}#D+j HHYN,D) MDQ$HYhNi`3X-SStoMX` BK~D>@AD`,(G`Gz`A \Xa8o-ƒ&#ڶI.ÄE`sN*n@ +s舟-Ct(?nOȾMs|*SdCdזNHsp1ũ~a +ŋF!^(}.=i|'zRei2* +gƉكo}̵O|}wW6mm.@QT7'D&-jwp+2uٯ0+׌כT ?#m1wb0 +Wzt)i uSC;rxdQOވ$Э2[`MF.bmnޛ0Ʒ#x6ҷVgty6O=3&2[#fml4kꦈJhO vjwz~=ʋ` \>]=:q;N>衮GhŚhOM`hpl1NgH:lǡƉ?n?etH1l9* av6!l"]j_:d_)̲ھk;R9a?69K5ό$ c3Fg;u}hߠG3'{֚L!XpZk(KD3EcSFV-aϏ<Ž;'/}~[zAw|sF`x=+9KM߭/?c{ÕE!H*8l| -HXU&Eм_͉s=w̙o9cd栯7IKGm;P +bo +]dXSj@G1o {Of$fMaXJCCBœ5(Sjkxɣ ?CL5oǺR;y!sj]7}.P`h= '~Чd5~lBGӛ!JŹI/]X3K4pJ4AgK" ,$@v:uϥPi1C` ǥDM 3 ̩2Ͽ`K[1D/ ?48C@g5RwݯîۗF}ȹ}X~1z4DU=%s$^=K?+yiew%\5zQ|_ 52H-϶rW˗3)!cFVBۚ +3z/j2_/iI0Ÿɣg+tNOFDﵭBWfޤM#e|[[aRDžLiץKh^PAZz(,h! ([ʉMœe޴ <>ztOu}LHK&M +~؅n#~ NLX0R*16u4 H2o "omT[{i#6#7/ujvm +lqUZ"w{n&r)MdBQ'95\eWG"M4& +5:'$<Osu'qT0xH¢xtl۳y='۞4vtɶdBٶE-DmKю^I}!;oIj##?^zs,zR:G0SM9޸VCHE>  s RX8 CEʋC,%'ȷ(n!["▢q ([|HW=)'s,bnۈwB[Z@}ܠl]´'^m5f {UG@1FpIo쪍hۓ IR5̊ń\Ѵ6;A?yqV[/=j7`ӿx^xKe$!:[Gu].Y%ēK2 [Hk!D'S5_|E츛ȳdH1nʼni︛Ut|sGƁM&?ݸ:v~g;f!hOɻ)yg+INRoSIERěj8{q$G (9JnF)I˪[DNKc'^{i-%H*Dr53ʼHiWiɋNg)2FUy[rQE/8FCP#"m~'<~:7Nj["󖢓y QdQ$E-E;2X"\Z kH()/I$z^Iۼуܛj64œ{ӪbS{J3BW'{{–GUܛ=v?{'?:w |s|P܄|=أz:cSS{QAH]D@T}xC"y]` 8sPHy*D,<[ +!N6%~`x݇:AξYW6d2nCN=;@e#ٷ["Ⱦ(o)X0å&.I$8ڞGiPRFw݀Yv$Sm]M~<\F"fV:&V|/Ñmۨ/D[-pÌeh֢2#XIN-D~ QBE-E~Q<~zo17Nh-Xߴ"ꏃ7d:N}(OE #;9Q1cwf3`mLT:H}'j݂:\4|sFWM0:ɷE-D'-=P׼$f򍩇Dk^b#ߤBN dQZ`fPcAS,(8h'IIq}[O$Hl>N3}'߱QY@BٷE-D'$h#H[""(o):E-E;/}FM'cّJ-7yf+.oYƽ/3ٕp{Cꜗ (~v`DC?MF +4mOoDOX ~Sx.AcAn'۞gA&$Ρ\r1 Wl@Ji +@Vdlc/DDɾy՟3Go^{, {o6nLw۔OĘ=Lm7@R?fҖATo8fiZm?dCʴ6Έ>:}"CP/<|`cen[I.@Zo$t P- Yoʬ$\ʀX6˗hCHE<5,6?7O%Yi4,3szSB $#D- I]OAU OJNR%:N,ǩ.(ZbdN+#iot;Hyv8P~)D޾pعgT-%}?[V( o-pK@{DP:PܳJ[W`i&!ӊ7R{̾%#{~DDވf3UӐhgPO[uKW>1:Mϔc$V( o% +[֢y+́([}W=Vs, oD4}zr)~~2o$cV`zLq71۬.dKQoqۄ;7{k3XmŇwF%[?z sgy՘s.*lIf/z&PUgM2O~hcH.Lp3Ƽ$0o% +[8j_3"f߇j ["VJm bhu_+yH\a;~FT+,Fvqgsj$Tz",Us^:q[h‘T{~z#0}/Sz_9mjO/[Jyl +6| gݤh*Afaa + V`ƼB`{z_@=FM,H?#/7: +H$QFxz75m~F+IXtތo6u_AgnMS%l摱o2ek$<x3?_Ccb[ %dv6 xQpq挝DtNͣRWyOm +z%ڶLTo7ߍBަ1O̐ n#1"n LL7˲1f% eɻm]|_kQ1m;iNJ8:w!;~'/>fͫbӆY+٦}3Lu+JCq6#Bqw -DwKюcMbgJ63j/Li#G7aw, Ȝ&}% S$na D|` +16ʲ;XK/XPM2zlب`;?MpYmH%lBh/ id [.*CA>)1`AWV+*"zOFa~mҐ4[P30JlVEŲ>܎4ўr`1[[w(qN?HKo -Qk8K kPWw)Ec/07+$ xLy--ɍc%~F# +װ!,+/0;T=CB܉rfCiHͧ{*-焳t>A T5!,ŵ1w.% +[Y|^uVb ,<$/_ICD3SQ.eM#{5ޞpJlp'hի atzow;PnMwD,q46'_fGq+ W7kg┌?r1k.w |i O_ +lem>1:쨃uy.(9W;ɣۘÐN_DsJvr]Ө{'*_D֔:&r XbL(PA~JKM$+ϯq~U:TG͍F|Y4Qs쐌9FD_66;.KȽķw^P9/M˛1ѫ6H х9 +,wzó1ޱlt_panYssŇ2m42 ̴O2GW0fyrq8&lfίws6_*j⼮O%Pq $7ͯ(ﳦHHe:A-IɛbmnlnsA&Gc;:rm|JKTyaί[y=s;kOե5^vLC=R${ϿI.;w%FPDPL ->?QF~b%{ +GydGo;Vw 'w /d^U + q02SZD2YX?gTcӹ)&aG.BglP]BAUiQiCk2x.:[OnY7IO0~R\l-c]xC,$)6o>_;z_\D):dKkGa.+K܏%r?>*3~o%.1c']\h!aS1mxstޒ .||a&͘]Cnl=,BQC([i?-7VGP&"޼q W ]~Wc,sZ}͆b@ɶAqUckG!ITRA'TQkk߻~&Ӥ "~b<3$Ӂ8b xk4,T`z,wL6sjڬI~eӳ}}#VaCD쌫|鸝ҍ".f_d_"#\iD;JAh[n%*ubȄNRW"Gjݐ t%{yS窐n2$;- \M96%<4lVCKcY=Ɲ$U<܇;&߯_nPDk|R!,4‡R\$eOӘ?цe>aS{_AG0ڶB,zXҪy[:vGY&}q@gZE'l{y;_D fKWդ`_ÃFXM?<ͱ\Y/H98$v(bFHY;AJTM+mv 9&gnmCYRpд)]n:dL44QoL8:;XI>?tOCٽi<*k,;'|6VywLy}0: ύSAغ&8ux:gZq'Bg682N4ͼ:W.n#h^&ޡs>C/ޑsDE򉛅d͝Dd6vhi9P|\hojnVeƪMsc|Dܜm:o(eEpI=@Ɛ4utBCW[Q"?!:0,/%886C,br;kLjͼGh&aq3s ڼՏQaҜ9j"jH愠(0HrMɎR?d'$uK-r7ϔh5^J43g>!03w-E#a !Y.Kwtj?7o$^7 ,z[M2+IiZP|zɔ +W"U_c)LYrs2~Tfb_ˬF:gʸ׮iVKF&iOt⚁gMRe4R܇,uqz,ftP"`[y&dK/~B!S<>LK V& 8\%;uEoRM%Tf`8ۊ>9wIJA*K (Be!PY"T*K<_. ܱ)OH 1v~_k +MD^E  Jl46Qol8:¸;X(Ǹ%QL,N2;HMr!XF>M]G6ʼn@js".Ý Dh˻-[izmDeP#x8(tL$  ׍FIv2DUɕh'˞lg&yyd$v;,ȾD_$pN/neG=j_OnDn\1~uxֽ3t՗#[lT)R_q YD&N.!'x4/%N068,g4ͯ+(j`;NL=rW&e):ɲE,D- >\Vw8]J_v2SrXJx<{~b$(r*~(s.uTzQc{QQHmsufDEjYqhFB%mYKЬD4 щ.ơ.xcoa ,D5 QdBaE,E;nFI sfztCNLjJ7l?(0MbK bd)"m%+w`dސ{-f.VJem~ov R !w192'HSN),DDAy@ZV?6R~m69YX Q񵽁>s0ݍ6S?LJ~$mM>f0@3Byov0w73~.z/OTG2O8Ŷ]+`&yHoA8SДӜG +9e7O~pf)EO|/nEML.mR%ȖN%ٯK{Q(ԵVJHW_}F- 9>IlhsH3WRT2*AvwLVK᎛VB:2O,E'n(f!Y,5; xՔ(7 TY$a&ٗRH _ +y^ Ovb79w">L0MK'!V7xI.(8i"08WJE3S,{!ŽͥK[!n7 մ)"I6K{7/;N#loβ>q3ݍf% 7kцcP:x 7[L螋^'oFB"[ %x3"?m+77V%픽8!ͬ0~o wޜTOX";3$~Ͳ8uÔE#.!Y&RPsbO #~h1oQ'f$Τqqf$^|cVJxެD ux6cڳ F{`'y6¶+,6țAmտCO#ÐPB(¸f CII+1(f% +YNެ5oVhjެFY͌x3"J_~F7+o|={̼⎛}eCmΉ'7GVE6݊jp3#o#p3)5&#LfZ$-Ďi^S)(8g(f)q3M=FfZOdkA8;nƣ.p3]8nRU82 +ܸ(S)$&T +I#r]mkn9+7菤ɋQ^m>9bE@tbRrf!9mUSAtwnaجD6+QJ`m%;{$Κ ܩ0o[T[ğmNdų|b$wa4#.&,~j{bt6Ҍ$џ֌m j~vvVk.O-~c7֌Ķi>g EhNc{UUJ^;,3R!rPB-(Q(Q0x>~L6/`sjfdlj 9䆚˝TIԽ}ϝ@|KB-'iFamj"iiu].iFD.j4>*Ar9IYv *_iK`cl:H3";9m)vP4#!yk$~fb:P:`E^ݷ鹋h>`UEvsiJew{]I萬 *bXxg^Jūqoa͈JQ ]u&l9` zU->(7/ܬEnV(f% +Yvܬ5 EmsD(z0IAfY4xfx}7/GMXm)7 @fUg9MF‰# c|dgx7-^wAm,D[yj)ZK 7,܄CRZFyNYˎbz'ue$uyJ=(C >7%|d{,Ղ=^Z + !:OF Y&{}/KAq$tMZ)SY࿉.JtKlq꼤Ϗ)osr+{7d/@˱8 rGD\[.'<>MXKgs +b+ l=|~ƲCCCLA Ixz^.KdY\iux?񣹇H4Xm]@oh'˹}uWm{bKDBC^n$" n0^G= 9+<_ފS7iqecv)\زClfZ/]}ݷPɛ4wy2j:'[q\c۶g7Ֆۑи.8[)$A9Pz+ɶq{S EfS˚rl\FR汖Τ'N4)F`b yA$l[Yǚp$o4IQ3ֱopQ$&GJA25Iu}w̡~+t3jKݞDٮ˜8apƑdf C$ۧhG>p.bv<_$z!l>AW?4%y%%e Ew #–r{ 7۴'뽐eȫס A%#~ʩsAYXP_xDF/h"h\ʣQMZՈc`pl=XS #AKkN#[ZHdu,5G$o}o z772i/Dů!F?dmNҹUۑd3Bb!kHG9m.; o>s|.Om;>|q=cuGeOUI^(X5_yU=3&>Jai|rn-")GpO[jPp{k$޵Mi:l=&mVG; zۑn/]3Hh|e6 "7C5c!$E/V= ʽ' &_/@cqWH ? j-uHdW鰡,== ?]̓0GҨ{zY!Ļ7Ejx<jSb{=y̹}gp {@l#0HZD|& W.._M~G;Z\m!݅B8͔{}R>D%|RpTM D(۬Lr! #^QXB] +!z8:WDzXGl_&2 uq_zS>.? +WX~|ƶYsc>A J^hTUo 9aQQ,]/؇fΈI*!;$$PcmŃ>m:zmG +$.uaU)y8p@ R݄IGOw\W{)ڡ%V~qd9?S~NZHĒۏs"N=9F߈Aw4`DJy{>F;I0ͅp`03ͯxӀzeE$cGЬQAw.m"*hBH ݰ(}?Ԗ#m`5P}n%0{v¶z=mWv]I$8Pw{u{R>7 S^{]&|]|ߜ=n[K=I0+< +Oy3IⴧxyV]Ztn% +;VݣR}F~`^i S&@ Ғm"a=+o/LrW8{UZ8MVAw4/ y{%[9j>%y/(-цGHѾyZT/:+F=@DUQviEfy!b}h= +ؙLF_P,OƊDE'y=2'歈ǰw(@ތku72 y_i{6*y +HBdވ(_[_̟۫rrE3B0o`́{L`Zr0o%:B.pE, 'ɼ&٦z nLޣ)~%!S)қ|4ScɎW)lzIf']z%b>_bʢD,( +1niB\|+!4aD/JC.7|͗{ڕtia[v5{+QZt`o% +[6(; +sr/)6J]x{aBHI[,4XϤ/g|jK ;ZwvBm }fs/禨wTrm͘_*PJ򲤑zFCR"FjI60LSYx؛I[!69-ދTQ4qNƅRz Ɋd6/EMNiŶx$Nz IBtRo4'oz!vJP!qBw3i޳a5i-Dz MRtRo![v"m<-pVAy$RD V͇iu=d 93OS:lzRwּ$@+4m +?44Tm r~aޖ&J%7Q-5-'󎚈f'QwD5w+N[|H6 HίJm +4;-*yG );4m*m5l.[g,j<]gxgγډÂx[JN-D'fǨEѓ6L#GU)km +zQY4]J)mLf-6E;{4MWI AȶE-E'HhT|='5m +JW#`pB>E7ۀYg7zb3`;XwvB>n +&Nh#'[?@F ͼit x]]xs d} S ˭Ә%A͕rg6RdƟ2ުSmP'h3*Gj]9%̈́@ lWn+'3-l}m))n%_1I+y2M2KmWi='ptZܕ;f1%?~i˸'))yNL:}ɾP["Ֆk IBE-E;xm1"@abL:NH+צz-?qAyύlW,{:? +/QH,Ay(-U³7mUa%?v%1 _nvN1;߮xe|_nAlbXWhە45Ւ4mIffPɷiܻ7oezJE(MJPS"ܕX0?^pۧ2WGϕ46/wE+& e섛\$[#J##1p [N͊{9(Z^Tn{sYwf7lyp2ntXG ۡ@m%}H:pltDm3;kv>QrǤ4Rε5E/D"x#s0X`VYn Ɖ+`B&T _a'▢qBB["▢&]Ns$PMBm OJQe6Pbvw0Vx:ouZ9btaXINsɟɚq@^S,|67g,n(UfȝGi_ь%*̒{pkl3Q!=i;L9NaaUv=@uDCGJXfSo8P&A Niw2>ӝNț.ZMx_lV"W5 ^Vo|aR4(-<Oɼ}}=㢠S*G;ʥMzǾIzX=Vd erVy [ Q~W܉DjH<73ezd=B@i4>Oع妦trovOqP$, +J5HC ·ߡ}N\+Piqlj4>~aϣ-I;%]$(T>Tkď#;R3*lz@_7r{Rx_7$4hZ>]MMzǹ)bڤasEoeb~s7MlgHIh^Ma/aCЩ{P؍uJtߗ;(Yhfrfw$E sFϜNu+#{Cs.6"|24x3[z#0bJek\;>b:wIԴøtG5/̗VfyOGw{%@'w^j%oE>L; +oZYu9t[,Z/L?Εv>!(ZlӅe޺[ן/K-R6 T׻# mcB1 8x=xꈂ m[tdM2&GmS+j̺f]ޤǶBNUtrƊsz!3Tϝy(*eRA`lm3);]VYk'2+3x%s +m_ k'kS S$FI5)-%6Զ%ѵCx\ r\QQs:YN?ql"88! bHOѐ|B: 34^8sNYRފMkPaF"،g\٧h͖ŵy= @#C9T_hEcJ 9BmKFUz xѐ9\K4v[n,$=s9lS`8~ fnl$QoL8*Ѭ c,O:ܛ@*B_b89!~ds9lm`30yb{мLByLL9Mj̤OP[5iߝܝˆf?JWyV.tBp"/O,$;^H/6tZnix +QWsK<ϳn'^&ŅKI15f~=tJec[m읢$_f g*6Sė`ؚUǕSOjS Ŕ8ApX'^~S!"}r+(r_N↓;VC: =qrF?p2[!;;N#;1_?q'>F4yO̩@GA&dddZMʚ4,c]rǍu O{_=+'1|m`%Q|D |U;gv-KOej >)Oɀ%s;q[ yT ՜S<ֽH|GFMAk],(4&ƒ]jgɡdɁȱ@srQB_!K;GNI +)_."OCNYQ``nvG&X&`ΑeF}[C[i=5jBЩ< |6IVr~Rfe[RyV5?]Pr(9YN޿S 81 AF@}bdF%zf憑gJo SqbPtb@0rًhNie9+: %e x,gFR ~[KFO81Mm8 m`/!6  +852Jn& ğq<=w32Dc+ n8!uv09UZɵ3d,d|"tS +htn?~PvÇ vvFc"(9bTdh?58j}BbX UxK坚UZ"}clF j7`@9yꉕ8yp0S:[#VL#N \(JO!#ʥM͎iR˘3S_N~KW'6s΢Dd}Q/[Y/^ei!=^K<5a2z2/E`׾ ɗhI|փe`2̈́ɔȐ~e/d-*m&|8Bo#,z_f@/)MTAT[9q9xv̚rި^V<)ANӌvLsFW6'@̌qYUp)W &1Ѕ]i{_]ӗ ZjB*t K#@}s9rCű|ٽO8׃ " BfeB0Sq81<7̤Ҵ.:3ON`40{QCIAiNqI|O$ǒ\gd%R .ܢCdl8HN-™$87FA:<3zs3tۮ/*JZ&Z~=Dr+gi0SXZ͵f$cU ¦Hmjβ>3DrZߴ6OŒ,nIKf$Dw^T!S>fNJ/3ohGy{5f#ZZ 8^ + +&bJIa5;a Ii#|CyM2oJxŒfdqpf$V+%V999aD0GbzDe4K}0,xAR`6kr7Ai'V 3":ɜx!I:8Ð42[4yzLYj9-lJd{}Hs$r99viaEa p9`&A 3i"B;Czդ`ŗ|: 0ہe%E .+wP)3dki7Չ4)ufBÞB2' ̡0sQVYo`"CapifíC#3S3bwr4$4{3Y0uZ@ dh& *,+7; +u;n71(/L~6JN_4'_Dv63U/"#́#ˑXe\41=ğcerk.j_Ÿlv!f&"W>0Q%?}~'aUoZODk=esw%hjeLRdE3H(EwT &jA\r M.θFX{GyN/{ѝ4ǜxAȫ}mOeR +2Ui2C)^,e+ |"t?2Ws7/pY͍KE@*AV@z+]0#r[-mfQE}J9998<`E;`4EҴ5|T[]c&B8FGvm'֗5 ?'v0ƀ͜pq$ћ8ƏܸFN `˺XF|/ c8&Zf1֌+Iߨi4Ӕ;j'D>Qa,fb FYoA#ˌ )2.+( cX+<މ'L#E:DO+5 =h#QJ&w(a/8\IMDBRue{snM tڢD`0ƛ?mҐ:$Q&,k @8S~cd4M*<)tk8{jxB%.n @S +ַ݉a-#2^5uQޘO%5}c Cg9aPeCӞz2-//@k\yDOez5ѢJ[5 wNYJ jJCc("ѧ[I5~`|k"l #v=UMiP=-'Y0t|ІysoYSo8e>EV]DQQ%qH/FgKK"t̲ye1ٯ!y,g{͙RA&`COS'rK%VWy:O$x|sd\W5yY)=Q~|K6†\IT$N[8np$Nr-H}?O}lli(/"m|=k*}Xh3(޴athңAP)>^MP\ lw"2BvH&)xs0M3zƾG$*ʤ58B3>tS(](*Y8[O?vѨsg Ɇ$}lP5W0.>Ŝt\&*Ag†L #`MP^*|mHL$[<٥ia[$J>2HE4$%2Yv Q#afɋ~}x}*E '_SGc5|MzA=~NOs|̝{%JxG=3q~6+)G2Iww[kD(ӔBmы:u\^:bS=t $RhJO3?BlL-Z{x뜮=V*Tf0L6*?Dzl +hSsD396N|4aoAsYU}otfdg2mK@P ;]xQL*8[tA(j%՜l `]Hh޵ Ӯ?P )̫@I pg,D?EڔPgil$BŠw[m&#IAt{05 ?X0|~] ]PlZF2[崠>I:nkBp!K#mh9#w-Q*=>FY(+oEmQV +: E=h!]4͂3b`aޅݒ&O&־VNc07N0A}=2v.7#:A@26Ն6eNS^C۔2WX#G\3H i@쪾CA!{Q+HKdi]\ țgZ/EG "m.$mӌ6qH,E^ ya7:oiܱ6 lm, ._I 89୼iic|+:Mԙ &)H${e1zǢzG"#ޑAXYK 12Ҵ6k/Sn/?T +m'*e.Z`UEdR +DteJC`0 cg3}a1$DzG"G#ޑQXSHsPh} z`hn:c{[R9 +>~G:goY'˺bνmBl9Fݳ{۹u7w6mUv{{[FoIH#QU{; {#)D;9mgR.7%IFrW_ȿ7&7[t:v~F)=jw ҅S  shFv8 O]-|EFTޖQt4|;H?w$q;9B6 `Qfg7{z|"#߱ߑȁXQh)o+UALPo+t4,%:K4mNf,QV(Ё7Kt+#DZo+ĞBVٷx+e DFBF!1=,IBq,mEI|[ Y|\!RtL K2ﳼ$}ӼL~Cfv[1T@ 7Dݕ E ?7Pmy;FC!H0ںqVs2ɱoY.h1)<ڕc ׺w$8w,෭'wonq4%6mH #ۤ)9$1qЦIlMe ɭ7=]@KmPNNɗX(LWduiVo*L2U]%z"̹83{*TDW?x;#!GU~,_w$r;;9y_ ymR7m;Tl8 ;O(!Qto:Rw?Mr6o$7,2-r mth4L\s}:>e4 + ]m\lBp+>oy7CL~CPWgsb 8w [vа]7濴sjo;f =IiШD=7:ť VWkmfUT踠ӄjoCo/OC0xN<͉[ۏ~⿕3{hйSh[[34=;PKEON<D"Cюf6QX>B&ӦŴbNWށ3 ]T>YGvo1$ܚ# z!Kֹ֟:*D/PZ21hlw)p='Ͼƣok<4{wb+x|{s؛f]>4o K7{Ӭ/yA{wC)CcnIW {ltBoDxeT[>NnoDsX6IV޶9tFoe_۵O-}҃^h.AձDMvÙvS-}JbHtѿMRJëo70ʕvirxQLuw]oL[pO> w( $7h +NfY+f2 ij6#?f}LM ydj<:(* 'rE7z1[tnI"Drt4<[gc1vVܑDK3?3ےP2lKumf _i3t;t;y<Dn6*_އ:? <-+q>2x?ogΓYԱe +;E%ziF }R? 6w/wl'e>LR̾p$9v x;y<Dpqqx2kx|Փqq`yݠ8,;:txW,֎F>1)uQN݌P 2qsdh{pq7*]b{PY䖈mv. 7{7h? qxnu|<D'@J[d=k|n)zuVuE["R# A7Ϛ'VX!ݾN]^ۯ +wSЛa\w%n1~p["c. +Oc5Nr{^s0މvt3ejm0`ۋ<E'Dtt7,;nX`z8r?6݌kӴQ99DNY(\?UhM+ڧp+p"?ItEjnd _[p7{R`bPѕ0Lp}:&,+hqXV?Zȓw9F5"w, i7bbv[\t6P.'D݌%)^3dGݍ1;s`u[ɕce"- ]cJ + I26vԢR i} Iq+!~;;쨛Œ)OEW׆y֗!) QTe16] u7jϦkg[yV$d]WCvi]t&K' A>'3ZfAl"/":ɋNo?x?2`uPI+4yb{բXwT:aX\Yd݁ȳPt@Y;yv+C gJF! +!>C%U AFF/Ɏ)iY3ox΍p$9q_}i$eyP.폰o,ӋP;dHϚ@ 4}NK{#C&0uJbK]Zk]׹)XuV>^yc@H3/]vdOH"D, +Ds%5Dղ7a8FM;dUd=5qlWwshMİ64k5tW[CgM]|hDV #"ܕNSxx2ZQy9e{jv lh=64HI4 8lD)^HUǶQ/sv./+H̒EOIGdsAUMɌQ7XPkibB_/F=x}"!$`dL0e B;JԚO\)Dw%x`}M}sϠdQ>em|F߫ƆʗRҶq)> +M߮ĝL:Tknva#ξ./{4Te}m일Fkj2 PD6#I5#K?/n6m^ʐ]46M2ᰗ5m4AQI%*#1@N.[$ywZ_Sgka}k#,N}ȋ.\@^»{t1A* ) #Ww"A&Q-~˪PzGZ8yU;=КTOS5&}pxE>i;1Jx%q3MiٰH! [?kS>K{^9Dp\wGIȶER͎AWsHݳUo'l'$rL&ۯ|qNgmu<({@Lq|ܭᇀYٳHKX .wзqJ,ɊT"dhNI+U0NVySJF]"+g*@2j#Yy'WP[%qњ8zS'TeLwmj'QW|[19Wqxd_¹p@ы wM۴]sr㥪 2 Ӱ\|E?a`!?T tl3Ĕ3]Gge"*OEI¿jf:Qy|GWF預q^1 +` tъ^}Wks_8S>6 =xAƔ, %W([)cŴD#KEc)K5H{`V4*Md9[5-Ho9^C^*OWhCIGA{zOh/y +M4 Jgş$iK7IP0[I"51)[!G`YyGOK A#|Ky"(Efu|r[$HώyU b^6 tFur/KQ*qrɋA(E4$^Dfkmצ4 (IBIn<7)4URFxN w)j +8?3QroĹ!S.a1#eȭ&wMA190SErV쬗Hș!Pz7q5n6fZ]hy3dl'o4İK~{Dr97G7#,EwLjڊ +3n+0 32=ɹ[8!9}pę6I9N +i&vq%2l=$/<-O5-`tqq[mq~_@taN'؜ُ#KY"γ,`bR:kRΜY7e^'sE'sD9"ǜgΡhgEF~yܝ9tb(m;Nc^[P 06Vl9#*Ts2;h4yҷ[N 9 Me$rCS,+wp##cΑ1Hs$r99m9ƃ9D'=s41VM0ǜFM߿{cVJ]'sfE4ɒu-ODη0 3' ̋_ڑ3-`mޫy-O2COٺ 7mӺ3ۼjy ^Wxs499si Jy %߃;]}͛9KZRGfMgǜK5?Y$|L rNx+/zE"$*ר)CDE䋎X:ʖЛ}ԷRPrb@s :3n"/43U;G"ǝΑqHs,ڸ3Lڏ(R.~/aΈ(`B<3}Q6řTڕew?yWQhޗ$vF~Ii9po`/َQ]>q+ そUI'p.3˓I/ݸ/u':/r#-mV͢RG)C `Q ŋ<F[0IBa&vwzG687!bbeԙ/U,{IяL\H}O,[:J;w:3E -*z5ArRHs,ڨ-MEӭڨ=03n + Q4Kv3%tFRb#xqӪk ݹ] +ɋT1kPF/nEp?BjQAY$pȹ糜^!8F׃ " B|bg8jJzB4A]ys :y3; ++|#MM7SL&`9SU%y3BRѺ W}D&M=.iVSJkvhOP[;\8w+X],ܱ1" ^g'޹sngΝͧ +w83gl%AF^o;w.VAEK26JNUɝɝ տ;weJd~;a1xyrg|B53ܙ!D;>hXmhvxQ?Q;#ؐB;xm-楿 HI5x\ɟ؜vagm/X-fykֲe7H'H +r왩bܒ=="ϞcρƳPQj,?_5`ByRg8́iwH gv: +g`34Lߘܴw7]O{oȸKwFI7;RaHqgkPd0pD'$.xn?ȞOpi}թ@<+*NvDB +F%l:,WgDiĴj >~g5Q4o4K{7Ys4)ݯmn B5))iV;m %-{%.aR,;۩#U^$x5kؽOGi^^MA)p0˗@LBHiK#{\p_u;.H0Ǽ˴l%G쬵_:TyރE:[6~hJb_~/%]:;rApi-K3Ԗ^dE,29 @|)2Yz +6Ӑ([q}Qu0KT~L@^ + +U.:nh:Z x$֏bD/)>c{|%uj><Լ =GBh QvWm7z'c j9r/ >9@(/:|0~=p_*(zJv< uHyn#e`I]S/#c5:Z}}P_# kYʈEDNQj}0`ah!&ֿPXwS At@dEN+4H;v'r_g +n;\&BE ?30l78?3Lrƺۇ>/t%YO/w:{po3{|=["a`L-#KNT:؎IhlfBo 6?^|-n=!ΦzmbDv}ڜ|{P]CI6Nm4${qJ<-q_8z?:ĝ nCn8! imtpmd25YM5:)ȹF,[8֫W-Q#̝[ 1<_gh :b0DXnhי);yDT.QmiD4N2.=ߞ6l{\M|;|;y<Do!tUwg؝!G&C"\kVGhY-<0K"㰍w(,I$ÐP;w"=|shfZw^ |Pr"@w;y<E'D'F$;'Ɖ)Q72m0BTJ^P}C #X^cuYILMryJvM}D&O(:$ݖJALwz'DuvJyNkp;Qڴr~'HXbݲi퓩 >v8J-QIBb'GB6HN2#n݉n*/Ʊnm`W8%u{͉Ŭ@2k6H<Dvv"Cλ'̅`n+==i&ֺ)D-5x'y7啸k0ݲ"p6P=+U}=UcɊWF w2ܡ?x; +;Mǎu"'O= +Td'3Cu{F6s;8h<D'&>jQ_[owD"C h4^}:;vn,{^lZ wM7[Ȏݍֳ-gmt 7l(^f`;tEIMՊZ*g:7 ;eӫHc -#i[*B|q sd糴=ɣ(\i6.}hS7?W[^xɿy+; X3c߼;?ӌ=7=qt($̔:~[4/GAl&8,N{Kn=q_*+W6܉vΒMGsL)D<yN4{MCgN)=BJ">/+R[˶OTLwk5@`ۜ_;q@ۭ[;&~, 蝜{n#ɉ\uR7(oLZod\Fk`ZG*6緆 "yU@=oY{i:m Rȣ̎h4+-hro$Xy +߱_E; {oYzVi艹,f|8+]%7V8'FbٸZwTK +yfΓ'3:->eՁ\#4 e#wpr1&67zDi<уA0.R/DZ_z> +)ڰ +RsYmJ4ED{G"#ޱh&%+@aIW +K4oӳ7b{ͶkQG=f67"2?49 "6mWNJfv!Ad|ӔYImV~0[|Y '=P+z'߈0 k3 ˤ?N툐AsNi 6B5q>7qYx o$5ʚſ_XcLRa]ϐ/o,5GH*˲o$ P`g>xaY;EFri:LyiޑޑqHt1$d=bpۿa߃`;9ED|Ǣ |#=L<7nWsoD/7N-_돛co6'FB'bĿ|#¦4id?2&{֢ +mjl/}ro)4+}p(H|S23> +ܸ%/R]W"6K;Iz_Pl >)<zۃئGmAoǸ+'J~6*cߴ_qWSë#;zKT(Syf[S%QiCoI(|d_ Gf~j=X>wXNIE$[3GCo:G[\43.kޒHq@o8 bϗ'}+} 6$֬[HڛR4kY2'SޭD2}m$x5#I`a/噷Ǽ;S/@QW y`2 Ky3( /;yN4y{MCd%l4U*XYMw̟NO&}' M^Ҭxh?q;08?3Mr&98K{ q,9a)7B9u2ܼsERUoB,.n].ic BE쌥Dmq SS4BϹN$=DcʌZ1X<ы<$/%rFGL/)5G$W|i:$n B}y?{Gdhy$NpHgVvD(){fo{=L 8%uhb Po*')R qV ~df2"_VXǚd@GǮ"ꑂtYgh5vJ o8eA'je+eg=>cbZ +'3Am[矢ieXqJbc5 EP9iݨ|X9z*=^vpmI>@[-T:$wtAr/!~˃-RK&cݣo ). eǨ`sO +RDxyde{ +Lg'ctYchu/ToN_Xĥ]0euiJ =/ItD6F,Uki*n!) '%i"ik0Ey|s yѦsJ!I;Zy<謴qiFI//YYCWs :۴<}88l3SG'~OnhqVKwU@'=:A;$(Jb xdmIO}TitZ[ I;D>anB%55"Ў,;)vd!BCv8< ԕOc z\pwTEY(t>P 5V )4l3E)`d֜6"!$22;F;c9;OIC'} $a~@2Kߩ/Eg֓$?ZLCUz#z]6Cx2f-X&x/JaD!Sʄzs4#.5"Q4tÙKC궹E'K[fx+L;HJOf83.L" ,Rppk'vHMbyqBZK CV$?[FET0ٌ%[%u9n?ą ]B;z' 7D a7–.Xhd9bhV%{'-j>\/-ӓZVw)hpQ:=[9cIEE=G/A48 їrDQWKwke32\cG] +0SrDO*o٧hNg!dEvKok 5OsŜWq/-=jz*ΆAX1o/dΕh ^pˁ(XCʺLejPB$Fxga(K9Cov$g]Z<:GĪN^3_AYY^%c-%eB˒w5vAYt P3m L5[a曒TYoy_g5ǒ5}Ht摝W⤪ $﬙<BLE:hh'Ym؎Uʸrt\m/}fh +Z`l0d`[ReO:a3ARMOhXf2ѣU?"́Ü9x)9as0'l>d*e#;oL%|}7dmZḾ͡@qs 9,$.!e8#SJ#sY%;L<ᵅոvxLl7[u޽NN}۸U h3v~4 Փ6[i*_Y n Phc@p8́EBh,Juqf!؋ y HY-5j8L f mN'DH y3))Wr]9є1[=:O8ɜGZMs/m 9GCΑ!Hs,:s 9myo}{gDQJ6y8Uo t oOl՛g37'*^՛ȲQ39#"±TZ~B +yl;ݚ|䈳Վk:/==8#ѯ-M_bAgIm[yVTw9;{h%-*OuZFOmm+LX TϣӦQ'qUA(^t4&q{688X!ę1.448̗*Rbޏ28#zt{npfRĪa +pEېLwnp˜,F`9Px6l+/ 8zq7qX-QZ'ohw3%oUu +V(vAUC7&ߨjG(}LR6M ڼnDSzaBnç$:c%E~>s C~x_)"zjr6G5bA.ʨrU +mHzQs :Q;Rz5Ss>Q麑f=#OԜ-VM!bz;j+~˜> +8̇?&㝕nmٮI!D<0 +i%RR|ZІ70ѩC/cͪ+P/h0iМӾ>3SW(ԑðf:B/s{FSٺ&h8^4vNN U}/vou[&:XOi!FMd'j5I|y4BvZXI†eX C^P3Gڏs~#?Qs7Z[zZc'k|ꛮ8O,LR!8[0Y1wL#&s_4 `3̪ajz؏)V8hG;qډ£@Qs :hg=_!k64ϚǵȳPtf/ +Xs(Ys2 -2l찙^PXe6gL镫cD$y%jF_Y"BeTBhM;];Z }ov7ۙNTGU hsp1oNS + +cW/@,~2VS2ZxBI=\ 5*>9۫+ ל'e,%;i捚DfF&1ؽi9QϏG͉%ڹY)V6fIm6̼*>~SrD +Ty^ù.~G~+vrFM/y^P{bdhs-Nigʹg{ k)YN +%62o Jӌ%MOPZj,SwY;cE]h- 9{H5E</ B08'T/~QMgs[;ofܔp>qΛZޝ~Fu(́͡@xs9@4zNQ)l3%PUl⋼_|Y4-4n +^ cU}sfoDsiy7s s|C V<3n8'KJ5iZV M-yɼk9em~YsvDَ =Qɳ##'*ȱ#gIظpt(9/Mb6\aӗhe]m999KB'Yͥv'Ypm==r.H'fJCΒPZJD/#g>}oռ@s&]jQӠpm)+tGD/m=:z* ԭ +6W` :aC9x)s FRw]V솝%V浲NvhOCщ΁c@s(ڑh~f_yT"s`ȠB9-; d1:t=mS;KD5G9>LľR§!|5"Fg@q)拮z9{C^≳x57G7;nl [:g~f@rS400wq 6 t %Sk/ylf!z`IzgڵE9O,(N+R6mi)oYE5{CNH3Ց.ӴxF0N4$ I3դ6`@356NԶXuc "nQy8H5ۻkUcVS}~ +|>Q3iPu]ZQj;yʆ£@Qs :oE-'J75̓fkUFe6K2FV#C3Y?c.i]@ɺj~By:=/Θ,Nv=WΘ%=Ug 8"mVMcM?f&Uj%bedk mEv +Vl׾D+2xW ٞ撉KvKuSLs (s `X27_:O;cރnYO}BOH%*oMO@%a|-hXmŧox`̅$>?wˉ ̑f̬][^r쀙)9D,&[高%a_FC, n5k0N_Ў6\GI44'Mn鷏3~% kDʍC'Bh!/VO,t;wBB QQB5?ƪJ Qd0%[|VxբY)ҫ +`_q\$"+t,X{Bܮvzivt`)'k-|ӍӇ{2w|;[ߩI);yжDG%Y&XTyTӭӾϼ JBitck%r$>D/-sg=16`fp<>41M>PÇf 5'j5f*JvortG&LćtP&畆-??eP![7٢u&Ru>?f&GP'X\&rFީt)-J3mzJR -5F]%q^ҕmm\.|5F;]m"y_bZmdö 2k|BKL[2Eq&g6u42iT VsGH"sm\$I㕜]Ԉcy2;:<)LQI!˴;i^b4^"shv#eΤ(M]"/e˵n5;>F/S2pOeCWN5IZ&FiC8\K:9mi14BҲp;ycy2lr;=JH8"<ٓaNG <&_VÕ>4|v -^kkƶ*#CcA7ꋆIhZ;nhMݙZ=[S\6Ӝ!4ۆ.O r$ؚq!daB\8%6^eʖ(hXYOUL)uCbPvqGj#)Kg3w:׋2q+tkW ^qyf1fl q7[)kHǺW=,E#wJږǤ8/#DЭǽ_+8y` )5<$tuh@ E1 Ir e2x9$V>uE|U [-VFėuo)QSzZoJˆ +)<GvY7t?]['vc HJfWˉcyNu V9'?CGǡ ?omڙ)IK[^fW3+z] &G %E7qF3P4Ng*5lδbyHJ,2sp"h&hg&_'1'cϹnrs>m\qeF׮gi9ss3 b;]h%0$\ZAa-~[aepsl;nd۶@}XxH_VUȲ_}s8 / 2pfČIqf>T俟 Lw\@oϿ).3\˯wdpgL'6dj2V*q~gGC@ek-mGܤ:`$, qo5&ɸ?^1y;JNUrs[Hw|xzܤ=#罍817F [ +Tz(|wx(މ}cs~4}6yd2!ZON +mK2'΃]Q_!$5R?/ @tiܩ*8#Ï3U +L20jgs-NI.b~;^96_f"Pt"@w ;yvKrAG|41.Amjڐ4ʫЎ*kRdiY a5U꼒~zZg=&z4\㇂/EvyYy=bܫ9ġ܁c@9w ;;yv awYOLRnub0BT¤g^_`{h +a7[\\-@mi)veŎOh! 'O3M`7]RhODݡh 䚭0~G/y3o6ލG|E;'v-{TDUՒ۹ZHNKv#!Z{hUQO9fSEv& N4}"Cщ f'eJ?eVq1RPbJ!nfKб(άܳ(pM 4D ʛ:nt82O[o 2PFpsva(,XE=)2fƦ?M$U[Ⱥ񷕟'E]5vMejܥe4ÊQq/8l{<'dY'%'*щJ;^oފmT<ߛ }!ي! 7Ö^}srԢD` +O =GD Bݣ} V9%ys?;[Vgm1v6VC͜F8+~Ky-jk ;vY'E'D"Gh֏AK&%-ıS^:2hӬ,b:24r$Ϟ:֋|#*E;1NGp,+=N<ȤwHPâ/`:2p׌LcjGp#g3@x(:x < <Ɠ3ೞ <'&g" +ϴBCI%ɒe? drO FBkѠ(QL>MQpjv 9uEp|C֎pN'5kh<E;) /ʃih/ +`Xz: a;!v.IU8ث9 /+MX1t'>? @ցtKp}<.NUHf"De>2a1>nk]g3@x < xNO[:; .[zLN[̽b#pz}v;uʮd7<@t}X`3YO#|7cڑx"p}F-k9oK"H^]zNNq++G71@x(8KɥQoiJ8۹wH'`&A;?>Xl 3\[CFVRBo뙦uE`+n%[H;I-6 $DwO {DDÍ"[E|~Sey;ghrL.mRgJyMCc3@x(:x :,Mש >\IyYZ#Iinn[Slζh}Sb#(~4-9,ƛKn#S$m/'=\tט,pąsZףnnFz7C@7*QB5m'7=pI+b#bǢ, ?3 %C3[e# Ex$:8z^7K7no\1ߔGyѦ~EGBdJ>I=okSw}XZVd7贰{(n5#D 5K]lQS 'i$:Nd,9 7|#oy_6%ȷ C-^|ۤ)Iw,:w$r;9E5 2 Q $6Jֳ'NzcͶKqhZ`) i/)3? 97 jup廿هtBf8Ƒ ߑȑHw$r;;96 AwYMXG̑oD],E֨CL0 owm Y&kq6,rE9 jG;6E su8ෝ.zvH$:k@#߱hvVJ&5 ~#KwXa}OGxm!1:oYs0S;7<\RDn5bHYϻo$: ef-͆BZ al;;9DG-xfr7oX;]o%Y:+J:{ۃؖGso^׸o/R-`%;ft+oWT+erro2ĠԳv)3Hwg\qo)CIGfv) ){KޑqXqo[MDdf"v}Y3j'i7Anڹ$;ɵ,soXft'/OTUk6s%֤|HaMI*%մSU7tl`j͑D>n}٧a@,*'r?Gao7Ďz/PP(Y[i,y)I?bVwԢhl?A'E'DzOޡށdejO/-!]~ f˧Қ67lAewtxZp)wd 6{oomcp"K +Se!O +5⓺4+V GF '_h؏2OJ5mwd*x,SJRƖU,0IBt?ua|CXM6 T ЮsYIR݊E)q%Iq ?‘dR[$ONm}N/'HEdi"cjN8HCH7ׯX'`-hb2X5h<( __ȤmssN ZCjC8ɜbԾJ;x.򪶈D~|<$<К}xJhu]C}N)+!:FyYjlXED +ݒmrEIXy<yYr?,:Tg!Un+ĝmZ:Th2gUkludfRY|)h$Q?M-u}os̡> !Ӕh-m` hcw[΋E9H-UlcPGJ#Y:XGCuFmi4:h޷2^Cīi%` dXj]NJoEÀG(*{"j,':?o%Jv 6,ˇ`^tQ֧GeW:P"|k_D)be;NVQxl%ߚADRIB\eA7jO+>,mԙcyd6@봀f#h}MBO?jIn]e$!]sgO#9I +}DnG9nmKoȿ"M4r<ӓ3q_0~/qS5nUhm+v?N]EmM4FgioR@dgwVTJطBdR.X:7=iM\c4?mbXG2]4,A1ɒܲh\LJ29:t]{ +2=ܻdnnƩ~sk.PQhVնVuvf9mMvwy +O\E]!F/to]JW7ԓa\0 ^j@U\"LU[N>eh33V:XaH33.p`Ԕ } Y5Ys3"PfGQ3}ڋ8d#֫\D3~t*[jr=}=FiXcu)$l[wea -8Zx\/PP۝oEVٸdKM>BT%ܡ5!4@ﳕy'&+ZpO,_:Ϝ0(:;?ys;c=<# [E_|pG'.p8F"T/&gȵYO#ɛfqK'੒$ yKXV;83`I-gvF|iFrCuop4籎q۳\VyWmMH8`7RkΖ'V!c䜓A]uZ\3B|HLrWyFFL${ +-XZ2GW$qG`$:a9z'9?)0V̾aA dEEs;;N @>;r(:r p99h<^E;ErR5YR|㟰ߝȭƨ3CˁaSZ΂뗟)hkg!8Q7+Umz9FFQHr@s 9y>stream + ["8SNi6:^Nޜ흣;p BB?Qf|{#w|X/{Pr@s :3MڟRwƛHxs 99oEo6T]6ތj?vܜi^)Jn'lF@AyqBb$ȩ_Nm@2P!M|Ak$6[.HnJ;nisx!DZ߷3mU)?7#.uN) +[W<}J@cD祁ޤ\=cd<)W!UL`M ŋ<FNff{D91mfl4YeZ/h3#) !f$Cs>Wmsf&(ﭕfو +a+Ad0&(ո&9X/'l$6Ǣ 6ےҼYIIfX;9u]^6#*2vA+gHH⡖91msL^y!DHyv?vx)M^mc.X^^5&#"lQ%"&5/#ظ77Že/1 + knL8#џKgZTW 999eªT@{XwA;0SKSa_|s^오|mYD9DFט9ԕm#/.\Ҹx./"nd,rM{&J +;=߼cw4ej|g2g0V LLve2e)m-A+Z,gVAԡ5ht̒9H)"!$.vɋ.Mk1e s:ڔ<N @S.O`y䢪< & ;*wO4MMl7:{".H_< U 6n<$FO FN:)Oep(pdh&(RY"mvoxAڝQ.,OM yv1aT@U`- +pO 9>C#Nj#^>{? vH )}3tb[i3NIᾃN"9@z^ 4LgX_'9SI'.G4' [X+00{l2/l9?AHe/JhgZ Tbl2Ӛ]!5͈X/u+*ry{^ ^El{@bi.14oN5m|#oѹH;Uh!K>UD.lN*r9-J,!yw"Jw +#X-@}@D.4J\rI.-ocG4EiS:g\ďj4"̀K4ZU." } iˣ8mvR2o4wYEeurn=bfN&%?BklN)Or۬!VT~y؀!;²,kjq*r W?E2.f3اb rFҊ67[ZaT/<vGCeZGMʯk\Ka$Pc76#{ 7-YGF ߖ@gʽ$wȁ% 8BlbEĥr~Ҋ k8u -b%yH -Aӯh]D@F"ؾtk;Ec!z_[-%Vׯ}!Jq'jQunt)kD{D@YS +4vE':iE&]|:4,"EX 9K +S"v{iTqIR;n#B4 M +-1 *JʤJbhKo5AVWB҂n-C΃ [>{[Nx*8|-iޖDO0(d{[K'K=֯f|rXrpﯢ; 2Z5 7m ޖ53qo4jbf{ۇ!Snnd2 N-px#cDǎi.wpzY7$_e0R4r09`O[%RFZtzrnXt[|oByFc#ߑȁHw,ڸeUK<-D]^>$D"n 5B:׭g6`l|[&Q:[&QKZ4DR5!ĬϞY~lfi-i|HrHtHw$r;9AwQMYGS̡o9Vt,#Bfߖs~Y3 ܖYdvl$E{^l2I(t/XoKx?)3x=sE+vX~o"$2:w$:w9зIR-;q~o$hGߖ.>Ӯ7"oJl'FBɴG'?u$eD|e4зqS|{fYo %DߑDߑơHt0YÜ64><#ߑXtHw,,D|b <b xH *1i)a)Zh^ݜ-D{A`w{iVO+s~zνT#xFؓ"219878LHۑ?-BO#c`dd3XY+N17k+>p470"Vwnm30QdQ^\A:)ԧ(2d>)ftO +N?8*DWXCɉ6NnE݉Gݘ^#pkADV^M{;CQSdG| m!4 JamniTFt\ AoH)*…-(!1t"p3T+oF +щ8)@~l#NlօWjnj[ӉCщG#@x(oH(= +p'4Rb-{x7j{,[!T˞ѵ.NfД"ֽ!S⡎d rΰ;1׷ R\;.p-'ǿok<4'}w#x|}SD_o)}gFk__xf8 &7Ǖ^ -]; %'NW5;mmyhu%mnX:TZYN⨷S̛3Չ^~cލ6ףٱ?7=[3*5f˸9%-!i ?~'qRFq!7ȊK'X6ycw9H4yyZtzM3_dm`n x5xGw{ݑfݴ£L촛kIn2e5RˊG hDVӫԜ&r7|4Ur~niS*O@N;Ȕ=>QD}N F V"m`) 3^ܳ{օ<6RV7SyZ wD7Y^݉@tn{A+,vUY=˻xm#3.+qEqfr;L'٘զحM9;Rsa$vrZ5ʯn& HOI-#:@ǜͺzq;xvzǨjivKsiq{k'떨 +,hm$23vҭ&/qO/`< P~E{6~oLjjYcO#[;9в@,(/:|0 ~|)(]Lvj:$ϓWsӊes"Cщ܁an 0w(l':lP8*')B;Wms`3&E4i7qx7Hq2 m$C2K |ݓ'V!Ԉ̏zY*ru3F"C2`m)VĎ%)\KVq"n^HmyP8͎!^ (w(9)7FI%BQ)7JjrWDUݻj73hߐckĨO9Y-؅y,>I87z2/iF3  DIƝ/;#aDkԢ{v- H\9Up3rP,$ܡ$܁@ w ;R +>@+y\b)U̦[;giv"Ig$N[;k*nR{|J%q#ȖnBٗ$'Dqϸ܁SPtb@tr`O| Ϲzrn?3N<L0PIt`1Y;ĚkFH91w5BG[an39n1w&5h}npBqOټ lO9ֈmUP:Iw r;Мێe (dͲvnV>EEq6m+CH?7.:ӳsm.V-TɄQ^u݅йn [{qn`%\T:#o‘n/kN"+Qj@?XuDt"Cɺݡhݕ ׾rUwڍͮ138hw$h>Qi-(~=>]3Ws{-N|7~:-EE4 +j/ٛZ--Tm*ӒHK|GZ2&dl +Akyv:jIzdLxR>>F7-x%l> !ԫ%1ȍzk4J(ڢݴYکRIK_?Ӏb)k\,ZXRwSt^y NmT,EZ3loQ 7QcmQqIE~{]uPҊv~YSmO]%KYxYo|7~AYpoٝzsʴw˜4Cttھh9%d q6̠;:(׬sFe<8(Aqc\(^%=G[U;~Q46}͢E"sPй~%mˉ(ZU@e:u􉙕N`%!N X_U"u̵/q "h>.6;%sqLK1=t;52FJ/ljT<ʙD >8y7#S/vmXɴ=+rsNFul hdFSf$[sŗ#ypǂ.32P^. 4u >^u'46s(Ols&a3G<(yh9`zʗk۽jzLJ ;{:cv|ݻŭz4D<_Ј;4({8MҸ(ds0AejT6Lgc BR#(zL`w{N[2̕ȳؖuL6IҦ<7ӿ4>і&'ƥ7n:9OmcjחB*rs2S5Y8VNiVuPSlꛀ6jn+VYڜ ƒoz.BV0FOe`b +yx +$h-wTЫv=Lzr{ӼOJ*6W7cYKԝJQ~s*0<8ELw8s6 F |m9.5|~-)w-֥Wxk8K"r''*Fw7C4_?;& Qj\XZ׳4ԥ5Os `g7xgqɔ\.݈猠,%K&Z[ +Z&*͸rOڕ J9K;& MIdHE</ B08Dv8cfvKB2CYnԽ.cab?1fT]);E˴{+h|hWگ]y6MF4.fCD4h24X_EYz%Ѱ +N̈Cm}@-Fq7hG̻`}mHs0Mu&2ʎdšƀgRqIV9\n|#bo&3J[k&򳴅>v!գSfyYٖJl-থv :ȥ)r-sgGd!4~M2wvL^uiw۹ gz.As/t#C\97lv5[r-K#神i7Lƅ8v, 22,܏w3P3/k|M,-g͙TJ$e=YI •y?u8`K0 + D)SJ#ɻ3Oknp#aLa+!Hsfk梇vh^>㎖-TÎl-s,tcWhYqedSHX+wd>\w\N+QSr'hCD]|VN!oTɜK^rf*\WQ$^PeV N2Y9`!d"L{85k)[TbdF^#3 8=t$b ,9w{qTB38wp y0'~lN -9'$KE 22ImێW}Kp?!R))"Cʁ#P#O+IUƦ61(N_+;jɀHf:kEz1*$"^m'){k)8$z+gc-7i 3T̾߱YT' +:jPӳLa@Cщʁȃ@r(ɧup >OKI\ӉaT=q.\'6:3m{EiG#^L-@Vmw,MLwVk=w>y|Hr@rx9y<`E'a"(:FWuM dž }w˴%Z ogjO/;0 +"7,vgaZ/0qM7ic̒.֗oyPpӗ1fkѣYҡ3f=șr NhNl=4%fƄӓ_.~afl;Uןϳ5㉇tސ3#"5-zd̓ZU̕yUk<$h3SaUj?NXzy:W̉"͡hͬ)-0:F츙vT7̀72qjqq3m+`ɬOFE*v+^gPrCW6k.%a2%V2}ƞZFksώ6{_Q^sIN_ȣ`\Nc#Lx2Yy60dΜH  a3JҺ΂ml66"́PPk ðU&ɗ$BO,+LA[w;޵mEAF8K`3* +`MmJQuF/ckv9956sP `$T#t}ߠ6cu1}-%hjרQ(2 +%YG㍔;Y #Øb\5HdˑRs=흠;k:m/ +Q'kAM=Y__7k +Ϛǵd͒ȓyjk?CvPs$r99B@7E)*d&7@^xAȘ >~"L6lo(@@3I-_cbLYݞu?4Jyxf>gfVHgF18 ^;a6Aݫ7̈(Pj3+́sXqf[S4}xh783ϫB.KrpfDE/Wƙ/6lC܀؆O-)V}h̟ 8a N^x%/bӼ7!OGb8Hw^jSx]K<Kʋ00.̿Tż!>YF&yC +; LsAn٦=lD6Ǣ6G"# #ͱhHtDk)][=b.BDy*9<޵@[6"bAhCq9٬ +,ipqHrL<L)':X},N}uG4ϵ6N@#v r/X"BLCOBMsx`CIc 0-MDR?/r4veuݚȽ 1y}n*|^KP>7uYイƖ 6cu.L2iɔS=ta7HscO۷;"Y:Dߧehkb=*.CP&ĘӋͽ3ϿY.-;5prQE.'vX%\a?st?E%dԘNn4w0ff(n i!jsCciqӄ;FVPCY1:?1Ld +-V/%Vj`κ,P:>N@`=k֞Sp3!!JJE$,-қCg'{_D4ʍ IJy~s4Ԟa esn贂\ѿ3?9F(!/|ĘD‹@.GTu[)YǛGw(,L{r!MR%Q6ڟ9gMސq$>տ"腢W`E~lЖ0WET('9WjB}Q7aS-'eRܻ*"5PSV0&}d۝ψFp;ΏJQtDS#QZrxB + ) ܾ*LzbZeI*"aBKm0$5xvnr;W U3DjV.m'h40O˽C|p ,G輭%Q[ [2NĽvԫc^w#մ TæipE?dS9椨2JIG<.6V갘$AO1!}6C0/IKv ҥ4ߊ'?SvXXQLT +&>MwdZkE4z4=&ZvC֟x eU6fD s%I:fM{ĚNhȨ &Bk*[?`h -afYoֿErWrõf-7ӰN_Dssż?o oNM45u& ?:D6Z 1rWWp݃+WY>5o)B*-_&d`%JId] vWg,D?e{ʔ<+K[Ys{@"o׍ &zNbFB#mц?lv^bbthM}TtZ?:mdX_JH -HtF˻njA揬J +LK.AvEzHvG_׊t mf|&>|$Ʒh\-0:6vr*3ͭYec!44(@@6z(B,E%c GXxuʹ 9Z-MW$[]H}¬&`Ly /6iġk\r-o\ LPJ*Z7c;rLu{4"#|QFJ|/ XQۡ+IQt2(CjcN +5;99;T^v 9=Cơ ?/@Y:oS' k.DSO`Xp$t4="W`.iU#_ZE& X`Vz_Df5Y?_Eܔ}E@Ǩ8(s۹H[G b8}{x4j]Tif|DVj:nSM5/à p +08 ^8nlF82/:_IhQ\PYOYEw,o?,̋1fYi^O/-4fuбF̉X>|[΄M-_Bȷe-NPsK=!fދo{W\g(cɁ~HtoK-zr }[&K}[3{~< A#nѷ}2' Џڒ`H&Nw';Bx,ϢEeXh5AaӐSן:/& *#8?L#q(Os[y !Wo힙hԘ3{&éٻ }Ǣ}G"Ǿ#cߑȱXYK"4%4Yֆwm&O---bFm?$n\l:1<R'rOKD'U<l7l}lxG"ǿ#ߑHw,誑Ƭ>xp3> *0i!xn@C3-DݚzCn%vNZ~iky1 [  K9j6 Ctnj>)CqU$ΤvEIJ_t\ރ]Er:Icvt0_zWRd/: =̰Ԛ'rf'THqO!ˡ3+_]5moNL=8"Dſο|mbY\ Z& vDzr2Hx,-Lsf6Eiش$BxΕܯ [U3B{ ϊa8 +ERkw9v*I&Q',0"J#= R9.I 6z@\!d͙l/f^,+'oi|{GXÍ#[E![ކ`Aږ-jI6~"  N iDǢGΊܓv/b^[!16pFga^LhRBNs# ӶpOm୼F[Ln#k_ֆgT.ϿvWތX=1:w.mjQ)@tᤶȩ%~V>ːɒ ^ MvlTpz6T4:Qty<7D'jpL/)8E:{aqRpPtcŽv͝[z%;+hӺߧ97hP4am)Y1{%dipK@-ءE9d7N +NCm;8I@I8 +*~tc Ç8 6EQpiS=2M)j@M'S@)x <6$ g[ZԊ^tnOX ޹U=捍իm"p!8hֳ(*xE[N_^Cއqm[ TG )#y![v uFD,E |6Wպ,#h~.ٺDBuwY1&Aa_dl^^ʙsЎw YKH7ލXGU$Kޔ-iF5읝wKh0D>w3X{IzNrY:]5NW݁PnV ['<0j[KrnڡPFnEkY1vح%Lp>DCzw \3EPk$X%oLj'3)9q-@,('rn [ c~_* )]RG1ЎY/r2'9I7 ;4tt"G'݁ȓPt@tRNFwٚҡ\)X>lԾ anH7m'Ќ4}w@t@;MW8%jZ˯q +EIcŖƒ>Ԟf#66ˈS^LjWD3?|÷7-Ie/5yw%y`[eU@Ӛuŀ[,A7ټ0 S{PP?(W(yEp i-JJVzi;ϕcNmCDo^J4\ ތ ū<gJ bވSKrxK| FE}[fP-46̢| M:w%A}\R~o\$xx\R"Pow#d[o1YN%/?μ+/\oD2Op]F:YJ| 7wiCQH>ZO"ZкM~IENv ֔9?C;~|)*|:jSn'ެک 6S!oIDe8yy"Gށ#Pt"@tYIl^kUutT5Mٜ mt#yoVIVq%7Ƒ!xR￶co)ZVWDy'ƇKT +U>#!:#e).Cy2i(݊OcOgh)ZSYO=F,(KF#jZNe W&'#OP*z*@K7jS#C(ˋKR&Do2ԀeM< !Dm0tP/h9dUDm I`_CpeLA>dF~JD|V̼ &3n[wŬ\442qA/{M@ +k߶ɋH7\-MPo?6i76t&SLk77V$,ணw$'srCNY_Tuvrs g4Kx:x[qqק 2M)hzI MKmonfMBB+JOExG$"{v^l!};łEL ?%w+"mП =Rhrs6 DssķH|AiNFpV۟Ӧ^C$XЦkͮg:9H.̨J}af)ܧa%˶Ab i. YdLPFhV$ E*Hi?ንۚli)&{E$4-rv/ֻ)ڞм))lk +Kt~Mrc33~iڕ$lS=$F hYw%}q$aL87x[E.1GO#cL@T:)Cڦv&>i GAvTJu,)miEJS4@) tG =$nH#OG|M'٢ĚzNj"Ak߬!:zIuR2X7%q2iqU|!j™WKYL6|ZT +9z'%YV(<ѕYs2'5V݈gs&Hו-(s"UfҾ\Y{Bt7㥭2w 'n הo"x%p>T4ɣTWڴ:D 쳢I%(ۭBJ<2a4$u~{p"$z2bЉn'E$8RvoT/5ئ8pEV3޿dGOFeo?!vp Clx*Ȕs$Z-Ӝx+H:7ws#,aumc5M{Oϸ% "W?BOM+i;EÁ&{mwhaQLj'JTEK]_,rsSX~ )f9z~@!'s-4ڀӧlˮq-\p#cxy +6u}1rx63žDk*>$+xVo]uNl1-+]X(5%ɗP@bܖX\H꯲*่sZL[>:ga.EmTĹT?5p}gGBizke8W1#E5KE`8Ĺ sC3@}5k!&*K= - 'ࣺEDIn٧?/dFVɲ=w*WNA?SN^V90/cNdQnXvaʱWdʹn};~0ͺDk;X +zihQ;7SeNܶ-YNhB?ҍDw8j 8F䍸~y*Um*+ +~"YQWGqG" F|^1"8;B8;B8;B82/qv,qvnKٰٙ9;kEȹ@4‡x)x$;Ĺ`ExCrT8 <9X-9 FҦ o&RϽڍ9#Ȟa +|#d+t#gD ‹t 9WH%}c߅s#g<ڢg97Y7r}U +()Hq[2K5}y+ gLDzH zds ;c_,rtK76IFήȋ!a[|^e4KlՕ!!!!]9HDlr.3N)v\98W!95r)⽈}p˜mW7c4J}dssl\2qb k7-tP2K1p q#8q_ 4x<Lj(^tQyWc`Dn+"q.OT1n!Y~sď n΍AےS$$Nti3O*b+bi#di#di#dh+fGfWv_̅ΜY/&vV H?8bNZ77SDf|⃛b"^ݯ|ftlP.L:(랅7H+q6iܪݴYS8Gi^/mv,mvnL"|MЮ^g|fewܴ# Y Wisc~eYh;{2%>pDO>gt>B*M\6L܉Vn͍?mvE^Yl d;#h/qWnv,nv,nv,nv,nvn,"=ӣd.^2_8.ăb i0nԐ lyZ.NL5[If/nn.Ծ͔,M 8u 2̏ ԂT0B7pVg9yqCxGq;{U&lU3.cJJuag"_j +TCyz;R9$ +QۗVċEBp֗Gg+TVXc̝xgFkVlΕ)KPe[7qzO-υKeCH7MkX,",Z\$\ęu%ys<Ĺ`Tw rgW%ΎC*/,"g!sA:/ri-2 a͜epdۀı<ׅEf%i5h{I.A!M:yN%d*ySn1n37ǭ&UveGQFFf棼538F!6HNF(٩]'Z)A>o*D?΃r +z+sQAsF_p#/x3.&7xDxs;Bgkxy +6>9vt<3cOL&"YysjG2Ċ&@ ep`O.J!u 3Zj` ;kH ؙvQgai9ORMK +}RgW"R8򨌸 C)G^ԭ^KT#tSA3nшo<"7ufdĀ +}%襙^.fzwyYYY{uHLB9Vb޹C-+%RN/+✂sڗ1'(d7cc ;̰+5p+ga ԙMը'κ**xّz#d#d#"Q +FD`8`}V"峨aδn>g3VGe@N~NWs5$$;i=侌%tΛ ^x>u@XѢP"oClE,uv,uv,uv uve^Y +;;a3/vvƋ5fsQګV3VF~bgzAf*GT&/v +C)%SfΨB7)~] jZ;۔v+4bgGbgW@yF8v`Hʹ:[ )(x's:8C`n5@",OU>1?ex3a%RH*8$5q3gOEVg#cжN`/UUpv,pv,pv,pv,pvn,""s8Ad}_"/p֦LAY秶 cDvoPQ[`Ea9S3=c0R7o&~ڌh&j%yݴ~r'Qj8GT0 x}ŎVh9]LD/>@YISҕDJ+Ѓy(m޸YDp734T%r mfxQZQ~fH }F!+yQù`N[OM:T=!O˚;P:n0|OlA͞KJ<"ߠY^TM+͸i@3{"B3m&2DRJv)n\ZZ-z. 3^I?L1܄64LьuϭJoH8{WݾqG9v İN!ǁhgf!za0R85Q +z8+s3P-Rz$ J6YTX֏CvUt1Dư+S|=&(cg=3F|0d#uj3 +SREYGlD9tKƛLv(-:RBE:tmPԷU pFSDߨusu7F]2\j{VB"^D\"遦iV.hۦm^$wNgA2-w\"bCLWFl ",#ΝIZNY$LL},#լQ& +79 C-)YYI݊zZʾa]<$۬R{PN/Ў 82'm-@ ep@()hYk~4Zђd󭳭I1!.85^HݝbBw6B;);vZG.9aZ>5+6G~ %%gzcy9?-`rscO)T9ZlFV[G3? r_cC(M +h(G6g&#CDieIpo2O"aؖhnzk&cEỲ8y^nGq<~Y=UPԡkH]Ҡ@V5}>M}Vm䴓O0B%pQ}1T"V};ƞ5U%s.֓7^xXs>I;Q%i0=C$kNy!~6zL V V2:-sLce1"@;>C/"4J/W +&Vs$z +z LlFu%urhZ[Qi; MTbqEjY jr+RSlI7Hc,E7ƾUS*(@J7|BKVݽoFō75J< VR٤QZ?:ȾV +y1$L[Әpm]F63_[e-JSv#bdqVo"v(17(|D a]pE0@jty[jЇւP \[i_RČےk+a +S944uDߖJh:;hK"gh=BÇ&`!FSQYsw9:މ6'3f>]$E犃U$nrIb pw-N4+\4Y=RWdPvki#7 T5 0p :/E>clX N/zT$`C׿RH :OB2G w?Wquvw +n]"ԺmҚKz46S +=4ʃUIF &l;OZ6w[ŎGlA0' '< yA_]u(&._UXc|;Aw8 +6/-pRgtxaF3SF8r!+kCҤ^"- ;\6cz/D`t7ak'|DBhQC?"9'='4iLՖmS t,"7#^S^+DOqYdsD=-QMS[/]@8 \ޖ^eQ;T-Y%yS;25i֥A\we3׬p5Oܯzgtefw[СP>D*y1Yz\y&J» YI]/\!.Se0nM69{BSܲ;}ZrGsq;qdܮŸ5@#'ZF2nj[ n"dgpLKhO,~PItːN9&Ⱥ\Ͱ\<{ڐS wjUޓ#UsDg6| y- 3L1Y;IJ_%] &HNJˢ utQV$!C]w;BxB74؇3jal l qLJc  VQxĻQ,ﺼ,Lm;8+Z!D^Y +3/v&ogRmK򲼛tr,QW)DÎ:wߗw2rVZ8 +nW ;[$丑!=Owɜ +|Fm'r K#?w;BwB7ԧQW[ +5bM1j21ݕ ijnC1#{VAVbPI$(yO/L=Qnm |ݕdew4{]w;Bw;B/[hD2vP?]gq+nGn#dq#bq#n-԰*>ɍM`xpwSB#OݒC>H1N%&dMsԀEM4wS܍FQ<w7Z>rUw +5sWHqN\2&9`UM*|ܭethlZ-iXz7ou/CF6^m>n*ycozU(¹}L$z-ۊ'.x%Z-o\?1x"/v^͎EOyo +mt˫8)+HΗحm4Bp~^MFqX%תRrRh'I1IʼnrXű;uKİ^--TU~]e2įfvgC" XC0Z bfȡ)Z`,pJQ +] s;"~$٦+h:f ɶ6ԑlF:ww7x𒑟O!K]l"WvQhU6UsmLˣt)Ic$]}(֭ĿKdyHMu6}ċ{N"${]I/m۰̀mWێێ˿V6jo; El;΂mWێFȂmGĂmGڥYTcH.ئKmA0RS(ۅD$Wxצi%gj[ɴ4VV B/ַd$l`S  N- M* 15q6 1:8/ؖdeW@-"D*^ fijʹ~6e.yme,vE^`-#VƴkmzW\ejplӞglY{`[Dh\2]'Iq ? Cp+#' 2igtux-=V-1m_Dݛ/cVVVDٷ1~ a31"8jx1a7feaz 0#dA+nGnWftU7#Pn( wρa戕mD#ԎJ5 +܆2~k8cm33Ğȋl-pw kݔvִݩȑGgA@׊Hԟ#Ć-ߊgĐ +t-_\'݉JbIM9ÉtywJ1|)V""˥]>,N\({2/HXUvBN1'O~i|bEAKv'DLXx[DSc ^%@92t$żI?tT|ҋP7yH`яwBRqWh,ީj3zb2|5 y 3J1;2ۑpTl +x{ӶC^Ͳʄ S5w;Bw;2wB/v,vn+"CT3$ʉbK"hAcfMWTEDSIgu#2hq-WLvF.0*~"#g)-ao!ī/!D^Y +3/say3%vyY-2~h)QYGɻED>kkהϻ11,F}?N>û%"EzP?[Zcrنw#uI=w 7|)7nGnW"BJD\y}OlHxcq(O x'ʤ<#EQDI;xrhm[z٧N~wG'މB+DTؔ iM]x;Bx;B/dNj1?ungKv%ޮK!K%ގ%ގKeOoT+P}(rɝH ɿp 'P8jϑDߨ܆:frw&= IlFppz;)/1AFf"/e_N̢.<_UD_(F')'ޙlnx#EDL?7YVĺKyJBoh =ʁf1/Mƭ\qaT=EI^-Btd+' A!][Dr"<;6F,sRfX튼zy7{jVrL:<ޝ9GlΉqjԹH9"NnVjPGW/䆤Ό+ ˦lCZP -h|L *i]mi m#,VrU_'.)6RE޶6bmO(_D_|2в> \v wi \ȵM-в2X⾜sTNZp*B|:Ha+4Uh k>br4q~'B#cq'N -Xau%Z:IVK%BV%\d ƔݰT]Ohu2I +uT&AʹZ!q=#6"II63FJ vx_&Ӹ?b)ҌA p936ӎsvcV*Kb\%,X\A" C֌+I08IiK2] |g$U_}UmwR33OB:բO'ZkG, +bX!A+(6|7"db]Z2}Swxi7d zeqE3ϜM j: cMUQl"%>}yN%tk in Jidcac˖Ֆ}{/ȕTVwAw #?i(C4MZ&Fh<>։5ȱ9@ON%l0+پ$Vުr5 ;cn@׍G2xB7S)oWi9/dPʂ8ϲ{ƶUDq1j;F럓2st>k"S녾3'D]̆O#i3Ң#N Ies}ܻyކnM$퍧_%s=7d~֗ H9tgR"]E䚨:p=hnډYEn6y,S灕,:@V6{ }־ 4CݭQ8Ɂ(k5갊\4z߷mjGٷdyv{nh۹mvyEw繮;Q#UfWd"SYp4Mar$w ݗL&6)#9bZ;>f U( NXc~>BO‰h[$T}'O#y΢W%q˟DH,n}$Oº_Ov2WQvO:")pd^(1ݳh}Q*׸Uץ\7ZZ`ډ@[,ZXj\wyJLuOιZ('YϹVLDSU +hHeڎXdDq>*]C{jc>#cEc'D㉊?]04 ꢬѳ[I\1S١ bDdtjI$"[9'Ъ:V1,9.B:,ϣtLiѡ,E } )y@F(YFyd_ +"CG&2bwVɲL];JLFb +HiUEU|9\?ЅSJ<HR!GǷM?z+n)+λN&ر1ŽAv$BxɈAӹlbDS>ϱ[ ie׺9Ov@o\v ڴPI6Gק:I%ԃ$Gܭвec}*$Gv}b#!Vڽ_5*sE }mĽHh Uk/:#!;Ĕ; ɉħlpU%c g'T@ysR;+ɽWtE|pjXbdY7s~>;"kx]=Y3-rBmS݌t/CTHyT/c&P9y3f DQMu1fWe_>+t3fG`){=3湶H!n2fM xq3ITPmcؤyi,Z'6u3)q=~ +1V^@̔j4H/_UO:;:+] [ ˘!˘!˘!˘]1;21B7cvedXL agYLS9eTI]n\0'poN|sQBI~1GU@fQ5Ix!3]roW.5*r.nA@({ ̮̎'dFV^>'dZNlnȌWxF2zks4Wd4\sL̤#(\<&4SLI.l2-dvE^ȼ@ҫ}xO2f/!,dB2;2/dvD,dv,dvnL&j4ǁjh;Cy|QR?ʺ0txWk X% -e\S&y (N _1SЉ)fk'a̔#1NH\h+E̫H$u&eqoOv5(EkP\Xwbe^6WoĜ ]=E"s!ĝU51S1KI1e#}Y솢-c.N_! cfaCBm׼z2L\[2b #b!+tCfK +x3:c^Xm3 }؞1S3N {3E Ttk=?dDO}\' I}Zq%)F]W>@yNaIYnGv|eaɱPn~n{!%XpC/`v^YYY=.:d&,62ҁf<-XN=Ѝti8Gj$m}` +0775}藎ůoCV ˮ/\8a]/wr޽/;B/;B/;B/B_vd,_vnlTXL鋗agYLw/UK>GrL2U?s.'kOک?`F%jȒ;Mu,HƯYx3` eě/k[,r\|3fHq#d+ɗ{Az_AK˿XxZ:Qcڛ/7r^3vXY?qhFXL1.Y^,L5㯍1Wxb_?cfe*2fzir@fc cvD,cvn̎/LBf:D!Bf'rm)H<;d s-R}8AVx Voe|yt= g*BDR[58]Bsay"零2&$̾ ,31Žv*Bpe~6/̎A>/̺*D?q +2ّ +9z(#PS:_f l(7qmw9],M*IAĎ2y153¼K1kۙ̿3D|0*WqNU 6CPt%,D?4}Dd>8cXB3WTݡ` A뛃>9RD\s;MYvܘ̮˙ +}rfW"uq}rfQ5˙-<#tsf8IZ<"7gfhŝL8|CoOۭxL \!miSIGLZZ9\u^979ǹc5'F!N9&93{J4 voм3ŠpfW̎̎̎̎CA;EL +4fQjrR*_"RgB7e3[cȎp0s'?G\B4i侌٥Z_yi GPa+a9#d9#d9#d9+pfGrfW ٙ I}A4^@,1 TgQ,RZx5bX7t7h攃!+odЌ=O VqfQMt%]P +4ޮո 9$+2SW ! ]O,ƙL}^Y$J@_NwܠOVL_&EЅMȍvY: ᇨ, ǤF8K̃M]?.f \i'ߘyK̞ aVY|QZNMZ/,bB1;2/bvD,bv,bvnYߧQ`q-b0H,SF"BMF]]ZEÝ%WCE&IiG=dq sHfڃIkQS9|/HW1z|z=0{ VǢJ{QVtCc%skH挻 Eiӽ)(-(UwK:"pd^;۶To,"Gb2WBO4ŗS$C1ʾLa$Nx7sC9Ϯ"ҹ#(&U]xYVR'(p^Iuҡ&L}eY \-{27Zf7R?Zg0D~E-p{V9OE$5klYƗY*XըDʸF+'7mQDv;Sݹx}QYX$n8.mנlHTbWNVҝwy}}M30CcЃ_/<9SChϑs,Y + n^2ˊCa)Yv^Xl +=dّyg'R-?ҩ9q3Tv'EyZk Epڌ'KFTت,[>1#[kcAZ{ ,)ME:%nL0%a?Y: ] g[ ]IN05Z˃FRD8w9 ;Rz$1F} iM5HCfHD yr茵 ʡTQ yD)HKy5@|MǑwh|)'_F.S223o5#kԣlEȉd @uu,FJٕuPK,2`+"~G*tR:sM~c .zE"q3pdgU{Y"ɤ{ ;:z1D=.!.T^+_iʀ;W_:Үܾ +ZWk/2 1(Fn;)kJj̪*{$d"I]cv*RsD G?EDD!\?W/P3UnQF(Ou:@DA7dtD{[KM6N_S" C vǹ 2Y?9ogE,A65D_'qBU V +z$S(5}TXyZv+.Mh)6S9kGƮŞ2Rpf(h$"GUg%<8qGמȢ=Q!V׉e_hsWlYi^ECP v[^H"x!*K>W,NJkě(_S#rD > +Y]mqLr"GH›0+N8zӎCu+OpZĔD 01W"Ϳ׎;oUvccAL9( n"dujȞ)ZOl!\,]JIQ)qPO!OH~Zt/B.- -AjEhpýp#V Hrc%'[~8 +"#aPp.+>wJU9ᥳc۩\ϗnZX,5i=?jGd -`c, +6.7fpugFf+rPs`Ρ4nexXW8 +K= v$ʜ$[5!j-CU6n݂aᲱ +&P_ +74a]b8\ݎ_>a+tnȢ$Z &GAtúɆ#Cu@~JּP7PhUv? +U% j\Czz,ric=N m*DW4=u)ڠM;utƱ;{:B{ۯr,;:Ұcl;W!H慼 +M`H"q,^i6dCxzB/v,v,v,vn,AŒQU e$Jȏ Q;أ|Ja3i,ݢX^P7Cgw_0(jN,_>4!Jٯcg2Vk9;ĞK!K!K!K!K]|;2/vF%lXKx,&=bT9,fPQm E pCm_LfՖ{:$,{L{ý˽!˽N21ǁlpoGYmY +VWjLb"OޔW +6hqC.r^p3?ȪeWtQTo6ܐnG{;oc)L1oŀiKi:V T#A.½d/v^YYY +j + _.dmeyElqSpUɉ920s* "Omȯ#S)/Ԟv M_ج> 3VaO܎܎܎܎ܮp;ng6,vfxɴ,.jsؕU 'p^`ڋ㭖g_]ȠVhQa];F"B^*4F= /UDqk#XL&lFܜ^oq#d#"nhַewTPw܄3Ov>7T""A$u$ElvEAt#"GHvHg_bdϝE(M\۶+3zAjF9.uqڟQzp[!p;BpB/v,vn­iq!l% \A ܄&?e!܅$WZ8`ZӪ,pӜM-[|PZgb!nc8 ˠnɋH=xnz勯HV:T礏+HwVmD$mCZ Zۑ"NzM翓C;n-"7BE p38UףxeQ7f)Ĵ*\훽p"O˃snNWT8!"BT2p pO7cnzS(i'!܎K]p[SœunI["K*ࢶpݙp}lptgxAGNt0*m|aݎݮ˻!Kü!K]In_l* u9L}5s#BNb1<6}cxe,36־3쉼v{DT:3,#k?*a6ve:\˗45CO|^-3;[ZG _꘰ԧZ}썆 +9ل7vD,*]{:'N"y?f+6mM_bK"Fu/@2<lEvsoc(hJ\֋!}ҋQ7ڌvPULU`9vdTݨ%P! tDYg}`vlaGؘ+vEB8쩬dfa[dQ|B/v,v,v,vn,+"Qnr'ei ٿ@4Mq`3\h}'@* }'Z{Π5fl}kd7 fUB")K9('w=|;B|;B|;B|;B|Bvd^KdX kgY%wpy'k1_ /A }wR2(^)qonkr0cןh|'|EC85#L[UHۀhM)Ǚhǖ9"fBKW9Žv 3`JUB!8z>ro߄I#d+roGro+poGroWƲdr +v٠3xnVUpTvqP,y(X(c޼Cv"/?s*+ti\J pf* gbBlIAa6}fmEsN.t0r8pr}+V a$3[:!ڑȞFs)(bsm 4"iJN:(P.̐ #g%\XK F0CqT\"20fWXQ?]Hƶ WHS@+D*t(,!)( DDh@{I:bRO)'0BlTݏQG>TVKEv鸈j*#À)gJ_20eMUHNhcge2 3ʝFi9rfUSzL?xke]cZt*ƭye-k(Tt@RXBL@u9DɣIܬZlAѣ\)!d&'۩$#4b]"tORf>_HFtòhmc4d5Jt1FK35lwI^Xk1{B4*jTrUVV΀$r*U0Ji6:S2b'WƒT+WChQEҦ]Edn +c8"G WGL0X +!j*Q5PLQbMz# CXiJ֖R>Dy,\SxB/O + WKP[vN(x^7DƐVau,(E+4Xt/Q컳##^E{/TGd;ҷ#%s6^+j5] zFM[E@4DhhuibG[ oI +tz ѷ( 'DpDҥ8hqGVJʊJJڗH\!9 -D$pCxiP \U;Ӱ~ ?)+f9X\ !+IEחh!,IN|:Cy d5į9)5\ݭNHoޖtjNgc:"gK$ *|7S6ڌZ{,z +*ZiM $/B0=dO=mp:hD#[lhSE֋iG?5i9~F1 '\RNZjwM"rjT>!\~#l)#d\v2738C!0LED- ˆmC14,[* {z*_"΍\+s8>QWVHzmdA) NbsEFˑUŠ5w >M#N!ϐ0yV_ITyEo= ^qiB nBqfU$u|,5Xp#cxyL 6Dʘ:vthFbG9K4"/hv,hB4Y':QҺ߁fG]Y     ]yb b%%47m}@3BrPꭑ-cA,Pk#BesCܖ%U ٭"f?̈$3gE뿆c9}₥Iڿ7gF[?ЩMvO1vs@Ptj\_N|@ƑwvDUh׽}iE93yj3bf2733paL^MWțD_ib=fF̕,<03U(s$X.fuŌ̬Py/lc+|bf]^J<ّnJm:lb̈lSd0f>[$yK˘{S uۘcIǝz6tyR?YKf.9"xafwE% V}ץIzQ#2' g7!ۗ1ξ(1vqr`y'`FN~qxfD=q߼˞AVĀe+b'rCeO* Q}wASݒM+Bʌʚת ϋLr<^hC<e-|i&=ĮM,Ç( ۂbJ/E ^ 3"IZ 2KOAv6nLXwP@耋( ɽe C;Bmm))"R?FʎE_>+t#eĎp2I)M:ZLyFĤWGG]HY;e[2AxL@L^'B,4rDWx wTzi ykyq=G9;˘~s1bcUrўh,|/,v˔YW$QbD*;2+B/Yv,[v,]v^IJh*;qNo۠z99H3o{\8ZǡVS8t_ma|y4{И WApD͋-j #lE,]v,]v,]v ]ve^Y +tŗ.;a3/]vK5f2 asd95;LctYQLOl'Ieά1?+m.Ż(7:~2x胠E2dmzqY .}.;B.B7\8j/ðn>29Yfj-)62Q&5tn%.(.2]S!(00Nb y^-留 q2+tBozhF#7\vE^Yl VFe( r#d#d#d#d+te +JR$ž q2~?2d$*gT2!=EA)G_5Y)5&eDS儫9.SZRT=\Nv2ϣoa9qHB|]= 24m)$w#D&;[65ҏf[Z1p/JmYN2U@nq7\֚B _ / uk .'A՚|rp L֌@pP"HY̺OCˉ@fՀk.b+eGl%`v۹P7?23Ĩ08¦7tFy9bsŲ"IR"QĿq֚'m], ;L|!l$oGuqy}iE+pg^&~7UʣV3C];F࡛LؙV)i_F2HSr;Ӂq.5/̲/*`B{5btbg] vvE^=ؙBrxSx%u'~ȋm wS@בlTxbW!ÈGRQ?iwy vng{ޯؓ2U1>0"*Pe0Nj3 gUTBQ +hXЯ2=8vg֚.hk&ʬr_V#ie F;a!r4cQHq~Q-{3QHD zh&,ŤcLrmGnv; !E۞q1B'w4x6lyW[ +tҀ46ȯD/kSI4K/v"AtRJ UhPGNTRZ,sڮ{ihM`xqp;xf)SQ6`(hL׈Wۺw\qF +|(z4,UK<:Rn46wvy7f6>_V%A,&gNwOPBb%M՟S'Um |(V 5{XQȖ]ۈ.x*TiT0{A8e9$yكrcRI gA]bT;$OA!HՇUdH%%gF +6=0^quޣq5"ނ_fw%p!MZ-:nly_K1Kam֑ x(6C"?!ф-O7;YI.o1~23c=&;_;L<Whō#wҺӉؠ¶"ѩBA>Х66r7n~MNfʬUvr=m'%"+UeД[GF)bG4)~|L5.::h/<7{"s~ s~l~f,Өm@%H5Ia.(hS~܀l*c4/cqMI;'SEAjȼI6~IT an۵l zCye, MzQzk33ڔg+b\vJ]ҋ}y+.]Zb +&M\m_=w.8BD(t:mNl *1:#QH)ETl$Ȣ0< +?(! 7~3un{47,  "*qBX\}Ds}ȼmg9HQRHglkRz_of}p)%l3m!+x,KG\BA7[ 6R۠ٳMZg@<=^Bcm!v &מ.Fet)]DVf眆x>uX9bl]FXl3}RoK2ݶMv{U51CY3K> F;df{WIsfﶕjfQ&ud5 ָ;e(s*ܽ"3 -$"*􉻥І=1yBwMX{.whZ̎I4z2mX:X y8cĩC_uƓIY6(h]o+kO 2b./H"J EЩۜ:]|U 6F`R}s$q7[h{6oܽq36Gn!p[ +[E-v DX"$T Ca<&L]N{P"z +}sގXn2y0D+9qtqwL[[E-N.6PqkmnqE-N-"Bw Ȼɻy@lf7}rěKtyq{x'U}"իE{~NM%[1y +xSu %Ҽto(m}B;>\}Y~LtgH>dT'NYiXM4i^`sA +ez5VA4QݼIX2'XdHHn7ٟC1&6#5٥= s椈7 ao4lJEojtg0(1s aD-EN-N7mtnE {C2=5  ̸oeeşh~惴wa1կ0oD @ܮ9t;e/8ny`t7/aoWhgw6:DB +nCthB~3xSʕ:W[t)o;8gʷydz(u)25Τ6ѲڌiB$:Bd6۱Gm١FӞl ey#?;;MJ6m!~,ɶm:ٗfЇQ6=$j޼nlfbͶoFuNLdRdBd*.hJۦz"zۦQ2.Йh6BB qZ,+$=()?|Fqz)bj^FѭШ%AƐxNGϥpr1!"vU:{6'$_aY#̔'6ۭY(SlW(ͺ1ch-dBmKm ȶ^N] l-)i liao8Rߊ\%`솅x@_u:bt]XHh/{m0)embIMe/NN‚(x$-;CAe))D[QT|6eJ; Ŏjq0~$ٛL8Gg5>`B`A#g@nDx)TBޓk#b3P]yE>O8NxD(㽸kI"͂bmz.KW uP7]e1)?С\}U +EB$ fj#6yAMI}Yy70?Ibm%trm%:ȶ +h[ mr=#D^ۯ^M-IU*b(p 2Ԇ^Vsl}3?ۘKC)izib]wmCxƔB2+o+H J( n% ăr[MN8X`r#M@q<脅mfԌ#7_KzvueVq`# +[bܜ\ReEQnDq5g>(7@Sl,1 +[ m۵Qvu]F$3FO]&>-;$MToJWYLjl}ȺYHhQx"]K.u ,N۠Qa% (\0u#D J.gfT^@>S ݾ(Lgޞ~]"VBU#fd!/9[t#BuLK7ttNb} `Ǯ6#M;e4U MD iF!J5~VAB7D.N_͉ GE  +rΓ) :x'FĔr72htktGPZJ(n-QXD.,Dr ӌ%:U) aZ**/}D(,I&P%hFx8_u9bt]X߰ {j~:R1ǥHfgٿ,;xH#{b׳5CY;{.cL[kku@2)G{,?Oe8QSCMеRP0txnwLtvi +^5=oƕ< 5|-/ސf!~ w}DsOy#У_Uj]Q/w5݅bxDaY [4cS LAۣ6~^-zHV8#MϗJ1q1%n*hm q+N3 +MjdS}-ݛ^h ˭\qt,hZL9M}O|UҏX_:7ٌd_hDopZ^Mt=\]d:(/iƥArɖ:;EE)3(t9煸[¡mLg +OMpX=Ġ,mS +@"ʘn/yc 2Mq){avU8_ 1=`4AEB:(wV#Q +ߵsAO'QQ%ղ}ҲGif &j%|d,vqB$\㉘_z\#,w2BQ]_PQ6͘)oCOOΉXU Ŝ|Nv7 ;͈|o:8lwNRK1;j&=MvksqT7ˀUaOZ{d391"G]:e/FWDCzuJyJ';O qCŞT[l;ד&haa'4$6?Kd ]smmqU^'쯔Y̓<97! v/Ov2KOqLϳD8(vGyhCE P"t=mk"o*Pm}L4o+e)Q`Whg\mȞc|8<>ʔ#JO*J%\!@<3|eق S@/ge%B?/[3Ɔf&eS) +EWЂRzcjNݙVc-aMnS!+V22c8Aqg>ciC 7m^یp]څ+ \pگ]BWn-cgt" JB<4'7*JmydcLY;).(-`ӢT_ =$щ* j+p%vvTV'Ji0e-{[k>x~5n B+̀ [$wtSmmEUfgNOc{2YRUQŻ?|"al"#9F)C;-,Hf e=a)F4 @"/I?v!ld*5٤}F} +M=q"cHuYMˁ@fԿ +u7'zЊXg^qp{xWyVlRe>Hno(nm=XҌaKR$ϜM`ŝ@|aS`Q][e~Nv+h9.},L9FT+XJ%a;ܰ{$Md +{1f0[-~!fO8C[=4d3[k}7;B¬E]0k0LdɓI=(X"ں +8gW$U)fOIkg2WF) }hE?[@*}"f Ɯ6q{vY1<( OUgZ˾ ۚD}\v5Eș4h(l33 شG<3HbWO˜k˄ PZ.J5\FBoG{ry="Ō%&|cHP?_c~P@)2 Ǩ19D̻}O̐:Q߻-oJT吩Ѳ9Ѳ +hYȜh٫IA4/oZVU@B(e%se%в +hY mhً1y}JʊXвWc[E&Y|@^iPk}w-{9։Ѵ3RTy, +>zL[W@ yA&L}x.r6HE~odJJ웳?O?sr<[e$ݜl׹ټCe,ɣ _>]Y7P* VSQlCmPGD ,{#J2VS1}h%~I`[ 2e_A躳<2BMڳ0` u_gF}etn7wwu,taN,$V2U%8Mg8T٫E^58Mb^nF \fF}ɣmvpWԔ#`̓2h&i|~3@c,f8H]z'"熊2.7 ^&`8]yNܶ >,i_GRHyLO@Y8909JD"HV";Ft^$ǴK}?6q̆Ʈ^`Ցp-^Io=q`qx Y(x8" c-EqJSog9x0do4A /S}պS^]/RfgLU%HVLmwL P!2 6*cP'C! b2>!*|N׊ Y'DB;DZ, 2E/v +dY'EN@;nolA%A\ 2PZtIug 5Jם9 .;IZ6 3OB  M(!T5xCo;MS"LHhڐ2˺;)lHx +)jk`n?f,N,"KB& ȓЁ;i@Jr)vdk)e#n 4=&GpxNL7R$)_#̐~FG_{% ֿ wQ};(yq2Ɓ_ǻl>h CzL-3kPKb&hI͞[ gŕo#q2O3Onkqppޔ\TO2emHU0u$ )Px Y8(&v7%f+BӸ'HIe(a{Yd>~|'343p䎓U(bBOXm'T^ډM/}'ۚ0dg +Ym8sIHj+_cO"(K(cH\;Q:9VGlB$ۛ k"DД̯e%{ВeNv3 hFeesΤlK<韇SjB<|F6yu!{0,E]eNw]o Mqʈ3% ىNᘃGRTmL;aF(ω P@B&($:99("\7ylP9IE="5!>@ɜ֥w9 +SvHi|X''c@|aPv`A]ZeM1py}B]˅Hc  +_l˂36P7p2sM[ &t,wc]hDkEu6ˮp@ӖH\l+1n9WO,vl"ٛRu>c61ED}s˳2H&XsnuG />TϜ ǽ1: wfZNW y"Tug(LZ=*(!fJm ̮D8~PqlaG8qR5ozΙM$%r[gfiٙ@1,N,"gB3 șЁAmkD}kWV-:#梤.9+,N A Y667$ͅLj,V#&1WGeoVK| N&WRdUpYE,"hB4K4  9EbJO,ɇلUϱ۷$~g.K8\&1,ZS'JPmP) +HSg13ۉLrzMM{SfMeZpN,"hB}D;Hpؑx-Tqf1DINeMīL:;xd +&QHK񠄝=42DL%{S/ͅNHқ}BS>ko (급 PBZ|VxVo!hgUQ(f!sf!AY +P>co)%\\`,h6V&5yqN@e)k%H %VKery +Q];I Ht);$Hs!浪Ne\럤4\J^{ԗ"a>-E*^4gάg'uQ6!&l2t`xy񌤶Snh^8M)DbI9I3/sׅ՝4MwA3#sYzRK9H""ܬ< m͇GzMt诡fV΃RipT/1[=kq,D"hB;hfÐ)UƆ@N}7y&#}j&rAm#@pp;=4Ȗm)c&y_xZ" v6 9v<»QBqȹL b02B,#̓b"[ vl~ffÐfWXm̅0MH}~O,N,f23G!ЁBMפϔYz7Unw̚B*ط#bq99!^J&J*m ̨jJu3GFǚn/nQטLP!Spu~0Ƭ.ʄ??|;n<ޠ_u=´>L)6Tkth駆pUq2.iՍ5Q .S&tDubp,Г[pMXyȾ`6^kBߝ4EvxIwl >rY f ע^pS0=gPoDv >En +`0{w~!=E()FQw>IԀ}!ҽN^(QfYz].vw2 9]?PY5f\h2H1!F!E:% (X[?u +qoPif30BU~9D]Ӄ$*p~=(ƘWg)1hO*mZ隅kobۓmZmi?-_3"y14Q v!o06])AE+\(Mkh։{|X)U]q3oԏovrk?%hfX@0(ovnm}VѤ&b{4Ѻ-Sd7*y)DVz* +LyWeڡO#Gg&"ӬXlSI|0O|8m/B+&?勐˙;[*d'D-'TiX{\5FP.gӜ|11uM6±SF#>Qbx/FQ>ZԨ9x_L} Zzm_o ߏ35~ĘH&}ه4;`J󲖸yIM +c/ߥ‰SS=^dj Z8\BoГSBHB'6gVf9rifoʱsG_"1x]9mE[E2fdEfb\ S{.ћx }9:yc3!2atZ[ƮvZ 2g?vBZ]߄Cʶ )}Ʀ16ܨȈFIvl݃eUYn{tB%77e}9`(&Oqؾ +qfࡑ(ݿ=4u֥ śLjKTGU>Iu6 !kz[m +>yԼ)MW"y.D] A獠 Aдs-&uCv]~?c0uRCNr~61u77WH|Ř%q}FY&s6-6]*pp]&c{NZ?fDaG;Ht.Aue#w6kC3WjBZܳ ,owj7T. \ya7j3D{no18Z}v;Ǹ9!z b`!0gmRg\Gvejrg*nrzoH1Se]FAb_&6ϸJrd?Kq\ .WTpܮي#l\u`n ׇȞ:c(g<עfri/Ҵ#5ӟ}Q.[k BL,:E'[N_ W G'p8ƁęRT4oD.Igp%Cقr6 7ĀdvY6ag`/%4m$j>ۄeo3%(稜usoG Tlœ{7/{s-g?~jB$rB[ +3 +MM[ν*ꨙ5Pg +ިvhWh$=nr[~6 ZgOhtC8݃JQ ΚJŝM5Z`xP" 8>quHԦBmNJqt8X,qÌJIroEnf͓{8Rk/?:[E-"B;!h;N?9D,F^DdyXP3K^Gx\Ml>9U,߆xSJ endstream endobj 24 0 obj <>stream +)D4n8:c+δ>rc%ro![E-"B2'xo1|Y=X'k,o2FWOa1N| c"/H!z Mw3U߭d*/sl;f-D"B{ \-#0_[y|G!PRB(o)oDCLUJ NG^̎)!Lt(yCɓu0+`hG֫5{NfXlI>fx)Hc|!{$b/:7%SWh'STc']p$]FX"F[qaߩY#f8hڦF4\(ƭvdﳢB'mlQHo*RHHRMﳿE׮ttߌ/(+7uqFA-rlj(y#7G#}kn蛕E [4MBcι}ro!po)o6P}1"OGoMڽ–6M 3nmo7o(z[S}:&b g9z3O}p0 CXMN[ _ˢNQ(ŷ !sT]8sWylES}­7u#^u6ճ NWJ`/:ȷ[ +[EB|KR~g8\+Pgj'#6'I};jN X$h E|` +Mh݅V"'k+񿀾gW `)Ļف\tZ.C*^l Sƃ{2Xd"(`RkR7Jj=oNi2YLwyc-MPj䙸~L⤁|Ө5I䛴rkg'qBSd "H@ߔ:;Mr^PA4(%hl9IYT"Q +S)9U{*a" F`Ĺ +f6/<;^ fͮd+@d#^,)9w;De"V2;Ebd2 l_7 P7L{lq|`޴e0vffxd-!IE])믢3~Q>V'2wGLQ&n%s(r8x'sI˓tq2j"龼9tm gcn6uӢaS/oƹ/*`!=PH}y2BnhEy|= f>RɽtRrW6!i6/q-tet HP$B$bo=3WkKt/ #8w[ɜ;Dȭdvj3^g[EA6aޜS5-xc$OoWZ̶&7yɶFaFSp'O-nʲ/^f xv5 ;zRq`qS@1?5Jy-~zxTsd#g/Q3l%_Ioٓ;ZV1v6 [ZDGBo|*ҟfیk~ ny,?!M.J-ƴCn_^ˆ= MwЀ\ Ўvfe=Xj: עEh_q[[쐛- <ǵr1=GM]?yٓ {}6㗕3nF֬ZgElmM3RcZgqyzcVdl fӲ" S=p\gyH2!"S:{6'%_%hC@-gJ0p{1;crwͺS1N-"B'BrG!PRhgԤRm6d;A.diޓ>GK`p,W(O\B@;Z9M&X&ꫂ'Xvaɸ>GvO7:_&d/NNvM2,~Z f]yj\o}[4xS6čȰQmC&(č){B'n?!4of[]pkp#HtDŦͭC!6_'F&P|N<εn +!3lHM7^!¡XMmptFKs4X]\TV HУJm.*ZqpN#Ci: MxS =oh'FDAz_o3.Jaum-tn% +[ ƭ6OrVˈPg8!SնڰL#7ClqVDȍz{d6kƷ1[`!Z~D*9:,\[,V2JJ(n%H +[ ֭vحdڭFj6Vzn6LXE}~ǀ9D܍Dhxyほ}6/DvŸ ݜf{6l獀>h7.7vh%1j_p7*+Ҵ{[ ୄ*^^׺A slوz0?OލhjÍ@s;:ḁ0?6G/ϱeg_L]ֹ݈\n;RO'exqt*1 'Fx§ x [ ޭ8eӄ@ņ ?Vg^B(o%: +[ mEȐht~~RoDPa{h2FލȔc?7"<֟V6e^VQoY@=rMi׷8Fz+SzG"2w6捀s2e޶!ਮiCjMyx<\N=RJKFf{^ }]T_m?WŎDӽºH-DDL:7oC&GaYƼ6E_7Būq޻y3Ĵapoc>Uŗ%XI״(Mm 73[깛J@d5݃XfWzQWe̅$'GZjaiRCG@Wzh6 +^7ϰN4L#ƦQ-~NC0.*@C>kQTLW*7Ʃw $ω5/\Gy4?jPZO eN8sp!iW1=u)'}H 80kk'v{ui?L_!~oc_E%zS*j&z{r9EL}<`9{zNf1ǰzkJsxUYI-M06ȠUyN_)|ͪ]bCd +t"Af怮/Bl}Mnج\²pbT$3uD4#kF')^ӒC̟4xPfQ|z_fxYv4y NWg4_Hzqe48؟a*zgi^{O``H qcmPSs3%m*16'#hF)AE-J\1k?JTPNn. 05:iaW.xہvyb=}Bvr@:ѣ0ի}ڌBSKCq7!P竐}$mP,( zӵ:xgp=l pнa+֊zSkbީ_TbrTpOnss" +4މWHYA d)Y-%N] +@Ma#8'J!LLrO^m\ҵNYWv{bY +YEqB8K8 bb޻NUYrMW:3c*q|FyssM&&ꫂ'Zoax"6ܰ/_^Nj/̍)VzéuLQϳb f%&% +~#E"e1ȹQBeĹe;N);ل2(FlĹ8$R$_>:E +Ǧ7! Gg%%B# Ev ;ډ3@k!s\ȁǫM *e׷qyJ7cr* +V4U&RXLd0CErp]R^B$*A!t*S2J5B8O^i|植%Fmk ۉ3 ; 9:Y,d"qB;5xȘ,TD*W,Nc #o-lM3=Iq<+qn^ܙ9;#]c<87T6. lXYE,"pB8  (YEbJO,I + ~` +(87t;//=ssR=fE@9l{Ҍ"kF}d +1|/NQ)ۑhkyYD,v<(3iή~1NM2TN1ѰsqAW6{7bI6,qK~ 漈<ӃDzm蕻|rg4 ~o<B8xٹ L?kcg%qR(s9d۽z 9*2g!sYE,"sB;sXf` [cw[a-;s5cZ"'s@yzƜMbr\&Ɋ;E(lZ25!1)&IA{llؑsl}~1G׵p6]Ȩc>sӿxy[%pw;}q hΎ}nr &esI~l+8VڔB":B$μ p0ﶬ՝8wzrɞ7qfpbL\l7ʺ&ہy%뜼&;*ltΛMsG +zɛm]%wpXnW9oZ'n{%(aY3Ɏ[vlouN+?f✥qU@kԋ&F&Das7eJ+o u3!vQr;7mGv¶㔩uں"({6Ue) +κxA> #Γ@!C4 7o6{ RaZgeF=P:Q9 + ,"jB'jB')7;[blPJ6 +(˙c6ynI~NѻewDH%se]>*7qpXY'ik3 ͮIK GZfӮN +oܡ$֖\75I݄s6X"ĀBV!Ո)r!<)DodFHnjȳMcܭV8vCÖךZK L״5HwH/Ȼw$ 9Ή7P_DZ]7+>+_0hw6FܰTQ~ yLNg +A>=3×hff&a"qB4/7Y%h DbB5y½rwBpDh\r2`ҔErm,d8`2>fD-lIv qRw@y#O W`m2X3'iĄIALײN. ŋ;רĸѐiYBZb8aTYmM"ē,j~L&+S~_}n%Ytn¡;6}(-rhc!nZR6jVF%OM!Sm}Th9;E{D1schl&oL!3.UgX =p|ӿ{67T5jnE^=ރxZ++{<6ݨ!F)gN7=3 5Wy"KarNx}5 ꨷=I} şP:al\msj q6Q:mbƽ|d`h!z9\^pIyf=ןԬiG²ivjbskHp 9޺'NU_qL*-g[~. Lwla!Ǎ͙x}9,TSL,^vSHt8 DiOTV4LJˆ $Mnc}3SlZ.1aLNQRn2,°s !퀍g-~/J057%˂Wvlcs_}IȘY\r: cnL]96L0aڙG3<3D@=m;n9NH\ڧ~{Y%2-IstR:j&yF) ?%#;Ӈi,3H94zG.Uzr&y2P;M*ǖGl_us|ms]f Ǘ ~Tdqlˆ#@H)Sf–ֹq@W%*lr&ɵ?hPgZg1"dZ:cW}ƃ} +nB AB66TXF_d0J8l*1/XN~_"}i0(nL 4\y;T-P{%n V|LlAobH/Oi3A|N0+D}U0sD6J:_h]9Q(7U(!ne L½ eD/ws7xQ;<x{:WnځZ=( .,ٰ3[ =\Urag}9+0w+AI,q7FvNSsLC!ﶿ8IT7YΉh|Ѽ<}sx'|y^nƾQd\CZ]'B} }W?kgό+FwOg_Nٷv`;ޚlҬUs*DO9%]{J9F,zJ/toMx0e-_7Z;-D2} `M獲?'ط[E-N-"B;nBf^ξyE>fz]}7)pؼw|'\G; ST'hfu~=#`=ߪ[*_t)i6w; u^|D$p8T90\ĞX}_0iޫ%3ND""'"wO aoN{wV|.hnޓsً2N}SNbΧ9wT9 &"ꫂIG'aɹ2/po"Sl]s"NX 1hZыńay"iH;&߄B7˽ls7fʼR?97eEx! z84'"'&qn!trn/n7y|k$O 0s|7dGn }=Mnn ^1^V.>~ 3Ȍ~*Jq " -(w ̔Z*[HD)N_&(Mc8* %:8ef #(h,bBvʽZOr,rKr HPB(Rn)CXb$ +&\Hoctœ9a%~eH8 +=K*R$S7m 9oC-mR~4':13&l>c U"'Br PB(Bn)tBn!tBn1'!rqi".;|U_cj^ONF {jy)Intܜ`gm"W:h`~$&=p|-\17: IOk}[-dNm" 0u7Mެ-li߅Snl *!xe=酭{ \IrR? : 7UC]@ e;OMBYNG+wpSIW+ _Snq騯*rS<~=u[rq-D"B;f\(u Sn:.BWX^7$jQn/PD)7e]31 yښ 7E:V2]J\G'PCHgZh^2}T -1eQDl(t |al"#H)Vl$r浛n-c/K?AYZbv\H-"B'Bz RhH/si᳈ѰO RWr;GJ&P9 2@Q 88ѳ CDN}'0qV)Ⱦ6"]VچHBe)?IRujZ%e-Q׉᷉>A{pt~N +z𥦉L wVEyo)roBB'6b" k̓/\ ~$NZPUѷ$=/v42X빼q@'T2݆:_ђL ңֱ5:08<.c1{B +GЩûHqd7*qc}SƋNW_Dz)\1~'%$~K~ PB(o)YѺnFnǜFf̀{@8vG +U*(6wWّ[BD +ꊑ#Bqt'f4+*2oMMeF4+ ZDN-2~ HPRBbO"o1' bEmB JHߐV-ɲo*8Kړt{* +|GE +&8ęhń(N ֏`DfɾYY|R& B}K} L`QFo)Y*SݷZȎw٠;цGbbzJ]2ڏ磶@;9ѬoQ c#Gܻ$ے##hYw@ReWn?"'8G8_:8no9;ڞs?CJ +>u=`p(n/[Miϡ&$#3oKHMf)ȹ_N.T` .ˏO'C3E? Wg5V+eE(5tذ;g-jr7Ta!8Y]? +#6Q-E})`gcAKUk%f~Qh>MD{EnNқL4Ԛ{U(Q +B%W)v u^V؆~M4d +o|ོ(DK(ͦV!v̖73:v͆wj$YsQ +yɭ)8\6i8ɒb*٪AF7搡q*|˴?R +rKQRGT cpLHhv*(b:/˦ፐMhV[Z[8Jq*eٞn6s&ł \x_M6uϣ ,5Y9 +AɪsOL?dcGWT>PsRcFT53biϵ|^Zdh. qCQ1O.s4:sqB9i" c̕?9uvIkAE * c :LyN~Nj`lV1H"ɣݾ=I< ${j5 4tRs("8MJBx Wd)6T3uԉִ+>~'dS*a#yM.נmc\QaWK5"s4s݉ot7Ui3"]JUNBA5}fuBLn0 K qYCjA)hLzYHDڋ Y27y慗1[6 YE7/i>TpQ](8B g)w֣d~ȐB?X"gQ#Ga亊Fv\"QXҴE=s]2_%1@5VWaŔAͅ^\ +- z.#baeŖ81O(sW Or'W,G圦v->l3E2n`?At י_ #*ݡosA=F;gde3alo*H.A5xK؋I74ɽV JEuS%zuk%z1v'@Fe+$ `1m熱PnW~{|*<2UGsuQ;zsBJBT4gʢoeo$lh)nFg&Xsi4O&;,WJ}0Z)L8s]e +¾KңLU-oܾ >2@c-*Le@.i(F0،{H(dpg6htPʽ,׹% XEr`n ڴ%9nz/ʤ渗Ԃ@NĐ8O)Z8͓.E^Mw^s};KyS; c95UW^zw*YeТL*P +?ʵduz"SY>8V2o}w4xuioYߚ1ªlP~U8Ҡ.v38d**^n%hk}bP_⨔ܮt᭑6[Q $MQb(:Beθ?(slF0S!M +{+ǃ3ʹp>=1fWεZ!WmFf}*Se# ր^l/ ¦e7@tw (.J_AdCogl{[m\~'!bE\>O2ɸɠ/ EfZ{ݤ Fxeu zV9蛜swF,ű)#*AOimp^Xd[UESCm#aUa9BH"1K;VAAYi:,Yl>y^P)ĺsr#g +t˜'rQd!>`B$Q?Eۘ7LْX,mޅ=djdC6 6 6 67jIZ&*O&ј˜s2d'D#)O$?}_ZtsE ޖQ9#|rO%Zn-*%ַ3Џq9tf?o~V׆# gJ؇>RZN_2oEv|sM>|7WBh[M~7ߌ C5?K;ꨑ{bړpxZ&x}iu9jN)b3]1ҵug dQd/URlϺ9g1[Щ3czABjJ3 C\\-9[{k-i3(|s*̚؃$PKgrF˶"o0%$wPSkCMu@$xI76_}7\ r˂ts5FwCRJ;7HjVc;JEJ>T|sEeuv[Ďofe)[?uͨi#FM8r!M8goFҳX6ɉ{O CKdj!%s^st3JAל-Du(vKFvz.C\L=)VVgheSP؃9<{ c!;.MT@Yޤl6MLPRyKc@r9f +tȓȑƓ!Mtȓȓȓ!MA>7aK'S 送OHbwȁ[KR{Zds|ks)1zV0LpLy2Fa nT+RrͻeVѺwCAN999x9y9y9\9 \TSG5Hb>ՔC9ȞF埀lPA +x͈.1mP$7L~M?k$G5Rg@kf>Eoiw9$yD{u\sr\8Yl{>|kdge3'׌g:S\Q.KOhMsY? haX{M2 +mޟ\3N-S'׌s70dVa}k55ղ.q? +wǍ7y9y9y9ddsz"<">/nadžds3 +#]3A?lfY]]%=rIBQ#{Jΐmnfv/Sޥ'L]ˠN[|wDЛnCTO7tEЙRRj/f*@[8>+Q7{ƤG[7U@xI7X/GQA ai1wII73: +M72xa?oSMoP6'LVar| :z4=ofi)tE8䛩S%s#9f1tpoKƖ ds<$Stqyf|5?8' Ih3@ dK) sfYXԊEBك9ssrsszStt/d%-/ ?iU'Ar'N~:LA:;UO9{ zWqIU9{]n|#I9xPz6?2mrH[ Ftf{1}y#YE}ܢzG 6]qΜT݌`:5Ƽ9g6xd9g[X]C9 9 9 97! +m BZO"?\,f0INsfyL9"y=cPΌ=B^7t?G tlJ9|2ybȰHO{bΠGE?Tq998999tr8g?t~V׆# Hg)JJRȓPݦ D}ob$!MWߤt$Ig~]Rt9˦jS(t3}wE:sJ+BH'$#=Ƒr.O]x87,|y~%?I:iMRk2h>*֢YH!ABNy&-9cҵzVċrmaݾ~By B%#) bf9Y-*(ۮnbkó-tststs:f +;5߄n0Zn 24t3M↾!Q%.H]쀕dr#Yc /{~D0ls.IO^|p͝zVy&hfbk>O_D -(y|DՊ1|N{ +2!)SkG8Km@|PN,k%fdklft*I9Ja53NQًkkQۧI5㟡`wE8BTrլo]D$?!)-dn9fxMt̔eM33iH+w(Q;XzD0MƯ5ҢrUWwSuk5Eڵ-E\m@V~A`T. +jvӘmGs`7y/sGy>|RƏkk,`jB/BFq, +:IWU2#)ȒuwNw<4- ]\,jZ?aQ״f`2wc8W7mD)I"+'}yw!mJSAj{on"IDԸhh_45X 5½xb}:x]SYMc,ޝ~%}e&m:n#\ zONba8ߧ1 ~m`d+|.X6w3XF\E!=f.dF6  #Bu-֍@>HVZx$Z酖O.nW9&hmr Z׆Y]7ź +]."2>u_d bNGp2vo:i޹񘴢I1 +W!V+VNmMsḥfP-X cǰ~d)tn\ذ9ĮUhm +W}[\YPG&*h'6ھb}դ] 9kznlޣ3Wo0@cև4) }9M* s' C( +ITg4wэJQQ66nN.fz,z\ֵ8hQ50vRVּsғ+<'diEe.xJ0i Rf_pG8|9gn6v75U}loQ{ CGf":WS+B Yd݋2劣 AWbDXhW[DNG+z[tZe "I{2ͽ Δȫj_Fޮuni$}򨗲 vޑ#[fVЫ}Y# O$4 O7̴/u.nKS(|U_eD +jYLEwCU=;^P'hيAPnb@.c.2b.\J?x;!w_ځ98[rZP'o#Csz%Õh51̧Rg]yS{Uh,ӎvA u6D3*9E%[B8QrL_{^[B/yƣB].'sRG{uC,I~%>BJHP+ ˹,J9վ{{W]&8=r_AB:Ӣ@ToݏkIWB&.@h[;?+<0Qե~Qxu +* ƒtȇȇȇ!"8Ʌy?Ǯ't5 +smr ;i^ApPb&'}t973tZg6hfk8E7X$c~d7B wt ᣃ`Z X[,2TkC!s4128uFA_,{cFr`ºq)ir ZPd1ºS;LRU(w|)ѹi$310>0>>ATuQxP-NϹn^AIYSQxPɏ${߹t^!HY 6T{OAHsB!~EHj DO<րjV(xV3<@><3 +* e4?W○V2G$EMͤ_Cw^sD&Y9]%BdfOcA`&jQtB+3:@gt`mk2 :a $ܜ\i7&. IпK`Q1:RT%&F}3s=-:e\7B:C {o +?6.:#?SAx@4;oY]E29D4 AAAAz{L?RȐg!{}i,2suu>9;]*▀콽"% uIͨoCӗ40@حEp#       3@@>@A!3@`R X_,1 +en/?L*reOE <&6L^$(>ԫ$į0>Kk7K,(#7l|T AKl߈SDBI/k0@#^HCϟ@>>35ፎ2;%>/M۠3}>=*7>OIi;^.8&e+3}^ RȮ+6zؗܘ B!B4Rxe MWcUhtHeMvU= +;5efHx^h]z'L/BhO"y]F&tB‹tf2ԙ].;0HRvG=C#[@ ^ 00^ и'?/Z?%̈́t6^Bmnqχw<jA)iN3x )t#&y}:UaHO;}^J/y;}^9:s'-fjx3uUy~Aw +R"^x.nVATV; %J&.{ʁ\3;VUt7dpskʟgϐ,Ί߂yTjO>?ϟ@>>䒓D> qN'4h0h&uƑj#N{Nr>xs|?ݜsl_4O\mI )٪0UMEY)6t;\F<2FN;ŪCstB){t^hjm9=4 ^[6\)!Ivy>J~dg16\Hh~#kd~ˡXhwu 2k_!,:k3dԚ,@1&h"00NG iDȗ8'Ukϥ1h 8RpHKnhˠ:dE0/e*cp;% a~gEa%dk&QʊDfk37?u//=)D&)x$B$:iEc\ X-X3ZldCHH@lƍ@nAנgqE@f.rck㾨Q25Q @@ +5gůd㨌jo~Jpf 1JNUվGXKwf@ڈ3-D^FOF\sҚ@b(_% + I\D 9rpCvJ< MU~Z}5w!.)42iG3g@mAgGBTɖ'SbEmj}PY֢@)UI6HSTY&ZI"aMp~dZ[:!mH&u Kv{ybҩ+{2ÓmB?T1>f@dn-) ""AmnfEnAѺ',]G&~9a8)ALP +rrs*_^ /q͑r\sr\s\sr\sr\s zq@tZX5| f h0 H/xu5kREFl4%$CSYD\' D;R8'!8muQ$8Y1ڧ?f %qġEڂN0$Fu[%(μHV4i3b!%8̬u< e@:f eZf/پ&J qL ZxC֋if‰< < R7XFnBPT N<j}nM?eu'`GyosDG9C;M*S,NZ3xo+fD[7 \蜮.,S8%A=Rh)ʘ($}ypФjEU^:Oe38&cs~c&*O1 ^ +㱾heiDNu,+ +1ޫ/ CI- O. G/O07AA`YT6^aö0\Id)}2ߔn6;tx#8,IcyƗ=joCYɰԚAeݕ,Fz8$''''CI07 I0`RO9X'1,1O0#GZh5[߼Oٴ-~$10"&9]3\~7LE4r~2CRFl(vi~9x~9eNg0i,Oz@x ,7PQr",7L)vf+"˔/lp\VAOuD0׼Ѻ7ce +AC.^eABHOp˨ .˓旳5dk0t֞[dʁ:E[59I!o~??!si$fd~<ύR4*w>,0:,(ʳ4)ՈŜ$t?xShYЖj@/g&cU&J_ka<ؕ‡褗e4tW{|LqV7\ӓ_fl6+Q|amhe 鴃z./O~9ӱ>>i7>rV-_fa3P_Δ>]X 8ǝqs szSl +O@1g4PF,מbFt 5:p޿›bKELFN^=;F25 &ƯxR trGT i&K#ŷyul+:m?(G cs~g*`Ee1'`SƝ>,V=N9yك9y9s: Q 2NgOVev~λ[E@fDvp!y1M+;Sx9c¿Prù!|sk9gdd,H;J!^Ip#t{n#iى oB);tmM: 9;pΨWҮVO.tN"'BN+t@'l +95#-?LCcϸ۠ƇUIVO:À2!z?fL$C)0ZMK]ءPWhO*'hO[c_SӜjǼA+i@A5xX؜nal +L )[&Y)Q*?ʄoepg!$'#'CЛekuMUv/ϑ7`iAwGfssyT"^9\E9CA r[٘8_[BN>7B9Lx.r23333!dCЛydd89ғxI ( :W |N&etCxs]Er3GL"Vq]+RģqZ*:蓗H9ΐ>g"P}dAν9x9g$0"OV&Ժ28\{'g{0Falc_XO;{ zWDos'G9?G;x}8nƗXVf +i<0Vp&[%?Z.xg 2П|*"U eaLK#$wP~}tNs@V-+ru"rd*}A8)3ݸWKdppD^gC.\v=+n'.u ^<)Y۲!u_ 2i;W-@ օe_=,bqPxk}g:%MN>W1`PMYF +Bw2w˲."h "&`K +vrv.@7&ӯnm"%e2c݋Z#IM< \ZPNs|Ck]o ȋ&ow$Y3cVMERK:cV +10.ar7ޡm:!rU-ushv25m@Q@qG5jU3IGL^@ͺ.Xx=#{_ o̷'b5Zpaəׄc[vSZF1amɐA7#h'Tc +xsi+fixU;~ +kN~ m UD^O +dh=xb/O\gJLE y?EI;)äǂȼj cu+эXC77 f.?Cb*XHo/D抃NɼnuFU .BewReچX] !t߷, 2|}%]65KIy/F&Jy#="퐪Gl8G*Y\"͓eDr.Pbm}?CY b5|Jw0i=L"ʻ$N:y CWSd'IG3Qu*Xl-ڮ6IG IOMcצ F_sZ,Vdžᄌo-ܡU`hz.[G^.PY.ҧ1<.x lHi!~2@|x:иZ?v^v4o8tKmHh%.iwR P.%60iAv:UO6S4\c;?£#jAҗ"kKN Qv3"#_h + iW3cZ4(#aۈxB>suI]hp&BH"B(d<~De#u|5peٺ_OW$w0ueF䤌Te+#mVa#y|i^qM<.|*\Ĵ{πpq< K$.Cc[I\XΔ b/,`;ʃ߿#Gy3{R䜨[:xI5mFP-je(ΚT=YVr?K!>d (Q%a""(~0SnPC}9̅i_~ k;L"O+EB̍*cX,%+q3 G9:zjIsрNn.y;Ц҆WF +Nteܱ)p87ÏsVLN*W'j3o?'`M +V9 #}{=3feA n޵nu.JVu|䟈"FȊ3̻օifځxohZ+9(YD61%F+~BV"drZ44[ +Qt7B8C<1OxGwx;ʓS ˳ݗu^T5ʗ`h5m%6Ո}f໯Ţh\}71UֱsGo[*_,xM|H3=6IBY-'ݭcFI6=nqd\7珬E=hF~ܓƭ#o=2o[N#ǥHJ,Bv_#|uϩVR:Y)$bdtRv`/H蚛lW}ulwqlwlw:9%wK>j+e$K_ݻ>X5}?"ՙz`D1 Fz2`5[|# i,ffa@`m: 4XxiLr_A@:KK aAܫuXg5ox@^MÜz6k!&8 `=v-<:YWָ>*y>֕FuD: p⣁ᢁtD˜@M>Cs@0O>jzDYi X_5˕'O19NpKO;AG8\<\@\D^.j_Ja-nˀl`iWrmS@ +XǴ +Os9\: 6PD +0m +U~lVjQp9tE1 "Dxd #8GKc;:׭wQōc7c!9lQ뉒L3a +QN 05. +#6BQpb#ƒO<Az A9;˪#¿9Tbϰ[qpUDV6,VWmŋBVkahLS<'SA{V+::a}ĂhfL")gtA ¸ ܱ: }.L`|.Lr0Ġ#&\ʅ1)eMAy- \c\@=kTV,W. L2yOgV6U8rauX`Q J!Xus$M;FG&Snx ָן eG/UʗXz}TaȉC:k +GuqiA.̥dٻ /#e>)¨%=$l3!S3>tgg"T@ @uBRa`њgE.J!ɛ:2a%i˯L$)m2alYQc΄aj/Թ3&-g"Lq01cIX ß×4xk-aTJEKl>R]1HLh[{:2=p9?2p7OaC}&AvK+ҵ'ҦDC!G"Lr01H@g"L9aOA, t/pckaSJ2jqFe=D.|_'djz ` ˄ TqIUZ7Ȅ/|}&>~AƩ'R}A. +!9?X pd.$m~BQl2D@8gFjH!&&ֶ:_H DKP#2dI3sA +P k,aBfmUBMKRyMoi8xsߧN?-[i 2gSR~XԬHll4U^*zOk".TzC|d-yI/R42\V.Q0kaȼPZ +ĥ \b+g7/]ޓFur #R;ϴ rX+#Yn/M 4Saװ^FU9d>ƺ;E;q)״; ?#$f,9Fe!pׅ!>s+&,5d%9źBg!?4 +K^ +5؂ T +Yu&], |.CeYelY8ҊܗAcRyغח(l&q {pL {~V-e*!@u'@Q!~[KH>fM]СL̏~M& 87q4Sz$VSK<1Q0%1'Bq?#C܄UNͶܗD@Y{E[k 1mD>̀.851/7ϵa4is_,v.^va"9&V?A3Fbw u52X&$jb,8sI#c+k۟}<~Ytum"[T eds\7)rtxQ@c`yȂn$̄zb,q@ҏ0}&D0w#vyW20O\u(\?Bk}cMnOsgFc* 6pd$蓆rG*!Aڻu$LJsKHz"iv3 Hd学E4lI.܉K(`ck}V:֪ЂE&]G&!ऒb塑u&K<ƊO(` + +#38zFZ$=H\.LSV{G{\hS(-}NWgm Quj9&Ev)Jk]׳;HeF6nH˹!d_ @.[u6FCAZ6$Ғ9 (/TuN5L뢺U|aݺP H<؃qAwFë5hN}w”Si=BNezSgt\Jf +YU\t?T²jlrE3 +̹Щ`;Fpu;)=!Q"Lxj)gn+K@{V<4\U J3(m|I+(–ܝ4(N< rՏM:?!PQg5p(_O":$Ov(9補COF|<9Jq -#p'Wsj3p'W5pF=5t&Ļp$=Ĺr:\rp Al➷d61']-+n* +\yI*M}2 >49! Э-}IK9H&Q˓i9 K)Eӑ5oLL:v^ +&S*kx7tSB3oC^ +nUqs8tGE}It+Đ#];#]! +K`jGtعؤ+O)7g+޿e+L(EpXvfAuҎ4h +K6FY; dvq_Ѥu(J_D#*)W 7n%aPڌ`Ќbl*:Beθ?(slF0SQ kQP09- +LfUj7.Wz>28ch{jH(zP!&vV7g2 EvR&▶=m Vr(=]MX$wwZxq/=_`uciC޾֠!= +H⌄IQѤChJGLE1!A }PB>$BgDeA 9" A }F^(PBg@ 2>|q3$x x @6g<|@0g8̔3p P\@ :"BbrY hEnx}:AA =o䉣r2~trEȅ1 " b+:pA4Gx-í 9Zj.<Ģ Њ>@+ 3<4]|a\^B }FXVZѧ_hE ЊshEA@*R3>!G|\| >i_xFAl4 +de4 ZU:/G M\ml@e__)|YB\d X@\Ib:E9Խ,E1IP$qr=T.Qh9}ypu mgatpiMjz dMX;PӔ/N0 +Cǹk[SȮ(ь{g +bS6 [S!L/'V\DC ũ=q`Ҫ|N۰ON5VU sCX{Z$4mkB0ElMLH\tr1MзV&\IA2̲ +H +~r7K_tԝ(g'LE5C%m+ $Ȏ̔ȤAmS'"ݦXrO6dr':SW ka #Yo41Fn]^Ԏ)5ѳn؛t$:Cu[Y"FEczkS_4B KWwBG Êho$q#i>qeH|Рط!ZP MnF'ڐ /C4ml1&D ;nS$ݓIC ќ4 [F'(WaMH)! TIH%|NѰ1MquM Rw&fJ4 +(r(&"{ B3F2.iҞ +e->T V E'E'v7cdoe4!.Vam$A[˽?*.5fLJkJ\LSbܢLW7u20`Mؠ3kb997H/VhatCs + +*)5 0F%QAl>ʃl"W٦7xuf?Y6Y7$i{KZpD{.6ET̃ʶj:8kQ[Lmu@pjŴ6m*sjꌲ(#|΍.UP7NKI87]!+6x{PcahlD2ކcrs҂t$𱮴{mcneNpoXUO1=(%!H/E?7K!.Xxb} u0lJjgj♛hlGKZT.F_ ^^iȚnoatnj D]M`}9HGIU׉l"n*[΃׃=A\8:g :۞q$-ܖ\Iڶ64iT{ajZ1FIo?Dtb4ɋ*nH:g\QFt˂ ~"I=w2oi5 Nwn pʂh!eM}MRB"_wBV&`^(rtH_ Eքɺ |kpe q5 j= Ȟeodkb 98MŚNY\ 0I: rɯJǸV$AzޤC#7lDZ51Ԟ!"P詗VQ5G ZƑ"G`SEWG_嘃ht"!ܠB*(Jom1^}(֡sI>}٧L6E,ٜrqnݶU mc ZǴ0t+;zb̆L#EeVP Rd9Z2 ,sJ_"K Bhm%R#Tk`/X$\SY~9=eN% 'r! O/qɌ^@wtp%MZ6xыkNEy {F\S@Zr(-pgfd T +ſٜ^r3$e#w@6kOC;lA/%5tmNT +PyYmd Fۆ6'S yLDF˼>f懷ȁfaCou*cABc,O7'(VU.x9j7q!'N9xnts0'QuYmg*IgV%hpA'A<<NYfw,P3kl+mWfvx6:y9(̅#i h}y?򊿽]Thr }cpZ8K!G8G G8G G8 O8Ǡp@'c^s0''s2N8Xap4oM$|ǐ~O™-.E˜|s2Nh f-N'Kv{NY6ӓdOMFgM=oY'Nx,(6?7x'bބ3 +m4|U_ ]v |1> D:o~d[d~Xuc盅igW"Ol747L}8#0UsP0ΙhK#C9{L@:u櫲ޞu;:Hzsqsrsrsrs z@9/AxcF3b:Z+3$Z,.*ד7s΀h* ]98g\!^WV::xDoifȩO̞s6RC;IFz!ڪLh&ѼbV`/=Y*&3`^\Ցo,cD;2)(tpmGU/yqUGKFGRo񜳹r6%%z遼)e) 2>P_ZL.KxQζdHVPάQ[ ]GrQ1M9Gr ìѹuGCTv!8X?5-Ӑn~ͅFFzr`lx d/zL6bH܉/M6G)ԗݓ_Adsz_*f'M6&{ OH6mY ;*|6yoYCBQALݮŶغjMJJZd],*V5|z.>:QZs|b^NA4a]1DW9Otۜg(cs:~O/ϓwVCO|0a™oUbYVblLs:f +tҠX)gk[9&Ô&SORiPv~S~Λ!lgK94Dtt1i_ڴL-x,uܝŸy!vQ1:/%cTsTsTTs:(:F5Yu\_#k, ÜV|(Iz-ԦLO5,r/l. Ol.v5AId 04 $eSo%tN;M6cQ9]ěl.tגI6 G67̑ԑmTHߴOY>Eb~NYld5݃bЂ|MFN'MKiy#_ҌwZ̝K$7nW{ tNrv?m K˪۬R}ߝpG!w8ILupܴEI+ ā"[5g}6gbS +eiۘ. ]Ɓ͎F[~|6;͎fGdi#YNL|1f^>ChF\ܜrN>qH +KDx, 퉭Xnμe*.6ՠr7'h}\)>o e#H9àL벎t3agJ9ZJĺ݋\zuY ?ՍxхY[VaY3O (5FpZSͭa͌L{҂d/5D;]SơuxDQBը][i1 nr)rfb*vDHm{OF%QVxu?[UN{Rlw8ӮOcבֿcG51v%7rx!qY %b 9WQɑAc9{j5"&YO1"- (&>sR݃ehF ]!kio't.\Z"ă_EY$Sjn(йЗйTcPyCX4GVr3B<>|Y`kA5oz e.?m1wg=6*0[ +]I!J݇4켕=ѹMgo~+kFwe;u۲x.TN+Emd.+yي,xvD<;^ӳ]hVY~TjuѲA6clwNJɣ~as-tN\!чyW40GlڼpGݫgGD!kTtkRgj,s69{8[Ξf n[lgvf9@ejREzd#PֵvH텛FN끛ٻdlT7W RW31qs#77Nt`p36N,/͕C9f1ٓsI.iՃ5פ?hNzXR9jėE"P > S3)H_joj?gd7@Z$=kfmBMFfɈôڣ]-l AƟ]ͮVfGt-ފ\Krxv4J,jKƂfӜYj*zh}~Sƣ3؅[N;3c$ aSj+_z0Tgp&Ӳp}N ɧ̅<'ോ%<\dʢwAEYY_ s2zl;7Xd#x(I)6ٰ(S;Q|\l),нHnЬOhL&~jz־pfFdajYka3Y [/3FkN׺\h J4{`Y̼`˛2'E qyZS\JnRCC]D DCW=xlw/K۞p6Kܗgp`Gq[u%33dmKOdzN}*2;ID̰Q7h$_@PԚX&lKB.j_z;Eh O] 4O;D!ˬDwZř*riЈHhYuy'op)^o)_1S60lfflBKsj+l<#`sCg%[(ފ_ź+,)_~B3 +!!+Ċ$M6DminrZ ,o$|zq^4 Gx~.leG{_KDN,ϿP8#y^꼚i +'Vkh]R[ȬhGb} G8 +[U!0I(rHLnpJJJm'w/jQfK r7%biֈ쨯JTw} ]%tE<<= qUP[IT憮|D$MfmH\|2Z};z. \:},qVXrҼ⪙q$},vvX`ʁvt clVJ᪡R 'M#NN^8Өِ ˞˜;5^ϳ~PK9!O>Nv*(OY3 2M2ڌ8y>7i|Fξ q n|T-Sf܄km&dėøW>R 36ۑXU]ɹ5u`В,r87Diyls|b|4[~ +/s" {߽fdR=^-^K;(&܉evG^ +ML/35X\ϑcDZ}s۷r38ư#l,D"*Y&QaܚG} +Dk.w2i#׹~Y,vE7"q"$gKqIj3gS;88i֡5Vg}hY-Poul,,&CXy-e%e#b7r !q 0})2C6F̛CJnmEvE7vDt;"eݮvomCW5 sp7bVF6fspwΗ-B7NSNOj +y)N-:?Xoڍ@3d }pnMQ^UrnN ejgB޸YMn+{XIMu?w*=F/MÞ7T +U fOxPөqIHd>GEy_jw7$8µu +3X\/=Y1AMޞFn٘쾍N˻> m-vDw x;KEގfZZI$ggIü)DZ77(tyɼ)aA'^dˣ.~t$J̟;+R3a4|7knzS.Q7ΪÆyS5Sz wd<`޳S2zeRU} +x~~DY=MmI[ǬlGb} GtSo}NFb+<޼ee_؛L [9ʞEio%냶2֙qcLĺN{˴x8wցpro>CNY}Krsoɚz1ەEefVs|SO>tJd`䛢p-1-^&AL.s$ZT%؉1Xjߢӟ pطW%ʹ;INRGsN2(F;1n@#qݮ}[9 Žv ʡ+Ԩ#_60kĉNƃ}kJrnϯ]Y v57vD}j5N٠%K_e>i)<Ȓ$ǯEOܬ5w1Ku'vs 5.X#y+kѱ&cOr[m&8cTsc"ώM/칹{jr3k6J>D-kgǰ ̓ pfi)?؉x(*qc}!ژfFώ +0c*cInnEwE7wD;" vonW5 s 8,}Pߑ#Ä?x>3p?x;@laЕ!8}jن ;6I-$ՍHLIv-%+o{AnܥLN_ +KvJ+8OL4Kv|+]>8C,Ng$جt2p + U#eʾz>8ctzDxRH\O֠vRoH݊o2V0ccKF̷KÒVtױwBpI2 gn\q=ln,wD;" ] hݳĖƼQe( ߶Nr5 Oꬻlr,`>v疁;f;q<@J=-5?8M%Āk{Rk^3qz6V@"OW9t:ʄ9ncxO:ͳ܇F8pF62ކHv*|G[WTu\@: %t}\ EvD}˪ėRW"4$Sn56Zwv +"!pӐ ;oյ!/UbtҨd,l=ɅE߾BߞȠoOdз'2 };_âoۙ7vE߈h,,og}#{,Ryc ~lZߺi%$~7t՝}oD=fc&ej~7&E=߾~!Q*R;o~w^uqX6|?7 +U6*Dsr0p_jsL #GRVO$R2 vvLȄwpi$lhX}žeߞbdHsԋ`}~{~~{=ߞH4JaBIaܥ\$Z^MH1 +λZkH3x)jg,Co4ZR<WU* i w~kL BFrVAG˾,&"VoRU,cyWt:7K&xQj_affQ9w]эގ`oWscoGd+:,2vsYڤVkQݗͳ-lzqq={*Xy+k\J{S?ɏ?+qeA0t 4 PIKNek!d&%Ws:<.59Ņs]s5~g[/hPA?"m&~z$ J̐^cߧ$1OKFۃT hmzH-?k`P{ۊh'bĜBڒDDTPq92T4'Y>kzpָ_茽n=b8fl9zX2ںf*ֱ,Z, ҄-gbx:"7u\Ӊ 1dcB =N2-2܎yڈߍrCA2`}D3T z̴< Շ%\l4ʕ` +rѣV>C/QA0 |{yOC :L`<}+Z_)V3)@#aʈY,pS ,'-#}4%xkv=@iđ>guZG! 1OЌS4}pԒqIHSJN'ܗ?ЎUKq:VPK9gj`4g}~"qȖ|њ>V7r|D_YRk_D$@0W~y~n7bam 9 +}v7J9h +ӀJ)}kj&8+)vKIcX;,ٝSAOG0f$(7h[[tK%oixVe4ewºD#i}ЊG$dއ֠Rnky$5A: j IO'#og<Ʋ>RTjN6 +qd%!IFnk[-*ҝvqe,*д6~N"&P梨BH&Epxϗߡ@R?Yb)i)ծ!sm~eŖމ]4MJ]:WݟWݖß1Qih+v.Fz{,j4oWT~  UwӣA + +/ҝ0I>%M^9-H%oE 6 e 4f̊8桘,VU[ (i9p;pzŠg^[BtLˬ[2oʴw4ܦl <<up|10g>yZQ : +RdhHK[>7ԄdZ際W))R܁MV|nGQolt3k):쮄uCo\DғޡY0iB>\g/ˢ:52_֋nhīIF:eǚ5_6Ea4B:40\EQF2PzV89Fp?vPn>ah@0K C !gōIƓQӺ*6Tmxޠhlr%E޹&_?|\弢˸a*]{œglS}^V7b]өND[TpH")-}R;jX0B)Os%yqY'N xFQi%N6?y/ˊK82=<vdO,*+vi.{+P37p"h߻j#ʦ +T#XlknיHm臞>6ue#0D]yΎ"<#]j{x +F1Rm=Zd2uW|FP!~_D$Vuz:Js>U'ܔT#5V 7(q7S돢"eEɤ޾OJeLX_vZgYaƚ'cJf=;PC~W'ə`EkV(sf$)] +}4l/’ be1䅹eq6J &ρ~GpbtfDRMU_5`L9ˢf_rNkY3bH=x3vfb7d|$;l}fh +} Z$gs\@Dk?vZ1G1tk6`>a9<͎ܰy+ َܰC9 yAq7k g7TƗufWtfGdq9YNL:~9Gtgm)e<]dVm }Y«\ҴY^apPA-wrq_F/*H{|IH܁wM&CI. nvD7{"=;;0޸~ Kzfgjܘؙb7kC/#ű0,|f 'z6G%!zEˡZ7,T9[dYj60rh8qnhO 7;"]щ9hX&}3Ճ7G?#C3$F)7,0b0H 巆f0R1'D99zfA* /_.ޜИ5$27ۜ~]MAΎf3ͅΓD],dο5rY=AΞ gOd'2ypZcyqNAS x\EeeO8k 'r* ]Ǎw ԹnՑN'U8W3Vφ۟Y<|d֐{#ƥ iSEW5I5Q|GORL c:s&QڒbgoCPvʵf.CEǔ7AV™XE&,f|ǙYJ\4טM-qщXgLj|gƸ43yY̗"4Έ:Wnצg&iAgZɔ0k#>VCзA 8;Ξg_tg]0WY7pCBeSjPn'ohDw$oU!=Q<7w,K&VضSR<-?toGtܮid n45:ge0Hwۊ~?q9 !ft-0_ɡ"sV?Y.R:uyä:yyf_tfOdX'2..:}[$'Y7Pb9ڛ#\Vk}#GH>(F,Gz\$pÚ=[(XľoX# g^Xk-*ics`vƐ:\Ԭ54U=av=< >X8DZU5TѝDYufV'~r܁Wmubv\ߍ]Ʌj>Q#P)1ڎ,?Q3{RCN7jΚo+Ɛ@ʹ"ŭ8Q3AIYj_*] +M%35gK$%M᱿3wi1K7SF FanN,GbO>Gt}){ۡm3ƮɱO(w* k'ЊqGqrf e +ݜݜYlEgvD3jÇ&,"w1 IA,@bƹ~;4|y^b5O49Jsom*j&usl@U$׎'A#ي,hvD444a4~4jHIezs>W'/4sBM)a5@£]PQc7kLT?ÚEI^$Z)LD%H柒oNkm);t6 Z>qP3Zl+\tfB͠fWrf+rP# bخ~oKl5;"˚e͎ȲfGdY+:Y3yhq6.AWy97l] .?pG&{>^<Zï,l$ o_~URr&,}fFu[)/Ln$dž˵D'mN'#׳BoLD+;fףa&"BMB4soع96R"] +3d ٿ ܤ'àkdrfѢao432Rzm}Y0'iN"[ 5S>Fպ]ڍsШ{#>QHPV~\yU(C͉<ҩ.zfZ jv$55Z\xvΉy^ +P{b[LjZdoStyO'k`#dv[ 'kI8e/'z +zOHrg+U55=ro=/r$Κww&[Y`v ԰_ʢ>8e(켍Oj5(pɛW y+y#Y,ovE7ovD7Md_OTZ, UEYHl{ ͊D}ݢ^ +dO*2ˆ;Ǹ͎9mTO'RGصo{SU p-b[Vq Ǡ,{)XiVP(Y}ztb4s,r.C˂]D"2`OһsBegEȹ`/"iu"gWr!篚O., +L/y H{E[\~r|l 9BLEEh9dɢ!8*߲Rf-b'gDJQ !hW߲5ȩ4Q;=}:Os[cm6&P""eePn",ʰ vfbeKTWbgWtcgGd9YN$ZܤYԟ_,,>TW'Z6R;H_ e?*>S6 ECWf5> &KQ66oմ9.XnFDQ2䜸J<͜"gqXl57{7{63~6ۏi`۩sP4j^wdPm? I!+h 6% t?x/6{.K +ˁͲQ;sn8 EtZfUiM|6T_XXiNQ{"}{|fdjX'IE9IU4"ϖjW4cfW9_~^ڦ~vF^j5xFyUuf;i]ɍA͎fZi*yyZ4[Vc9Xl52{2өpw2D \*ɀEZo\;!̅NqP8+EBcbZli!1#SKN!txa̅;$YF*Yw͏1r](]#goQ&#tmK@\f/K  uэi CLNK5VL{ qRi9D*AeE|B˥"~1UpI}9Y$tp3Ģ~+EŘ |4f]1bUXiNRib`֦]<,$B&f'5݀YD%J%\M`XZ˅p4;VN[J й;|ӃНDV_ŸUsZEjՇHdE<;oe=6~)A +2eZ]/Pd^L}'^fVQ}Hv+#xY,^vE7^vD7 01*=AIP\=Ы:vo 35&Xľm chEA-?5j[%"eʲ:ŭh^;ׇSXmk 2[KxifWJYu./-K<6d_b9ImC$  CW*LUEvOXQW(wT>N!n4\bd>~hB/|Ǐocڦ-.&l8ke0k|y*5>vwu}hG>#.fY3k\k H9C2k5ӿI&o?EKZ@B v*5KYTT^_L#.a6: $s"VəWb%2G%Z M5PڞSrUDpr}V*-,%H{zɺ~Geajh"ٮ蘨\ovzU!腊l&V/2M! )A\ߜXkҒF=G#H(d-h4/Xue|)$wcw`' \Fӆ, rkZ[C?VgZT)_\rS%{x _ {*l8XdBʞ0d=B4Gɓ/g[N/8(439js#뛠QWr}?ڲM<gOv]4W;pvOlOTpPUv͛?MXy[uV< +e-k[.2ʗLB~H(0\ky> ]"kI8dGOvdg,o@h[=Ѡq=~tyc\1Gh٦q 5r)*;n9ßڞ:/f(%!EkVE.xX`-F{Md#1CTPWQƥ7$f06|'mT`x:0%P~xvꜗ2L>i#UHVE]UZĵ@.P)~#ٱaZ.mǼ +tm`m3ESDU;񝇹IR81Sye0trckt&k!Lˉ/5!Qe+kfLO+kH/Wק3U$P3a"9&}^ۗ/"d{1_abY|Ո݇3DoL!)򒤑1qg&"DΏXoCa_:i [Aԃ>ƣU +w_vgAa&KY ;uh@8S7Č9'?V24 +X3Jl7mm~-qـ9VL(CXB~&ѡˢZS~٬7&D__]fۮDvD7֔(7>7CiP?3AA0e] 75OgHT ]?]ޙE$pz;&Z;&H2,k724:W<̱Fc휽ϑ3G05 Rrox[h$e^zk;W/oo;"ێmWtW|<~=.yAm&i'YVu QfL1?UXM^GG7oߡ,0Pj`/EüC"FCJn,"q;" ܮ܎v m!v9p1+[QL;Lfy!JiyK~魁7IwR^:n6 '/ ERgKp VK]2ݚIO4 挠\PXMEݎf$$*fM0 N]0%iO9'ʣU cOuӻ=j\:nH-qe&Ȣ-"7N4cuF6u[EFcITL +]#V5QJ/b}ڒnGdQ#ݰjNܭ/Px64N^z݄[{^sn*qytSusUU(ҾTUO'PO6\dԗûysL8Tu b hyUe q:dmqj㹭 ܈K.U7ћ;yS1p־$7&TT~\mAގ2oWtBoT%S8&BVsd\ЛreRky^'&ͭv\ ĩ6*&DG`oN)Kj-3mJh˷%;]N#MP2Gb~07=p^R;8f!6H~*MaV7;iOiEM[KU&X7 #]X,vD{jN٠J_e>$f^.!>A ,{f-K~H,Ync߱yk8oe-3:^2cI.{s?)&9۠gCY8A2uoDRp##􉾵X rѩ̜L;;e1{OC^``m@}m3RwcgBc11$7vD[ÿߎoWsoGto;ۏoQ Spk;M3.B8HߑwGEk ߑriP "BxG L>32- +Z"ͿlzȄÀ +iccQm7gD?@5n,vD7o<Rb!E6'98HPM %Kl#Hakz"݀qou ;P_ /UB7,@6W m'3CVd)vMX~o?>m#Yn v5'}-@6ө-ߴ<˖wz酿i_[wz避i_Kߙ^,n_K382(^V;tB(vwz0(;"4o$BcږEOMsZ6&?wGAO/Ac㹝l|C7+yNw-6ޚN͖7$8mE}w<5ra.~~&'fDձ\NMɎ6GȈ#7"ԣ`;Me9]\MqW'+oGb+:7Q:K=B_;Boڶs H3&A>y}'!Nѿ8 6&KݢˡF-=+θGm&KlW$ZÌl&2H3Gb}v1}K9 f-1+MЊuy'fh99zpþ[Z 1ߎoWtoGc#jN6KL\yu|ބ%*2@mߤ]5N{lw9-vlwny@q9fldFؓ\=-IB1~!o\i9GyݠMY-# o?d ͣ "`kqiɽ?Ђde8}orDdqş _;5hff~#)?B3K.UI=EpQ6>跾|49Nd0%( O]f՛~#D\ҬgIk*3o`Q=zGJ2Ӫ7Gs dDbw\>stream + 旆`mH$Q>8prV59hOꍈOݧ! 'o0nުkBپSсqW-2ƞޞPoGd'2\ěz;Roۙ7vވ u2 SN6~`obG +=o`}qo]~M 3qhl{ߪid-8oDAX"ٖIwZ./G|soOd'7O\} |o$:7,V Of "c$.,9?x5$n|wŽحǑm=(U|po$,By~bo4QVJ[{# 2 K${;"=Eǐe?0۩ D{{"ý}Ž=ͽ}Ҏ.^iM^2(\,'߈Wvy|%χpj{T 5|#¨y\&EKUށ"e-p]!}B&?69|#-#nMjy$;2ޡ8#-r@|ޜ%)?@~quQ|%?ߓo;P6"Όy˔$:g66N-ScFf~\d}vͼ=a޾`޺d-'&aY󖗢VD};Pp+E[$9)r7C#E]7O +E2)h6[gS$x2ڙ^Kg T)OBǘ]FDގĮ)07v^"o;8y6~(x@Qjwx`02<73:Q1+oGd+Y v5',F0T*nc {b1 +j>{+~j73X<5M&58t /9?ߏ6@%iWFW+2 +q]&/=єj[\/z=y)C<ٛp9R*S"kr$Ŕ<Šjeq"PU93. P&u [IcD[N9jQ*a!6"A3m4~G^ti@W)e͋D^5HNnF)Tս9<$o^eY1&_I?t$_H*Tuq*A.Etnq"޻#I ;?@ni#/ͷ;k&#nwj1" 8! RQr$lTȴWB1 haݔxϝIBXw.S= țztɏ4ԔMEuTVbLw~kt2xй䎱\.B#U3Nۊf2b竨Cxm4Eo$qUl(595bBޤPh},%Mfՙd,M)F2'ݿ8qQH-5'&HxӅ)DvKv:!dKXyTW#J%+[loq~:, E"'Fեᘩem2FE"tp 64#cVu9Gڞ6Ӷ ѽߡ*mkiPRwプTሩwwIaiqA_hnOW\-+3}0&ǼTG9~kˎJ1Y졩k`5Լe;hX8A:;*ىN9"EESg|i`6K)}sAӀdD #߷ `R%Ej FL\J};Q6+CKZ?Cm|HQ3I +ZIt(W@N((Hp8RHS2bb^xd^FFATB,;Q-]ړc yO+g\"q@53{2M5U#P*Y lcA0bgm;\S޿@4K3ʬ&iٌ%i19%phu=}xst#kj2w̆ZFƬ>YQ -"5 +`sa$GN4Q}k[[ZUwܙ->mq4% SrZ;y i:L+P$-I$/J_\-Q-hOJ ,=ೖg\7FOB{JUX+jxJ|.$V%)xi C@q> N L !}$:1}8#{FW?#fhxJKlIUb}ǹC@e!7%Ƈ?!@br9Gm C,ONDCv$΂D<;oe3:C!60|(ğzq1J#!Შ4}e#-(2Y4_΢H(,@bVWӊ,AHъ)IQX j]4jGoFiRd y sd2ҭ*MDXDtXK'9 퐹Ʞ BLl hhHgG%Oր;M;%s7=(L|rC'Fӯ4Y$ ,]H=6}ڣ<ܣnF;Jg]x7;6w.S|MOȎZ1X6 ;MeNT5Q76)2ʓu6Na4%ݠeBRYO}6O3Hz㆛ЁXӢAX8֟OЧ^˕g#Riy+{;s[vVZ`n̖p7dJ Zk nmfOsfqXXl54[ AQ8/$+k⭃dE*#[>;.k4eտ@l E" [<$%!g,A+4&;5.#^76"Č1l2[eVc8܀j _$'^g +^_e;' g;K@{Wkˁvma$7\{<Ęze,Ader:/..+3aI9pӰ#ym'\X2yߢ]lj Z$'Yr,E +gEZ+dY #mKgCEɖ βǑ%L e2A3Ylxe% Oleʮbʎf,$IL*|HLu`#gIE&@Iߧ놉i *z)U$uDdYsL0(ؗ-_=ۇ\VL#HOؑ8 45vpn -rU%KY.si>G_q'Tnw8e2m] ʎBeGd++:,@RƦPZ̲q6X1'ŒuOW" _ [9mT8Os&[63:mw ,ē(iΉd5HerЮWbdHVBX223[I zINxD aA8'ʃN1)/hixD|.pe!c)G>+:ɲ:hx,Vbi=ME4jgNL8!t X&|0OLO{:dnDDwF䊚%s)=/,/I~ιD3^:=uzOs[ٳm"8#|KYsl+FeG\a\V,,ʮVeGdѲ#lI ,'UHX,_vD0[C]эa̮v d_Álv9Yv;Nk OLF6}j&eJBTyƞ-L T\tG8IJ^̘lr쮲7efN`ȧ=|Sf$rCA 3{34$fL fN B=sNЬ^xNL xlxb$A3dA3"9M;elh(x:.Ќ$GN>͈ +2HiC^fWX.$'HZ$LX%Ip+i3O0-grh3o$ f JWf'mfek!Ę] mY24<,_TLىRN:hߢg|YffO 8(":TolήΎ,,Z[pgTVеΔ4ڱz_N e 9i83č:ol5uMLAĆ)ghlם$4{h, 9kJY\K9-W*daxUiNtf$5bڒ7#ozߝ+_JgC(&đAAw9h˛VfPٲ{d ih8ݴ6KNrO{foa1 lD66Dή*+!iJDz-LޗEH;?mSZ≚I4`K eIN gR~/Ҍv]g\ol!;$͞"ͺYX:H3+8\^4#$ZHİ|Ҍ>YFԄ +"2ς.zE|FyH]폆hZ1qh,+q'Ә3VNf&SyDBtXˑ~f$io :8//. nD7{"}х}B.IXBsDUie?\,]p}oہ,6iȎY;$pӬp2M7-gd<_Orۉwp\uC ig, m֣_6$kX#o:-;Hkt`Ѭ-@!2؆\]jd]ǐ⟦(SO] Z>=$(?xھA7yuTP;q[ v$EʛQڹ Mȳ ŕgv:M72dHޒF2*eJӵ h./N,G&QQ2?@0] iJ#[di4f>Itl0~1Muntz`ԺNU6)eAA9gXo : Yt "7CP;}LwQ1<@J0BÑTʃDCqu 0c_1#pgxoE_JEιmZp v#C;O"{vtBs?}vVC?FEPC;9 #=!̤^36$)u~pLQmͧHޜ>D4`훈ݜTJllj!)z7=a('߹WmJ (B&qƃwjmoỜ۲{(;xEm. +qv@/3qIP9OOFlK%ͦY5 <^'9>կC4?:u#_"jgt2>K_DFVIiiƆI2&zW/8^c 9_6o\~ .ged or~SѠ1:?53h yҧ ݛadZȃTNٟKx7~~p/(pfҵg yh7+ȩ+DJ1}j0UϼܝZu,W8]𲝴(H֝ 'dk)זD/Ӟ:iH(++'B Y鴐YC#h#7֮$@j].WQrV`#x"1q6"+i]4 o=K$-Q+lW\+6UY\̧o@:IqJ󾊢KY4S=$28b#u:ɜ Lr4PsV&(0TT7anM#.[Y4\8,sD]v3~#ĺo[!\f#+Q:- ͹2tTEy#&ނ< ,i7 ,Ɋ4Fa3aņ-& S 33>%7_1y.ɪ_ =;6LlKq:H 5qnj˥"BOf:ābR:8sMڛLD|۲>\R5# [-c/ ?!G͜S%./x`Ɂvl ̰#lRZ!6LLy^?:hZ +聤/C9"-t+!VǐRIyv0e]3Q6/a-C&QoSJ"5 O_Etb\Ө$Ym08[<ɋAf<w*+ ,ŵ*ӫ +* +bzTpcQ~IVe1vyk8/e36T2#I/zhNQR=tHa5!L!ǂXyZXcBj#x3<ȱEu2[S'PIe9[sd.O\bߚCҸ`3X(ҲMI .`߾`ߚ^Ppb}k&2Fyك֤ E\ ٷfWKtn VMЯ ZsaV[ǽ#)Y({|32㴭 >lU{OG,!c/u8g'1g'diy+k 8s3SBF^}|#Ҡi">9\ʆ~{"=߾ߎo_tYM%#Bᇴl3 :k* -Țeoܬk=Q/s纎Z{;ߚKB0#KT ]~S#iU5b[DI_ؓ\Y. D~{"C}Aa5,vꍿqskgYYĜ*;2|]/yA;iſuo Ν.'W$-:q[sI<^֔gXj=E +8:BEÚ]DOR7%K|]oMYiICNqUH(&(%G2,*cH{O5SLaګߚpߟNMZEA/ۗ\Y.P6`ӂfn{pOd'”iǬ@xp„AAp_\0.҈f.*L hрe\ a=hNz~C SaFW% +7D0mbH7_ )\ϸ*J2gҁ,%y h8쪓ӱeDzp,v`L{e%Nx\fhvMZ37筈Өj2pFG dnK..0`\̈ kM@>-%b\\qYZ [R,2.z}PY5G +"8;⻕g8LJ̶,wj4ܱrx@;A3K8ʊLyDgft,0clVf.-psH`B2| =_ED{{"}AigNJ;zuR:~9 qdu; -%)m=doyn8g8s[i⼕vXɌ'H?0$;d[rˎ@s#VW-,qHXLU)2q&9ruc)[մ#xw[ wdl4:v._&\@S¹ ' זtBԏÄ +"PQ&|ne‘oT-QK$ҕ_A4 ipmNRp7 N!g&PmXX\[իa,q5.548 +NNNM3 }9SІ7Ss D %zw+Z06 +.|K10Jtl4zip6_vt n+vd\48*hVj;]7{kۛ{ipdipdip.hUԞ4g݀6%poPvo♽W2ku[vN K#Xr] ++W - 秞ojWqO!0q{9.% =K[e-cosv^΂C4]kˡRo ѷ_}ڰ27*_A!%]YJ9D*g^H'k릿Ozoԥ*kpoNfU+1ˡ6@rborX,q/޻s=4S:7\Cix*SYbc4$ICYk,'YJJdނQ:FC9MR)B&OhhdfͺF;L 98E-@͸ɔnN +'?:u lc/v@vAEJF_p-.[4'%'"S"ޕM +w.?PeĢ}po»A=e|CJt:hl)7YgnލRvT oO +d68½,Kx i3coʛJVH7Ck>ϰ3Mnʻ+&Y8,n}==9?oʻHRu|fq*~ +^λq8jOCyv@/͎ԛ3o_ܔ7;cĢVwc(1,ٸ)oЏ:7- ,NR iJ-i IhqN?,L~^4md)Tm y~CAؑ1T_CyZAF%Cy_&Z:C)fw$'KHr.]y; ymLj8>hY \òHG&:QJ4h{ܒގK`c 6Aq::ftd؃{Le CY$zL_S3m.2b03Cru].wx4!Y0iɟȂ'oܠ.p2t8d MmVF6TR7}sm]A[.C$1:PI3IXX6Qk:2}#~P!~PenT O\̽yTW-W$tBjNMB +)/rSl/ФXs$=NupR>p$ U+b@E=b+4y714־o8CsְYVvY1Sy aഠ-ApUAb%EOr}NV a1 +0Vz)'h\PÉӪU| Z, Z;8%@eFNe>43Т󱢃)@EHmm!{U;_3J#ɲD"[Fʏ}$C#Y T+.qT9<-&nBO$N\ QmH^4륾Md7QZ ʬP.r5]Zqr^KvDD63l)?L\WWʀ}NFBB6ݑ}1 eNU +}&pR{5mM+Grr؃\sk"/κX*yi9/>A{TDodXȻ8ɡ,A (Rg_AK| ^n?0rTX#(-KZTQ,1c}[Ffr YFhK/7:ru'cC05+ӽ9""MR asr!":6~-AkBDTsTp6 "|xPFPn<μTWoN #@\-^YV!8]`db#3t4fYZ+DO !iĺvPBq.ǨY;\r֓(Cd "'Yʼhc1=0"yd_j I_g:@&$?Dmyʺ肕hFo+QYb/9Cr㽕.EsqGFM +ʶ&\A֍5h8-ގ2Sf[Z ,F 3OzK³+b'EQ5ˇA?7`ԣFr8"cC^WDY_v#.H_}]IK.X[soП횏ǐX sc(, Afyf-NP_oxxjS\LZ;fAPc(GL zsRCX4Xy359Gϳ~[Ȋ^K3wM^9kk?yU֚y;Ƴ8(TQMzZ.gfRPoU!"^f_üTX`b,an +D@w6{) w!KQpKhb^N&9$,L+xL%`aw $%4T#z&$f q]3⥘-2ceyesv l!tr. +C +Kˡ)>O#h>y +}.iWdC-|Js; /Rc@INTzQ˜ZU3;C-GRKܬK-sQlC-kU)*}2ڧk|.fb,an^BYb72Y6gL{ln^oʘGWK0< i׿ $K*_Lh<Ptʣ?^a/W:iWݼ7 yye rxeXmA&D7 +cYeXNb,anFY3Orag܌2 hb+]j1(w)dj e4. >0AݍU-L&%*83uslfiD2zmXF8#)e/I1;.Fy5Cn4L;A6ϲ//N:T6T hGR^}}̎t 6p@/o((7&*g}~ZR~O807ksnHeet\RY@g(3XέE*әP0 slE)rUȎ3^-Qv QvA7̆JCKs L@F7pʴ#dEssʴ<L7u~NY[(@~FI;P[% 7Hej͝Q!A' .n {TUɻ[:J'e])|ᕵVLXPm;}fl^,49 +҃m3"7~$ƀ;{%B^ +V9IJ̲ Op ᐵOlǶ!/ QoMŘȇUfk8a砰2E/41U1YG]1kI/li?&3$2,hfI(i8Д,MBJ^國K碙spu{=' BW4_zז)dif@tC$[>'A"z+M%?hf $x|ifT$(ğfvT^ه<44zH-ǔpfvZ3; K4; 4; K5; 5l([klF ~b [oq}tdҚ'&EjI~M..S!(_1zqST\Z?ٌnW\.Kᚑg_G17Ռm&AVbl)ªe鑨>+0סBq!]nYJxw#,S: zjo,I;kmϖ*l7 RP/׌=Ga(o1!CkFXݐAm`^YL9 +Nu5#$%F#;mfi$n57Nn)x^sv+Oǃӓ@>y&yo=;nIps]cb?Ⱥ7f\dFsg?ׄCKܼSئ jC) +H&^;g\UTt=R}\7Abud$,xs(oD̅nOaA + #v@ܤ}eA.cpG +xq:yὀB]dANf/@{VY ) oA2~JYuk^=1VJN J4Ojm.N7=֯CN#:hA]i%^G?h 1ԡMs[u\N`"q_YO;T +(5Z[H+MLCUN7~ʊ dQ|=hƻJ[Y&l Jmr{ˠ*Gq!\Q/m/=2QdMKe8ؤoQ*, Ndɲ1Kv qd8SUh@#LQr=oT˻,."Fe`c")i/wcd3AO 23\C H4u!nC$W3.A!Zl. =ţ9t6#/Tyr6zBmm W(9Dlz ۸iѹѼ cۈy@dA/4G+eQ/ I]Z"7?e~4)r!e/D bmB6b;'!o)BZn'OnЙ A@u8=Jp^m$cRT[`/d ʉ&u#/8Vӥؐl9;wu>3p2-mN:Wғ<=B_S9g#^O!U3%6Yz+oIkJT[2w]Y{MpEL@] @'e+h^[>Ca.XP09Meu%j x؄edQWڗHrV\SgOGNe +$Fw>L 0TrƽT}cg[y/ ] MiUh>"Fg:bS}$S@]SC1dO* Ku!\ӣ_.zLFu, 29;$xYGvWо8G0Q|eWr},"ӉE5̜uFjwn}dS['s<—G}B3,brC%-SkbwucCp_Azc)ht:vW'@2a3+3^zӊi;W7@y H+T0z(jH|Y+ brF6@ AiAoIaȳ  < x/G7@p ºp%ERiL@Urb ,ܨz /3k#^0{o> +6[YM-- KTJgHޅMe߉)7ѥ\GrU\몳DWN ;)_K~m Q2 X߶벎ʪHTv"8>R_M̪$!> ɌUҔv9G"3_0kގ(#HxCA ̦kAt$mR]y8 +pb~֞PQ{@c|Qi8*m_A*PE Xg. L{"O*ŏ*]z8MDˈ2 4D7뚭c/hV]_,*1e5(0cY 3Ė1Sq,2{x58C 5,? 'sՐadѽzB#$4ToUg CX_測5EK|P&gM$| ^.ӊe,g^d,UpiX>q=dfT/iC+hUUcEXxԟ[rˏSzLۈM$zo YmuI~T7jWDDQ7LaSyCc'i]uXP!/_#g@/ +Autoukd#8=r-EVL^87m m6K|[{/ 5$CI{vi{; {; {v@v17m mu kpbnIQT[EV3Y(?UEVHWQV09(äbC?72T"4nڻ5q3veo{W"Z[xa"V倖+n6+h jܼ-,#7Ӓ + z +@Ld`{ %gcӅ%?ףּC#%3l*j!YBjt}yoW v7-f1۸yoesM'qI{ chobiotlL)7&y_^7;iA+_~\[><l ^ގnafֈx6nzzi){7Ѕ$k~,/T3jG@>>S1޺7BSpGn)yc~e^|aC4yLd=ʨMy[&ZC)F{Oͮ[Y=2X07.= ڏK|!9=MU;vRގ?`c +6;qz9ftd؃<߻w('?\ OtdCdl]8xh!ցFo̎IJ֖{BUE2+?!ǐ&Y#@4VΎb ˜U!i0r/="5m_IFaqiN͢.rj!3ҊjbÁ'62#:>.AY?Ėӈȃd+~LuWnK&MswD_g$K2#iI\:Q).+=cdM~ rRF+&A V!.6- f[6>.LUcYX}^ըFlb[,D;V_@W ÃzttgޣCSGP\ (q?&Z&y\?teUf05~fpz q "ҏ3I#Ъjv!>P|T^ܪ18%ЇTJZkO ِ5Zf]%D;Pk)DM}?|mEj_|ҋHa;}/F{' d4 +CFKQnAtXeSPR`˓6U{pm+tg;9z*>7)3rNv5X, ը5׃XK5IeD/hB vEZU$@2P\udU*J'\RBe&)]rAد -Q9))hyYcIЌJ]FZ58ʿ hXdW@mL%N K< ],( ˷w@f}Ucy>r/L I2QBʨ, }l'4*+miP/YqЁ:)Tae#\3SMa=^46% +]8BCBٶTCSQ2&9ڪf3L5x3\ > (,9gz 0܉%!&ZvrU6 o#/~;%$ ё@Ii"wD+GęmlD4/J KۛWeO$!XQj@Wʰht`օPX%D $Ǻm- Oҗy*ٴ2;~\NVÒz@@FzpC0'Ϯd业t7Ue*$\Jhg7݇3G$_Ԛn1șS#=}Zonp&|U"i_DrУU% ĸx( |a,ȳ/= <͍wL,|Yn m)RMU!q:eGעЖ +UӃ6?!3|X5qrVY$ 2ȚjLїP^8q,DIJ5ObRX[mD1g vDZHr,Tl3.~$"L2x +\H ݾih3H1&t|APwHYߗ=p !n*K0Dޔ~ /NOHE:)l]j؍tȪ(O/dUU+,7?+ţ?(TL k-pBM-PWǂ*of{_@

,%mB|]\sY˴Q+_ Nch!b==}7{ovFdXٙӇov;`K#>S0p'_wyl9C)D/ ?|(nd"Izrjz|OX/̩M䉘8w 7U;Ww/,^[KGH`OY 4B71oPρlx?GY8ˍ.g2?ybwVD+YY0(%=yOk?&STeF3gΉU\YeM8'2Rp%;! U?†s@s@sA .HPpr;N܁C9ȥ%.p?)g rԢny+ÍdPzu BUG949r;' 03nv]|j +R@h-~c,kRYAʗ/-"oPK3 OlrIH|4{#d,Ln:8҈zvqrP,袜׻Ĥ%$\wrֱcJ#vl'5rf >483QJx  htm-nG8&2Etq'q֕%ix3kagqv68{8OY7L/)C^2A+v=3_NS8' iecC.H!@pxǨIILaZ߱ hyC@U nĩ r NmA&ZF< e ZLLJQ Ol"MU,G%Y{2ҲBEȐ>!=!=!=!}ń~q|*e'w(40{ܐ͞C`c +6=q89fpd؃dР!ٳV6:嚳T7%?dJy/pĬ&ԡWY ؄U} \@BNrHQ*w\3rs>}/B^+/ف\@M(-'p(p"pKrYb=Dcx7לiک9/YNcLʔ'J b謷bR&ᇌ{`UeN U{?<.bmzm}cGYn8f|aTЇ+aMlhuw!s97̺SPJ]ϡ2 eqg>,]p4m k$U]5;5[5;Pz'8K9-,,^Yd32ً2qb 7eQ%'1?k)ao/Y +04@D^Ils2ET3FBR] +r?S~\9Q򂤮|[;@D5D >I7ݜ:=cQ4F]:a^u +vnl؂D +:%4>uw+ -7G!s 2XM5bߟ7䦚~jf\sfa%wSoYfk:T{D>k)qf0jObkfY)yDWLM|rvفX]\3c e7 n*\mMTh}%K&Cerfpigm_Rd>i8;HxF1zx2-x +WVVrq*V HiOr Ζ7docQ`v a!Erz) 1-&2~1 gMy;.%%%%]͆&/9+*6T^ Tr/5+ YrFDwMy@ߜ&{ΎO<,޷q<U.cB^ŇqčF>sF"A=.zdZ ̈3" @.o{nι Zd)\65B:sP};(0>o4bHqZ;(e}7F2Cyw\XYwBQs(a$  kCMQ59;8"i񌰃xIgq8g1Xb,a^b^ a8l˗m l{/m#&4C0ϛ\l3 k9lsQ>6snIEJ~"ėL=LC9e9Ml35)l38HB6[-楚1A4GB÷C^T3%/ʠZjLT Ls/5F;!Ƈ"r:d8LE\sizZ^$s]V[N=$@WJ1J{d@wE+Zk#&6 2JR(2k(RTҁ@< }AKl'䦙霝ffh؂Oagj4 _nC3<)3^qif&~Y rZntj.uUyl! E|S&n1EX\ 3[Ejimu3̼l䦺}a.q5Lb ͠I b\дV9_rdP_GhKs|2ʬi \{/1;΂/X ,ID]9WcH@iU~B%@ 'K^_vR[N{達LoV5&MR˽87A`X,h%p~VU^T~CXin:_2! C &m/ ijCjE^BvX >J%d*++?hXu&n/ѾVnsTi p#{ u3 ^wePO?%ǒVv).]4 ;1Jɢ&u`0kB$,y5Ztۨ2_EM-U|wt YH&e% JLUD뗐i"ٗ*ArSJkr/Hh1 D+&B? jƧh3_StMCpr'-dmT쐣!;2.k:PN(ĩ1XĴntDg$njlC25y۲S +oA4en2HpS |Q]k'IuY&#v5ON8ý #8qqV[1r sF--&%T]3zAN4FIH=d +XzDsGcjw + +!vܒJMA2HТq7$ə5dUD:~݊+zn6Q&HQ$ZqZӢl*"%{) Pɖiw͐Aܯ//ؠ,gTG# ؞7dr #~^&9TT&tRN;(ɅIFB~= qdTjkTY<҈!Jscfz rAaTSL>˦&l(M[NwN=B{VUq>L`-Hqd'1Ǭ +,CxqYocC]}4zGp6}Wѓ/?uƋԞk?9tҌ@ ݼpk?B2IIAMTr 5Xf !ߋ OW/b_a+oU<)/H=SЖǺ8\}qO;+ƺ>`y,K"RۺCՕ몬v!;0R + '*ĥDKoD+i2½5qǨr3WwK6+i򶣽*2ځpL;Jҷd帹EՉ^&L[\N7tp:7Hs1[rL`!\hȁ-7CtuMFdDz%rb$ơ`Z};Ai1+EKm-'<ݹF8>Me7AlW#wOv!Ȯ,]'uN b!94?d0>JSP5F7AL3eҎ".qi¥tAT#e?W DYӐ)&ڶvqKhُHI?ٍIlBS+m};N||,yVP1r_jm'ɘ;y#kl) z#}m^*;8v bR(ڧN:b W|;v,۲IMdF]dujrP|$} È%aϏ,O2|c;: J6<8^~2 14*+(pA`'67I/ĵ>.`J'! +;TX@*'4A!H9v^N UؗމQ1c\%3ŽxM?N*z\)n;wJS2ezN*bԵ}g&џ9t7MYD/奸xI-m1Ň&S_J׏w>;eۅ$W'^[$7MQ-,yI=,(RqXn pNdN\T  m˪q}cVL[^eh%RR4X"=@ u@)v5WY_6^(ۡo$#mbwKq Kq;Kq; Kq6(t"MRW&R?.M1a)eC_ԴsRX aŒu!= YVܗ4ERJ9˚QOY}{pvIqer!v!/,,mA,^\FCvpn;춋l7e + ֲ| cq_F0뇮}D +gBvsYo!RWهxdw"dn^[?aL{˗6d7&ѹL̹cǗv@vA7MM+m9a`;ю%mﲹn<~]{xn[EbӶ7*|-P.襾]K};f8A;8.T)$e\ރ$lv%-,%sYSᾭc`c 6Mqʺ;ftds_R5NIDUz9Hl9lžXW7Y|ߪ<%x+\z^^ʙv*؞uj7TQ>=ؔy/s=t +OJȽS$<*b\o7io՝ڽTЪ_סW ܬ;c*P pAiFp~9{_b̨ẕ}Ǥ{_d\od 8SdUyA]OWN^{24RԷzodocodot +1il lBUeyZZͺkȠ }评|88 <]U)גfp$G_jlɺxFg81  , ]ܷ3/L徝i}ogq< A flrxo ] 1NC}ZR(YܷaeXI9+,~nZ] ~N dB?{m=ܷ2ܷoUo~L>o ʗZ[h ?ӒXq!PH< +ņm]>og̷1̷oQs +;fCbY7R*?N| ~Q\0ߌ1> Vǹxo&F,2ķ +ڦeݪcO,cǴݲE/J"6N&INA]eA/K|;_eogt^ {ۉrxt ՖO-{ch'+H?ʢhn3{v@v@v@vA/^NV )ӟS|yof- +FD3BK4a8ަ5tsXs_a'WY?[z?p't(n ]&GT24ԅ(TѨZ*9)؎IXʖ[૶?XМ"B򮶟_٣>6K/!N[: "IL.ؾ.'FRH#T %}|?QF}nT2 7.yoJq#BtDiwA$ Ÿi8$ܱdBi}!~znp?M+R@|6J}b&.]Zv!%/c+ $Fӓ%a␤Z~!+P[YlN!Z>`ڱ[?% t@'Vk e=s6CتɕSX TXnXK2 Z"9a7c@"F11xbi)ǎL˵=BmHsd鑯fT Į G֯E ã/A˿':R^ :rWOmL{ +8=4(+HLsڿ0Ӿ )%/m )fZ SXeZ_c@ $@DQʲ]9Pv92l/}Se,u&gB##>~rx2Q'qXæ|)F 6hA9SN3M):yۅ mHJ9bS&׭9ή +]8H+"(D m+EjHEG{uȴE{6"Sjtw@F\/&L\.;$2"hzrZ(\^-hM~3\͢ KA*GbLSR jQP<ֶ܀bJ}(= +QM$Yr.A5vFs$Vr΍iZowpXkyD\PsPgi޳INYwSzX:/QҺ +\>\B RGHQ[+!5j%#[Nx;V E.# <0Wz`Urݨ3rϲE#"91ቋK'2WzuHJP8a.XI^3(=cX1O~&z).O6 +Y=pߐąd:͒ٻ;KBmYTˑwJJБ[8'jnz2tZqtsdks|7':hhR@D^H;ћ&@ѴGFN`ՠr! PVDz$ gcF) zu.&Pvl aGvBPR$*fTG7jdiඉtI28y5pA`S_IfHm8ٯ鯴=gj(V,H=HO4y6_A^@3;+cOAQS:Bko !{&ΡgESv*,ݜV"io&dCN-N(]x9y d.y+X(ޒbrMwm%Y +aufjւ/)T(5±\jfUJXff- =BN\γ{\"f&nE_W/|vjك+kA׼**M/!Hd62O6gM࣐kT<%>6]=i]6SLS8jٜVTΈ$k@d4q͔Xԧ5;5$j6#cwx-lfɣUbMP3K6S0a=6{6{ 6ma0lTC7ۥahbY+!UyZ͕H3y͋nʼ0ht3g4!&#A:KE7SN*A ٧FڥZjXn =ZTwK]Y=|3نߋO9"NŤ gjΑ"> g x Vp3(;7*%3U)@ Et5dRnr^LsIZ#3ʧh$SsXp6Uqv rjh= 94Ty22zHgdHgt˩0xų;rZKYUHg@P|x0Hg$k<Ӊzxˉp/ &[Z!SJ&SaS(x383djV%/y7Dĉy!%ȨIlz+\vdMoccEظY$Kn_Ԩ᜞/BJfqAƺ}gf+^mqgfެ g դt+OYB!5j8ksLJ6a^11[Hz~/LBa9wr70mNJB.YDR!3ɄF`z =+ΔWs:Qj5nd*˫Ҡֲķ4>1$81A[ʂސݼ 7yCl)a ;0Ϋgl(9)%Mn=222PI]~Tվ 9rV~6:H_$:K̂ա=Cngpz8މ*yG1v!8lybTkc_5"VԯfωPcrڈ3zN]ި4Jl(xxrާ>P+&I9znG:;K:] Ig"qJ"=K\Xҙ6Esh}s'Ѻ^u{T/|rk*{%~5u8U6Y`rRܡMWRxYgy9g1Xb,anَK7;S`f3n6 fayt3`]+^ +*h8\t3($#BD #n.Z|_;gգKJ DnF5CtJEɣ8y6[%-ᚱBTÖtԋkZ EvrUԴR+jlRi VTR!Dn^l3/ϡ O:M5#f&^02^ll`^8"n%%C6;ZqrI4Nl|cd+S" 62Wmxꋲ}B"C"?2ʻF_fWv\ŒWnx{o %dSi/눏6*I2xI/hhf OGz}-j( y8ҋtMH/"Q1\-GOD^E_er[xPON0hu9LG0^dU%v` uo[x噵ݭbvud0fD6>%YO d+X"R jbl6Ct9/mr#(&^)n$VGxެ:‹d0}`,x2W#W,1*qY +-Fdz dGU!Ըr_10܂DGxHUQػu9b]A},ҡ@(B:q% Ȫ:ǂ`]Aѣ!DGID*du:,DЇ +UKd(Cτ.' «EUFwTٺ]u *ZwJ,w:Y ѡsiǏ$(:@:bTN8 ZE0LU]E%ΝRqTpbo\mOQ8bv["H/m KmJ+Ϲ m=H+ZV|n#FXђFXђFX#_aEu.YKtaEKtaE6Š6Š6Šm-m-m ++,/A . ++Z+:LU4LULQWF7F#%%]RۼDUvF%<3Q666XYY<z9X#hWT!!܎/`c +617x3ľ斱EBUF}* $Cu#=QPb +*+%7Pͯ a$݈.%@\&mA]W@$vwihı,S;sv(l(.ISE1IL>au]NڤoG-/ !dQTK!CtpSJ +hͥQpIPhu8j /Z,AxDTeeDes(\營(Sp\wS;8zu=lXIpC!n >Yw TY(55G#A{=Cjb[*e Ʈ?isT$P ;p*_>T!{Y;0KGԍz +ʐ]deND$ +dŮ 9q(w^$b^Ǿ@/7i-s[T}-Av1]p4Ty9H쟊 L?^%HZccg7BE*ǽ`5U;1 z a13zz,AE}Pb|Z9 4QW~z,Lr(L;I$̈r׫E/3Cpb7ZKS8p oQ 67]%D;m粴|4uZ4p5Qa +CFgFp:NX8v54:&~a8쨼]n<5Yݰ3[)ùev] VKZW(C[8=i~ܮ _ˮ*3hҋFh{ v,g.S/DfY#AV\Ie0~;mIu]Ee Iv(:{Af~?G?,! +e]]`] o}tC~sW&z'⫢F'Ja5WO|ER/.WڳK)@ѥRJR +Pt)%RƙQ\JHYpcsv.DVmځW?!4Av)A\5qz*.-Z\|G\SiFY-Q]B%S+sSzeڡ 9 +Ncp( Bϡ'5 3N>p(oe]^GѣQ:ޥ\J6PN%5 :| dh J6²dʂSb'6Jn5L]S;m{fKJM0C9,>h%.IttB$))2nT +Ht*%T󼸄s=UN:Npt+H#ܗcp+yOhdJMU[7fXIjʯ6{`oWN|eo\3Cԕrʭ䷵EF2"↊ӧ|A¥\8$|JQ֫xu(*Thgg|JZe>ERNRO)@ѧSJ!UdsM5?+6Vj WzZ8? +X_>tѥxUމRb9]?4@䘘AclD7L}cjő[6nRn-G|s[7kl}3.=~`-[ZY$8W*%Vlm 72&d\ŀm? 3ԛWI*6g6]$C9{A6|f1b);'ixS#9qoN7dbڡdχY$͍ MꃋV$%%N~stnŽՇ#7=%X wMm],LDi!pRj#k(wE&<[oQ*wncs[ܭ2i:ڗ@pe(=.Gdy_8:qmiFQWِ_~{b~8st.68H!-PS5H2MX`#fx.5.u0'MW+^A +.y+^\eeAbn$rVyniΟy6h;$.}6thM s FbT[{EP}m =iA86˪ġ%ptQ2`([A_t&=>qK޷3>ƾ%TޥP˳x |:8+kR*7kq/t 7E ;9Vf &6#4a>.7_bp11 %RsV$"pzʍyK? +~/ּց@;=&[-ˉW<dpx!k>2@ꒀY0źFW9puCEnZ6Y"sQ5lj{7!N6TmN)|󜡽ȍǝ]&_Im]T̏# +FhnBB>],ZxcAmעh]Ex6gyGh,4[M[2OrzIY96fo"en{\<.+(bҵ/{kИ i0ґ׎񚧿800c67yVez/Wk1+8mOb#?$l'@ū/^1F~"4g xo#!4_L~bChT{'$?F~!!J:r`b#/d?F~!!6 _H~BClT# Hl'AF~gCwf?6~!! _TW-qλY'\J!Ac +SH~͡bh2BOb? : Pl'@&~n0B 6/&?{ˆ&~ωEx虈N'1Vߟ7Sm&=//RH +F}ͭ?J>ydWd^+G`ӠvD;ΪQ83xg+ Da N5C +m[LnFW7|Eœx&7n0EtzWm/Εڵ- "/+LY IO%Hz0Gem./' r'McBY3fFɕ'k?y"?*gK"GŠbߛccM{*'OBnz=Q9UZ_DKt.oM (:Bn{̞BضƯq*% oYvW›-oY`BTY((=/6Hӟ4UUry  ۂRcl4+qsEH;ٿIy + hI02^[gv{E8 _ZK\2AH}\]M**爞@n"~O{)C +&sichAvo:60ltӔ9ޛ4Xl?jcu9 KN.j|st2{qo`vȅBo=9] 1SKs:QF>Փo^"@ +J3[K BhrU^Jҽп ~P|lΗE˘E2WsT5)s5$hxOjB,9'_be$nBiP/@Z..glQ9\a&4siE9ۇn:ҳ4\YpUˌ 9h4ϋNFB::7c۬AIT]^|{ߪE1./-"uq`N{ qZ: +DY~m cߚWw}@{jsOޟ1-m*$>"CC{ +BdϦ9KIZI@%IVm\~RA `li fTF3Phcbs=nf)\5}@%0yz<7"Q;tgIyڦUOFÙ +216Z̵y1H.9]O;82/u8^7\\J`! 3?a,ͦO;z047̙"\,|"Y!D?Te!\f6SOI"I?džJ͆p<QBe*ҕ@φ|Yݰ4!Hݡ[~ ͩJsu {н y:*y7ڞ6!N6m|'yEoU1g.df8<#@T)sq^M@h,jK +H +h`~96"Qjۅ\Qy<="R*^?۸xV{ti+<@x%b˷KȂWjYY9L'QKAN큆`]K7=n78ȗ/,;7j2H_fH >E[ś:r>@ +liN>cr/1N@ĿjzOGu}SKnv]9~f@$/e(o%0vgvX2e ^Iyۿ:"M$-ϒTdKc۵׷D(zmΨ_|Ud,ˈS%8>N=­8u߇cKD2mQr!!6+>#:+ e CW*ot wmG538$JX +bEmc +jt Il +T{AJc*ވZcG t&ɭ9!y{9oBo:16;FXA^3l5RyH~JERC)@ѡCYOVCYx% e唲({v(Ezr(wт%*xQ!k0A~Vop@>{d%Ճm$0??Y_h6[<7(˚yfhww r'+-Y6~—;Y ϱeN:T o P18êR"5ހ"DtMaWs,d/C:b;`gh'NVB񏐝Lʝp6ɫ,6ҝD'mp֜'YX78Z?iK3yg*ӔC6Kt(%p(t(/$ܐ|n'kMʔ|?in&:N۾ua_d%(]C7Y(=%Muk;(-9MV1-& hcfeŘdE|u67) qCIۛosz⫢7)F&d)LVt_m2ʈ(ge*gELbҙәL +Pt&(:t:vu _S;z V]:hSRRT4xpxg289K!LWC 7G?ѽII+\#—7)0ћM +P&(z&]ܕ7IBdwd_Lxy]y云SIVG7*[yJ&I9b&6d w@?F$:S?ٸ"!b'2fX^-eH4~J{du09 _A(Umchq9T' R_^d*R@ӟPA7 ?i_E%09ڟdtHAe<^۟!n5r(̢'H) '~P6V#7B|n^%+{:;{%ٷDs'A2aDRBR`N #͋r+%үNO|JvSkV.%+rRJR +Pt)(]J :]J z;ZHEZ֤&(}^}!vq8+Si{T/S@>X9U#FGyy+S[|15 &.lT\%/CKFz jqڵA=p 5PA:r!n-<@m` +*X B- aqhMuW/4lPPD5yG,A6_y~2ie>JPu~Fmn8L7k 7)Io|mV4h9y)k"׼w|oJivdٲp:.8/2kÈ4~N{Ҥf#QEi7#U%oMĿF™XN&DsX̙biˠeRam-P;]"W󆤾Х H-ϻػ!dLP tES}6%lG0.JEqsnZ@g*pEV7 ~+Rzw&Kq (Y6uv\@s3fPmgcJlV7Xߩ{f^hHUcs)-Bqry*Y?eGH_޵`[$ކ=l2ͥW!DZU։ Kz{d]1JM4_H#"}8DacXH=6* BqH0oj IFė5%0uL}]תBޥu'p=c 2V !'p?UN66Oea`B⸤bz5U0 $AbHMI U&Vd^db.;6JfaUGW!J؇ 1*"!~`"F#qE\ ~0z){}kJU8ȵM$WQ-dL|]mb}.Xֶ(,Zfz5A6H#Sڅdw[o"D?0RT*]"-!&FkoyFj2sQU:mN`@0]nORm$mٕOp>Gx%~Tttα9򚩿'ZEj};iȨQ!@1BbFŌ + zgT C}bFbf+ +4G쐫)3*63ǫ@  [T1|{LO+9|nxxQ54Ƈ +$᫋V2bĐ5$n=z?2*hbq!t`DDFJp>\NpgwO+⦹<ݻ)&Y\rRq_ٕDJ_:S*myZfMRWF~Hq1dN]:O +j\t9 +oH`S )3bVNcJdJB)ۇ +SN eJE01BB +9S*REή}Txߗ߶NvÙRa ZATy +Zۻt5O;!I :bW̨Ω\[Zy2;ENkl`97acwr-*s*Dl*zT9s*WŜ +1:gN3"Nȩ)'`o}gLs*&m5[_LޓٯIt&UPLT!@1BΤ + z_O9mtE&UI(NR ˤ +5dRE#j"J0^#Mclgż-ëO]ۙTÕHFHp##$8 +r +rn`·wu +7WqqHH"e[Ց xD1Dė {%r&u2BR۳ny=ϛ1ΛZq<&7c{V@;JCۗ?r}ߞMٯ\7g\x rݜeu+)YE6$"_1)WABRgЏ\ z%宅?)=CIU\qKeݣKe_xCЖWZ..0s#t\!w}KsK, 6{QR=:ah0z[y V|u5 OB6煣xq)Fc|^ױn&O\L]߶slDiR +.f +LH+1GJnČ\ye:lr+Mj}Z]u! ;e9]Rv+V!![#J>f L}~9 +)mjag%_&GX!t܈ٸs$ +L+0!Wb^q<\11W噇+Vę@+VVLuƣ2ϩwD\#sGEeE{[ѿ?zu^2Gz/2iGy=V" ~5;Wd!˗Fl5;!u=#O$=..4 +S$?a×oC+rؖ64FӈrVwD`s@B;Qw슪%BG{Ъd|8Q tJpCIY 8ɉpn@h[ p^ RS3̘B +!{|ǏB@D!tF*AMDf>@u^$T!0w+Wմc].0'ZVEN.N> șmdއjbQ\e"0{ou(#wqSgÓs#aJY.rιmvr+\B+UD(r oB`:"h4$I`;NlOջo^[a{EY@"o7QW݇Ǜp$&{۪}XbrzΜрk",$1 fSG蚪h}Im@=f%RJ5)þLz-|E0tX2$Ǐ=NpG#NpX U #g4knpfi-iiˆDYNY",@p!ښ߾IU6qJ, 9AFN#KFZODž9(U'NC>ܳ/њoӐG7+ +$>>sݍTNU9)gEY,1',@r7,FlDYI9qRbE,ϱ݌Drl͛r晓rf6,й)7Z8qMg/\aləOU܏y3ΜΫa7|&]֗d(2f1IaI{_6x{盄)![ +31ևx1Ŷ}]{* Nrm~xN <9cx+t{;s6tP=oΙsެɛtuH;GP .$lv.Y?!+: Pd(YgYgb'M1ƛt&2${/9XzmWOaƛs湜rG~"7W̃S^OS36$)AlIoWzK8tze1ҦߤpLbČpMSdGBO>0ډeV"+7EE'_ D=^TdAAGGQ[2BT2J3/sKp|Tyr :|s_Ϧ%u#ޔMSgY2:~I@6Gf&7/mPBj rfYfsK}R΃bp"n 3ɀ~ ΙEGۼe ɗ}tofT@ޔ3#L6ȹ\P.uĄHAۊ'vPdtq aº+-.ķf{LA+H"(eB?J0qp"8a/R'mND}ıQ1 +rvyl=R +(wum' )l.oV)iAigCQ$B7=\iؤT(#&{ tB3=MQśRLm [vřk Ι3ѡ2?nfl_Gt#}"{787Bp-L'VPFķU*쌦Z6S4oE δ PwFuMԼ)蝊uӖJZ&zZ}/2Xz~ΛX sҖ[d KBP5hB;cMu-!!Ĕ$}a1[A@~27#w/XaDy9sE6~OqNag- @ 2? b./w hj$V \FœR]U tRq,0E-1n(;y 9g^+o5|Uso͵Y(].7In! 7t.fㆶ[6~bx4Zv@G ^u*ȶm|6?uNxNʞB&ɷ1VѣoGDYf)y+k~ t .Za d۶x@@#!NWwO?"QtK}&Jɠ9+)s?qNlM)#,u d^S-W+3c_ħ.pZ#^9.gETF>Efwc 痱ĻFH9(Um+PrAVnk6{;>ւ K&-B>Ree DATQW'׿?ʘZ9^\fYF1/H3" +fINE}KA?{9 [xs]QAyf37iW"yFs#@,B>|맸n:M]Mkw iVlf %gNWS7]9dx:$'kR$5-A0cB'"0DBst}r8Po=w؂hu.LK!M5畼 b~ A^diPv ѽC&(^\cvb֑ű?υ`A.X(3}S} wNEȾ:ޜz9$ !fQLOŮ@N2xp4VI}Xi?@TAMSmAj5!>je% <$mܣ7i )j;!W׍[OɷV[2- 1 +gtrmh; F #5E b* !lTH7*ᷝ +Zҋ/iq3jhoUyݾGHX0hQ{F-,Jzr b~|2Ȑ<ޏn޻ŽqkIEvs vh9gf"F NKk\w6 5>*+=%qvY=0:{=Ҧk%EhM=3?- /\R! T[ExQ.ˀaY}  *xF'T[YR@uŪٸ|)[ ;眎xAu::bpoXA^S[o5 y(ZZm8jNmчXZN9rsgnFF#߼aSuĵEixtw'FrUKfDEKӊ7/i5w/}7PFO +QDu&䊙;?":lFGϚF4Yo=GEv3 JNѼ2+Z==晌'sovNfUQSE&Csݨs9un 9n:n5o#V QFeUFCRߡn?m:C҂h'ے 0Q4߭B"q/O"tI]p[HE1hDl:C}6'a *btȁyDknҧVe(57isF+{kWv 44w(["-A'-@斠7œ})-;)(1>`d;Kz68}3+[&@|N'D}Uoc 9y?;x wR)aoIԫ3g+24UՙVy1JBߔoxWǑY%A:_Npߩ@nDi_ O WO j'lj nuM*I P[En5KSdEBd[3QpO'U:9lV2}k@Lp?}翼$}*T3qۅ +j76Qd|OncˏX>j`HɌ:}J&I 2S 1jEvL/t5$%r'%]8+tJW{He66 ނr:s%ʳIZtmt%TsF]Θ?~"p`2L F$(Wv! GKg\ Fx#N "gwN}0g#ZFzx6!䜵va$|a̸cŤh'rBgKp|مn5qK}oзn5 Ԯ 4![d4A9/?BZ#;#,!'a7##TՉԔ4h$?yP2!$yE)1zՑbϊbbH1 P(Rt0A:ҨAZѱA:ҺA:$s$9ۜ +Ne1:U∈$EY",@ddH2KЛdxb2",&$8a"srՑdrՊdrՑd>###T,@csPsVsspVsyUG9U+9UG9GYBNY,0'uUGj>[Zyf9yf<EY<iS RAR2A2AŖR|[:AZA:̧RudRNj+R1TV,sPw6w1'##|jUG9hU+9hUG9hUG9hU+9hUG92 Hd%22j2bՑdbՑd +2|;Ex1`uAcSd:r)9u.gIql" F8Ra%rjUG9hU99+YNY,0d A2KA2 IHjE I2G_|F'k^ӷcݺ0;(?{Rid%w +%awBނBuɿs]^[Bu)T$ Nj!%Q](3 {% Rв}`xKT2T)6]C6 t H+Ob]8PᖵFUF5Cxf|/!Rm̝(Hx.S|T$AB';;5*Յ~nҿJ9һ+d 2^ugBj󒸨(4e;`.qз3ys\X4_T6_R;odm+6MC*4OB ^W_e$owcޣڥ~q Ng#:`^oj 7i!xT;FH}[r \u~oSѵ͟~u3 sQ H +?mJr!|T`V[S Y.c~T$,u,BZngNЩ9%ۜNe18A4귑 In{p2wQ *^ܕA4۹\ZVuI}yI`fi_v3:.g#~zxsVeZaױ6p+e_^cU-SZ ^WCdX5 8[ڇ/__ Oj  Sƺm[ɴ~Ej د]ې4s첥|V2.s+j_8  op}@ZZ88Z6|xUTT({bk:cj򏐫yUIQq)B?*ÜgiSojIpQDRwS%%tN_l:%X2pkB_rwIϮ̳/ٜ.nmg "BBy[ڇsؼb?50]/!YMt@:DKY(Bz R8oDQՄ!TxPrSTlnيBb G)V@Hej ]H4= D:mC/Cz^E+KU1V3 +V[) +V-o^}(UU!XDRw&~xVesHٌQJk.}:򮿢`$݇ԫvai^ܥG=mzn'¹=ya/j +pm+ -U]Grr$O-f* 1> +1" | D.#qdDL)f%hUs ZjHDcC*<-w_:e_)zkj7^iF;KPoItsAd#X5̵Zoj}k%s漴Y抻Ԫb1/#sO&x&ꣂ&wa5Q:?RՊR{RR—ZՁZՁZՂZՁсH~$%M~G@~GjA~G@~G@~GjqD\mgevFt4_Ai:ATN,4񫄋G'w%Spz`u$`u "%$(oķY X X8 X XxT;ՍۼDGZbphb9oķE["-@xq2"-8j"}VǼU#TT#T#dd#d#Ħ-@ՑՊՁՑՊ9o|j||"| Hd(2tdA:l`š̷E[N["-Ao;jW;jW;*W;JW:JW ;JW缥O;*W ;*W;(WwbT1gTkPV\-Nx1ՑՊՑ>####Az IzKț>E#D}V;hVG;j!/*22(4;h6DǨ8HMZ@N3os2G'0a I)Q:Q:QZn :n|w ["-Ao:6VN7V+j8VG9VGZ&N@xNt%DD|Utln9rv%r\[do:p_؜ΎN2Kf1Dc\%q0r{ y$Vs]֐"$1YOsHkY|!l6V-ϊ#)LLF]/vF!\IWLYb;& ?v{RzKk#ё^]*A_D:{coõ=?|wAI$(U`2:zL!V!;iK`)p{k(J̩X4 7M`=yECIqBOٌ(1>Q<4cЩ +a]qs׿g/WyW Z?eX6'[Zn&51G{uN1bđL nnJk;g ]E"')7ti%ϱ)xZ &lb:Ps1P$@Aه{:;Ec56* I)Kc|xyD\m.8hʓQS+/!BE1c,f+ E՘Ϫ* b>#V RmI];djMTʺ"*^Ӿw:ZDmhx·+;fOYHhQ s0̔! "؎ퟁMu܆[szF!mO~FSi$yJ% zWI@l.\^7Q)/tI`fO_(/wo;>cxA aFou(ۂs UPnN$f4y'tK̖b_:A,$*aNk7kG3!kkrq}CfZF^b;^?4Ggc;nA7sx-O#b1nKa܍$ " Օ"2*dySTBޕ4a@ @!j/bQC8āΈS%hQҎ-sMOƣ)_c* Cʛ!xĥ!k·֓W|GfJ"h] ;5<R@8}ٟ@{~5(mgy/pZ@Nu+\(Fs*k뼽(‡rPZTuoYt9/QˉKϙA+Elbd:3)odUĔ :<DGlr[HvQ5'diɞ3R:DfR?qV8`58;F_3OqEk_q]bF984P`lĨo}?B )zqD,HC}"qHNo"  fY,.I y+E/fPTiGE.tRZ2}}_NPZZuΤ$ig Y@% +EEWQʐNHnCŤ)zޞ؋}^HͿH.-Ed!PV~6q m_J hnq=1ΞP +1Hg +YNYcYA/YA:ԃsV+ + 3IgZ1eO!{ퟔ3>"r刔oP.7~Q~0aU2 XK&scl8sf-v8mo-Dq]śRY^swIyH~rBB8sIbF}.8+ܴ ATr2B'\!\u!fɚoFnQ:m8 7 (w^վ" PK +NYCY,@''ZfWdgl8"۬@mV6+P`(b_x;2x@ cf0ԫ OFˋka@`∻6cnٔk ZT3P]{^' >u\ٵ#.b*îyf 9y[o2kWpO͗[<+^W{He懒yAzF=,ɱDǗ|Nd='#D&eݤ;E6Gщs3WA6XT _d3D&ĕ̃lDE endstream endobj 26 0 obj <>stream +r=7?fmG1_mɶ}o/`Y+16SbttfRv Vu/t.c3 hܺ$3DwLn'זufSeπz6XSƒWY:{9c 79ާ +m X Ď +w 1$ġ Ddĉ rE6ybZ7"}eʷ=66 5 ( +f +dfy1}yP|P?ne7`q9Ҧ_: 3uE%%#9݊2s)8qlwxp͔%],D;(#KiYΝcwne\/BpNLT7|ZŕFRBKEg)F~QM m8B",@lH6 P %$(&(dH6Y=f6NX6{%16lDqxN)t闠3^:0OI7g'Cl0*}tsQPaߜI=Lsl>_m6ӜD#aBkF/6 Pd%6B^7l*s~F`'y'eEQs?|bD6" q4T)n$aL=qz{JjdY[a)%Yg :YgEY",A,1oNF]EBJbof j59#6;B%my^W&%wlV:Q"]ñPos8(ꫂGy+A;]!p96hieZ&@nHE#VE|sD9b"1lVkH5+̛icwb",fz8a"\anƯ̎%l^\} ◣1~(Ńg@*,yf,"z_gti$+­.Sb9EÛi* F/4 Pd%46@VOi6Cb3"M[dCOg&5w4m]# +8sPG[`'laѽx`+ԁ KY)uv`%d(2J-2G:MQpZ 9b"1f2GL$1oZ<śc+Ez&ZOZ$t1ɃmSB; vd27%h=Q*W)?)/p)Uc.ЛȂ"_9B &7Ic.X섵r8TP^Bڂ೭f +ׅ ǙCҒ϶C΢:ڑ":(f^.^uj#7~qZ^ 1P-EI>˛aY6R~IsVp0u[7\sh13Fe>W/ٖU~8/1?H\(/.O9n0K0 0lf=#3Q4ƾ6p,B@_b6y/1|Q̅fQk|;6BD_V_alp\ZQc!WL|8(d}O;wզMaBl +z|Ǐ|A@;E(ADmg2jþB4$$,A',@_/ P%%M~d΄<,o + jŕ,betY7gAGjݑJ$?6;_0:ʽ{B}ă]^6f}&D6[B"7Ö}M^rrg\-̀dON#~!0i4EXG&W{&Hy-L&i/w&ebZZQ03^ڭ+Hn.d3U} J$pL̑WLez^[E?l 5[k˄F;L7`e}弐W.WfV1^u?f+1Ƞ}5 :ꨪRPk{:DYspt*u%lk֪*tന~2ϛ ڂRz4| =g˴L x2ݽ;{D]Y{el((jAzvVdCW_\җV㍟.0KRTb mK_Pb@Шml{V766' "g!fE/zj\L^bK ykcCdq93}Ʒ% +ƘC^^nS.Sj%b׆tJ{t2{Gqjm &TYCtK6@#-pۍ6ex5u ȶib[y>Q,:0h¦r`lk4iu+k~۴orHn^ gj +ٰo&QԔQ.HchiDg[*i(KV|8]ջ~n^FW98rj_b=8Č++Ձ،GA|>P0>\(w!(>+؍m07>|Jtkp6W +^C7Pv>7erx?JE܏¿F냠m$gP>^Yv @ Of'}=UFb}_ +dK!&,A6;ZW4WϢۊ-*s/Ϣ5(o'w˧ ẛ?~;޵-D$11h:F,)czbX} +e3 ssrtJCKv+Vn^$f%[^Bܜ sR&-A`ѓg3Y n&YkVZ[t0I0_;TڇSk؎Kb4ּ? H"H1Bܱp$;?|h3x⎿K\ S\]0*LIÁ`7]c-4ǾKYc#/R1_z$ΏlT_m/c8rn YƁȯ7$wHUU| c"RfzJ2W?NbXv4NwJb6=Z4T!̕&RPsӪ≚2{ͧfXiWE@ \!J(P.m۬m|6Bf 'c+>{UR.kB[-0ҖHjKιz%y*ue EܲnB~,PZGF4_4{ EjS :}y  ].Y8S9^}@{Yc<”|a9imĶDf["-@ۖxb2"-&`8i鸼"Mɸ(di/Oj+R=m"36KevvLu@nsz=PΉ(Orrh 2V6[ 3U7z8N}+vhv["-A;-"'ڇbւ[T{w +fҡG͋+/ILEb¸Kz0?wOf?s[ަ½zm"1IhY z;z[BNz["-@'j)F8"-A'-@Hq H$]B&~פ$7JvQah; QӘ_FA՛˙N/%\Aܙ>s{yj|o wbY"dQ'ˍٯˣ);SWby#2ż(;؝!dR"L%0c:%n:x/ON{JVNAp'^[EȒmHhP ;Ynj60fp̻ÉGQ,w]D~>m3e/aB6yi'9ծhn[4^"͢hnVoY܈Sd;ї"Is yn 9n:n6vBi}mrfQ%3[yajFL!"ltmpش BE"y NCm=c4J:0v*ɶBCd2cL@3os" F$1L9KP! ׶/)nl^O^" lD_ % Fn :nD4,j"L墶I$PI +i_8a6Y-A@2/4DwpsNBȏ:}18- C ']$\t$--27,UlagMp PFy(vNu8YEv#'GoIvq/L-KלԸ?ndW'-ABHQTlY@!I-@HuKIu P%h'biP}i\v 9IaNn̺x}˗0`'YQQPL7ES >m&QŊ| ԅ؀˙|rO 7#&GXAN["-A;- Hu P%h THuI=2N:.uӒ+Ӑ;Qרo'M{qUbkR(d_QPX]-EPzWMu @ ˛mSGz=~\7y(|Ju P%h纁$l[~6g T?vr+uLB&]4ZcP_ .|+`P;馁X>Eb`qnڇ1totNe閐t Ɉy6JGj`Yn :nLwE[@"-@'ij;bLd\&/-}:/Es A^}iI'9g6G9IֵܜM+ynzvZXo:ynzb# +(G,UnoSAt'ˆ۪"6L̊@4b• X<_V$eyPRRz3wy: 3tݼ=&Ŭ]GY؝(,fpo݉ yj6p6ifo["{o7;A6dHr#YZo\Tח_Ec4l'2aD[BN[N-o3ݼpG=3*%zmE^ên3?% ZƭE@jIuFP[BC!=ƛr8I|{ܿ$EU˄ M".aDH'N1o6~ U62Dif]u9=~rtpn\\E[v" .FUtA\BU DNA7{9 +HjqD;9_!^N7N藅V{On.E;" TA ɦiƒh(X!PgRrg@|i&|tX ,n \ IQzΝnM;mr޴Om9}P +[>n BNu38Nk֛]TOe~83:qijhFB Z ؽluinQ.M7EwV &TS,^ꛂ[p/.J$*t8ԩN3t[(Iuj()VV@ukAu+P5h#b YWtoũeLAр̀e 㑙$u<&M/A/Uʢr^m̏' zk>*yK]cpUQp|u5rp +n ڸn \[׭A׭\[MNuuqby ߎA.~ +q GQGhLu.`\_(բWj1РHe; n+tq~lsH`vD.n +\m\C jກܘ.󛐿d;w% -n 焓<a[]M: OH˻@XÑmlwsXT7+ur +n:h1,~PK F{[v֠VvGP`$ +t@-[kbQ6B@݀쐧-wdݍ3Gԥl D^d%-n@~$M#{¾ແа zSw۾̸(0L첓e_|7/8"IZҎ[n5q@ԊT!7bx*LHJ9˽4{݈3`8fC$t2={9ແjExr$nی'] 1wv\< E㽊=n@Iແ.~~2kK6&p>dȍ[_O;nwkw+wm5_R;['vq  +{' m?ᑖp@Z;p4 8RDk"Swϰpv#%.YǏ'#.lo"6U1x9_ 1:qpB< F!GFJ0b[л.n_W@$֠Aw+P5蠻(@h|h-Wbcte )} yYR$#9 +6{"tsD, |+/{ɺ4zh/CwP SSˮEJ? G aVl[fh + ܄:ފ9\:&ZysC h>CUōחeBhaٶ,`' w-ZeNB,yX o|?RU2P٦>6Mo4#@fDV\\(dSڲhG ya Xn-ӎ)uҍ>7Ž/->r+Qc,BguiI ]o@p\aRoor=3ٔf4^3q2G=FfNh8ߣK C10V4`Ի}~g.Mɬ~«׈~ LjޜLMj&6!]vD2D; ou~h&3nN#jεYԙiyц`7rB?NsO#[6 DoI:ŒP%Ҡ$=JE o?) D i}}r0݋ynS)/Gz/{.n<;qbr&ߛ㡟,M?cu{jvR)6z&@MgǶ;N2K:.-We"# +}#Ky/?s 2_@+ů- +؛b{]+BlЇ8mRpkGdUqV eBM t[lkںXߴT3Mj3JU,rGɴERhqƕ<Q{\>,dXu^\"#QbYW!job:M +?ͽI1|6\0xF=w(wtPob$Mƽ-#]0/< %p@`_Xw[Pe]ԵR>[FÓPbٺ '3[h3DzeX 3WL#ʤRұ++e4h}{OwMȍhVq'~f6:> [QńÈdrUphˍCsO:Gu5^vЙyu?##`LM>]ެ!ʞQ(VVBAw&፡4*bf'>M,CF#aBOB=QP]e 6L3cc8RZd,H(%7Z:OwztXJ>W +̯Tt+GIU,!瞊3`r}&qgJ0"gEUoGm#J/OJ9"qIntן44#;Fgz'hh?m`l<>4nȑ{/dЎVcey[>!6UWE] %<Se4Lynw.CLqGXg+p>#-W>&x7qPgwt>gHᇃx~T-[V{Ƅk4>4I/A7t]$[H ͭ?c=vce6n ۄ~DﴬHb7YC;c֠c +4]'I6 vZg]gc6KI[/d}lNT@~W9gq2{MeEأV:q{BVSF< /ژ7X HcnJVKAN1 U/bMў91§w!f*z)^Աu/{V4e㝻"&hNh֠hV@4+P ( +覛Q[s0^v(|!#N%v!$/jcv} \{1?,Ί3{QlٜOx;k}(ˎPWj*4y>3YWiBf̸j#" +hf +4YvYaͬAͬdY2qj /;V._| Kd\:՗$$BInDٷ'[S7ϯ8ŀeR?9fV/8c5ur̳tPMF"BjJ=*YɬA$ʚVş$A 5L1[x^1(RwHbAȣّ$@L>c-k.ύa%H( 3|ϸ`c~`5`d`jҋdDJ_VT( +s +e +mK4vTL>eh&ޠa]ɓlZ䕍]v&Z`l^d_&[dE4l;i$]m1% +}.qC +H栗eͲWc)%. + ^/ +[4A/ۂۻ7z٥,U{˃^vO;\1, +['캃Ar" B,vI0+H 5h#F'G^F0Z`:`v]B~WY="6P}.HѬ/R:tCEvjE[,G.nm#Q3q4&U*bH=/A@? $F'ApVC'<: įޥXv^i!zYzYNzYa,@^֠^V'x'ۓUR'(F iW c:L~Y83N"锨o MׅU..Ϯ6Wިh[ٿO[ڤDN 2.D)}m><;Va2v6mu, +zg]KJky; 2Nv)S!Sқ{Ǵr_A2R&4]bi@LϮ#յ=.a8EbH?]fzc&=5~vbTu0g=$AvBxѯ3! sSД1Z6.XL'1rE”Ǒ .AXywyHN0[.oH\^ VʜErY",@\$x:#T8dl\i;8yA{E~Y>ezcf_6r%w\~ +%!ROG6f8G̕c ,jN9ZN}OgPt s蕼DZ` shf 9f + l牷b8"Acc1 P%h瘽gfoI1 Ly'LzâRxfo,3-o#KM,Mf{W1A0mo:i%oF3gq:w_u]/hij˽$\H~V4MW.d/4sBF\]Iŋn' fWkRHd~>-NyBTq!1$bN_溼VzN3QHjqfy.+,a;WN3| Emm!ZYoF3g\ R?f@ /'LLU:+ 4DYv]Ey343!m7":Yf[Pa.z2__agmgPL-+ \q }鮩 HezYHAV8w;3{J(HRsSELH"M@c0‘3hU1K^lӑ1u3*!8yf :yf +(kA]ZD\!eSTY+P8cOv +FV'F{isś=kH1'HK ;bPM^[~4D7,/d+ +qtVmLs劚RFׯژf 9毠OYv 6vc>:66NYEzעR9QlFL3]"e#qtfy4WHNЛDAؓPP"~.48& ^= Obv#*^Ac83%qsf5ߺT߹f3?kEeН,>]X~S?eC?G>DZ$-jަPgrɐ7Q| .Ɇds%|^i\eL A𦋘os,>pk?[y<bǎ3cr.5~ <d]>6ԕR[IBw=8wPOwX쎴;ɕ,A]&;OIF/|Bl )m5^gYfьfAgO +e6&н_|OHGYa|e "Z\![ݻ i7Ξbsna>9oCQӴGTUtowȸMۀ!!d M +oN} +$#08:R^o"G1` ضj2rx0ݯ廡#_>șyt{>tka-k:?wH|ƛ? N=|`*vC֢1 'ռ@JBE:oԏXN`}-͜ iZyS@)Gb;[t\цz.k8, lPyaVml M{3׍ A/Rbl+L"8}2Ά(x\7W ]_sHDpҮ<$xK\Z~Ԋ]Tzey桠z,["tJ}ܿ:޴cv,'ܶÕR׼%o$̔_)+NAWW5 !Ig@#[Wk/N6o g6Eћ)5Ks+ :zi1hI}W\/\@~/=iP971;6 m_d15-v{2ɞU3M=Z/iqe4\{29"g^?E'sk16B$2T;tc]AOsMύ +3:m81yo5(NR u'QzZiu&c lü owB=mfi+xpg x(:om hu89+lwc+_&8$ꣂc&8ta|b&n|SUׄ ٻ:?Vyi!eEV ujAcjYMs o"BWNNbۋ2Sډm̥lfk +bSqۜ2\S+پq6S- +%h'+)SP0sܿ3ghvL@lуF۩@l3 6%6t0|lEݵ:㩄 +|Z +*jz\lkCeneir̟D3*@9osU98Ssh۬g6^L&Tu?UIcUG2tRmEv[vK_+~w\ ^DPFOv\ާ,JdzB%. l_C>º2>LuxQTѠ&tTx O.)_FXAN~["-@Hq P% d(4HsY=i4NvZrf/? (,7Uqdg;%4;;bƛԝ{Il,7J3v2,<7vΌ;{S#5Vc :%>Vxin:in 7i|gfw47ޝMshMJV}ʻv~Ƕ?t:˗PsWH& ~!/ܱ>yn<㘾=ЋDw ["-A'-@얠v%}`QP;åQܘ_xcOrf H=M~eW{?]Ԉ,S{["0?(,jF ×zvPVDQL=nWp,%5BH[ʢ!u&IHS;DS=$R+oN6A' hPrvכ3 #$/UiLt7߀[E}'|7~e 6|71TŶ7KIn7Ű>76׶2;Ax xKNyW0?]?P޼6#)oP?wm7 +lԄNylX!?k0^Hvʐ{uA6f|^R 6E28f"!萹c7!x88Iqd"7!aBF5fs3old(\@-@񖠓xG`(23l"A,6hcuYܐFd -pmxdz _N|giw"LpJG&Mt+y@z{Wl OF޳%]u{,og# ʰ=SqC{p}FRvRuz#I'M{.YXdNʥ D+v]#;M}DA$xkz/{jޛjF{nn7aG9c}QVz Pޔ ~?7w2 s9e3sEԡI׭LDS*@IosUA܌8Y9g*8<^@2bw+g=oZy.^ꂷ#9o :9oE["-A;#JQur~$7!';̑Elq =2+>[F8(PU|NL"^@B 5U.l嫺 ?A߬cpflta99oE["-@󖠃xrb6"-f8j"M+1H~<7Q,Oқs;3oy_G!7Ghȶqt,T~ |rt*8 +DwؙEr7&wPrkyE[NHQFz g&B Xw7n^OM8oC4 -S;P՗K+>+os`;DŕZ7Êw(b;m ¸0xoNy>eHy PƼC 0ٳ?lř)E[N["-A;=i\y"wʛrIFf;MŹB)ofFxS}vxЏ WCZV. )7{X-nIӳdoFxӳv~A_t޴F*(QXw貛hޔx pcP"RL( +.m'2\ǒ"4hc E{Bn}Ԃ#jC&+BD>M7oHW>xQhx5!/S3 .i0MxSnƵn}d.[c;[חʪq.x_TѦ{WIy sPpRS۾YyَzG7-1٠Hy&ʛ~R>dv€ gQd©(Hdz h(tߛrĴ(>r7'O\I+"( rT]b\H'Q:7oFzWL>7c iN["-A'-@ Az P$%hdh9o wA + .Fsy?8oƇDU{p@l.7yDX 3pЄ74;(<:^!LS@I/suM=csqO_E)47}O企0!]yt.{-5(p +8o +m,A}S4W4zD~aI@P%`9Q8*" (ȑkOxRf>o ߆bᣒE<?'Q,ea WWC,!@V@z+P ( +sj[LF՜ZWVXelW|k7H?yС/c{޾0.ߍ3lN]e}ޜ/j[_ހ`H+ 撑z6ҧfZ^@Vvtv]% Rh񮝍vG[:A/N(ݥ=t$ NڦoD~I 6nmC; !x7|F[ +ho +@D=N@{ P(t +ho ho G]W{?io a6 B'@lУ;׿r?osSߗbP2OY# \DmWZH9G*#ovb߉o?\M0j#^5%u `&}Qmm:ac_Fq%uRvKMRÙ3δ9 ac H / ezs'WF|Ʉs,@|Se6!"u[8fFN8Zv'k@o,@|eG^!U ׺PQ7 3{3yuA?oav[[C6wl1LJlķ,S_NsU 7[yh3M*;iזO)vO7tY4&׺BDJza+7U9ardi4ۓ'P~_g V)9?@>&p[A. $iZGɶ!@]7P3ޠs1XF˦\͆ ½fTn[.9Ҡq;h; s-g;0KS_=tQXU$4Y4 m:m!}UqM=xe!&wp d9e{t !$Įi^tU^1o:vSO4Gg=^|?dOa琣 c8Z9w4o>IRlݶzzW΃7oubۭRʻr2-XdM [xoKc@Ƈ@l)-N|vtrsS=#Zʷ'j`H9D?)X0ɻJn)"t 7[Tknc19Ƨ|9̆4&<sR.z`ypSVF?pJ\^~d Rvt+<Ծdl l/ zq@-:e +epF$&ro| v6ao 4 +Sv;PN*kp D:!ܣu$H@G. CIʗ eaL4)n پm40+B>frA[@:|Wd2zoi2uΗ9+>,2SB vtGo@ί2aC3/MsW +D bhֽ\.Y6!?٩>8y.0r<\  7[us"I>~PէY\ZV|ݫih+>̲MWnug_٠* :F@}of8W9{´+dP`f.CM'wl8JTUbW#U]@f8Q/h7ɥ??^x ' 6wՉKmq\'&? o BJ 9y*QD:v6G/>*blN"p 3L R@vZ,-/sQ}ayhWl, YcA&NvZ]gz!BkfM3ͩ& 0ѯrdD}[zY5ϝl!""}ko,YP~@63_9+݁ʬBXݬ5Ie`o sL2RGO̓ sBᡨ +NÅ1V6W:(?ƽ_Y H/7E9iJb rWnDhW9c"?|fl8yA:o9N+9GRg)2i6K6 L}rr +褜;749gr{94ie dfVs4 =]6nܙN0o)|S!xf+K1GY(g̢/Zh货eN,)Zw16G8qb ;Tm]ApINcT-ޙ9mO%(r8gh'Qى'[P}q;#6F"iAӽi P:Ta!Xgqɐ]s!u  <-t}}| rDk"0>89ƦLiTDEY",@u:K:K:a#\Sܽz^:vֹSC4`md 0ȈVmR:`7֙uE]_}nL)ls.vH;KN;_kԸ v慽vūlr s'Cw)Bv֙~řMDpv/Lߝd$ȥ;-.Or[KHKmD{k&B/b(Y@3jos &a#fJ"h]&JֹvQx#Yg :Ygs Y",A',@'# +)'=slH>ld.{y9 ͝ll8S"]Xķ9Q&oaxr+442K77H13f 9D!iNI$$z}c_gP<$F[ة2HSinF6T{Yp< Qi=w,ALy'kljDjN5VawIu;-~n +STo?!y  2m A&F]j-zsčC3NB&?c{|ySb\w (Qۉ; \~* fz&1:?Sh."Iĩ$!TSN/ EvB&!{D!WFDxnyxQCmpȈmκ>:o£-* Q+")ۓ0pÄVѳ.W.%pkNsu FY σTWlDg!4 B0/┙#Lu i3 B(?_CI3P'p!lӈk.YJiM3@/d;5mϙ35%Ui.\N&~箌Iak H/c`Wp ey(HG`L+psyA13G4sD@K70#4%EQ}z8g瞍d3[Kyz,4:釄c_& +gg`yQee1Z^aX7euTȨKkl\cyt嵌s,+\wriQBOU{p"FkϺtq@;iձ}c:U̼ްݷ,Oe UT(Kou!nXg7WN>^\F#wJK$8k[gȈ-_4}k:.}<}[*}XLtv03"D!| "D>#pdEL)v159 9ɜ+TU$AiHy0}$o # (%\n@4_ψ$:ѿf"e:eW,<ãtLQJ߱D?oklWWl`'oE[N["-A;L!`dM>oO6g=oD՜7^L+Xns2ٹh^Dlc-ovQȜmv? }q mGŜs~mͷ}5DS9ǖR %ݴxn$xt:5|V@"bN!ln͚وo~\k\@HL6'??oFj*;cƏ Ģ5DV=更h\W}{ ܁;{fQQpU kF7aq[@"-A;vYh n]ǫ= +NޛffΛ.*zg91WVW/_cg]* D-IқmNn*k0F7֐Q-FE::S^!cȫt)f"6T!|ďCbTH'A$稞]/Kr&gP0蝝^ҖYi/tp9o :9o +;b-A;!벝TewRkB) aÄXԏ]i6=@V$ωDx藈MОc,!'n/T(5`xl]Kunӄ!V֤pxьU DG)}a~cf=vT+T[AF#n-js7!y[e +,ϛewH!.k,>ۜ|b5#T.ԭ=wONbYC z5ID6~^~96yy0й+A;rg/ZJݺ{S; b=?56n$a*x5Ỷ +ȥ5ItB?u &;kJޚ{:zHR>?|RspxxJłȆ&"y;הn֝Y +E55i9P+fjy5!BuG+/:Zhiǧ4P7AowS|$^&/[32p(jp4UssOV~Ҷ؝DzyF } [\2ףŭNԇ]_zPnǢyZ/g$xAf|9'QC[cFJ: AtTҟJܚ8T %n}#T֡#]Cĭsqk|yḉ5YUl-iqkb&h9ngnn-bnbŨn"ΨnwP;*C}) 1,7|qֹ%ukC-k禈<[JesF8V2̡n1 a$n1LOBRz`t4s6yk$,/sYm"AV 7 / Ԕ5O=Vnuk!.\ЕϣԭsC(((ɨ-('(JBd{*]C|b")խ!WE֔q8@@;8D>AӺ^NK%eaV2o ׾[4!o~ 6W qĭ8e(iΕ9&FAۥ)~0#j{M7ikDzPԐsB៨ +~96 + <`pNZQ:(l<(l-<(l(l l-(lf 9毠OYN9 +[9 +[ 9 +[9 +[9%5.#:7>@ Ťቒԧh4eN,>*v18 t4T% +[9[9 +D YNY",@nH7KNFe@FekAFi@Fi@BQ8>' Ƿ bꫂ(s XANY,0pH8 P$%$#(qgCqVF sԶV9O9*R Y1oցoւoOsa8Gak8Ga8Ǫr9 L$duk׵EY",A'Assrqq")bq1u uu`uuq +ւq'ě(t2Q:0QZ0Q:0A$ u u u`9sssssK\P]q`ndVQiPmУ1-%@G.^GE@ N!6#Δ`Eu u #Ht g +DYvB4ZjTlToTD8P"Vķ9QsLt*I7,CɪlE=,3~xq;9mǾl-nc A#p,&6XW<~ĂGCԔsSP70ʄLje#ꐖ1Hq (RS9怠{=tJm +}r\̦ٓ%#k%&6g{$zbseyw%6g5 嫽+y֚{kw1ރ_:݋p IczܠPZsF¡7VD}f# s\%*|JlndgY[YܠN!,ҟJln -C`Vbs#K9Cز4!Qۺtך<1] B'徤/_7 kWZs"W+Қ3HF6SQTǃ֜hq57jƾn=;UܲvYҨX/}~mlߘ+%݆Kyp!&IUePۡ؜_JlgpiXlFkjs:E6fԔڜApI!Sis +s.~%`Zmv n˫R{plJojQjs!#X/jsӼigcO4pcc-0^(}@Fr2e|Z ҹ0u t=r_h|! +nmqiGļ'Thsg&z(⣢'Ka/M?KӇjsjs¡js2*͙{5mir}6n CfjsrfrFOպ ۘxKItjh!^ ԉR{Hu2^$/qVzs@U4o:Op|8=$ +ӒIptN_@BsgZ:˳RdAX-(>anlȵܠ{n#aB S Ωdmv3QA+-N(,C T91WԚAsP}` }c!:[-|7"7$?_@vFiK ]KI5cAoV$)?Ca[^eGIHU24ϭ$?Jq *c[eGnVs>hGN 8wBTs9:Q( +/zsMB]M0 'Ml9g꟪tIE?%8g=G<;cgu$19e5CWݡT K<$5;3{uOz/J$B H7:y Sa׸L~IQK\q1-mhcb!:rM +*6b`Ou4 5. is'_fm/ 1kgǦ=S#s2(ǢH!Do*5)Mڤ H 9WKܳ-̰z_vb iB݇|3uзG_bD8Fij07A4Ѻ7ؔXebs`~qlC8G{4A[G`/3rkD,*\|6(U$,'?A!g|q'Ow\"1 S +Ju(9+gnQCp?7(}ܩk ɱ5мz8Q00&H$yiB{V 'LF%2L)ڌ{q[l+˷I$FV܁^eaxe;ʑql/\# L +Sn+>5ͬw~7(dr%O2:< +zHkHʏƇ }\s25Uּ\4j4kx^bdԍ2 P1"k fy1ຨ +u}%ҽ{jC ʶ -jn}`)rFiB+-Θ)!i=Cf-mfP%+k$9ƫD\4Ĕ߯1o -^Z^(6RG(̠{dR=u w|xܫ"WvV߅)+Hˮf1c" +-LW@!w: Ilbo:^jcNȟsrGJFshw_oH!%fl͖OលċY?E24X$/zÖ⠾!%d+&4_-7V-~Y.SRg5wuM(g/Syuu]6~Ad `D]LKP%氕us t%"nY!9KaܘflTm[ښKY9<2syXa +qpmRrI65*N"@!98̈3%HnX*5S\KӧEZ8h-bq|iq8^{eq|Y,A:\KRVC:4{Oj VI+AAm/ h5w殢>!6UĸH LN" =LY |A:}%[{̠ &6iO# ~E| +~NC,=mt\~@mAMIkl0,oV"eL?3\{}@S`n Hgۙ%7#W@vfa4m<'N{ JKR˴vJhl_.]i$A:z*o +]%>} 1SgtQvsxI=nw<ϕe-r~A@yVyV: Np%"t2H=W3y&)"oiv '\|1(q=fOHLu7BB \gVcn@V=r™5jٶE(YlqV8k82[SpF^!8)5d"/83:64P1' v$k:zf(ގ^%/:zeNI/ZaI>c)FWS1"vU{|#12'7qr!8Y桽Tkp6w=T||Y"߬@o֠oV 0M|u QC3г*GQh.L{zOwd +.&#%'92{)x9qlFX8ݜٷU;Ȗ* fIyx.2˕n>DD%͜d_AGVȠaPܞnԁY|aAa5I7g[[%Akݜ<>ttW',@'lWA,ћ rBY}N@g!nΈ̽ˮHg(5PtC!5 A#A=i$~g΋vfURw M|ZZ ssxع7~[ʀ]؋Bfq*1AlW݃ͬ*4Q""W6ʫhsi(ͅQB 6F m?C}T_H;OͲlJ1fyUbRa^Q bg.ʋJДρ +6o +^r> 3YJZE$T9A˴|$ͅQƛ 7Fo.2\E4xsэo.F#ŠF).X Vi1< ?*()x y~Eę=UoS<,&xq_'JkIO8y.T[]7V8sH,ԦRqޛ 8Fpe(<JjxyEIP +8XLPE휂D~jؙm/Ic`^9vd89/S05x9/ɳsi!(C΅QUmfo׃dAbʠsaAlT΅Q :FtqW.:й +֑DԹdtpU;? ܉= ބ+bBM V&f„lK +ɤPI<9wnzҩo<wnph!z9ܹ͔wnb!Y$F a"j4՝QLL@*qneKAv,@r|ՒыX4b]E*J6 b1W|g+*pae)z; s<q.ЌsAQ]*pg1ɸ,YnO|DܹQ@ q~<;p$ΥǝYTsWm٭ەǝe?a33,6 Hiag1 @S<,=o@ f=n+u>8(ߒkV)3? ꈩP \!},;s_e3iUApeRl "IXDhH|>_gY1;<9Ez-IK<FxF\e4saaQ1Yqxp% +;nܹ"'\n0Al;-%)\mR}Ururd'.uq F=ƀދnBl*v.Fs3JD>OyYΕĞ+=g˄Էe]f5>j cQa"N:P2=8R/Y QH}ebDphRo@?bv#}Rb~A>IĄy˕9 bDb42Zfm(@#d4A4߁֮G|1P`-V0!ORZe5S .C&ꍠDUԴFɠ? '/FB|M܍/Fr_B8Xl!50VzHWCՆɩ{v<B_`Ž#s +s}U5TD3X^rc&WV}y reI;8\ʞbxKV&n34&?'l͘:;LVr1IqМT{jd,̛F +Fp UzAgq:QeR vw]Ԇ({c( L;4Ps&6{7lx+.S'0LVd:၌=C#sT峒5uSutr\;8[m7]Nc2LPl̚H'@-}:g䦴ݐ^ وWM6M0NNG9ơ~+9CZ gSDMNhF`V2vU I:װY&-+Z i #3NP + ?t*zL*_9d=:l߆m!qTgS?R >CڮT-ShHh8!si*1:K# 2[WɑTZd1+D۝ή]v$]]MvFry"4;#nF2G=(.?h*Bh#U`Lhp/`ELE/Ե&+HC#붃CˢȾ.N(BQA@k윕 +Q\SPzGD'i]l3W SC&u@lŭfyj!l+J0jZ +#h|-|%^[9jqH2VuhttqQ撅 |(vN:T2?z\Na]ay|Ёh\ O]~WoR$D9_fH^@ AwOE1_B,T)m^Y2sxuI dZ9)TZJP2O(PnqdܵGvIdm:zQ-H.Md?y l$^DG/z|4BبgQL,f`E8E&D!ZdqZcInM‘]E(\(ey|-=`C3ahT[Mi['xU^Zgq.L*?L'e "K2Rf@$RP,+_@xS3(W%OC G_iG+؆xF6(%JDFzTE#Sȇ/n޿n/F_lp]ryclDL$S监xr4b/iCmz4Na#vȩ#]P'>vCԬ"%&0Q) S<\I>E~T|9R2qCU^꣫/l>fNigqEEf&ur1 ɁiAئi' U'i&٪w7h&<| +ڪU.$P~B/n HwioF."t6ChݘGa'Qg Dľ'ͅXO7VȓO}mV"a DWXl0/So"rQD h:u^:pIqTXj*.٘ϝzq-q_& + Mr1r'G%SlEUXӅz[d:.ރ "Ryv9M."]eܻ0ʸwaq㲐VގGp3vJ/0:@l9vXraBYⓦs}UvQ7U\W١G*h~9Ų$m7;הv:kI$[Dܻ0Jwaq(ޅQƽK{F.z1`dܻԈ{S#7 zsUpŽ?oXrMn?4S{ܛI̞7$ :ɪ~{í)$?-j{[Y et Zx9"N4ռW |6d=q,=!Ȟǽv26:񸷘G(6^=m\=i֌2>~I麲sffb/,aoY}d5q{ 42Q .L]dػ0JB2#w +ػ0ʰwaa(ޅQK#{+ P%s_l>V@7Tr +`EOeȅ%!KT pxʠ7"#TXoz3DxϢCmHv#۸)jslՍS!7jgs–2S8q̨u~Q Y٤HFepɩWRC$f!F{z5LsI==S$NvnI7 Hjޱۈzˀkyغ7szhjr< 1Lz3v&Oq]z#4ћ}Oy$ػ0ɰwiaoV j2G| <=i|e^,h-NO{aoޚ5Jv/@Pbov$F;l,nqiQJI1&ŪF1-KΚKT$ߥIHF߄q*pS97[=s7 =} 'L_|F."]%໰Iw)ȣ* +_&ErT#F,TCEΚ]ǚU n#ņT~E~Tߔ7Rz2?MԦANqo}wa;ЪqQYl*kn![q\ne5U:ڋL{ijKUD#E:F+pwgzE5(z&{RRwTA ?Va *q8mJe:]^Sk{WF ]%ܻ6r;᚟@m%X7IvX3&s˘TvUd[ŁdusS6X"۠%ܯmYU + :<5CwW\2we(ߕQk|WFz1X$ܻҀ{W#K7F2]?/FqlkpoL7no]}UDY:[C4~2fy"~&_[u1$j*7FؗOo=#=8׎5]E໲ [ pIg8[<>yz!ߘ S=Vbz.M)?9J;I2?81Y0ux#(KXp}c<;`$BߕM+g 0qfw8bwe(AߵQ+}FƤe5oW^19fyod(m듫oѥ6AQ!ۘH+3'䪬 #hdgۧH~(nƦ6!-$/ +~M{e.]B>Bj +֮rj~jN)~Ē7B@(][^{c1RH0oL/L4u,Yo&X6X1L]9[W̐lr'/Lީ,+G=a,P;D"I^F8M}c"gCyq_[*IѨIB䪭ғl0 ' +d&?2WO]c3k@H&h +ke"h1Ni'Ǥ 1h1G`M%i+eF'e렔ߓQܡcۇ 4DTIʄ~3 +&3Vj64oCky'R mM9>]'TZXww!F-T'8;ĻȐO Ǽcٕ~L@^9/x޲̬7uWmkQh8r6̡]5O|} ]<'6!Iқ>E.[pr ٭1RH.ݧoǗZl +}Z#eRrzgeP`0 ~=>!8SR L'V9s6efw,LY\STCgp QkIqbr**jOQoD+8/9EԡiQqeC-O$?/ _G<+6r]NL$o0u^Fǐxc7Da)uF,2ϙ %o#g$P)*f-T"6 ;l]䳗}\zHkĨ#,B*>reс$3?i~mmt"K勗FAfa*QxoTq!h70JļB98L7s.h2~sq[2=d q-xe@i^_EMT7d)щIǤ\HncbR2?1Y5*! ?H~ޯ#Fwe@@d,:ڽ-˙$avF@`|A>`,oF'jmalOۨ%& ڔtϨpӉs"_U0x ˓IxsCv"9=cyp)Y IݒmW< IyMsXEΣX@߅w"^@|[+*ȻopmAЛ k!*Ia:.'},ظ=^.XG$Wa35"S*Qeo:F9iol]BV_4)N̔ +1nՓx,zOMDyiĤ)u1lW* 2dd +NZy +z«o c6E+HRt貫Cyr.םHv]a.WH]6Cr~]&'I +1$ԡ$9QGPvq87r: )^5㊳D\!.ƍX4Wˆ%HnՊ. |5(p1zI_ҷ5'ГkWA85C@/܇QX#rS%dG)^UKa֡ub vٱAZh#o^Ʊpni}ѯmdP2J8)/iN i7 G^822VS,8ey7^^Aj!H&^\?%9 3衺#ns ٘ > |9 r;t +GStH&:_~AOqw_2H2$#<])MXPKBX`J[" kGJ¤XR(\ڋ72PtND".`F1R!Oc%ߏ}v0PɩĂPj;څhR^6@IVoDļ=\ȹ2se (AΕQk9Fr.z1Bhd9jDbeY'%]0WUɀ3&lSp:Ȁ.PB]J-κLOƛX77/6Z9-rqitEyh fp2ΕQ 8k-h`:XIʑufuY ތH5Qcf,'UD}y )/=;ڬ's_SmHKm.\X$IhsePƥ"V(a͕Qšk5Fk֬lV.OD;#jڳ+nyyjR +9J%Ri&iZ%) sguvʀz\k*z~x/>)#EDcgqЗ;p|bcI蓼 5Fj\EIPsmP%& .l3*i;tw2 < +H5A~Nt+DĞW$ G1 C(N Ň.exm<%7LUp"Ґnx ̺?Ҭ<(66_GE"i}\U[}S<\DE 464}+fd!HQ53ܴv!-4# LikH3saozge .O4b/h("& +hRϰUN L`."Q4-OZe@| =:ob.\Ҍ*o~ ?gӋc,|]oي/_*g\IHr/beW&j.\d0Psa(B(A͹ԜG&9ύ9V`ͨ p8=P9Zҟlnxu@7XpȌ7p6Av%)@<'hmn0˙:o9al'8Bu_uX3Ŋ6(a&a5hXpl{KkWD?sVR| 5z'Žsy)cH Ue2&G\=GLD:ζhB HC DV3פhsNhshsa([C2m>]"g?7Yƛ 7Fo."ޜ +4xґ]frU#tn-$2x$]gr ?" *sX*x rFy\*_.:B1(+C9#[LBdFY\ԕx2,&~#'O9#@n!km+c"ܔ_ho%rk&B٢K#9ЮLjP|% J.gT^1 uG󈳘Hݙ<,=o@ w׸YV4n݉CX'$ cc*fUZjAYMgh1&.l*PWqFIk1)#+k*2?r$,"wqB4HȈD' Cס1g Ŵ;i<Km0lT`ΥQĜ 9F s.l2\yTM qXd wm)y][W\! 4V?“$C%mR}Urtbd+uoeAYNe\d5G~ Sn +PnTKLt+ Ex:XSı)$a/`-K7A;SH(; G>hO@K(R +ߊ\/)Ƥ$oArTytP0RB^Xg;$!TkئG:^B/PDɕ#V$DhE/ ??Ki2TV?\飼rt^&bS R5|G]l!Zr*?G"M=[1C+:GVmtM:G&!ӏ;{ZP?. }|s.`y.:c9[QsǛΟBDwx-BLU7|+ZDjQ䎰Ĺժ|85 ڿ!Ltmt N&isΒQzzE*〻\E"|:^E)YaVmcRw˩){CD?b~NoJsRBčT0|[k$TBUkk#4+M-jf@d?f<_PB~ u܍ @uJQK1ف$eʶ|G⋝}EFnH6ɁO±<ɟJGzNQĄl}QTlU( 4(ҵ)pOxhB)|'%%EFՂBEYLIńEE_ uci"VqE7 jEE6$L#B2; +,|VKOX='(b;P2trg9EjE>\/U"vuTc$⮘Eӝ3(ƋkPKPLK2.u]QEatpȭr(+ C]@w QUJut,^D[gU&IDQ= +]K.(n7vp2(r]\9*ErWRCa'LJM|ç 'LT, `o6U@W5PD؀8Z?4e Si(BrA= \߀d-,CZ3i.Y)0]I`qM醜=0)VU2J2 Fi$He8[ ,NiR0 xj4 eq-E諠*iIB K}WF ]%6 +weaU7}WjjȺb .)}R .])FRw!BH1b߅b¾+}F.#]()&Rw!QBH1߅b BH1߅bD ؈~&]QPۿm~oŷʔE@n03 W.ω +qHs@Eň$A/719oϵ4]No?ǩ!cWGg *HGu|gHx8,Rd))ɦjÒDuy2tZAժ'ǻscQOʯ~N;2qc׿[IM|8q7⛐iZOlT՜ˏ(Y''i81 WLdTA 蝮%.,Hze@Fu#MiX@NS±yD؁0Z T3.ctPs5m:gҨ૾I?fZ 9 9U=ɺ*#beI/kv^*~:[PED˚> +b7c<5vI]Xď]tԂx(uW݀2Ѻ4;00y8oWۘOZﲑS &r?0qx5NWu3\"roIt:}yrGl3v90MײQG +L62AW- zZ3$#FdkQʹIzRIc;i8Lks.]H1Ѓ|i"SԈI'чXy9W>L\,iz3'm{8#Gᘾd +4F-yjM(9X0!68z<&7B #JY.+Ӹ!BY:)c3V-"\GPY}y3rgb^8 JGqYv8 n}ŕ3Fc׮LC4b@/S1ڡ"QŨe?f<1Z'S)qBMXc.c&rZ\xS1_P(Šy>'M5âɅhRq|y UxPA\&P1}!0B~76|kא[L( )߆.Lc;ǵ F r&*(j'C&Q ր[Cd(N]>B#vM.*MQHRd3Q\o +w0m8v.f|͛CUU 2f\@C7dH)$5kW1{jyAi2S(ïx+׉۰N' +Y#tQsy(ZGd' +Re-N>/&nP<.6R~pNP,H/ϴ WF +s? I @ \F.2r]e4uJu+uN]1YnJjORmQt+,,6,;XY0>Y1aI8 ++pVo_Np>F1VkbU=';l۟WP},qURK BC<;oe/ <&Y~.}ηn$蒝T6J"&r o !Զn1i +Qe^;OX>/ʏ*ED񅢇IJa9rPsuڈE;4"F g[c5#_cj_^iVO1 ^wRr_8/e8 1i8 }d:ɟX<&j)e=-7cؽ^[ɬaZz#=:Qh)bS).P?fRk2UGȤ)Vms!F -&pdg)O")y#gݲNN(["؋)8ȴjhmtTScQb0d5dPS,U^dPSOhfc7pRSԞ١d9{۹y|WA܆JM1[IM1!dg)fIhse(͕QBk#6BCmzE l΢Gk."F\(0e9k)V Zj.3\()FPR `sRwIH1bm&!b d!żO^IFlB lB؜؜؜3؜ڜڜ 9 )&97&nlܜܜ 9 )&9 )&9 I-0"`uRո0)Tee}}񇢇#@Cbb`6Fl\%2J`sm!YJ1YLebwbB=%%(esR~Sq<ÕISkD"Rk"%"k:G ׼؜p h5rIq@ň!m6!?ׂsqΤ.@-^Urj]\R2E眦XwNOM28x95Y+Y眚Ȕ lsN?ؔds=y9Wdgι19R}"+2\'*nx1+2Iѕ1y2u \I+X4{sd#8MY4Y2,XH[HւuĮ]=s+Y4m2u)X4p'm.h48Ƚ8o6O;72*5SbϨ mrU~3vvJ9흍\nÄO&Rcx;fi4/ R@k&7h+*zIv$%@u/t  /F J$լsqN/hpʬsj}AA<&rEq/Y瘆9s:8my0X"LrPo~N-LHUsYb~l1қLq ZKʼnw\Hh *axP!X|(Dm$Pi+Dl?$UljE?k"YNzh5xxc}]xMm[ed+/ȏʦ4~wa&,ռdw0`awbS !Ľqt +'w?H +Ry^=hc2Vgao]=/V_^ίB{wp{ lV`7uvo гݒ^ u3gz-EJqLr'4ˣ eS4=h>{j~k¼xq{€i+(I#eoK߫έ~~v;^M~9+)v_z*lf 7Kl _l ._c7rȽg7JCw%yMH=f"F0~oҤ], ipdgCx(}#3;H5=sLɮԬs$]S +Vy*N|}5gW({ﯱ혨^~/C2` 湿7zjq(N% |'[ׯdz8bvyk.bلf8D/~<M>{5]hmFs~ ˌҍٹ5 +Q\Q]Fߝ/ۃ+ qcw*MkC3/ާ*ec1 y4v }7 z/-P^dj f4 w2D|;vNE#"iH"8[3dv{niv^Sxwߺx+X9Y~bs.펶[tKM^qSSaفaxAzگupx5gŭ_Q12T+٧p[3ChlY<|KA5|s^qLw kCVꗺXJ?z\}޼ @],L> 3fB%yz|ٸlMkqOJW!wϙ|wc>~>kWd|6v;NKlTE?+ >ׯU~1vql_jn/ah=&Fr +xN}(䓷'u}Y,B/ L +k]Yoɿ3E{B + 𗧔<\BMo2.p\GNpL5lƵw<9mYZNgI)p2C~Տo|c7?xPʍo0IIme?Y\ `~Pq&_?>ͳ߭a䔧{~X:ir1dK) ](л[ӔlQ_$#a(Y3Σά~b},8b+Wy&"y|0ca;>vQ79[>*vJ!K!g Əybru ^]:L35b歿#w6&oC |I껝>3\}F 83Ooo&xTW[] 0#uq};عč7]@CO& m"p&Wym+Y'Z:g 0F.6xc\nH|1~ǝ|ʧ% QN5g@b>ri 3 [o+JΗtVHH)o + TD}{g7çX| gͤݐ-:yGK~6l`w끥q!ID="i۵C1>D#d.Q>Zm.[v;sP< %0~#1_:Q.FhSZ61).H_}íZN]͇&őg~c;BYwüu.ޞr)uq a<p$Ui~@nFF܉o(zܔ:6{LڪeQ2TBGx'N'oyiDoqgW}u6!%ӾQKҌck>屘]KڗݢLHY{r"= mv5>H߇=EVj5Ll7R[VY+޴_ʬo +IObO(0 xu\uC@jA)n\[6W6Wp-<9.?gfyRXԵּ~ö_yܚ<n=lI_nJ/#:S Q 1?C?mԷsO%iK%$=T5,þXet`ֱ-we# ;R٢9Tg[UwEmq9徏2.usImΑL,hW:=QR2話ku6[U!=!^ֺ>3%o47vo?Es؊yݴ/&}rfr95v|OӰ1w/jx q=PĄ"*mDSWO Ned ~':={t!9lTѓt_MݳDO(!S0,i"]z_ |MB- +QѬ\e>}C^-|q42`rI΍[Al :ч\T18/TdYB]p)~ T7Btak iDjZl>Xq韵Xel}t-M`8gBڻS=%E[Z +7uM΂ƌϓk9Hz3WuEM @h⥘a埮Yn-|K[-5E45!rbWu_C;0Vk̮˦ ^9w^5r Kl6~rzO+~Q ޽M$MٔH~te_'Wi[G>[Cw3)79ZvKr*ޯuO[S(^|'3 /<]*sw=Y(Ѡ۳F0xsj^ >^#=i7}i=L@@jٷm+?nm;#19A ļbϏg7ĭ4 ϭ xM>٥ƯO៼NV[㍦GCb2ҟie| Zދ<dk 4/怂V9]]h|IK񰕛\V.6>igtf46Ԭӕf|&g>}tbY]gnw+%lǘu[ߐȦjw҄Gۡ,h'; up;C6aM*v=44N?sc 0\acCx„BDԤzg"^]>]sqPl\آqCjo/ f:B/\ !="Dtlimj–0sA)dxq\*H3&ri7uA߸콅U,_`2>8MU]EvL_b0ĝƿs5Wqr"=~\3 8Ub′`/q3 $LLdXVcqkW V[m=;k-R6ޓ]<`1K0Fynm쫆x֣56߃Gn vb27qMg2||+wwlE5i'pC5w𾫹kM񚁽ȦT7gU!-͞W6op{i <=cM֭Oc Ή9ۓs&Tϯ?Yiy&>"pncm%su|蟱M76+󧐝OIcSQ@pS=}lL!f(rCO7q(ṂO,F4?7p˼y|8Fv1;nwuL=^d~]Ne=Ž+-="_unX^gtg:KꏮC1xzG3Qm?Ϫ6\4˲EǓC;z9)Վ7/!ב#-щTz oyjw|fnuX4}^wt{{OֵŸ9ױ(՝q:ۻgm%!/Lm%8vSۈd) +%Imv#Wj 7nïR_Qǀ4"{^9s/LJ\cU` +6fW6);gzV &tq|Jl:l^ $7Ȥ|Ӻ[o띈`*ۯI +9 l[6=5;+6j\OۄvyyϕC$Gλ )weqRcp?RY +JˊexHWY?-1D/lH\@ 1woEēOʦMb3']#J9M;z=n#^hX0b3Vw~Y];Cmf}`9N} -PTX~Gd +;1~=4\+nWv)wj^_AtXZh[nddy05n)O~&WN}_1]8ܰ4w^1s u&8LST!ɀs5wsO#-ٹtŪ0G&ris(yzZIZd>d.s|ѶXnNm_lth݅:ٌiW_uΰ;T<'o6{`]v{eq+9񞷕E]Ĕ+Iׅ!Ď\0/ ؞\nY8d_#ƕX$K߫ > Ԅ6 y'Ym?i]pBm.zQZZ:E{jt .:D!E_h*PGߒZ]/Yvy`y֖%$!SuYۅ'Ǣ!oS⏾^%{$Av'C8lH_;Ĕ~O=Mbzc='0I#:.kzcicYomsY!|nX@hcCdkh͡&Gz#=?dGzN[\<'I(ϰQJ35Qa*"x6C79cȯ% t6C*#B6=ʂhc6S4hO2 ?*C!Wƈbl<2}(wI!d8]9|6`&iRGM?@V ب4N*F}H;1X͌Ia9CvAM3)!蓚)& }xo>ijLw3'ˇx6MC'w![3swr$64#1ǀcV}H|V>C‡c"rQ*vOٰZ:Gq-1߁prOY[z>rL.=dX> e h583:1fw|8R&LA +˞[n|-+<¿'vmՆ9!i#EsT|3Ͻ{khSh[=0 +^ 0%Èa .9hV;] kB/|ʥq|SN?~7%a[owi9G{]hHZ}4Ii.̀a3R2HHpC+=W6 +TjE9 +dXB7}hfNgvYD.}FE)@5(XNvAaѠ<|}67j׿WB}e{$_f՞j݂4XD6O`.ͽˣnS6e In3ћ[s戇V-Cd^ +ZW75ّrfd|8;+,&_Ү?^-g=*^-jOv2)V-OC;D|v1=b\h\c[=u3y,cKd0k '})̟@edBL!PM;l.!>I29yOWR~4wo6百7_kŗ9 W.lդ3qmnn2rzRm >FE l0⟺9~o +`!$PT86͞f~ sUr"8V5J`)Blϱ#ҖWoNk[\\g,1<{pzV~_8+hrs}!|]Yrhw:9wtQ,½(bSRhKxbIɦـ]Fb-[7ə/.WV㩳b7&j9M +"ERb|lجcy7EU4/vQfec"]Fn0`q[pUΏI OŜ:'4ڎWhNҗ@ߓۣDr3z`J3!i,mp+ S<._jO7a~I횋Jodq,jWVk%&zƓAk7'eWϾ p[ѱg-Ln?x!~(kWXmT1FóOY ,$Gi@ҏb"_)hZD4k6Pjh'nι-Wş&h4[G8p|lUܫG?{ȷQ(~$-MP_ L_!o }Oߥtlc=me1I]>ݷ^Zlh'NWhg(bKâFb{䤐S6n endstream endobj 27 0 obj <>stream +َ?͡Ŏfn;M&}ԿM"0kV0\+498C&BNDբGW[fOhtmo4 ,9.+d&h~st޴=|\G\} Y3N-um(0 >FGf?\:6`5U;T]񆭷;(zJ"yڹxvN.oSUQu4RW UAw_ ,..Y.1Băsm{BumygL}E:˹vK"Ӌ exw+S]|ۊp cAZSԨ?`Iil5䮩f(C!%kzi +S{v'RnwMi|s_?׻޲u]2y`cQc~翷5Wߛc %}'Y궁wt`,]LV&Fj*ӜWSvލuqp|nYؤ4Y~"%7R0R>ClHg6rMre"˯yXP~}T%beۥd}C} /%X˱W?/ +wRl}͘_m>AvYy@d&;o鼱0/mB[}9s_nt|b˞!??Rk *ptǢե;vE;ia㟆:MX#La7K8 ze;a[{Dz慮JcoFٿ@ Nc^P;|: +7!|\FI (Q49ܘc]e]]FxHy..AǩǧϞۤ<+eSvy٤sW>iaAC]$=UY*@v-;A 2ֲݶ|HHbonk@bgSQ"";HgTZ`7l!@Fzpܣ 2XUV@bE1=A WB __vLjHa2)\+lfo.8W9ax4xnsa}=bDZ>v 2-̎v6@vMIr)s߯+nKOm$JzA%>EuϒQ }{*a0Fh̖/V'mf]2Brۈa|%3܉v Q`#=vTPb/c"PFڧXV`jdo HXCa@Z8;"wYɪ1:9"N䭅 u/kes.vȔ[^т>7MQV5%Ǽ{#Ncxzݧ=)w>6EN n:CL;|䞶G[3:{yTv@6 =][eQui .mOJ ޡzލ P_!rZbǎsjx{5m@uh mebjW7;N[C +E-L i-(I#  +4B,eƔ,%#* ȇEt= 3Rqi ryE%CURa`H^.䂣9*Lb .dΊ W(, IṟM$!A"H%HH#!A7SQT.oKҦmF}TS8$f x7ޑt,1ӔũĚ&Q3T"i"`Lmd0nMk$DDXְ4]3HЪ$!`1wK'MvvE"SBSD4hK9reEuGwgEuk}Xh .KKJF(v6ɶqzj\y[ )+Vۡ&DHȥڬRb[]ʌJ{zE}rS֖MT 1R:nƶutcNk雑ĨVU|v]-E}}$y`hnP|Foz,uBfXb PMKLEUh0T$nʠPCr'(tYji[e,IvH=2&Ur^@ױab b |#L8YJ#hsvW5M\VVH@23%P[qO>P$GK>vwLiT|A.uDY뺐(O $-U JK@p0k[\vT%I8\wi4Xg;oa `eS' "'*fw+&%nv +~D~ſUTUãEDpH,q|GDՊ"^0 xx]C+M":Y0vԵx;ނ8eAc R8v;ҥu3MY#) [ tuѺȉǧxFQł"Cݞ:Bg$v0Nxa`dA0}<,ǯ>po?ޞ>stream +%AI12_CompressedDataxɕ&1? +Őn)p.5)-P* ybI&LUk~$) +M:"#`x!lǁE׏_'7/?tp)eCKi 7|/+9bU{1Itx])<o9y;&omyy?zŻeM\[o0QÏ?7/e-2~@.|A87`_߷ ys/S8~߼Lg.X`>{1ƈG?A|yas՛bx/}՗@mx~X//_u +-wcb.Od?)O,(Ѷ~yY?S̯}Cr ~eY +進[>s|՛տ?{wӏ ++0WW_y_>{(_l矗Ooͻo7-=_y|>__߼? O}g-a/o䳗?Z_Ǘ>/tO?޼O~g~| +7޽9?vպc}W򃷿|qzC&w_Wy7o^|j=o07on}MdQ'o8҃|/q|o±ko _r۝_ "7rŋ˯^C߽$#ˏ? .y 's/O7^>+h# pnNm$E=`-~wYi<_S>B.&~״?ts=]^ku|cn썻7&ޤ|\ݜnonnnon[skotomMY~ǯiB.kRW&}*`r)_|y\Hj9-r]W^+UWz;'s'wptʧtu:MϺc4p'"O{|hdi/ʝܵq`>ԕ_;l PC1^Sƴo]h.xOktҜL%B)tN  f k\'\W\W.Ჸ noj9݂p\ 8(ZHc987ӌC{1mS]So|&d 4yfz +X\x $ו90Ns6w|;fAFbA[p ~kUlKgWW\N2 2Y HYYJ.I?ydry\QT,R:$^R8l]_ x;mfrS r>7|#1l˓[]M2rrjȇ㳊%_ۼI/[wP,߾zNCӮj4%%oAOA9{wrlqL!Hh~/8:VWWuvMxK^E+>+$<.c#J+^g-O!D;U#lu)΂ϢВѲq]K\բz7onZ9G#)]lrifeLIS EU\9NӘlLiՃsWלݷgo+ŷ+:WRW^ֿ^=viy?/]1O#ة? B!4Pƶ5=~˃GuMOq^{G/D-g N)L%y}#*,b gFL"/>YNC]<һ6AF0ʃ2}y ++Tu"EHM4aHARO9E*S&\q-t=(MmF+8j(\hnv`H $)HqSz%$Pbh%H48ᔫA`4 ʂCK(DÛUyA,qr$$%ĸ( :F1DŽ8,:)f״ }Sk &. )A6pZV O)HaK"0$n+r"⚀k:NmY׊Yu8ƸTyW² +V(f+ۢ3`I68>wZN9wSezse|V>Xxar* *'^l-;_]tj1 g_N]2dZ0lGSOsy.ϹFAg=-!%'i~qr3^|)u^㏃yg7g7g7g7g7g7__쁟888[2gqqxïc~<=嚞v'㩹 9Ύ5WvZmw;Լ3YMUVwմY6괦2|Xk|6L|zWj6@|l/bvfys cα 4tޒoiɭYv[1snEl-1lKo%;qgEʝ"AlIVtE:)u˪]7nӹi-U4u +ٳs ? +BS^˪O_r=.wwwPVwPB'HGG ݑ.%X/8rs$axؽ̯_)~=LO9գ'_5c0)M^u>i|6K?sxK o)˦Z,&* Zv#NrZ*& uURml +yS rV19I6u nw NzyS rNĚq<$mrq(ʇLRHWdP ==2>PcE|øuo#+;L=gs;wc6zw9w^,<ij5l<[C}iÿߚƯN_}QdV'$(=H(F$ *D*Ӧ;l:lNhVOKpеaB]㷌WuN\vإjȗac}@yr5$)y.z`8wMVOs&Ѯ|Z!kU~He§شG:O+rCn8/FXwm +\+=;B/\㣖oXTLӂơh\BZu?!Oyi{xPJ;S[6!mk@q].R-d@kla[K>+'٭s:âj`Ӥ=̢OjFqJ7AFM.v2ATg^ +>C>DrK9=?QWDh'K>;rSdTS*_TQ#ڟ+b<})R gS:Q6SMOBMa?k;ks |ӲX&cͱ(5İS8V7Ky,׳X +=hK}_R~+J7⨝8njڄ#JaZ[{oֲyu ٶTpxI_x,.!'yA_z9?RZ8θA_9?j}\K8RhDaX)wjls 0`>'|NkU9s,`>9s 0`>}LM|_s +L1 4li27']Tڴ?J3jg=SUk饵5(&p0ĸ6=32-kMG]v_03C̫uk +U`9aö_ܤF:Y#mV5iz$u(;PRϞv֦Λ^+LʹRΙntO+Nj/PՎrntM^M=픭?52mA㍎103[9ĩCS;De0)A&?M 3<:cX_õ'&5i/doпuضuئu3w7>fsssBPӲx{FU!K%]S~&cl[Urst)zO> YxHAԣscN=vwM/lXHXoSoZVuhFMq;84uhhu5=b'@F]B@igD:B{w :gڙnVy+蕂4U'p_$4 4\Lct mLycLE jz7YȖ  M՘d oa0s٭.L ʆ~OODOfȘK^$(/l$){^b$^ZQxiX7-M'x9O>6gM﮹3uL]xD9jn.d&e.jims9~`ܦnw-E3xјWUxl$7ަmH;,oWxE}M'_3si=,w +8,VkWg +FkE]̪=Ygغ^aRrҰ^uʶJ uZ\MJb3;ll;n*ӦʾJ x黦lLj~Xauz_#L~Z>qn֎)/$#t.ϒ}t'P+gfQ%C>hҾY{Ā/9Rm>81}'<`磳Ko%vɢ}MX4v+;O++UCM=UL٤=tS k7\.x-Ypz՟n*wS䖚"]״\S|͆k&u˂$ .HY<ěލwZ^7yMz(PN' +^a$9Js ZcRU1be#kȩyfdW2b)#Q[fl}Wp<+"/޿~ۯ_PW߿߽{ȎzKGw4 T0vp)2{P2J,}/5ub_'>O,_[c_uw=:ÿjыrOywo_rzGW?W?{ <[o^>R٦qI{'d0 c>8eM|\ BFC^ d-n8@wC0N;/!d yt{vϓgSukyn*ů2Ec!x9&P̒qGg<׺ d-[pX$#z˜rbfC[2IY^c[ +7٣ſ2y@tLtMG0`10c>p?RqZyug0j2sMzs8dwai7ĺ&ishl<bfJM8|c?c&>[ޚPB`T"cVR<⧘5+?%P1S #;06`WR&LX`t|[w8@|D!HK`q(9'H̒=CYArXtx77 +`(x XYGJrB!0gq;@]HưdP]9eN8)fl>>]k5>1V ,A$r S'ٔ͠+'c"ceI@vZ"v&FOuA$x\oNhH$ a8dxq cľ`zW Vpyyt2KpGa9[q:eʳy`p`_@:•OJpwTd...գ5[.T;1ExFqg+R\D +ÙLQ˛bq ʛ4wp?bH!8i 0r֋; +I[|}~!0V5 :!Ф $N(,s s!Ƃc0p=^ wy,;Ŋc۰y!CuL%&湄#Asz̞ΐ  r 8k`^,͜ :b8ǒ\`GuC z,vg|yT#c qhȝ "#K*\*JfSg!JC#NRK dI>@ N3yBܰM) +=^@0!?yku8:()^`D,hY#/YC +~i`i|L`ƇߑѼ ^<$`x^ƣh()fQIa DN' txRݐɛ\fL;5Xt Xc.lf/:Wgؑ tcߟl}/}}+P?d_߿|޿_뫟57xU_W?[@;hm+t\#~e7 o +dP)_( ! 8 +Xw_@HADrx=:hAS;@cy\+OϷO`7˰!CRc)9opd2Ns*D$~`:`&:Y`q1W!q YChHSu.iSo!Q p\f3 y5P `pae 4F#{f E` ` jGVG³ y 2aMt8jN%تu:u7(3 CԎtB f 3ƫ +pvX 0fn (5XV<xZEJvPq0)0=8i@t +"<+{`88@MhKb7iKäv8XO-6*-(;Q  5r1ĚX8oY3MF Ɩp2xC={BU o < @c\hOBPm~˂E} GyEbRk,/ӑ +Z?İCV=Ĺ;H< BR f7[,}"Ăp/)(C9mL`;P 11 %F[ѕ=&T eG+#=W:dσǿxf|hŐWym c v]qWz mBf+< x81i'/p'vg|H D,;Bv0cy $8?`-'0?T\eSc `Ѩ3UOQ|1XUAd`'d,)&~36 #I ANAa7X>X:n(x!7 8ZkA> +DDz^ +S&p`!sI,E*3~`ʑ|0r &(S +W(A8c.^dx,P5fA6e>FSd IsDVSƒ f,/`= 'O_YJf@îJpñ7i fv(Ux<^~pI{$]9E"9yU{x͠E:jxKBÓ +z9'={PmYU^#QwT.7C xa3*c)N~XcK<+c^#3P[2^$9 TLCmot`eG} yYNJL唘^y&{ g{ 3ϱ:(wHJ`/Eѡ: 70DM+|60\ +p/2\j.kcD=?F;SY$IH8%Ƒ6bgz +@{ N8F-FPA;< {vu 0Gx0 =(Lo~b,Qn*w+]B"$ecQ +/m@DG"ARdzPGB2cwf>(a+/*xXX, gw&UU01ѓ!zoNLB@@dHV(!\ ^ uܙ<ӰWg'c0Y܌)-L̅S,Qi %@DیD#q.3Q2cFZ BD6vxeƄ!#Mɨ>|h}D88GbnBZ"TH^Sq_ b02л=,c"X=&\vG,&Ba5{iȥJ,0Ov@3Ne(RR XE{@ :gXaMHߥw}6ImgcREsfi9>;zўGut?VޓNr_8{7r ؊Zٓrz+6UV'*Ǽbʧ8 + JQ PE`I>KP: _x:\*C(2!*D +c'pN Q8E4Bp5ܫl bR=)䮢F + +RzR +4*FLF*LWԽ >noҪbr@oթ*Pi]PWa)}AHˑ-Dg6 +T:4ReQѧnH*U٠T2cۡL*k +U9$<>AQ4̑* 3UVޭ̸*(|d V͔܇+# +`ߘUԻ2yeDWCc +W&}߼*?`L?*3A96TbA"EV1rDb]Zfu\E2kcɡMDUur^H2Pz|9ze HmDxcո%qבE2[v M %;+Z%[Kw-M(KeC[K ~NA6K a0s$5δ]1r;u_]G&л_ wY]=oKٻ5Mz¬8{nF RǪox<.Yjī qO ou.Go!DcBlE܏dPQ1D (Ah7@5SbK >(252F oF8n$B%}=`c..aЀ.Nl%^٥61WQۗ_b&5YB1zfIiP"K!`fh.DyLч#CDˎα< @% '5fjiCI Hkl bx7:gA|S*'EQv)HCgڿ4!dTd(bP5֋W/j}y)1> sqOPRmVtJIc )!DՕr5!-L.2:@?gUQ +A|eE k4b։$@WiH6dY~ N[wwQ9őߗ疳Z[0,qXZTbϪ?5=N1~naeil~Z8[LZP@ )R ߡBx>菘jXҟˈ"k +,Ӹ+ڞa>^Ʊ/+yigcA)5 FY +l떺-^+)5~&D`zqpY:& ϸK^YJL0h,DYp$bn<1A-&%и +%!9o` ^p/`TJdNrd(s,=kW$ ɐCFߌ7^1j3KZD*̆C%|1!,Dza ٬&@b,{aVgmE7L NJ"?};bY/ {f,:W ;M)($UXM1BR͑ydpf 30klAi!A0>12ъs4bi0pK>Jrz%K[~-ANR]1&s%6`鸞P_ &)7H+C!c5]RUַSƓ/BP$GN%-ef:j:F^4gpΏo>c4wP_mDO&qrOSl„ޝeN|'E<E#91`:e)LǙTi'jD:`j†.?dRA4Spc@ $dĴaF#H2UJ 52ʥ?_~To$"OL L@̩%שghZRă"C6J U텁eL/bGǰ@Г)*K ɒ!S{c(&#Nz~dc"k4'_-zsCҟzNצ6jy{^5%f+Ei>@tg;rAw_X܉/@GoeJQl"]l=UkIYŝGuy=7]8U~ 0DE@tɃ*3jM׽f%z* +{-Caιl3{7f^㜖ܵeU9@pƑε -c̸̵eH@O̵lcNfI``V(4p𨾺5 :0(/^ Q߂\=xl;]ޚo*aխ-zJQ%Z\Pc RUؼ } \?~=^Y)w}jז6Cl'H0|jf˚WH̟:{v\Y"ԈD3 ԳK,(xO)3Fe@;h"-͕vE:&gK<#Ac NrvPN2kkph=ԲOToX,"0Jat)B#B^\#Y&f߰%ead[֝k:"R?s 3$V30)wӹFL`u N;Ӹu K˨[\\ֺXQ6 +1yvk,U]!. яLʨ(H<˦"}+1L"ˣ] (ИfQi"9Nu}P2PBښuXq7%KQRi,9Y2yT6z +o/;5 =tU 78*XfV5.Vl")[]Th kTa so j-N3jTC|(F5<^̰njT1^5l+Ҋݠ?_{al3vk0g7N%ZXnYMFy34Zc-Sv Y ,9);ՐY<هc- MN{5k3X; Uv^ ^/=zΫ!lXfLwjj DA4od"؉O4ާQ2|i2@I x3iHN S|BLj_du[Y1(\Ij> jj>AM{OǻN&qڱO)S^4 8NO}O>ţQ s5ۡGCJTQҌ_ҾxtmI:?eۉ%XgW_<1ƝaL.8;qMgU$ġd `!zH:AbT}YjWMm]ltD(Ҫi3gnnޢ*\\kz̜mp.]a6 +f0:ӋVK]踬)j.5c2:5 I] +R O'" +#Vp0:ĎN9VT0!*4%e4sXmE䙝H&]y$x8czdiVx;⋼XN[-}2Y3fO5)t";!٣ DLKKBkX:MY0SfJCڬX.q.:pjP Hqt +5N౤vY ͱik}WJr6^Y=us/g6tn[@FŜb-GHc"jBp?-?8.eKXkjA吖]* }S&;p0ϰ/}|EɢQ]QvCAUTk7y|μ'VJQMaqDꙹв +(Qrjb3>gqB1ob>J&Vq)AR RZ;/}ZԗepHޯ`J?Xǥ류Xv?mG֙ݘ/י@M4QN |vc~ꩋP.;aEf(νc$ڠ$+ȳX/h+0c;X#:&LDc2mZLG8zHXYnNLb/05XC=̈fz;"5tČ-+Ȯlp2`/F`5]`WH+]:D=⨸sRU8͏r"(m,rc ȝ[qQ$].u#_X}װFk1˿K/2Jjdׯ,YI$U 8;HUx,?[fz Hg 41NzEktIY+ YHkA% 1d\iGjKq^0&J.|-ϠZ)ÃJ+ TbB+6\EpNƏ +g$m+# !w >AP(/Tv*\Wt|-\0c_Xǜ倘δbgp;ۺ`03tAn gmB+3̡n"UӷE~M1L` 69dL K)Q:6͍j m[5JEdHR$b^F͂z2\flQfT;:gBE6)0hV%hMQQxն ,0v=n@Dm=M#d%Zii ;ҭݥr 921rf$d;A|Q|1fB[Zt_c܄=ܩzr:R#N`.*ahgc_DSk&¬׌z0AT9:h/t 11˺OՏwgmH{jF1+Nx.ֲG6ݽlnQiaXҍZ_nIlJS=`T= |aQUR2QT}W_u`R_ +*H:ըmSTۦn7lWVWivJmEҪ WvXk=)UO:rUyϏ;_wh&UUvAnj^Mvo+u+ʰ2˨͐j7Ϩby5"͐+Ӱκ2^z*+ذ>|W x2fî~oqWJU_:[ke PU՗@mQ}W?aePցh!zAٱcq\D1KLo׫ۛ/R5X7s3h]c2SX{׈"ޱ2<4[FޡoΛryMXr)|n#c*#Z&ZIi_ ue!q/ZfZt>\)wN}WvaFZƪt㤟ӇGi^Y }jT㺴= 52mҴkhj 2먨9mvCS>Ot {sLl782کhfS6G_-}覲KOeT1# +8mV̭*ucUAʮgIX *zW٣Uo`p[degWQC3 +VV~X;tȿ@-%1ēKO!%0d+ؙi)vRi솔]!x%|knje(OЭôv)XI{q+$@2΁NjLJQN_UÒ!q@p|0jYk-R-2d$s;{z:QunoQ/ͨǃZ{{?Tz׫Uĺuޜ^dz!8"XwCq fPàYWكF&׹ V$J +48}Y=il"t5y+\?=wbz"zAsԢ/y%v6}8\֨ҭA}>pץ9M={圳r{[eݣAq끈7e)mgzzn~}w6-d'ʍܴ 6RWk:Aԩ_HR=4鿠l}N +m~UJ~gJ}6M~կ քhh )"-M~ѩG3ApYm۶)}vB۸RfM T(R' gHRN(^\¾f}Q޹|p_Cozb u}Lxy}RiI5ģ M݈IkԑwBTCb/}ou/M +K~S+ 1B3;x`^n), {jy/!{B%Vcu;dǠE7HtM',1@s6U a@ΕPga-4n k(%abw¾0r>7lnH.|u1^<Ƭ8}ZWjԣ"z}1x}=y#Boh_߾B_'Q}}5پLҿ:FL45P̡EP|5RPli}A1G=?\_p-V.O/vĈ%Զ*6%)񪨳I!q+꠩,_:0"{ rJ7?7[xN5i+H@00(PNV/[` JNWnT%f|PH9FxcT6{]9YjY>.Ky G+ ^%V +rXR"511pWf"նJ]k`)uMmHJ[6R +pjT`4\LNZ׀ + 6XW$~4!ZFkx옔!1Y ݅Z׆At Akq-\Z-+w8Dy}7:}`=Qa}b}c2zGj̚ΚF5a5qEVGL??z(YO2"8pocS[x[TxV{$XZ= c`N)P)dWMcs A@5bK[(a91*!Ӄ=`\>3ڢuQEfAWH?΋"ť6cT{ NS?f%|A{1,<%KB{S`8hD(KqMeEEVx /oR,\5ãjXSвACdr`Ѷ=,êV %+֟Lp0rtC:+Co(XS` _mR1:"1`U 5,`N'Já$NX  t=na3hk&vmi 9h rX3Қj w<!PS*(_7$̻_WANgKbYe&Zq2+x Άzp+*So5" iTNK<&mĀaW9]T)ze xfQE;w]peYX"e9{0RpCd7V~p,fZaCf,؋沢0 _t4VֶfT6A{$14Cnj Vx Ȭ EgjDhcs+(I ld7Wւ#l8{J,Kp ]sp.+|S(1f"ljD朐!|$ +oW҈ٱ21<{|5fZCG5$",(?͟=t@%oY</} /\ S,5/>lo3I%h؁FdbZG|Ǜ9 6@'ymAg1ЛlI?,nxvHu"2n^ċ M ˆX^e%%/7-B,J:e`2>Ém2W⎅m^ܗ~DH50Cd=o6`*mmd6\lƴ%1KSom?dN,0.8maxNX៬L*!2?󆠿ڂ E=%-&76AFa;A cc7ђuRii3o1`Jo"ֽǹԢw BiYSNjlFwS)4Б9p\EJ,)]@Onah1JpF2g# D e}VuPY]M 3!Z,F ym8-RƖYb5e"L汶䫑%±eAC&SEB(2(fv)K'.C DcGNs K12_9ԫ@*%&څ8 T^%|?b+fR i d!Mw}U%kcm-ǝt1ґdH>ۘXJ ++;j1&00!`^`(z`x\PXYK3(7)lf;r11Y2Un/e ft)&O@:)0"m/銲bW-^ c=rky,ix6R@bD2x!EA'ˮj{H=֡: tEi:8sGp"P`lUY*r +/Kظeҋf{c(E0'POyGB"Lku$)Wg!YX `[CBgd!LW4鰎Gq eBIB[9S-7Bّ ı/Yڨd2_ vePK&5BOQܔk@ߧ[.涿`y跉wHR)r;FSwKֳ-a(T^^vJ @L1mji aZd`ia3 0 )w oLȋ / -+0j?t;%"$Ϭ Evj^AWNyX̀`bF`+l+gm1~H?1-,ڐ014 yV;")Ǭ!Ô#>,Q;I]D&FɁ5 2_"(\{ID%ę>_&%*i1΄!g"PB5 ls`2(Ƥq@XYzW'.8>PcS%bcY#ظL)iC')w0:iD+R#6RJu+gVq*b!5UM +2,W7DtzÙsW0wLCSֱꬱ-msLidvzp\(."_R;,֫e^xvNA?O) 0PPfʬ?:x2 Py4~y)%o?h+B'eQFeCsQ5JX(Ҧm#=P듴2ZJ'%/p:IMӕVdPj1i@?ך]Ǔ1l һHCGMQ <lb(lQl5@W!YY[hP#جv4It,Șk#&0=j' RhlS@`(rIY`c,\Gڍ%M'P@AqfQ1Tݽ"\KtIDg t*`Ch;ڦXq;%eZVsg8]0HI5Ӎζ欨8 :cp|dSZKLAM$=+6"Kİ=HbD9 Ba#(Ow_q\3SKtY +h +C@b%zP>1U9!>2 +C?A(!J8h +מ.>C{x`8B(=k!lIeI#]13l)ZLrtl ~a'yZYKNA. ĸlZX + ϱ:@B+==$t$jcH-.s$切R`f7eM#3E5"B4,:3CL'K`I odMP&csZTˇSİ %%Ye>qfYȉ:Ekv=[X@L` Hma%lA| m2ejdS^kʫ,s';VK T08Uz؂W#`.3JאZ8ٙKOt4us 1S٨U zx{/c,oW؞OCY.00R,KE;XҬx! d|h)'3s/!|AAlmzZ~;|S +c-d梸gh5ó +y{/tpU_\Z;Wp'=-Tk4L Qr3r:G^fi,U siCZhVD +MxGV X711;l=U7Zl+Q FbKahǦ @g x&=AԩdA'(Nkc +(-VSb&H*PG~fBHLjԎ2;"ޓ*i)Ujʤ} M@),AНY33HNga2"i^'楮S;kmNj>;P?*Z2.oK^ 4f(WΠ~*ևuw:8;=%"Pzڒlwd,S*L >,?|N!1T-2=mu5D Ǭ0A|_i$攰c*t =#*f[RVQnl5}hJ.4k^/om%!ԈE|5ARЧP'QE|\8Tb.*eģT(LT4b5gjU$b*1{C*IŤd:UdRVx Ŷ +S_BŬ }S),6HJ)SCLl! +HoG +&L,";loA @ҡRZ΢bc +U(0}HwZa 4V +ev[Po VECJRR>IUHҮ]%l5;Ur3pPkCDž~N{92QwC׋JS|t.u[yj,%s%\΋E%˚NvEjD#~-!oaл|T]:i n>aoY +l:ef2x$)Fjk{o4 R= X5^d=f;_ wuCw;ܻ5B`Um:6}>y}H_[?& neMCLN. #]kZgMO%(n}6ɺ"*33/dڙ5[#(+Jyc)N-#= y*=) fGpPk?9@K"|c.̣ }ޞJT82 T䗁Q $@"wD՞siKa_5#Ħi8'K!,Q`dr4^Ģ)i4- V\|9"<g $~u7I`msY{Z%shh,62;B 苙s:1% 셈!rfذ=+tz:c` \c]wmI+';?(bYvVÂ$-F>,Sewv3rb9*JnQvkDۘcl'M'y(2qŴ2^qmoNrhmo~B*seF +_N^jw^lȴg2[F{.%CqQQQw;ɸ@lv%T* ]!iII@$m6TPN Bzu(Ƕ ,燲yvvdŁgj JI{79N 8~a۩h[:픦Uh@qs u @X-N|5+8~g'Ѕýf-b3jҕ0 +kf '(wBZ wJr;2fޥ!ic۩꫑P!S%^$E޹{wsDl [#n>)ygT%LsݹFδ >]rM`l,$궪iX'2xsƣr_zy,&X3,@k]ۭai:؀~Nɥ: BӍ~ϛ4׃NBEC) E)- ogZ*2KTgH*'x|#$]kbTm>#Ѣ0i3Q(qA WAXX6.{ug>-ɑy/dHUEt)dͶEYpe\cCq-6SEL& k8W؄tfU:3xZ0{zy$3Nc) XMI%Cez;ζhz 49/d~O p$aJ=o'F٨ +ʼ+zC,AH0b?/@AvkpU/G6E4O.<;C(Rh1?&B +?=qīچ1nJY?\ +?DV}n{$OūrqL10=5@?T$@`7gM-%IuGNo~7Y"}ή7 ΞcaJ٦qg=9{h|,iKƱ 5AЯ) r~_a;yDu3- r9hޜpuoz/AI$WW->T>z~#.-C 奚 &ai,loew&v˞~$GQˁ76 4rO|e~lOsuE}q/+Vy+zE,uobi\wW ;_a #nq=|;w]⸚(2aSjX.u=P# )PWޝLG@%<ǃpx{q]ޠܤo~6d>[AYAdIWѽkh͕sżgu@"h5ZɰA +GA )ND)œ4MAniP8 {dw֬ ؆!]8Ks-Cх wB4+X1Oy"BGrX2 bis(Ct-v9>N< +Y0Q5WgT{If2 NPx搊d;] E86zADK^:MPSR#͊E +噜 F~J4VrU2iM#V:."bYj~=4 IIhZwS: +ʽy'SIЇvVA);P'2 t>7R,#!GBzsevQ'z<OQu+/ bhSi*rH$NulBDF5H{fəli\Iw(]dTKi8d.lqJ՝:IپP}nsZ>-; ZĶ  6>o Qg#;M[iD"H=H x:]L5ojj%-y@.p$UbJza/t恻Uᖡ*xU׺E4”*Ϗ#M;1 E "Q{E)3G᫨Ȭs1&TЯuOPZhxRBexp P޶(R`DW^6Յ-ƠN~⯨|NS45r[^_ v@*MHSL./TO$a;;@vA. oA+ +OGa֜+ $d$J+Դx_L;8x5!_OkEEpaA(.'辨*l7cw `)Q\C9c3 1'Emq]ȭjöQG +$y|@ڦ'[n咎Ua~q`ǧ|+pTME7.MЇV"iR,UF DSN؞{ @o&Z"Vx3$L]D@э-"9oF?3{ "(IfZ,vK=׸m:H9E.iATTZ/ލ01p4'8lPO-HKZtk{>}wퟞ-bL0 N>bJĭQo{I`NI҈ 7Gbbxa;?}kUUS.,šna=Sթ8RDAfZ7 Qr3P-rBek'4O;mY"9X +3Hc(w GEa@B[݇@n 8CsE$\_Y> \7]fr%{oD;ߴ4=oM(#XvݠՋ;0 -;F'MLgjIuit]II#KdkYc%H_clj*6:]Pr-:̞s﫣IVyD_|N{[=c7$z)ZΕ4J{.I"5io|u^0ԶC@|}_V iސ;_ (PdێW//>Eqi489n +\鎈\@PI/>l*_:fnl7 t8\kH~`b'VЖ@Si4ossY }֣]d,͋!vKS?Npڗx13K5/QCSp?]J^O/^.a.V?) S|^?fB3:hu( +`=TI-n:vSRlt"HŻtΡ_ ^Tm0TE|9z|J@%K3(kp9z鰁 uF']`'j;J.1l7<t!]Ի,9꼎s@PQȜsMD=lc3kujD2wav ]g+']o4`ѡOxb ޫokx҅:߸xXްں딷`@q(@S:5U\ٶ{wי@.C%1KP +m[dN,T{.KG4l,2 )+`H~g>ZUKs,kn5|7Psw.vysڶ2)x<%_#.Zwh Iٗ|yP{,m/qWك&bBw*15_6櫶ƻQ75_GA}͗gڎ"<`G7.|+G&}_`<,aX(J|Aнo۝Q_y[kdg.O qmv[0|iKߪWj]?RPHDHVj_ h-o¹%O3Ŷyodnr;e%!=w+sAe&̬S[B˛PeM|g#K>!sK1OwL?|7ɝaU`6%c1!F3&$7.v InN.9:?WLr& 1k;n#1X#ݝ%L5-pOI}7?_YjV=>tRݼ+JsF6FLw=hoh $Ww6NG +cޛ{̊wCC!m^hƬ}զEYOH4:3YL,H3(cw\_?xk~e΃!FlEl< +wk3O`T'vJLb0v[݆zz( %Oi O:(=We*7k6'1ndwm+y-(u$M4@ Erfo[abG|t9@>v%ռm&z4NES`͊8aDCBRq?St:8`9.(@NϑO< kρ Rm$Y5ZߙRȀdm=Lkd{ չ1DUXvB l=ˇJ*#$OZ>Z!K2r&jYKiCr'b8Y>Fʫ<N`MR݌֑\'I0l/rIVR,(Q X: +H5r>xP`cf&CԶfFTa"EuЊFuщ +90=jb%کHO5=j'A'x:R6>}M6Lpė$ŝf8U'wdu/U[v+`L7Er\y.r+9W +;.ڮ +]Dd71ebcmU۷bW`]+\ٱ=/!.PуR-Z/pC〞- +l`M dAU3(R ( +yWF>Y=tu;uOrV$p:u.>?5S_xQfQsW@5yע/G;APw +̍ >֯WNxܲ$2PZS ^*-xAA4]&"oqIK&-YѲgvrR42i^jn}9O&gS=hd4!ӌ#nґ]7vxjfoCu,GBH_\nqzi/>;[%GT*afk{jqȹctm/RzNmJ[g8KxmvL#J *q!kX(Pvol_uDuOv{70, l$oPP'OxJwn 3Q.-KSN btR͈\Py, k^#vdfm rl1&le9^M1&P|8nBEC/ZPt.AmIhjHga ]]_#D=C~XZb4$3LuE>IMttͣxGj '{xjo]⢿o-;y' W}w~jlM](#/Cy %AF>F(#t=MB٦^tBNa鼤NN0>$GIQ; 6k-#ƳJN +c.5k(5*2mfҠ68˴1[Kҕf&:o#\}[*CPՙ #_? $l$ +JasRMSqt}B͂8e(ZtBCI!jٵ7I$F!?RZͭᓻ +w\2vA"nYX81u&V {X)E$9a{O,Ɣ)̌78et<7Ib6WkAeݭ5eE͞44d1 =&3/È] }]":`G,d+7Lc$R5SPr v@=Bb"Ony';׵ yC .Em&E`G UCG͏S-Ѐyhv^-\7|+5)_#yhW@X)5"`֋NgAͥC(V2qY@a + '[Ir=tK^tfP#tݫCxc ؇ )&cd,x͈_ൡz6O5|A@3mP"Ur^8TI0Θi:.=z@@ ܢ't[%QvP@EUKڵRy8iyԛK]6^M0 7Gȵj'jk7EM b[v;wZ2O@\a D Q}]5[̚VSЁG@A=6f,Q IƷ/X]D؟J4.$Hjb_S׋f@E$zi.u 6> $^E$dE=i)tpܝزi$p5*Ի퍄́G]y1/]5zߙm;lT mͬQ~'U )kB<6[/N@L޸HLދp,PRy5;LI`aE*M -2tѼtANLjyѐk!#|A{fkDHIlXգ B@v vlI_;מ\UqU+]U"FBS٫Ez*DΔꉙ!7瘌=<՛C]k7)vx"ٸ;AAp8,-gDX][PIވ%Οlꚫ!/SEi)ט׃V[@Fb[$T!BAQnl IZnqBcG[ k8ϥVNE9u{>Ӛy:9!=*=Jw_BJ(y`5SP)[mЙ~u^($ʉIgfմ3wP$Yʠ,G}MKQCs]L-"M9ݒgmּ)/#k=@o79S9ЧM7R1ͱV(6o¤ĉhH'ʱ"wIFWwH8'SSGGZίU#Jz*uwbh9R * |ŧS+|UBETK N[:鱒ǫ@]kPBcuyUE̥EkkT'F K$"ZEFeh?:V!ԵDߩG׬W 1x< íuzִf!~1*+ ̸' +OLъx.߀ +Y +, Gt%lU#i5`t'l3Wj4v)؝5[9u +2v7@<["ق q к7t#3@}! cB o0?_$ۀ nte'; :;?LC@1X1&`eC(`!8]XG] 1f/k@z.xތZW y <"}p553L@NhB`U} 0WbMk-6f&C,`1Y3Ee\]B^3ʄhhyZ ;!3~\+KN5\tzcԚmW!ڷlĎ]!gX渵vՓجVabZɉP-Н4/-%=xN{Nӷ?ָ`0N~-w\!ӱMD,5쥻bزm~{jwW,ϮUE+2 +{\,^63P>M_kpE8ГkM 42"sT{zlC=`,kq8Z`O?nZ~׵\Yֲ{k13v8VA+!! +t/-oڄ+m _8h4Si*3FR9ۥC@sۼ2uL*a' :y _(n+:N]Oʿ‘[~V8,+ +7b$JBYGo#}ŷPO3G*0'ຕjXfޥ 1q'>;l:\D,9yy}j6?p@؂[dڒh3,xM),3B4v Lq`&ri^Ɠa>)/ž˭lKUu~dDLSvQb$ҿN+ɞg2`3{ ղJ=Lʪt_5ee%-zAܒ;(EIO[Rn'P;wwwʄc)lFL}Mqpoˡl5Ɖ'U" x_EjrD[TtiG,>iPr}Um{)L7{dVr^Jv+nUDp%<Ȑ[Sg.)!*: ]_)ENfK$]i4@+~JiI gIbȖvmf,Y-yఉbQf6 ,ҽ6O\w*BR/qڕpou{3ʣ [Iq)kM)^v,ܽɏJV6;_y<;{A-h@KhV,f|~ˢHJBH4 Q3F͛>i6-@Gx0F3oLG4N3:@G4N3G:͕>iOt+-JXf`iV@y,^_YFOfi+ějVW&61i =joQby"s]d@LumUzeQ96J(rFx (ٜ+S(JnPx+>2^S\_ag\^-Z1RܛrKBz6^6KzM-ozϠ*.̶z0#l^3KK52UyU5wlZJMV@(5_~U-d[joKaf A6,hT` xl[l^,[c~oaϾ '*Hٖwz `ѐXL{0o`0-PRעHmrKuW-X4V'$ԝ,lhS +M';ۖeϿܓ=t`搝a2|9 _F^**,_J\-_J\-_JZ,߭ Jܚ \K\HܙXjV`X`l4wA-qgZjZbXEEՖEĝ򉫵򉫵:;kuWkW{ ޽GD{(*={/:柿 +*ZEza,_mKOpjڇPkSWk=xU~zu[NѾ=ؔSg0w:xPSg g{G[L[r~7Ym6Mrh5t*馴Jf[mc-6 +imG V[Lʴk&,ݳIc*4:;^c[ c︴E]v|I2}H7#,խu4#ۺwŞ/Wu2 RÖ.7lƙoNԍHȌ5)_bcTGIj Q ):-DOPTr%ml@M"9hKűGu*@vV#4#lx[] \ TX ,/$!M:U;l9:fIx,عQ;ͫt.a4 ]<]b>5@`讆X9H4MD=M f\akK/xjHw!Y75 y=Ɔm;X/ /n;&*_99{ ']_J{%ZgN}[0ٲT[84Ywfye+"42BܼӛIOԊL(4UZDme O-ڷ;>L}[)"U0|·iw{QF OK>ͬgYgGuD 0$])]β`TߜƼB-{e*h'/H!(ι- Waqm`{qԙ˜~ v@m;XF1woE.'(t.w~ۑt:|j5Rye/P8ה NS2xWޖ ,lf BWEݦNwDlv*]Jw}O{Yqʶ>m +s_2o䗿$3狦v3DUu2/_~?~ţ) )eZ/yx!M%+Jd$٧C~6KQRGцArDZC&}(W24 oOc[,rz(6.'Ә)\trO-9$lOPV.'L"˾%kfNbx HM.04]AU[2M4& +fQs|'iVxS$Tȅ<qT/9$Jl[W3R!Km7;(L(Z+9^-jEa&:)4j 6hJO #FOא{xȈNMdOi~kF`,mD"y*VT9C9T +IC@`#U7r ;Kٔv:R݅ +¬]ލMŦ]j0l`w-n2ܵ*B].: ŚJ^-So 6hBGJg٦7 +0NWUDWQ>,85d*퉶BG#=KA14Dh mrKՌ pi#/_"`S0Nv3gUs9_pmv׈;+,B?ΐ·5 ^PQWTBm?3CwGb1sv՚zU]ֶeI +zYtae,ڷ3|r8T^,DD@*.{hPv.Ecf>dlJƦ%-BjMn$85.AcهpkD)Q&Jj{u{ms6Plb~o!ڂF\wJ"v +fc;o?Dq IĴyvFD >SDfn .Cl5:[ͥ tL*b kcҸ*أqcVd<9\A郫y$^;m@;CʹW]&Ϸl|Nn6m#,Z}}ۮ%*Kl6.XJHY68zX2 ԃjMVʉ}hkM+ݿ"o@.TM9;誺]LaZ*vDst Tҳ\$/2,Eq?o)x<9[`ݚT.Px`hG߯xQȸYWƳWu~ɫ=]`' +]HCn.m@ +b{祁ε8(m{ؽ{ߛ;ݴs#<MaGwp -lϚO|1}7:wAL̸6}RA!u6|-YV?9-mf*8(LnOakP4܀ m{:UoAS pKTA@@N\Gpd bB/#9QY \ i96ؚzIO~]S=ХLtWvvd;פֿsǿ,Kpn!4QtÈӳ|r7Yv>-LHҹAF^Tw>U$ ;K<- -A v%!a!v=J B>),܌ Iܿd 'u#ׂD8!dWꔞtC$vHV7!F03VKqG¨&r9✱u0뢙.f!*5w} +!Av2b@"(/LjWk:򒢺1oe&-l `_D T5#1`b|)B؝sǫ1$cȡK8/IjYwbth7L&5ɓT"@˝|o~exТ}dQMB悉hQ>˝k?,N^?iЃmTҭI⶧i03owpڇ$H;,ªl onM?CQn3!-z?`$)Q2՗PDi[رY`5$6d {E6%=G֪DSce+04g7.6cqZkKe~BѠ Z> }v㮐,գx%>SZUw=}>R|̉Rki2̵gZ&ݯZ v-R?Z;R[k=|BI=웡4uC?lpo7IXѠL C0EdJ acP[ |BxX]lLSs:# +`L+G Tp%K²kywEy.umS n|P`Cq"Ջ}` C B +c0"A +pኑ4ZC<Wj< +d+6 Vlnc}>d +ǼJ̊Zfx&ytL1M61!½CB,w:y\_3z}H'\0}`͋mV50Ҹ{b]!7shئCHt$},{ +ŠD54\͛-|[Q늵:POb[5]4V"?}ʵZ۟Mӻ^{w0{ֲo`2 +t\GkMӍ}<Ǫ`Vv8W;`I3r=Iҍhu "2U86&2PWGHwB}.[ûeTK[||t +(۟~yw߬:~3bT#gt.njjLY› λg0Q6pT7sh_L~Iijd̢E$bLSN ޙi4.DG˓(̂b"c¾qɝT*z4|6)&d^44HXT5"#l4V6 v(x2?CG=b'pȽf$XhUفB-%a1s[Np+@dѢ ZXF8Jf:+}#$RfD@l{^:ɴՌF8ykp)Hۚ 9P* +>vE)F+̛ac8S [7](ܣ*I8*|<@„LJA:i}Ee;y(Ec=vFb(N5v4TmvsIE5B@)CڂU#%B$aaP#PySꀉV&Ի@ú}u`ąω+T-^ۇ6E^u]<݂IaYp+a>Qطr b%Y?hYaJӷY:o]߫* aAG.Ä~{n;ԿfߵĻTyH:[A/ſi4HFW^8U) T2hnϜP*@tRղh< g\)q{lN\BI,#)IōMN}C Dˍ< Hvں͒jzu*A[OU4= ]]6Z {tsoBVFQ3)+JV#y&;l*Y3IM3mUդRQx))HDUϢ{n&*9Pb#lxM c'l!n'|@΃I;F}C]i#shŶJyXKLH)l>K:d17S0 ff)]o~>J3^!.s֏BDMt[͜]' jΫbHNA2E!u*Wi' +=UjF6hcUz/M/4bB̓orslmSUYcZl& xPXښ+r(z5u,\0yJvRSem#.vB}\IhfhŸ|j|f5e,PB P\ls9l_QPah%O;HXQBYA݅9DD~6ӼIXzo;IܡδQkQBpxr({C"9SBu7TP%l/=ϼ +gJ S^3Xo1''/KN `QtI/B+jjJ˕wc4:bUj,x4jzCLԟ+z|- +& &N%nd>ZV(ꀶy'm=d|=|擱 mSd'%&Y7?rOieGG6sߤ>_nhQ 672g ჺz8ud[} ĢCFQ"p*.Ob)-1p {͝|dK} @;[g"~n^y:/g@{f p|-͖o$K=Re?MR- +bބXIH0wq% ϛD蝠\sn4px/Gs R*;78`ΊR~p$q,A!\{$o|Lm/=O(umfΏ<[]F:?Dc_i''*pJ{ǯe/.!<W; [[aC !nI07Oڊ;4z'_?<__}o㷿T>WɈwG3?ei.⋿y4U}hg/ݠ[*v[yL i~z9=:@^AC^C:A83 L#-D`3 Tf7N~b N3DT7еhBtp/.3%<3}/7r0sd砝 ~k&Cjǩns]b ~Vi@Gуh1&6dBMʼn#7N ׭%6O&pGE +Tf=B_`zJӎG2NEBM˽\w.%N! =ۿp{;gl>ʎvd _(*3%pB8 'ߞB 3%Gbr:G` *zحWCB@$nld3TZ񸌝E$NNJʳk$|h3#b(e'ٓ&?R%X @e}6#Kq6&΃KGw4wR)S1&T8YKR+6iB4`=Npu3b7w $1 `[BAWZNg<3zj˪]5:}o}('/_95lϠ;%tfL W4-/5xB#z`GSx3 %ϷmΤƌ (xLTS(#=h `3`ЅS'G :>fN:? P1!;X6UϜ](YCUNG4nCJw_IrЬ]IC*u ']rxe/zSĔd\mst|䉖Tlj\#|`,;zDg5oLuPGNRMh"6a`7 EM>eN)u@Q5t41zuH2kęfGå)wBĸD~%/ dyh>7@s2oj' NҀ۴/7 m(ЮEe'(v@ޑ$wP [٦̞]t7A9!g6#>@uqHt.9W%YeBXKL@nr~,tStLYNxlRJb?iE^ՇG e1)~MGZSw'Jm{kp~>v X9hnw㠓‚n$#x`ȂbN1XAuJbtX7c4EtNt[B |ܡM*jIGTtzfu=ɞYn`lE ~꟫g zg99.fm4=ʡ7N{D:v?rPbwx<@\8d"4* xi*Qa\I[LP{dDz=ծ^p`zڏSX7cP?^cF!s7Ap2!nҚ( X9֬\[#,m%t6Ppb|o;=:}G ȧ.x\o<u:xȌx\=$A9HłPZuh6N>"ϝhDNPFDkglGL578[wL sV Z A'(W Cr| RmGK ZAVOYOJ2=ܓ?asm̳u_'IG1VD-_\f88"[S8&%n+`uбdl= $e\(Vq=ҷQK6sd8xm ETdד1GhǮ'y]_A[J*;ptCk"/ AJS2J*Xu=(2D(@ͺ܎52amQz$&WK=M-OͯU9b\i"ww9. '߸w=Izx3B7Ncsz'뱁,ԏ/ O\x4}`+47*aB>ta_A*a ++rܧ["9aY'  {$!%A0׿>덯_euS^PcuY&_*T*K,ojj:MTD쒃8*$tжW9=n"ĀYNfOg +G ~ dӻР%{vE->GyV /aw# md+Hx hf34"C:&V_T,'.d hJ [p{=@с3 .7, ֎c{+dT {[ւkk־(B[.ᕮy/GhI6DTl>%_:Bݷ!6BΕH@Eރz&ZP`$s>tI*ep)>}o 65A]EVoFGUoPL4̷a;=b[&̶S}T4c V/~ /:%gR#b흰:a}k PL/ć -pqLt}5>ђm| ZK\3c& +^;/6uJlw+ GŠ+A"K1'Lel., M/mdGސ*V{p&¥Ua*'O+4i*E!n%I;!F7HwI?GTy?y\+1{ۼK$(%j4$MT-OHf1UܰHPiNɴ6+TGY 0SBtx:mw=4Ux&P0Nz[$ê p栲e]VkFQy+?˕J)EQ479_?%{@N4K4MR+ջjD +3owo(: +#VlۇTRШQo_Njx., ]ͯ%dj)8=Gm=6è EӶs{H6 D6^Fql1,-{J1[ u#p2xsy䀵Y௃M-MEԔOLE*N NL-.ZV$rw*uؓJQL}Vś>~UX9ȏ+P!~?Ɂ +#(ۈFO!#DzPH>$IN>":{ `f$Gף +':NU]6_Bl)(eb 0.&sp[Ǽ-qUO:`Yf298AJJؿyxEXTj͐AbUA2?Cd`lz~Tݝ;-j\%㹵1 \4!fTo==xH {x\ p2 ˂tWgl#CQ|~x6#8ɡ>"WKCznJn;MX.5id*.]@"͵#q/Bk= YjbςQB}`dD7t?Se FV +UEtNls |E,1YZ^;4v^v# FsRw$63 8]#]52x뛈 +\K=et8ma 4ggRja)Զa}hs!y-7Wy>?^ gB]!)c`ni^V%)P}:РA%hꒊ@/PD͵H҄#&9rJʑ$rjV1{U>Kv*Q> +N~9ܵ^ϒm^>D\љXmK$IZ0Bw4DVtڽJLZU477d@q%`p+>PGp` +QH8!yn0Y} g0kqW0vάZx( Cی&V[k(`DX>GWC >Rsv:;RJȸ4c#@P$Kc}c=DS$*u +E)2M O5 f1;@˜A[e>/&7@f h<¶GLRs=qU>Lʏӊ7ݎFIj\sP/??v;DBDžձg9q-ND^8Q jl y-"!)l漱NuGTRնs1Q\B]^6S^2]HC5, _== oE'(Ӛʀ1ʈ1.@ :Ma_9ٯ6QY`A3^_!-8 9d#Erҥ k&/A)C)s+̕FF:O)O"Pe_V&tnn WvpN-i '=n2~#P[YB!)BҀUf"EwM)%KptSYѡLjVwE;Ӕ, vkJAvƮE D)A|=QsHsI1O/Ȥ 3(Pcr>QcsMa_F 5 *p龙KڤT(5@x{_/ ysq.0Arhn3#ldU:9Ս>=h]A)J]@Mfs, +!BJ"ل`^EXIZ^iеr`xd^1/|Tgn#/D?&y»] }E+Y/?_~?~cHEϱsI.G&Ч) O6hna?hc p)O99#t kG^ $ dIP>6x~I)ryLm#Ed(-lژ6;>fAy{ѧEU[_\ |1}pyGc9?`kWu }ZEJ; hȂϯohrɜFiiOFᏫaa͚_xq&'S:@&ߙ`_L.bPlxpq(F&(s|ߌQp{NF0 ~ޜG +8۞0Lw*bL}x~?P$zH*Qn2fH @𿊣x$q+L) )K+fU]_xPmλS0V8h=˟w> r +ᕺ-W+IKjWwe0 ,BQ^>l#|Nlk ՜txZ vD,P[ ~|"9ա{cLBTr/IE#wZtعs_?C0<IA˱mvPEF .|et\5A+8t O"S\[:X{]kr< +tP 2vv!@6<5Jm Ww|E'( R*&wDs$ēVtf Ke 2ك=}c`ecByɕWlgt>+ o[ +O~ +#M|nXzzs8O$jH +%._@Q)@n{)n +`z LբaWx7{јp)) s&64Tk7n<:a[x)h|ĜL]"'mP'P6&)K:BFx \ْ`({MG@S{ bi$B`ۏ(MsD4`y P\T4>E=I/0:$y-ϊyF;==%/\4h".J0XRռc-Q;ʦj/ޝi.u7Z39I$i`Hn(SH +Liޓ췤>88⢎žP_(C&!sQ$d;mg"AhC?X/ R~ntAvȰ2uXӳPGDP|Z,uA/)/]zb ޳i9vw- +uÜ"wYAX(Ov/Hv[{Ϩ񈃎9Z/3b*Z{|rP˥pF-GmZJ>^܎5BȽ섘$A2yMM=h7'uV2dǙoo2S+}3W6DA>a6* #TP'W? ?P2ZU!k69Ag)_mۓу~nlԋg!ƽ9D pHUK5a=O{!sC0fOX(QA%^+DnBl2ٹBo%}O$烟}o:967^Ѐ|AghQ.E>=J^6=xeO2P(yDW3HPكnE>NQ E ]E?K $DU.'<[VD"ӁyXDQ$$ hYBǻZw)d(9!HH 2.a}[DK'zmT,te] +? %v^e =!d"(Xs{\HE^xIffeZiuXG{7nFrDDBv>=T1x1HQw(Rޜt1+$Ѧ&1M)S ||/A{w-}=%tQxS +hJ]]% 4y2wCnEIq@zޡX(tLBv*BqPzLyaٻw^] +kWg *[u d\D( ʾ穡ɰlkx *!ʔ;yR@꠿TCb|=hYnz,v˼1+#ReX|ʛ*3% +E90_U +a(cU]jJYȠt'TTDaU+Iɇ=^k!k%gqdQ-@e>3GuDrI&\ƙUN  jUіȮw'v=S{\Q՚ +c("?vL9Ge; |!'LDD'֦$7@wdƬj܍;2/3^5l/-"W1+2EHP`v,>Z!f|2RiC]h]7ز8I^R<%D ZɇW92DF{t% +6r }|8gcܜcBa0m#l+ +.$7L0 `Z˵,3)źwW^si:[T =t)Q5iN#225ܠ;#j0de{ U.8CG1G|,)<2 ؏tȆ qXƒZOP`4;Z&WgL`Gt8f);ךug Q Be )kEC y:O] ,+Ќ qpGk$"7`4oPԎ^Zu&/|Irun0"J04;od[]UpE{TV3LhB4vj0ÔcmRzUK>} o ᬆ]U ,zOLo*`Խ/-T#mPT{n̩G |.,J^R tu"@Ga KM(WyT#R{ +j̉ XsuGݧ uNpNc(P~w0X< +QK%dA:Wܒn(x:14N^*Ǥ?`Uyx/Ȉej`#m.cUo&4*$*c[DRymmyBR{ l1(^GwU?-6 +dLHn=U{Em8 (T8+7iT;݀[D~vte`yju;{]d&ih! gX|jQ):Oѷ`x'Z@I̓uU^!ZC*JM=RFwXGeD#ݬTS|!k[LpB\D:؛&zDDZ &T7IbKX֕ +$Z0 JCN70' ݟĚg ݪT6g=V wJ=n2,:/ 8q.K- +W'>UFS`ŰZUŨê C% + +#jC}=­Y*D_1H{RR$2\?{xqz0]^rF֘I݅w6ri C9tyP1TXMv(,G`SQ9ba~ \WzKf/4U _9ҙ3WxaIU-!0Mڵb&PCz>Qģ/^MUuY)wmuB endstream endobj 29 0 obj <>stream +bpha +>d1ЋBD8 +>==S_A$`H<7` r"%p@p!oU&Dd潒Tq |tϗ7M9 ufHt=I*a@-C +T 'I/Wn}O7u8 ]d鐳,SetWiiRfpOջ~F/<^Ys=~>Y _-G߁.Ňiy|єܓ +Mp0F@zd{rBH!Yc yS9|a&ixĵ*;`uMXh!Eh]wٵs.V(V )kK<%}4 yFc(CeB-VZs˕-螯z>^(whM:d(6;duvJŪX|@ɨQ5`gu%uziG&7c(&SY{%W+WiO A]5լ.B62E^y{AP ? )h08΢)7yD3{7/ +/ep !r3=wl%wH - Z)tK̼q>&*de"Xd)|)$\nb+"(+N.8xj! Ԟ;JBN%'="k _>+TD:tЈ3TBqGਁv{n+@S/l6(X>́kE7 Oz‡`f+BYozV&():YͲPnTa c\eEw,qD.UzڌZ~XVxAyJ)&={=!-.]iMx&Tj  "0(;Lߘs&N+@07x?:M$"@GU[ol#0h/0@z irAgFŪ% +pf:&x!'m?FTIccb287ac+r>ӐY .L}E+K$4پ i)_Ae3za$_0>rO2P;|Jr( D/CApIc+T,bJ|EhyYZzig=Ou] <?{i m6׼*("b\<3iiDZy4aj8{x-8bsNT<>JOH/:t4;Qy%!(BĶd3ŋ=↡W_'C|T:i?[!{ڹK ~2/daݯ~c,SM} +-J,e>Fʘ)_u`$b]%ƶ#*dHx!N3$?"fQbgD!>1{ĝʁH Oz;/֑e\1?f@P +؝]'y( +0Kq&kMU 4 \j4NW͐!>NQR&Sٯqq$oCƬߞTך*v o`3y :"] %xS/x%zdp + >" |%H$*(b*H~գdm +zɐKb*ʜb$!Ot%E5j %Z_r]Qe5 +:]` +>=;IR z-HY>u\h y$_Q|"3856bt䴞ѫ^o{2tH+; z>ף^J"8dl%Eh kw>gO93H<:WBCwzti Dspօ-]}8^#HB%_`?tfHT`]e +2-M9`<(?Rʯ.(S`uURcK"oϏi([ɚ723 TdQ =N=p+ 1| ^N롪DP[/~n'"( F3^O`NnWGY4Q:Yr/`Go.eUXQH.]2eٮ,oAZ~O_%K7}o'Ƿ__??˟?8??ӟ?_~qq +~=V/xeJH f9QϞ}7y5Ҡw".h L,l`8@I?!ӏӎGSU@2E@Î= +Tx`(D2p(̽W)@rd$S#NeGuؿ+!zpr $s'mŠ<&+=gF!/UR;v=2Uњ@!ԛ{*C(G-|;KALCO"BY@zO2zT1hٻHCG!wU@Q +ah`rVq½0UXxxPԙoO"UtcCz+pt;:GtMk9P<(3Vt*h8xUҞ Gb\^a v#coG6Z&kgr!D):}^9οZ=Kq!H*AܑD 3T+8fq1YnC:A.كC|iy(v`{4I{BxJ6c@(!@E/J42Ҩ IM?l 4us0jaxmŖgmijrha~z>6^I +x8# v'MDk2_W<$3聓"=t{t'SiZ1HkE~[N#X` 6*`x\ u] t@: !qF $xK*]}*[uU`ZCWt;i|StQh1 S6Ǖ'_ze[]H=xFЋČOy +N,s 8Mu0Ne'/11y CKYem{T"7!ސt, +g 2*=|XngS?Ed#$>4=Z~npa +'m|RG`!&I "IT(F+.f^l +DΊ\!Ql_nJ=|}k@IJ"E±5Y`Ј⣵Nݜ_  +CSZ(cd0zME򹤗) :Ơz8H3xbl։~A!눞 Mv#1H];)֘wԋ3^oϐXQl[ ?$UjRdh`0YiDgF.g7B[ h_)G7^~1;obImǐzyܶc'A$0B__bC!Ќ9(Cv8&n"m.Ġ*I@A~94"q +7ddD7K%$iPK #b5?vTd +[#T!)Apyw||n}`..ah&uk*J"@I"ְc .|nkIj p18h-zBk䣑u'$bް7a4J9 +$O8JSjfcz|Y졗MDI$\xɢė4Ms0@nlrgC uD.f2ʦd@EE5&%.Vx[S}@_ ֠ZU-!j ֠a25J8pC oMhG~M)$Ħ\4iV(@ E'%fÝhc&3O` {cya 0ÆKKa8i\6(!] +yO0B̩٠bQqNUX0P-֚/M¾ +o{?9N(# êL`>ti 3$ËQDY?jp]--c cnmdDr7VKΜsn5j7b_ +1]ۉO[<SwF'ܡSRZ~',BH-0 xB4NuD?ًn-HcמGIc'6% MW3+;>f0*XbEk6|8}[S| _[yXJ9Kz CwE?[qT5zU5Ul4p0)C&d.{eX zO":sxdf(5QIcqy5k~BXMT$[>oDh +k!6 *P?y/֜ +rq&aGñbqW}]7+QD[+V]DK6^S|ѳ6%!1AyÂ\ +شTG 4I\I +T@J-!iv.8xaLHK9{A6ĝ <C})(Qkoޣo]Zj؅$nr=_z"a ?|[u>5B*Y8#Xlߤ37ݜe*W}h\ύ_3te,] C+WCMm׷Zx, )FʅmO+]>M>3YB2/׮2ݘFR9Vyx޾x +DXpPcIXK&ACkWUGD!0~v)^lh'VY7N)u)7_G c*fTS}=B\>\ZD,~ +aޱM>o|4!'Ec$BLL:Dk;64jy t@Aax)X>=sT7PcPPWug1)#god"*O`1:5|{6q:-lVoGM/`_̯eѦ (󋄭&B5 +atʨg7UӼ ,oy^:шkal{nLZ7؛ Ol: E\aYǡΘ +rzكꇹ$r) +'mXDF* !CԎ -/p8/fU\$[!K>A@@2'=lɹaZy~^yڒ<*O @{`3Z.ǵЃypGfPI}riJܴќȼ-r][Ꚏ id:[/"M3D DQ+!1;4͆ +b,X4[{Nb]2+3cH l&Ta~[Ó+OQdv__=A1KM +J!f#9y󵕔 `/@&#a8_e̩5:!()~/d]Q TՁ}Z_ fA vPKcǺ;L0^^NW%&tZ:䐢/E,=O]}Kmܓ %wo5F SᢄuJ(tЄ1R@!nap$dztz<*0r3i=^W IƙȄs&7%`^$h)O1)mlRx@ar!shhI"E d DK"~Ű:jH&Q듇鰐ʁÂ,ūuR.됛KzkQt"o RlhkTm +s0 |Pn#Pc0,*FDa~t;[z莬r،xqE0&6X#YeUr +*NYtUʃDZK)  zY>뜩י +#.g@/*(ؼ@obffMXD=mCRcL{?>޶t $Sp+/G7Q Xy7s/eOO湬d\Ȕ!B8x! ̙¾p~;f T;=POZ f<=Iy +e(Tc)+ p_B!|E7Gq?(X s<ˀw}K3R8wSN#=ju=38(IF)1H]8!R3qD,sBy*~ mw`=ԙs( r؈"QAQL‚ןmQ`/փfړ͵녃 +%]OrZڍDZU8jyy4>7|"+7;﷯s:;eeԞ!#],{9HP6W kex0p{ `dʱ5quk6ǁI{ {(VL=1!‘]nq7l VzI/Ta#df 4D1!GY{-$F ᓱyVhgyW*;gº'W)8(KS@&@C)<['ucBin8={:>wcոiIԢێD@Obq,WG ڛ ~#qP;$T^ofF`j0yA: c>?_ B:&Cմ[<*Y5ĝYm D$\ {D}WAt/UkDC =qYkas1LHP/a}5_ 8|-̓e/tz86Qg/aZ6A"'U^'RT10'j@J)TvYl4EhbyܑԾAήBL"\.H^v8،خBa{2RZ+ݜ)u9,3,7: \>Y>s]4w,H֣[&B1S%HW\CR)υ|D2/6 1 `KYCоb#xp&Ax`ɋ`ur~yōVh=z0T7Hf%3ChA*O,vqY@x>0*D{iznI%iO/ ,o x dSm? +6h?.O48TX/PqRa> M'JW&>` rӠwX"P7!$1} {N-O&Q-HDzG0`)O]FG'0aP̞(-ڣJY1iK]qwA^/ +aƪSvLt}&zu;=b0a:Rω}E!~ tV:Ra&/SGABk{_y g ;Cа \Q~a<)=Z*!~Wl%HRb|l:64NٳߊnD{>^^PdY"➒ppD;bvy0^gp l=<+ޕ8c XP%O^gl=NA.:(?拵PgpxedR\0xDVX%P,)]Y/FRTrOءmq8j3~Ľ šFT&' {^P),Gx{kesIpaP%,8XhGY::/oTs@v/7J/"i)zg@,#NwJcH !UGV+ͺ@)jgQGz!j)xtkp> v';Y!AKL RkϺ~Utmԙ.8pjȤc= @ _ׯM7׸H^GF=:VG}=M)᜽H^4^ zBZo34iD!2avX +U$U?!;1Wmx{FlM~T`̜)$ S;PʡU!膇vF4i(6'1,8*+:L҉J )v>G5y[`*mlcYAR/eHJ@mR$R ;FBjT҈}}_P웪[T- h5!ņ’*jg^!nȚ_אfO)Wvcal6#WntO>?&7B>!χ$ 3s  + W 4JۧY/l,h@'Q(! zO4aǤTB~< !|cy^-w4{Fd$X5vU(xHd>Vf?x.r*ZFlQxAOwVX("8/d>%ߜb3E6mgs䠛<Λ_=nѺPS6(id^(K e˝#eg +,-;uᛸ +p$㰅$o [ᡊ8 $qjTJ[fH҈b!yq|i,Yhu,RgkGH~DWC5ԊQ.bLbS$t #H`C@i9 ` 'ɏ=J 9m'=[2I۵q | +{6I%8Cz4FM(y5FI&Wrx\,(bTtm,ݢީ~%д^BeUYbϠ2:j@ryTMnl: +cREd\&n7;Qht(#|s$@`QeTAd.@;i#~uEU[ E1{N%{Yz|R2iqxJ*Sޥ^>LQz` @fAl̎ӡ>;þ$mѺ_ n94V("xXU /C8+ 0\vty"p g +缛D$XҠ4HA`¿M!)MD7U0k c҈%;xa|]׭Ey;YՍF Iةɬh_Y뎥S]n΀V};%%H +cO$\hS!l c ajOXD҅vC$(K h[S6sxlpA :‚y06PWH#fkC0 {V\ZD>Bb-ob8B 1֘(PNƦ>dzTE-{;;o~jJO΍Q0 6uU.D쭺!%8 #A N)c*VwC+UأBm:d]0k 6j@*1^ uy yg Õ.)Mhcu<a/n;JzϦ{|=N ˞Ŕ`"Pi4؍L qy*&y<6I09x,A G9*Ko蹬}雲[7%{.`\5^ywGs ،4IsFⰴ!AudG5]U 9*{a +"VaI[[(d*-7p+РI,@%E9lE/\p,8]̇hڍgV!*'uSaT(%#0a7sK:3Oz&r|IU⼎;eʋ!hߨzIrAw)ݫ$CG|bzjdkE){?5m8!Ӊu/KR6tl^MS$%5b౼U3tp`|_oR:,%.@WJ-%W;P=5J^$C*@ UxM(H!T5Hގ"5rVbj);^dO1ꨗX. a` Gq^̪45Ifg%B|erK혫1;j +Z(}3Hșہaj(‚b!w|! /+9 [@Q'Cje +[V}8^P-u|*yԊekzr +=6G6LrǡE 9{]w1Й8m=t0)4H<$6\FBP)!SP肣:CkͦB* 94q~<upB#p+S*BcPj;.'q-j-lT}(GPsiqk^f`!n87Uv2?G3سlHy.iuZs$bY0u#5^6uwMsM6pxݵϟzb5}p7JS$ؓr q.C($Kh+šHY tцԙ5N0!O*iw[+Vq!Xe\A_GӋaf)tt+ʒ{B.l;R¾ g8Wg\eVKj <@ f >H!04D~c <+/)R`9j3 \aRQQ꺀u>pm@0뢲c }n.fM0 +O!82Thn/)Dop&$!aETh:6XXYBXGkh~5P+lynE #J8)ǏGƒW +|@!~_XDs4D991C&ߝ@, yq9: {:[Q +%!O24= kSoߔ)VbV[U]0Ru[ HU@m6w֘ei OQxR̋R L*`%W 0M@kk*W-[&/+2ziauB,Ll]W1n.H #YPY$TN8 }y1H]$^dp 2gڟR?NOk[^Ʊ3Ew #[ h% =U^=YcbCwrVDHΚ5cZ%P…ĸ,vIKz"01^䭉Y1RGTDogdy-h()fD[)RJl`嫯?7"E=ɹ7!$?}̈Z  _#X'D'|:HTpm{f Q)s_-†#y.6kR5 +ejm*k0KկoYHY_J +JOSX"/zY!r"V̛+dM0gAbsMШhi ~=Qܗ,8~bwωV$8RTk}UH*~(<#Z5Kk[+̼~j#Tx$ϲIq_̬y]P!,Y4sKFf·Chږ`EZ}d9Omh1=1o)1b@:\Ϟ_63u~|ɤt{C' {o̱v<5ޠހ]]REy\[*U;!Y,:!kx L#<F]ek4ӰP>jF#D&,3|L:fJ÷H%R| &DDaysc&{ .#2Ɔ}|t`5r=o ;n7Wew (h0>âi%\"[Ȅ<ШdBMlf恿[$ +i6bĄ@\$9\n_=rHsfsv*miUo* +_nbI3u(G|5ĖھA{}E]g&X^ wܓClQSTtef{̓,9J1R<{HJ s=e :FoY5H  a3!Q_"J{ RwEJN@!J.ESo@6T솂_$dᔏ!XwvMBP}U]ǧG Nuhxo"Us<+e~p ĕv( "NH%"XagiiF:Rڞɠ4,<=GstyD4,g\mie!ֈ ֜nLݳēXjwq8Z8b>K!,lW=*|FCZf{}?Q`HxxNTE>D +TG!x(/ +Ba_]@sz=F +ETP=>xOGDD Ee3ulBBFj-3{Q=bS[N$NqJ`⑥!@,VקL9_4)Ja/`_^K? :IlnѵsL-5LE1pòʑpxV(\)r\͚Q'0`$ zhYb<P9[t&. +=aΥI@h[LImTWyAdr5@,Z"b\&ux'ﵠ9yZ(<ꛪFJ=*_C/!Lѫ`i%mFo)~'(JX- +UG1BbrGXIzb^`+`D G!hD76b=+I`8ڕwK p_RR2.TGB̔\iۃpZ&^n_0_3D",5Fp5p?Ec_6.G^"M 9x+0 Pi5D8^5-'o= gP*{ h  ^ 'n~ҽG!U}u>I; =]ED :"1sDUR##R?PA Yl]V(Bum6PNK,Z߆BU^z%2;XcWqKyHEtUyD].L%|` j@t$$j}6{WVweVuM~.=F[{ӣW!|%%8ٛÙzG 4 W 4L &/e#YA29%o@rތ^:0J8G]A!G2^' + Ta&(rz ݔs@q)ٿA' 7gn*6RNL"@U+=FKhĎfUG$y e{Ͻ AXC/K/K ֎j}oȆF8QVl +)8@[7U"=q&EGAp|zݜi9 )+D": +?UJ [؂9Z˻XW%Ux}e^~AʺX2>Ba "v{K/ le +wޣ5GL*T$jBW=q/c'%6Sm!Y^6 Hj6e92c<TR$׵v0`yA64 JS5 d݄3fN!C1QL-Anj0<=ApGqOtܔw/6d0y%pQ g;$asjrRE=:B0rVBWϖfX8=RylIb`l"$=FL䱉{jSs_.aULGz Ч!Wif~ļ;`h I{7VU(e-@(W5#D8j4a?_% ~UrՄp RMC~CF,X0X7E{H}J4Ct-g$pԀ7JXX#pwz6VjJE &LAb-<_*6v;OuK +:Gx^<8xR"-o6#z=q*tDll$N$[ĸ'p:gyfXPtr=81{x2a3/ەslBjK##!djC,ᙓY V4\G^Ptcoh$SC[d}=_4POL8AOAqpV'}woEApf-$s%D կw}/Ywi#cCP-1+\rظWRFҕ[ؗ?-`g +޿r0#]jV,#Y,/zč;qױZ0S*.*lz@^/.e-U,=;M9"Gco%{}#i^.l+Gk(Z]sЁJPsӪ{5GX ~' &„Pܭ3AVYXOF (u`z[{VՎ| yЯ^~j\3Fw5A=)^Y2kb<;UȄjPX/ +F9Zf#Lv]mIyo qAn ha)YoeIq8C?Cz53<"U3PhJuiP  +i7eGEac[;Fݾ4czyW~*-\EW< ZT,`O1/ #o#3ڂb1e(ʠ\]y@;}H=2!gÔR9ys+EV#yǐ-]&UKTC5@@a{oVq#eBHԦ>ў\t<~b)r$_`D3y,|&q7ǎ1= hLI!g)c Z``.(Z| +Y'"6)*Č~+pߑ̶XGLhx~'>5vjE%7?':EJ^y+ue<3Bй,SBٴ'F0A_5XW۽[w8YW^Ɍw!GkT>fہ,| =R}o/3I& \hw:>ʽ0wF:Rh#:aw&J{5|f+9CF r/RaG `!u6eorXw2,߆@)J pt?}oO?o?/ӿO~/?/O?koj˒g}K`AM߸}U#]B]w<1kPTI{e93##?z??????˟ןr{{3W/،t +S r. + g"6+;_rz6e,]2%:A=Zר-+|w<+.9> 15mPm0RGm1l(C}R3q֚vN[ "@S YAÎY8w2;|L.+1³>B~&1n7ZEn P%=(|/+oxTv`>@+@=;NJ^!V| kE9y\Hz0 R^w"of@-f(x?g1EOɯXg!rj[N]L'uL)+?Z\,,o(/>pa_o86@V!0 pQЗ ++W!X(!\BG9AJ-)ywlў  ?)'!L5LYA}"N:a[KYirj2ym<ۭ3UwBb%/\'V}c~%=^I늽l2{(gʃnHʾ$&0zsntr +N5F8 +v%wXDQCDB{{ Q//"[܈4-Bh #Ɋr#B@D_ipAYbw> tmeVmg '廌[uD%!{"8I^T7AV +_g1ौ @xGj` 4e9}YD`PRϒqI"bDW֦/%ZtKN52Зrov*)R=Tv /X@&֪>A<SBp"Wb2@``K`&FO +Uu83ARp^[,n_.'!ךA+:@D40(lpnNWX~s)NrYY]An_Hى.v#Fi Khc}"9K~K_ׅė#V Xf@.ũ5<ک|"H^Y[T uL͇ +'gUŷB ?xZcad =.Lq*28A!(9$[4sh~>8䶟&gR, +!L):dn>)N~2~u0:x/Bȝ3D3=DW·TAp%^|zK0|;~f?vHA,Nh5yKfn~Yh?7!"^@7A[iF/({eK7^bi=d g`nvbދ e2 +hK3PK>ޕ;,Wjh6գb\0GQl=O0$W$&q6x'^?+p5CƟ6U#!cmhQ  ^G^^$^Gu^>syy2/!4azKu`Wf7],_~=ſ:ڍyǧ0z߅Rmrv৥AxhvP[P'hB +H> +_O*ԮS}gDRVRzpRh +a*/ȬP\%Yy9U;@^,M@r6{zrKg"4O!}ſ[濳aK'mL*Ōz{-+״+XhDlEiuN?w`+U^SR^v{3C jΊHA[NRxS; +G @0}7$D3ڵ]<?WCh +m)ө- +A`F'f#&M m6#7wxq%nQ5@wô!;wUO\TBm$Tx HQT +6{*L*+y1oZ#VT`[ +tRf4Jvq/B .7"OeDP`ܶ#?m-oOQH<èg* /<X= x raihM5/Fn2{uVfKAJv/R_=+떦xQ + }1b IofKb|_ 0KeUwP%#~ E 5X}*?ن=|*U__()C?䲗G\=#^oT};,(1WԖ!Wu){}<86a#M);,$v2Qpo#zn}艊s9F/>Gg q{#˽+!23w) +Q>Zt&8o}5Y?R:nJ]?Oħ.J]")# ~K vl2}!y@zb!1TU +HՀ0Wu슻 c e%\Di +WF݈E?F@]ѻ};xLXDW\*0D젧*:NqĝQ&,"6"}u W R#Rz5=ΩA2ʽF@!bNqe!>ϋ!o mMko4 ԦAwU,ٛE:qT`-*P˚!S= #;E\hD JvNk0*)SE+oQP Z ^ iD);w2EbKIXlqoh8`F u N8 dpn(t5]U8+(rǃ fuYw(ti,Z 2Z1&VbS7>w@4~S9#$QgFj4J s+B49eDG>WzbIĪ7=E.l&y R{=ƫj[qoC5z @6Ez2 +c( PAgP!(5Uo/lZv+H}*TARq%EYu@{7b_ޝz. πQ{h#D]ײ悕6Qw^ +e;Vo^э3hOK,=OVH7\Q't;@&r%%?{S&5?(ewSwQ5 Giir!{92@Tо,% ~jYlc2'+1b? +gV "Crhn۞q\MJ>= =,.\ 8`x )/@ +AkO-Wh˟W}!b\!SQ:ZLcZhN[( u$ЮΗhd9>Z})ըP dձN`V]ܗ+ꀖBƙxXrڼ ΛMŠTqgF,JGV>RPK@Jܝ ]j9L Q{Cޚ<ݥdMSL% #,=8$DȢ.R먷A2meꊴ_WLިg A a>ۙn[RGÚu_0.d睏`cezS$hm"4'gH;'oAM}vPɿGS >~aa +:V$J8F(32:hJmV /1ՙy+ɯBMR?nH 2od +ez>]wOejzJ1^) 8$z|Hp/W> +nnq[O&aF8OpѸmOH2&?rOS'h ++" +qO-PyM᭸] Yg.D9=sKr0srwZhDV}.+ҚSL~BXm9,hhzaҠ%A%1qv,㧕ߤ/1 4EHWd1%ئZ+Kk=^_P[)}Y@OŤQgǢ .>}FM+$L_6J(´~bq" +{%dUjB {6'wL'im7 |0*Јlz:G#f"KIWbg$B؉0˦r1`S +//`KX3H4HT EEKգXvQeN;RN!dMA+mB&c< G9J'٫! zjbR\C$T*O,OxO%.++_Q5Oӡ0s@0'u69+zCB#a$!5|_-%E$ $=ӲQЁ=LO5j sE"@\ j5 +Jơ ֕%UDŽ8 r| + U'Y;52Hc҃0w`b*\9"gQ]Y**1?crȟXzc[/ޚ*]nJG U5}G\eƸ~GW m}Hp6H8_jW^q1`sF*tbbɸbXG:#1@ ´8oC\xE`,5<éQ'Kѯ7C%{&w&<eI* i>IFQZ ޱ3tu\N֑l/?⦣X(͜St |Q2iڎ ęNL4V0ouePU @͕XćEy y)[5HG!Z ˳E?gE<<`#dYA\QWb '{Y*HFL~kTG8N37KXAKeJr?m{])6 Z&e$mA5Wc@DR+m[fۻ nQ C'm ] Q(][`qBig4j_7锢cmo:dlC2,))$M$!7Q/ri MF1n(JF :bu]A +MoB+eJD- AJ̜]Q'LmӉƺw'<sS=BFg'Rq!͙@=冘7/`P[tP.ބ4Ap{=^{!DQEL4gӔSs2  d(>*W\۸y*-3"v#FRt#W)H u5mpyShC;i?u.e +B&dLp) +Tb#BCyDGOResj裨(M'ބB^j(C[<J{@9]QBKf/~'/ԮiJ p~ @byHDl>i7"|;|^!Z3qoZ@~Vcq ;)659)A102E]Pb, +І8BUHN—OZ]m21QYя[:<)"9~ ^'ו3bVC t50tjF]=_M +$kT#M${5?ZӋԁ`mAv}lOp#. o!7۷PlM)G +zKR^Q+-sZam)ul1~+d}Z\=*KHFOjaJS~l3B JN5cl*n7R*;: +>fgTgOLLCW27x+ٲޣ"}dT +?סM XJSGwZ[pU)aO^wtZA3gK(1!ܸHrxKD+.2KhH3ky8]-(kHd`+tW{KZjrRkNJ/2eHzS>CQbXq.-aRKU,#2N`{!s@$t4n[B8<(ئʳ![B4zAKr TQlvskX^uL-b0z$x:q'ʘ=E~p޿~;Ђޱ (Ŵvn7q+\PkEn5}>go|N'>+tpGc=xtoD` +pe}د]AON-K+Qp3g;"DEG>{l@ 5K2;{N?p|;XӡE«gLcggkWWa0v}?q<#ʞ'ՕC׫^8Pױ`R'BՉ+f+zɥ@Ҝs  _Wpd\wVh#C9Ek\JY3KwXb["WCƚӬO77ݿcْVr?Y|2)Ђ#Z'Jweۮ6@Pq~t*x9=XR2r|R~,MQ ߯';\ZkCgowܑ;_ 0Ejۋ'3)Mò(ê+ZnkE`|%r啯ԐD3P/e/A_kDey~0B:rLoUO\e %xqRW-leC)/+u'=*fjq#VW!L_~9 J(E敖0tօ +Lvk%KkޜIh8Sx^ɒh^6rhz2QViӫ/-ć&1&ߌ-3`y_#|L#)( \dL U0~jRl:>H6zK_WPH +׍&I@Hz~(&˴bT+B%y|gx +=dэhu#!#O`ݯ+E9WɴBk;ΣVPh +wo]g9_+ J8RSI 0l/eo!&x.7tG}:SA Aq\0sncGYH%/F̂GFcC-θ8[1PPBn0a=Y7٧Qr/uM[dlɝ({j( ^=1 s،y.tt'Fʠ)k0AfyљIQGsc]u!>'(xQgdHnn'@V6[ Ÿm9MZ+:6 (GaC›[ՈDQ2ymzϼ)Ǵ}3 +;Ny|>-,a_>^uy=_ۦ~dsM&LGU4/6` ԏų:ZBJPN8FmDSTi^کb>P'|cW&z2_#1vf}|Yti+;;Lr,ˁRX*l[撣7 u +-wlX˓>ĊzP"Ƭ-^0ҦGHqx8 +zxJLFjs{)z͠VEMS--rl;u'IS8ZR>,id ]0WJ?1vL{fd?T:2|wJ }vdSڏ~4&ǴX6|OgqlІ!KjF0tFitiq98˨3^jLIᩃMԝPlr%Jy"(~JsX xH"._iJ]zgEƄp,(z 4޴W aTt8$vNzZmTx Y =qlQ{޿bP5 2!ò@ϲu|}L캪;Y遙n? ́|= > +%ngy- "*0[R|hs٣Y)qkāS;yo%;F\D{YC<CE,gjQVF{=-FAW + +܏;Z=._橄{ zdqy͢y8{6yE{Ħ4t2~q]R4VRD,P͔iQNa=63tGEQ Q$ǫpfqFp(I/~@Sq/ڂ&?8Bwb>a `?+dc?Н+3L3HmS9?Gˎګ]X0/1D!Md 2ȏhI:I/:G+ABP=[H/ <5RaڻchK @iry̨{5!Pѣ!NZ|<1˚&X͝{Cph4?0+<Ӛ[thwC(bJSF7C5'$gv+-I:~໸twP2؁TLjۯ31ZTZDVvwz +1%HzHi,oz}#8`c!׈ Z <"4QC5Ht KXJ,FaD:S(xA 뵍\bWK(R_JZo" ;JNHr?T!X>H=_~Wi3p,Q̠֖׀SC~h.~rdxG?G^0JGJ}AC$QH%3l$giњJr3_4QkR*5 pn΅-Oڡ\qOOV?vc8SQ/Y{P@`?5!;MU]+z&#rzt@P|/%1SI#'lpTu?6" aTU-^? +3Ci*U6Y畹3U[Jz|Ո$AhqޞҲ 2ZA6H$lSۂ0J)w(A|QWJdO+Fu+F$>F(*ҵX^කF}l  uD {;3,䔣VP:VXON'ՔI}718>A$0^$0Ep$M>ư3\pq;SDX/ӻ` 3 HxVH 'y~\3eL]XI#E]z|[ozBY r8\=)]Y%/]/ *N'3m5-F!0ASs`D!47}J6Bi`{9^tM\m5&t܌6jy;+ѹs"<̻㧃 <9紀:q!2XC|'ZAiA`.|׿Maj,Zj?tHyp>܂Z~=q*ەY10j 4 a9ucoU/m撥Fk$@G~>sqx;zi G>wZ.A^"+XB~?B'^u`8{6fX|d>Z*(.K^K(5AƢF׽Fc@0LLBAڻ{?aWp"DF9&zk-*mN7B 9k]Xak\g(SN?0Ǎ|/|#mQ[~o|{cc-}ʢQۣ*@L'%x')V;%J|m4~:xh&&p(땓s]Cp&C>0;r"o;ʆo0d+0id…^OqPr~C&1e>q% Gq ɏ=mPRkEAԷᆶVJiA8 pFqZ-HQ#7uRRE"S#\)c2CTEI̷ҙ P˝oz!=K" /E\zbq `Np;#ntW6wԝf7S%! Ր"[gR+ L29 ,P`#@mHH?N,Uҍ $S $Qp/5Cʷ밉h.7BT 7ti'3)P7v|p]9ȷFzu ;Q/$ -H8ypc7;f=˜{5m%.i] .So c |jeuCn?x{KDwz?sod2tf+a 4B{)B-G Q9e6 &V&ȥ=% +a{e~ zTxOB/-gwqqdg(ɢdbEe%ܑ/F; Q-,C,l*HZje+2D +a y>1ڿ+Wy{mȸO@F=cɋef8Hd-իir@XY~VyЈ=OxܛXF 0E.f|!Q e +iZC,U0v\QVEӊ>RX!8LxOr_&<>O'#FF;[I= *k~iQyOAz|HC |}uA/  fG(-U0mg8V80)/].W(4h;0bO2F7AcuG012x%wJP H {y,'B83] +R#y ^`pYLǛ8xw!B{2[;Ut#֎Ї>#U('@§Y#8a h!zkԴw #6e&"ȼ2~Nj6u{mCL)w"d_Fj!MAЂC {DG~{dA?`k3ׅNxHIeK8XO`mT'N&4-aоQ/9)+wD$Dz*7=ݴI\~ۈIsQOg{TC%5ԇbgH:ө^x\FD5^pRR9HʪOANB}@蛅T!~1 +h3# DQA=[4$Zډ|v[#,Y_8O΂=m ,hxH|5O*mfֽrhCꈞڐ?MY5Cg':5<Ҙ*ҜGZPWe7Rvj[$xSQ4fq +%{xo戚/dt7}5Xp8ypޑ%{yJ(hҎ +s޲C1b 'ȅ,GmK$1Ŧҡ<;Ǯg.Hi`K""[?ٹZ$P|vtRvwj킼n؛X@W +1hE*Ъ^5y A~|hFb /vq!ēK8)ޑj1MEm/ J/{]<SI +R)ucxsmkuZe]3p46 D*(`<~\Ln 0䲆=Dx1ݰ{'Z᮱4Al [r G+ L/ gRDy(1S) wOQN0;"4l-Kw8)f#E=tV/<EN[4l1Bz?Rsb]uV9_1$7Yz?2U6L_d Y7>ٳmD$@ȓ>=| UT)`m5+$&+O!ZY|1Ÿ;%A +3<`♳5iE^;]?0QWp K܋V`n=ٍ_> :`Y! +⃮0 xπzEb>]A-V(QxאWLxr 4ؾq J9BsA=1 l~ qB|@\w6G D8Ŕ +ug ]NJH[HHvϳXSl*Z0-SDRt㺗&XܐbӵYL^Sgf ͞wܤx&Œ_ p {Ё|kGPv֞σֈ5FdґG;>E'}30vhňF"4}C3":\KρޯSUjP +oySX"beS0 M[i.beȂٹV7(+k~?`eo#~= 6'Ϋ$gNh_b{OC )O¶d;Y ,MyA^рxN$Z$h E}p"0wGA9AVER\8!'M'z𒔔G$Xiٛ¥9X©qY2t6ƒi*Ɏ@怜p+*q +yfb1B#?׳'=Fmqի(u!0 ҌП8ϑN '2 _Yx-wR{s(GLHJ6ۖd- vdĂJZ|"\`P,DHQ0&RIDI5( deQ`gSQ+=Q|jho_#XP(]H/ \AN~Bz!OTGoq8?`>}=zPs4}yfLPXpPk6* 8率aJ]0Y*kھEqmDT/1s{?܂zJ&dFň{ds+}5g + 64MbjPڕةǒrz3Wa, w@>}ӨŸu٧!8V EW4ۖfj ŒKCEtgF h[.Fh@!+#35^׉] nAFZ8,wQJ +JCwH JTiv\-[v(]y=`fl\`<"!y!(/#a"VW<|B4;֣'o~klLꓴd4^™eĿCv33eW}Ju3SK$ZzbL zO8$Um׌BW,JxA73<3aMԖ!ȘO52 * +sJ)pȿBY^kI-z" I8PG{k#(n_A )5+j i\ q)s0?Cw&*.^q_ZDŧlAp[JbPxv !DšƮy׀ȱG9^/,e + $tyxj_Qm˪rtV&1J"j0tV>dap¨}ql=k0|@QA_Fy2(!}͂Q.I0CGmVkLU!!` T PkjK +qt"(N  Mpl!ߓdW,6B9{x*Csǰ{X@_^{O#FDE_eqyPql4JB4±aCz=_mqZBrEᦪer}Tp>@D/ه DQ?1(N; +;(~C\,>i Bh8[d>%ThZay8 -BFHDFf&/'FF\ra+f52}'fӠ\IaHq΋}-ktLp2 8#ڝQl;)@2BqVELRΌ(3SjU̵\+IڣUFqy<QVzy gPP#2HT$3<9X,s(`X_tUAYîlIfӬ-X E`{Xs`$z13[ZN$.ŭJ"_{Cyn+!G;A /Jj $@l jBdMEuӏ@~8෰cHxӻΏ&d%9-)e("#gn(ͷG,cct)A]6זV78@ jQ54iio2qoXǪ‰>Oc-{ 8(I + jɏ/İa3b(lo@ +[ݏ0; +!A1<3E#յIwP+F8p#e^U%W( HXg/g7/Iqnۿg/65tmU2/ F ff8I 0M`u3qs$,Rt+`NH{x=}+ZFӕcn@AM|8=EL6MtGy)"ТM}@TDw0XFh2wEk9S1Դ% --$WV6>9Yw<*-~T |O~MJI;Yi ~uZUexՃuDb~06`pbmYPQB߻5TC(?(:PQ>M]tE +T-)%:F$IdNϣ? ڛ|Un!{:N '-:W*l$/FCC +T"LRhiPJfjʂd04`1fi^[Ͻ b^dG#QtlxQ]L)C! fВ99t2YH^a5q[{Ύ9~ e@4!d + 2eۿBHJcNDJm*ލU6DEg_O(e +iߊM`ՠ=5u(>8I; xlz*$83|0FV-"^P G + rЉ98} ]*{FChvqRJ?)n+cǁeGA/.mϒ'#"`';̙SW(yFRͺzEܹ?c)p)blRkEЉA;FxhR^ⴞ0-#שsNGr>*>!>&?3!ьdZ~j1=']/Bhf YFTg^/)0* xYxRrx7u?[h3(ģeewQbT +F. ; f~w +ǚ#؈B;c"aS+a^l[39R!ҩo=_I[:nzEonaFF? X-]Wgpe Ӧ`=ބy[9copc$#Tx1Bl; vFF2ݹWVF^H$ҏ:QÌӨIK)_Q gDh(]Q|n;) pRAs3Y޻К&ҶWK' RT!΅H/ܠ.+ SK9pQê4-O]9.R z8!WOޠw0ʛȍItB˒y59'D_5Hu߱=X.@9es5%O=ϝzj^> vR14{2|kLr"bc2F ۟BkR!SLJmvzd:O= O1fu(SRzRKJ4Wk쪏DIy0U+U<`bt!t B$-'E%2 9ŔpxA +&p; ?`{֐9+Y\&kmث2Hd&/Fh FAy*%=q9{jxSSr) AĞڡZh*xn(B:b!R7EMLojDמ#CC3䉽Ύ uH^{k_ G o(WR R~JA#wJzɃP 7s#HؓQkʅJU٨>d.jCW>ga_t*' + nTߠl?P{xH]p"Wyah|7^p0'Ạ2=Mϕȿ +2$}C 72*XD5KHiKQNrDg~&lŨ~X睸i&^P0t-wI0N|(53r4,CM2ID9 D=*ˤ\}[Ԏ rF4AIxOuУ\ -=j8Yi9B@MDv#ztᆑ'Jo!"#sYR6+%G#vi.(/{jGUUq\ggypDx;5:?F0{.[D˅a:> +Huψ `Z8-o +#dm=ѵxe&= 7NEw}~ɪ%~CyPЎ-ک ī.(j^#*`x`C>c®$a@בX/ 6TB{Xmv@\B#gobCM0nhLF74lZ+zUsvX#vF[&iNmgv{8ziip@ <ޮBÈ~#2Myd+0~ABݻH#zK~^WAesLB79b;bmY<ԺR/7F64v7WL_QӴg NsVJ> (ή#&~- "Ik %Z0vx h-4Ò#oD8A^h(iT!P6^p 3cq6;T9/Z|K?xGx=BM %ed# j? MU[􎈟8p x疵'Q+(4Smc:2:Q1%p JҺFo8Q8*:cUMd@ԃB8.$A1.MRQ +QҩAYv~wc`vzgMx5a؈MA^{UнܷSSw`{ěRF +4-9ȼ+OW ݎn8"ш-Ȅ$9xY&YbވWطO{TO1b7KLQKM6@B> ݢ%ӱMQu} RR'J8}~̰A䚄ޙaLcIɜ^]T.9/ B6Ʀ+$u], #u){}@*6*^4U%쑸vo _Ԩˍ\ v3S3휈#!͉n, X$x>bgKʃ%qD-sh:%O9frEZbYϔ?IC-P<_W Ϥb zU7kS&"v2qtBw4+9ZD#)TJz9<6VBYW>y2 ,G1}͔ +G`vrnwv~~~U8xb=һJLaЯ8?8TmXwTs}`Ft.A6"D꿧X0gFcK@)HTȝǮ tLL$ Or=ћo5@s6~,G<%^ ,sr 4BnbCVۀ}5}t}E{=*9 +@1"'x&}W39Ġ:֏"{TR/:uPTLM*h IeG2CށW;uRk] Nອ!U괳E0 %^EPDхWhjgӆ", :N~j s i^[jDN.9D*C>`ém]!n"DV9*"lmDRTabr%a@=_|؝d(Eov,Yş`G~hSWCkD< GF'ņ}(߾58V. .F8%'V+x<̩U.5KHOWҸȘ󜫏Y3ș (rn=cj3BQ+X TB?"PR֍P6yd x)+-r?4{/;C"(Nk$ba>HfV + `e!.2l#F5u♨c +!z! + < oU֗ qrZUʼn*e[LĶNNDֻȫ@!fNpe^ǥǰX@10#XFأ۟.-E&*2ȻꢚkoOQZ +&zo=PAԧPOFW{ԂUb@چ0F"VI l:=N䍑d}G9+UVNЈ%.5 *H,H):]t;+|!6TDwfPrnz*K=.aNb@2Џ3\2a}w8S_)zK|\-fO:9SD"Zŧ}bHE(Nʸ#{i"5K nkz ^Z51q/ft<+ N/dWynNRoU ;7,>)G χWq?ţ u˭y)@{KΈe9= !J]Q5ɠ=Dk!W.GdQo*M}Ψ~@f xsC}8hHZ)YFۍHI#T\)&ӾC_>nBS0||٠:S{Sɡp?O̵3u'Q!^YW{$Qo=El.m1(Hs|hؿQmqASvmGrNdz9a̾T/׉ӭ@|R{„Rk -w^7 n=2 &\kJ̭GI1 a +,va+.˞t> agGI&,Ze827ܭ=/MCeڕFm]0vv]7LB]-)"bv='J6hˣ¬zgBDKST[/ COrDќbZ{ǝڅ+k1dz&BqR V#E a{ԅwٹjA3b/YR:u!JS+Mr/xviK.jat:v&h@qgm}hA4(<ޜ: eS;';D7푀nw::yQG2+Y̨tYkF4&Iw2ˉ  = ZRKK0zFcJo_0h~͖ ZcS=5ҿEX0\[UĒ n4Fxo>_`p q5^{e@㝲f1`lupwDܯ=+#9 ;!_"ʒU5(#cz'Z +d+DpV0W֍PeҬp3{xhg,)] ;`< 7=yipJU+~Gl{13CN)j"ܰ,0;Wc&ʎT'7P3K1>Jt\c*vN>k%t0ݚuu=e>̼vzj(Aep+_5\0&[M B*P][A I)iGSVmӜH/8O9b8ɠ 'ϯsiz\{4а(b9C  W-A|LVq*qjCDb* D4֣1靏=Kr>!ekvJ{/U;vGsNpnEN}}y6 Q[S?F +Dl|Pa)/׾V_'СM .ÅxEtm!7wJT 0R(4JkFH{{hrΩj' $@uN8'v0LeDW}!.{RYUCV/)n1U>m"́8`ݍpS +΅O6mWB0g{E <@pHS֯hi^gn3lL +xsꓛN-zQ=nW*Yuy2 8cб]m*ch1#Lr[|:+ÜO舴(栐L0Q\>G[1N )Lϛ>㈐Ew@bsLjmz.]?5ZaNå]u0@WEoeMS}^{vzˇ23i)c.QƢqӴ'7lǓ9JejPKEJؐPylL?ƞ9(=ti \.[ǹ]FlDb{ t>Z󈡐ucfLe=QXb#]" k NZU2oAM $ܞ}Q_S.K,^tT>(8"S`{-kyQ3QOgDPAd sC'=pMji3u^boC -yCͩ$;2 +AynX]d (Np76G΍]{"yfxj 7%c`ve_ s&)̥Y{NP@:NՊ{W<ə f*#f܄ؽ= +M ǶwkG? "BBU~K5fπ8]m 2طYD`ho&A4gL@[_ nLaS M(28;M ,WRQ9P]P6q&e82U~? ]ͮM2Gjz`WQ 3Ǡ[`:7T0:Fʋ)B?bf?|S?^$ +O*^:8d +%/&y"@jMٌ0;zn@ "~n -\smQe3B7l3G=2B@ xiEw%7il ʞ[lTo)uFX{oQRilO~hU7d[];Zl +1Xѱ~pɉa״d!k?tGQnu +H}@c>O? ݽlWÁB}t }ocu`귀"bZ'n +=Zh9DndTfϢr +!bt#l׳^@i5Tk貸 ^Cj>HMŔe9)Śe-CrTe.=z(|/SP^ +-@ϒd=嘏—7mN;^y9yx8!0k;04 +]48d^[ZIFFCJ T mGD)r R^QfXޕ]lFHsK]oD0si&9.7b*۱""_<~u$NhƸ>{wf3Gwl-}ǵ B][ab*V@G7t:\ܤP"342`X,Z@1q lzhC@oz NWϴPVK)#59TqҫBF!vi`a՗j|[Ilym0%Vϋ0U[eI!+& !vXVUK㩤f u 0e+uR}`".̣Ɛ9vRQr6z!m_,HZ;G9JTq&Z˾wd2{w(ϕ&Q;[SwuKY J_gq{phdrQ_ćP^EqMPEF,KSX,^":F]rSK%wKaM뎸wiZ_JACGYBA+F|-,R'-ؖ[ pA`Ļ`>[ꢱIVKc ؚK%C`Is7Ftaң˯N*&|fu}xx)xſEJS^>>Ou*XN.yHU#@:l?"n ~^^5%C|7 ˬWǯJU€r( +P?\`ujYx  J.i(,dr~ڐ8hk@(pN'aQx(fMI?`Gb8տ??Y?~9?~OϿu /s>!+#D!qm-_6{zBnSlэ c W][ +yU)QG< ;rrjwĹ ^AkC;^n*qFJ"S_)u ގ+W"'tՄ FlvDvS4ľuc]=6DDb#W /ng,B ʥ1*sZ C<$ +]:;_wĺZvMlGc1R[~ sA ,z-܃sě,P}_#Ud&&2.A0Ɲ];E x~4Ɵ.'CĢ\0ɋzk?Ch"/s+]sYz?cޗ>I'q aA[\;c+^$V8N +m#O|J{&Zm}ŰDzSVA)5WJbs7פ =wf/pS:a4C;XATwAٖZO[47++\ҙǺ=]ۯ"6 +‹@\:%:a4N]vW>Jd9+)w0S٢v@zʉ6qO}Cؖg<__}~گ0~Jlʍ2yCvw'3ك_2{q:L#cs-DkJL52bnD SVÞlU[f8-uB4`+A37g*Z:fjLT9A0%'*Zӕu`xҁߵ4b:3;!=AZ#>s +ֳ@Zj[`V=%N=f(Og'y6~h!B94'y{'?#RyD(6 @z"Bmg㜇gEY#ًV'qx/A@8(9 /3V<"ǚ?FɊ@ؑȟ39-n0%Q>|ĕJԜ46MWJ"ϔ+\(Q"ITvy4vUw +% (8uQ K]fn4S{.Czk`M#IL-;*»<Љw ?s 3֚{5 +[!ɺ\m4~m4By/<ؠZ usc>35Vul#ȋ] IET /w/.e^eAx?]"/;OQ%UFa麨LvlFX1hz65(ڕ8{<|M BvFVrF0 k/rD;frW!ncz1;VZ} D)_^ Szwi# pln_>DϤaЯhZ?ӑ$* $* _? +P|df'sDf\f]% +1fn`Fby0޴AQ&\(%@,*z.zE\VKܞtn<ͻm~oA(@_f&PԴbngsQA,l#Gc>#ǭS|4K6c45{~Dݠ9e;բ` bk>Բ| xn,2LM:Xl$G77vm~xrCHh0[ lqJ*D%ozpW Ӹݨ(9wydߖ4Ifٟlӯ1QI2ga]([d+EÓ WϷֲҧAH2NrE%S֢q<aQ8$\G){La. E{;Lo@#\0:@@^|4: ڷ+͹^>?9uG>i<8e֞bzgRd+ZYJgF @SD/ rUC&t(+r_-D[=j*փJrUk5oE\Y/7= +#hor0>QṕmcYbU*(gwf +桽 9:s=x.3 XTǸ"rb|T&6;'Dڧd$U@2 u>2յ +oj?̈́֞chL)n:QEGHuz5f냨cќ\- 7:U{N~t~pZsjԍ@X?DA&JϖD1IfFIb~]ð>){xZ&(h,9SRNdkN?-aޤ=@y_8K^^|F/G Ǎ#\\Ygש{69 T ja[~A?m'' endstream endobj 30 0 obj <>stream +%m]HD{)ހR7vZ +8Smn({6v5mQ؀KsGG86J}(W X\Ben-F~LL jMMBZ]otG1V +D+;bg_foT,-x +E;]+#>Xm`CDº\9pG᦬9]u|OgQ1#44~0%e۟*HX,o{g%X^-˶] SQ?־.3w  x,P_,{x? + +0[RM4[p[9]e$uFq6b͵[AGeO9'25.#nF+熸b}`%}l[STNw|YO@9@|9F0k~ o,f~:zH\#Pga7Pvlm vh-a]CU"<,h #y $be|3BF uXIR~A)=+ +_C"^ĆzJbqdiv~j29#w imFA]2e욲rt"f虴hw2 iU寷hC 4p=Sy]o9(H6Syw t S/9T *T-b+u>\Sxx?&)dK4OBD +YzGPV(6n.x[")XӀt6C,ӋzgC /ۋk5B"<>B\͸ `aBI;9L* ߟxSh#H+}(vOfA)h{h!^ }kH-PoC, $\(oCkb=GZW6|4H5Bql}) ,FExiڟ1Ib1j0<8-ڥN˞BN@98co@mx`_!UKAB2 l^VCW⨡qu&qkdHdBȃtY02(W#F&)WgkITpFLeoeNh}9ӓE%B>o2. _M2hz6ú4$.=/x=6Wިsc '0NOzX!kHSC.f'Z͑H(e&=SqA9"(6X~V}r $ 3,yT+^Uh]t3f%,#F}*lu*A-8e#S~8TO덂;`Dt.;{r ]Ӆ#1Ϋ?ŠGL7dh힃;UhJesMXu-=hmJ#dzk1 )ޑ@Qq%CWUٗ6YDS4z"P hBHl `c0OzLYY^0ikja?JM_ep^JS# +j4t̂jP0&躭_=N -r,ziEسl*k-eEh~;log^(5߸@EmK^: +^^⁷G⶞+6:;# +< >U5P 51( vcCR=|3՝9W?=G&$4FY + ͡,)(:h­,ΰqiLcjU ߲lĈr~Ft"Rj I*+"{t嚲8u&(vt>AD:h]h+~b]zz"@'r&3p4If:Bt'DNKF#jB <{-Sr\*%%pA + xYU>wp{n]Aѿt ;) )aw5qj"<÷3 Ia4ShKa*NQ %RW"DL?jE6կvbh=Ҷ1i IhK?"GZޓoP[;~j {A jAo[^Rt:DX]z'K~5\{PA Q e" qΜ #DVtgTF%n9j=뽡1<ô+ [K @Kkج#y Ow#g&pή4#zTu2Id#QEeIn~rq'W4T<|rJ":j1~*1~%_v7"C|gQV`08p߷ʥimڐbšh1lꏃ1(t0֢to霯87dϦqCnHC/QN`:[~&? +nAG6}eQ؄PbW =$y?g"xy]PEfU^(t4')"]ω-2i66CXl{_;. vdFڷ1<_LMevȀAiG$G3 ШSL JՐ,w_':f<)oAGCm6S.I. :6<۳n +a-kP LvP&Z&%P6f(̀;jiwʁPH5 }ƂI8nyfƒCmԢb? '%5=س=W-;c$lϳVb33-|; $uشν7i*Ig1(=$Hز@=l}?#٥rK/WSss<4HU4P&"an!Q׊:|jom5~1 ɧg\H߅"Xy ea1d!xM"5"Usܺl0`y}N]Y}56v_%o!/0>ͦSUK}72K=h|0Z|#EpEcy$V{Rl +`_^']ӵNn}]íKSvY9)|D㊂Fq +g]G5 >kt~I/>fh|a:W*Pr P@FDYLgV3eޛ]Zu-TT}b\_"S"3_]կ; Vx`[Ԡ#1CŻeoerL`B ,y>8]A ,i]<A4uo톈zU[xR3}HlfV@vh6D!Nef="£cJhv sM&ؖtdD{ +@t #M4Gv\BT~9Z$皭+uM%gw] G=%O09*Mh#mf4݆6=p-C7C߷S`U+ƶ8sx_Fo%7+P PgZr4j<0 eAЂ&NJ1I{H8WnV9xrؼB5#K +ʺܒGC):5(Hy-uD`zpC`oF H]=%q!aJ2PR"vE_qϤ,Nú۞:"2:3wz=B . +#iE6,/)A/u9E^D_[* +_V{ُ?^2;^[_^7gA9@a']ݮӑg +ٮBW v=4Bn^x^<+ f)LWUG 2 +#0=7hdme+] 3Q{?eK&-{H=3""hneީX +cᏆe>vFI"F*}o؂ZF͍8Mc:shaBȉؙqt\Њ +b": bvH4E%zڕ{T &'~+\Ě4$ӣzTS%6[.Q*dQ:힞Ў4@ځubl@0'xhk+r4Vg6zGHOȗjX'8:$׎zD JB i~ I J9$5=X +Yr\F4p:=wLa3|蹊 \H.",LJ^zQCI,J +* _㿤9.pTN6~ zQD +pEZ;I+4^~8䛓#C-mB_NpwU3Ub)m8*DL "jT^ߥVsжpWTI_-0M|{ВMKLp5kfV)߹1M@043=CAa u &;!U84Q-6b"_tMݙ$E㢤wHGQ4kfxڸig:}w$© z@- ӹU/P_^2Ƶ Q&ߔWR4pv;+m<^ވJ>^7B Wi45Э>z*t8' B2AxenqXLGjs㱪r5PVm3]g. u&Z`bG|?B4kqQoKKt?N@CQ{WR'k%lH&pC̖>x^l4X ݭ26IM+[=4뙚DI;N[ȫdn4Ӽb8ҹQT 3$,Ip꛽P2%(fUh<DƢ +o ~*ћ2WP,~='I +:s{ i5iH==EpxϞU{q֫8C_I(}amf$Gy85dp}`NYzsuA* +pNQ;#!>),PEk?/jt|]aݨFDwFqcj,7}oyیǹs T9Ȟ}tb?ėn·GГUM+ +odU +*q {X5M7-^TA^<[*l8StO1 Jx%sإW2$URXr)4^:Whv"nx5sbq? tU-X<4/\ep8!c4p(=xa!P,H3sbñJa$N1{ LCe +Ôι'֓4JDI4T'TAc3Dhe+l%5GrXmCj~w0E*[4HrCY+귐֋^zx3JX }]vpw?Q:ZN3^ ;RT9Q|y+Al}TRL%'k[5_lZhע;53 [+ ;wVmP/xkO݉Ks)Ӡԭ0z uKa-N97@  rXP7p|L_ E=y{G#{1Z!>x%F84LOf_Pw驵e g2'?z^'1qaΩb[A:.J?zD:: + +=ioj +?GJؚbs^,^#.'r]#E$&jm2ՙ6Gj,j (1YVoeFrֶ|'V7,ek7dxy=1C) 3\>ⰛPf Jz6@bA̠]",USxS5׻LI=͹nKйdFJ48"wF ~\+s5rN|)>Rge'Xܠ>cg'a (qqu򓑹 +F2䷔d`,=Q[$ 5pcn#׹ɵz`jTncxt$fIYjFdqyaJt%̀ޕ@`JC}V[Jc"]O,5|8rKOvM~ٻ!xÀ6(GqA_½#vCid5=j5v   lvޝCUs>Dߜ'ư0U -872V]|XXi{`2<]pM}_;hGEt=A'(~X1Gm yKpUVjmJdR-hfc$pG`_js| H5;1 & iEtm0m8f8JV_iI^NYaxv}i) 8h^bӴ Df:5~]x[ Ucxpy=*(oEzI/ I̸SE/şAKK0mSK{ /HªvN*QM`17Y) ZoؾZ3Zv4.3%@ v +M{Wc>.|0(Iu=xcTܹ@'ɉ>[@Nr0RuYoWTկ Ʒî'\juh6BΘu/^GeHÇ:5ܤ?֟{^,rr n4:4G7\yH~. e +h"v"xQeFA(F\dMpgy6s÷/Ҙ\IS[pU'qߢVq]t_4TT4: #D2./Q~re Pͷ +rV{q`ءBP*Eխq1o[g}RV)^83pQzȭEmus3=Y[y,k4BJ]r7~`Q=>?0J g +~]%3 o+sIY֖Mȋ ]a3'm}# "# vL*iTv[|H!:,5oOx=Fz>-DVo&AaE48VD}!2ej'NY6!l317k~ Φw)YX,QO/|g@E%#x0Oe~~تKR~ {*k1EN0+4:2ldL ۷3<31YQvuϕBEt\ާTzQZA3<(lNHb5R}@}1成q4v~u)ى6l\=Rq~m^ےU֋aMi)]kf]q/!8R$|O矈(&T 9AɄg4Y;`,Ӥr7ĉgL`t_WnU.ڧR~/.RQV5FJr-t[h}Y?VPa|7d\ԂKRWĭlt5"A@n;Gc.M􀧇1 #DK*}XLr>ơdXP7аiW/|+@ q)v-׈4ꞘX8Q)rQlXh[#OOU 2Hv#sp09 *֬w;h V'­xL%Q0R㔈44UvlNm35*uW +tDi%_ EZ(]/UYO}](5ʄn [$|l=[( 7?U5h| +q:^K1,Eg z?6jbͤ #*c \=w{|REf5u$^Bv5df𛑍p4QB\h3b`FpEUРOV m#Y6L="797 lEPbE[Q>?{}%DWĵ]c@3E%}C.[^9ʁxl[ܝtf~S_:\OZYG((t}h~fAIK5qGHZEDqݦمJW`'|am}iGYHb6S c;EɄs +ZT+vwFkP@%ͯQWsOYwPO%Qq,qYrwF_UP l06e_VjJVrYG-@Y|‘[ՎAvz`8B`qfE%Jr5[naYTcBECS w#CP*Bf;;*sx:uWCPLS=>ZH\ x|&ܺ%3Kq̞7OfGɲF>1#r~n)m^/)'zq$ Of,볥촺@j;vxnbrQwxEN 9S& !"ŷP]{4[faj&Дgۿ:\6FLF&,|}1Fv/,%IS?;KKRbL#~"[Ubkރ$xt0_B467s PAc5ag~ő-@~d_[u %UÞZZFwZ0٣DK˕f04`zJddIHShz=þv>I求BDs>JB+?ܩr߽:/oNOrݖKAJqGU雬<<لM=9b c_zQ-QUk@60&Oh){IL`S{Pkj-`]兛G ^-]$Z2+/`J,AbՒ3d~Wh\Bo8ed@ #4:i@s4w{ir8}=^$=Դ: ys~b Ro}sP*Z25PpV/5+1<7g O{֑nD%NPS>U00tv [ +QN*ԉA;d/ %u]B=z_w)_MQj +;L݃KF+BL:{'NuQmGDpxl\1w[ޱi D'atH%Ü}-&W Dں$NWMD`EG9n0UKſbژ?OP~bQ3<8<C^LՈܳ}zUrEOp 7w@Ҹb3qYQCQ82,c(Yl\9Pt +lHx iMSg3j6@C]IҞYcyL*%k]IE%#.YLΊ'"&nIVӈ oYtXA0 kXEIR+4Ji5-<#3Ӡ5qh/*Nj+m?)k8ʽ9ݰIP.x,AZq&(yu#Oc)BG'y`1"fftq&ⱞgVĘӛT)JCj-G?x~cզ@' nOSUG%Kf/^Zyp;(#ׇM%],kP+gGh$3:O3s;z//NdhG]W蓂a;0IsLUH,7l+RAu5oy@Asm•7g}.ǁ8CIsXE_D\?jO)kvގ(|s:217\(}{7[8؇}mJc| + +jUuØJ4 +V >llL:¦Ȼv:JuC{-b\q4k@f+.GQ]ی d,ܰ:k =|L$ܕI4JcP"rѤp+ +d +T +:p~l7ki`2cz"1+%(sn`]ϒ'Rdg0w `k9&>Мbn+.jiE`Rvl*g̏2S aJJ+~%y R|Ds8$N!Qs +qc95P2 q`28~Z/\hB^0~uГ:AL`ԩ`R1{cBLшX{xyL32t%|8Q@!0B -_2O{I[2]ƆU و@C:(#i3fQQf|^bwbݷ~\/O="Vz|QbQTeaP9Hj/oih17kC la.0@$qe3V +X M2Z dqe6}bT:bwdhqgLhc:l+{nGu xqMu#{/CY z{)f\ ̭JZ9c/lHdy1nK1@H1|2#~^zr0W .ns:k{, Ϟl9R8!m_(0Hh;$U0~~vP1 7Qe}ONpy_X/Qcq^m|H2wsG\eb# +m!NUZ[Tl.J4Iz ^ +Qt47z3ΎaQ۾ ƥ{L7݁E|x!l[\\Cb6C {OkNy':`yq'BhRίQkUҽ:RdG_՜ +c(g}} F| ַ(JVS KPwwrojݍh#AʥxA6LZ3=w}'WmZ +D[v k3ZZ[5p2a`x*։O`]紫PZmb++(:_bؿzj'ۮb;±9T^qnk{v Ew+ߑa)Lj*_G%1|(<؁.ooOVo_~O_~'_GNGk]~O`-0MݘjΈޏ_?T>=J0:58k5v6GY;ڜ osTh}P2;r#, nG3)MFy~U#E_l[SEiHٴOotj`[ڌ ߀lR竫s ȯzOI`]{Ŵ@Kx+AF:oflv)TIz. 9A0k)"7w~YJ&C (e ՛,N1fg ?}i@!)UDGY0s:1[rm!S6T!Jk|L^iL_.~OD WAſb/&{zd[Coۿ{߸UB_g B)h <_}֣{! 1TQ;Ms8[ENT^HWxԈ}1噸\2+TPȹ (~\ jl~M ˿ˮ-zuj q&l!TR!Ue\*%x7r1-KV-+9F̈<9hW!l@-s4ᭃ:SMz#Ęsy+eV*Fq_щf~|<ıyph21+~B*)Hcz| 5*EWri< ۡOor~^& b5T R &Q46\}+ܽ+2;LbORߏ '4YJ(=Վ7J5H"{a,g4UF<8 H7W?~H$t/K׎RG-DX} 5 SD#AGNչЌ6$3Xe߹1ib6@"F GҘwe\.by(zMc@{e~~ŦY8=Ypng kԜTbk_=.g#13B˂qAn[0?lD]zf丕&jDtoqtԝ!&"v/E>BB1o4/ޑ?T=:nWF;Mh {hi| IU{7m2Fgˠ} R5sShp$puF<5c?D2st:M,G02>#Eyptڊ@`G~#UPȴۻa^!<8|#wbǨRgs? (q /2W0Aw$ζi|u{Q D(svj4|a:P彻1A|M ΂8O\P/g_GN\WMx6 & 6A,-d.0hzo׿u׸OdTK[$db=T˝sw<Øeކ;8FG9n{tOoy`K4v:sR3e(2أD)v/y^!d'-3E> +=TWTqTv7q )O%T/ew#!WAX4t{`L_J=.`G P[x\+֣t~0]an*.+xsfVlYH"{~wɄEAL~iRF>8BÈ313͢ 6ʶR;?X,'կ(\NA4vn$+QXy FJ&{Y1@SMm;C$Suؿ^d;`QrT#0HSN7ս\kLy+WmZ*ZvN*tt>J|iS}S$͢ԡa +LpdmZdս\ߗWG='[~incH:SDhYA9mgKlMv@m5Q,׮oa .FD(&w|U, M)L;ŹnXga%AP?>߯T%ӉXԮ,J[EzV{uBs-3CUcDY&/h֗Ax:d6!Eצ/xkg+쿯$mg${=`dgSC_TTxF'>=8Xd +%aX`a[m~?Df扺)&# pM0[!2BFg *!@̖ e: "x3fIٖp WEc5XAV KVK88&Vl}* +TG]8c(z7ԔCD:hA Gڵe[ud,;\+O_lF dx L:(wjL45,6?|zFC +"^5יOcLӷ&=*iP1ۄ;OJf~d{Q>#en S<BQyܟASOG +:;;Bp;6yT׏G%NI;(Đq xzhV{]tFkە߱>V؃yYzFݐ|$5ea㺇 6B9ߨP>Ћzh;H+ MLdxvp2|4mouāy=bb-'񯪓ITq  +wQyƵK$yԧQ9V?^B q*ձ؋=͂ SnL)O,yc+HS]GGG- JWwj^aM^=\/?G{GOXՌQHIjffH>Ugغ]Z-t;n6Q*-;oݧ^P Q<$@qf3}` +a|~I/YwmĄ!EۅuuZvQPiJ{"oW:0Gr`15luGc(7`ƶuLӾzxS d!Yxs12v=z%Q*A2nǟHW|W{fWqŰ6}Nq͡8˄ +wae O 8})g(Ԍ<9#+{D4TcxXDiΘʌoI|*g:<0 ʓ q +.T"Sn?VJR(V7dic N Ҋc;o/=x"H6*S%2ILjW n DZnyu_}=Dȯ iԾqE hRDVΘn0[Yۘ #2'6wLŬ۱)rkK*bF:ߟNZːEGJYH{z*îs+no<#y*'"uD9ۅjqXoY wTtø/| eązErB6 +;&qC!"B +K_o(7h-B~?gE!nq7hEg+s-~F۷ch~ZN̕Dw!x|6ֈDz_g^؛U8 (͓۹!걧{Y?.t $a ]tnWp ?DX1b:ܨ+R`Y~q摻mQE{.^{QgT-(vP(wN?º|]){Z k+;# 1֚XߕS ^rG@KR6!w^ .kسK!^ ~# +:U,e*([*#:>t5QOu桨c׋~_JP.QUc`EyEcH*dZ%a(5c֏`-m{1lVA#?7&DrLAG>n`8ѡ"#rs\w$t88:G .~3%Җ+Pȳx_> {X:/5tF)qM±앁~){J 8udRo|oш6RʊEA lӟH(Znv4%v*ʬ}`0d@F9N_}2Z/m ؖy脗6gwh-J3ZJ4!XskwǪĿ +BCD^Ղ8I@?ӎc؛aq 3fԭGa+Vyᙳ4SڳǛo}eȎFs@(g8D;1l_Mzۑ^'5_p4x${ Yp5 uITLi ҿ;BE-x/taHVijx; H+J= v?"`gh?D c̑aKvjĉ"T 5z{͞aZ} + _aj=#2ry .<]D(Jj-5q ퟇M+/Y~6 Ľzw^o8xb%b(o7)A K5eŞ./vz> oVT/s V,x +(GXib?]b2|ЌjQsڕ tPwZR (edc1=`u#t^sA<e#rO #) it ԪYN +x!?A<=G @&|rWvjv 3_ R.1 nDBq;0{q{].rOsUUS-Wl˘JrJNGOsna߁D 'ו!{S* +˽<}Dֲ @{$vrw?*z>b{7Ձ~+lwmtaifKgufwؖ +ԜԇD#~r^)`l1Ӈ<ϕ9OnMZY)'h?G4ȥo$]NHT4%[GIb/-5HnGѢ +ssdi3.OKyvYqOJ+^<|F _gy-;*wX,V +V"`ԎTX~4/zy!"=JUqpFDLU72H/:ЉupL7C&wA7]Ic2^;G=e)sD4>v9V d,{L2a{<9H' '`{h*Q4q`>lk## +L܉+y"6 :Z,䉍tQj_O,uN|k5C bs+H Vl+ʕ;l~{2#eRօOϬa?*=ZΥ{۲R0Qy] 睙0'Pc{5=Ea1Kvv5DU@^k-@!?>'Vvg?#2;"XL PQ]f8{A->j}Ab"0v"AU}Dz-j]J۫H =my\Mz@"0lQDV{+=>$?}'.jT4֊d)88s8>E?x@4g_uáqk;cڑǟ nYǷ8$s#dX +3[(Bmhܺ>y̤f>@29}?FSH'/!/';/3qYcֺ__+ /*.$P& qxK]3U#֑` .^A[NPSKa]{z@[|NG +RP>1 o-@kg$exq2Y)&"BJ,o{)09g23Ea:C쏴GÒ&[}hS7 +?2ma<<+bwށoS9`7r!λS|$/O~g24(=9uޣfQSj":`C뎖߉*e}ө$GC.L>>o~0Q՛PK5i' t8^ +JUq揖6Gb +J -"8f TGmHLflw0vGI-0Uٷؒ TI1aśN[>*"z&efNn3_'/=whI'ªur{́LWg텗 @:8ũQ0gq`9LV0B߳Z9`v5ĝtLMW5J ~s]O50 +0HDa帔 ޫ &7mBb_ EHoA1:?85*Sz8juȰtE4[Dz"[5֌PZ,z~#q kG?G =SuJBu-:Ǫ) GՉx?ң }`|H1s#E#[B.wѳjKyZsESչ+ռ<"lկdƄ֫0kt_lDadܕAwήufo9&(#@8V1t";F֒1n[`uǜЙj@BӅӊ-j5]k5QÍBt7g0\:(gxìңSs +&vhC+{|$OR/Hf7E% ywƂWǎF9U`LB-̓UȌwVba-p'U0s@p @3h̷b^ vTiB8\c" =ڒOf# ThPŻп]1z>O/Dz^9i_Zٜ8 U=f.tHnݞ-u_gv/k +N96}gkbC^ۯM? +$'(k_pJ$76L4ZK畿V^ uRk`@F>Idaw +hy:at +9i/cQ M]UQ\wo)Hhۍ̵&Mf8rש},[G!OI<7DEJk=gJR 3> kչ 0~ȨLJ_YPU0S8q 3>!T|F*h' ;p6ZⲭCGrQmMrpD̖' ò箁>6ES (5iy +\˳<`';.*p |EGtJ p?|nOQZF_6y \'s.//KEv|wJ<xIBDWhd.X>b 9 QsAuy-}h<^ErW,ߋ5Cd\鳓+3n7H&oH=Ǫd劰Яb,[P};1Qvd+j-EEZ &IY aJ;WdF Z)a=< q~@bp"!iaE[PFj7R,ˠ:}HGՈ"t?hS+nܛO=ѧZ@+BjmQ$:G]9@cP{vP3z&9f/rPo>?j>ʁ9?+U^uee|;2Th6slDPn)w@9LRc¬.>؏^q]M4Az5WEydxYY91qhp"8 +L_D_ FNf ҁ, IƻAcTsw_-/J|r/:4 1b jIMT_˷RH*uK&*4p~d:w:&&YstPNS^^Y@;+0sЊi:.NkG"*?v&@xMGK:3"]m"dP=n_V1nj|Uz9OF1af٭2-ݙh/rluXHZ1[ ȓޯyұ{+d7C^ʰ1姭㢃ѝ>%bu2( zy0xZ_4t5RM=P-\f=bn~1*|1߁مa&3 IQ-Z^ETGo"C3,+nscGFtg\&BewSƒWGid{Y'xL瘈Ԝ>"BBنrk&K;h;JyAgDZkyuTo I%D;xcfս|sRqnΡ))DTJ''I:.~ߔAډaQh,{! +yJ,+;* tQTD0ˌޝG~՜*A:mLj_x|V*1 )Xݞ7-2HQl#V}ٗ{!q 8zjrѹҪ|"jT +_RQR*P8o"_ 2BU07e7 TOU_P(؋j X"JD0+7 +#[(7(p O\>L]o)2&+b*1;3ejO`* *O0 bc^eLn\p mhŊ$Y{}lzrxFDy-^DhPl+W*!fǚIѝs$TYzyU을=c,E[u>8l٦Q(6| +raih;MZj? Qv xCtZUɫ\?(R K(,ٷQ`ǟ-a,b= V"y9.2xP׋9\)PImFf @Ak:S ;O6ors陖:ڹ;>v".mqHPZۤ(HV\BY+$zt.h]CKv 2"^eq?4,k РǬ?דqIm]T +@RݾQ^kkjoS?]:|?fN}+Ugͱ#&ZB֝eQ/ (pSvfApP>Ih$US[(:RC_L47s:;Z9>*oY3x _L =0H)d)>@˃Xȶ YI>FBO5AF?^/<_.R388+Uk ci%-3Q%ҕ࿻sѯ5Ve5Yz돥T6N +w>2׼=TwPA+wtd/#)z'FT:/< +H򳷸M2i%M$wi¼0n#~;>a|_ݱ7}'jwOp29Wv;_4#_ $FPcY-sψ&WJQlWn +V*rnUWu  }pjU϶z$M6{^“KvĪ1)g#hdgy'(}]bսݨan|Y-ep!:7\蝹|*;!l +"vZ RT_GܰQQ]4*ۗn#NG0/v=:+V3?>QpPj$#Ođ=th;ڂ]kX9:.{q0 +mLT{[L$_-Q됣W™WLq4/-qWv]l;C.C{/" j?S1,Gp0Džaם|D^w'u 4ٴ|;3H+]4psЉ-ZI%:/8'p劢JtOSH05{zϊ趈f}| }R]tQ-ܮN:OeַK^ɳ{%1Uq8rXכ# +ʑg}Aͫ8Ok@Pas 6n6,1Yun <3 ?8W(ܚnt/oocs\E|>OgLaNto_ﱰyУ .7h.WyAίLc]Feh suKA܂R1 2g?%j1| +"0+^w@dF2 Q?q]qU29ܴCo~h")3Ǵ"kßa1vuS9D<0cnE?־~H78K_^ԙdCuQ;rUGaa6m' T.W1LG2MM^QiyAw/;rceUtѺwdŪaFtn?g\%ck@s}p +_%=X43ўY)9q@ >^ǔ=H gvRpZR/+'Xq'MQ$)GS%G!Du~w I) 󒌠rw[:#Z(AqB苵+[뮛G ^3޿$rbe0FfCzU{TfT"xQZ>S9%L$}GpjFGy^o-PK/ʔf04mAj#s8x}dnBgiҮ%=l^H :hXaH" +D? ܐ3qLۑ ЁVxA1@A[Ih]ƁrTB +@o_b +dz3ѐg W M٤b >lx۩<{Lű1ڢFX]+w <wL!d.Ӳ, +h).,I&spdJu?,YE'T~ā1 +(y!{n*NF*~Q~DjDfX: L X?,}<$( +]5S Ƶu90>QE +X=#&3ϋdO9YlmhW֙)ZeOy:0'z^Rzj+9:,LXOc|MĸfJK/rGM:A=A,j@~ӔYS$+ qb: d=[СW?Al R~Z-JکbjCӏ; +NA(.́#=T.gmlyU-ė@~m _q=#ߠG"vyg8E +]">|zƁ!%:P +Wyl[ͦߥb%or ځp̸z  +0B?qFg~^k;4*{?#ҞJQ`])PM)Gf=S5;lY$E_ҏP +ߣ{tu&:(؂/Ak Hqvkȍ)^Ȅ~>;}EF:Q9! J$AD" +1;܏5rK i|`wx@dXx4d+N6_bsi {CUcʺY#Gn"z<2V=odGtt0(8p5 TY/xL:WNOI%v N*~=-?ڨ|F]xubyyh,ey6ڣl`-C)H~&u~GﵯtN@Ri^'`TfjIFqz]z/5}"55l"l.KDQ(i;D S+rPP:PZFk>]n%JQyk$MI00p'58 Sw8*F,7##.YG Vn #bv~8jJ(ƁI]%.܇֘CNC*m{3p<.6i Z}b~1?בnUsڲ0,ŗfd1ed"ާVa!*ߥprTWh@\v>ˎOwAW4>L.p3ށ^-o!4Q 9{\GZhNV˘4eӐ"&5СAL2 +z.<1pwJR!gniܒm4U[B,6cp\ϠfnW+}쳭Sĝf9.T^۷~4{*[֝2#ҁXI9QU@.(B 3PRp/>PY燦irg&WzKpatpRK4HϥFzQW^y4v>XP oiOɪ)V;Uis$VׁtxpzRs +1B1mWJ@ PQϣ?xjZ@k\DŽȷRj 甕3 / +J+CJ% +C +/Z?ÞP er7pRWIXjN'zc?6;DE#p“hYbG +Xӧ3hĉol{cu(ٍ_Ot5@pI.dn/Yqͯʯ~_?r?O|}B__fYR?Pԧ3Fb뼰dPmR|DNuF\ňN;4!ATyBmσRԹQ]0\,`V1QZThg\#>(D5DQƩxԮzㄈ j!bitCQSCk#MfI3;g1YDLCZ8;U VQSmkgĸp g\ +,@ e#^+P;_g(,\_GѤcHvvFdRqZ!%]T{ao+ ߊplG42`qYP{Wa dQK 7Yڡة+x/&7Xw?߅gKsts#:_nŸjʙG9q5yw H||I^ d ]oT9T}@&/?eY{m%Иlo"%J>)bRK zi'.CDgGv~$OF<]j-J K,@!3DcDNԝ71}="JVa,pr.J]z옰퟊kecSu{LtD)}E5߲?+p,i`: gr0~unD"l S0^Sb^!M 40 h|?m:pyS˯4;pڟ?`TjpPL Q(KXLiwT#md8Jl4Fᖈ$v +3F"CfKІO@U\̅&ɎA1. + ugoǠ\W!I*βo<}O]y4ɼ>E{qTdaZҳ-: U2pWfq8$G凨Htbtw13݌,(^/?nF\-׻УmL 6:<46mG.)YBX7.# _R:ժHFqj5RF sb{5[ 42#rڕ˘ +FޏU6-/`(>@މv$p_ޏ&Bo 9|`d# ~4? +N H!;<@lܰ*== C:ZۤE_ (N<(hw;tr5vS4+m騁zӹ \I9Ock#veЯ=GjWڵely8(1+l3D6WžvőNƈc5S8`M{ݕ,uEEaez+]V8}nr$`% 驹 bX“Jō =d{AMkǧDԒG[Qz)uZD\ rZӎI| H:D&[l1q0##.oL QK$pNw[ndJ/ #x Xbw 0:/xs],T0*>!3W5WJ?~I7X2G.NkaPm!mx6:n7+qe +GD@weUt2Űwf;)-1:>%A Rs:pFoRZaqEHGL+@3eU<|.F*4]3s9σxG¶?7"&]gԉOWUHTMEx",yML~0Y@O!/.XƐ6,n v-!/;ZgAc +"CXB?DU*؎.U4WP~uUvn`XJݣt!nn]`,ߦJ+]M9zo"W?#ҥDvuwxhHcR3R>#4PDC]o /1U9l}Fk\s< JeÂ墫7ۿ9DJΝ^si%*[rq)"JSH#tzr: +'].fDPMO BfhOJ*:Ҫ UEXUl |CNd>Jah3 `u9: hx3.vBݫ?Z`| %v*7I9 B@Gg ςTp j ƛϩmu?#`ծE-385h?pPѢ\C=m?:;𾫶V|\8\2$N(O p[q%CUL:񌞈Utb=< QS~*BkQNvOv}OjOIJas:q(aMU:cw>dh ÖدL;X c fD% ]Dl嵉~szwv>YzOQ.cP5^Ԫf+ SmCo ?s^}A D:xAdC:C1. ^.mܨy駞t:nDMڛQ5)vQ"BU7ht9`=ĵR4D:; \{.0?SY(%Gna+AfG%Jם_)B͚]I(a;K45#miU Ǚ$,t`:bl;ZWz_9Тvϱ֦ܢ h/wz`]"`>nAE6SXz +wJ#N~;`Q LAy![ +}1P?Qt;g[nKbVKDywq˶VyP93K u"Jd^Mbw.kةjv2 s3at;rF>uhN+=ׁte>[,RqVA =ٸĪA'PqG؃ΊFDzB e 1qfz gw$BfTf44`vP.ѻxB!B\ɏ=Q; +B灵 A`ՋHsu 2}jvY8ʟ}U|AD):ϮB0h"P[w>KG2Ӆ5mr"wf*뼒 uV~;/Njm?yؖf9H+f@6PA( +ȦtW˥NCog;JwD1cE DA'bl +@fG䣰Rz(ZDAyd9\FR@I9j.X]~&oߢTjh8r>t{>#P.އ{]w-L)%n+ 0ENov># }KvSҏ &duw 259ϨyUi0Inh$WqΟΣz5kW#ޙd`65ŕQwn+WE<¿wnlD1 yټ鬀A1cӡ j$T]wT<6?Ɂpk݀\Y0\_&1.dTU_O7v=[whQHI1 ҂H+;}D ޾8Q8/U¿*Dg0NJLV'>  O&AbeVQYմfvLn::4<KP"rW|)!|QA aW/>(goYŰ_ `@ ȺտG@yk(kłjhLEO p4avv| N=O,E=Ih~:_7 4pTּvi#,z;5q"30,ݙ]\bb7Đa"5 wokP^.^j,N*VW҂aC[r|FR\Z<^{TU:w@LR~@Mt^wHpP4Wi3|*qȦ 3d෦W8Y w=Twjf:@r ; ܫXLCL +u k@@v nG i|6:,h7iqG.ir z6O5v ]go$u`[1`_rA +2Zg?gd+>TPdz~BcGjN5_hVF@&T 7@Oh! +t*v!`9pNw.&z{(k(11,#fH99KB Hw"ppIwvΈ7Nnktax;E2biA=$?!WEUդ1 Cǰ>r*'c!~L.a G٢%ص="[G[܁ ҅28[g*L#hn; 4 u ;&?_@B|}uA%a$OZC:?ӍjJM YCF6ˌ0y/Ii:5>"ؗɞZN)DHKAz$|CL"qKHX;-$ֳirYi3-VZv -m(5E1!'>-u 3rz63K>X~IB6Y8 +Y*3pxwYZJAqm렏vMzο59-F@!ō#˰guX9 }陖q$c~9jLxNM퉞^Y`㉘B}0y"n Rvɸ p0ydA-396/;4J祈{+se˹]N! +Fs-B]bt}} 6:4fox6 ( :Zs-jh=5{Ťl{wCB\3/+D$PMᲬe@c' %.ȨSu@%f#h =|H2"o9oͲ#wQ\I}-z]L~"x8^@Nm ~{3& 04Y@HO(WK?#>X Y؍gr CaD8NgΫוeDe`P=|E*55}/b{!ڿyovRsGt=}>t/kS6r_AadDJ!)#Q?ݤ&o7Q&ϥPM4@jfu?2``zt~jZ%I; h9g"f>>Krp$Qk SޱryA:ZH~ɧ9Tn)AG dZJw Y_kVt1~gN&"Yx셿N/;a%4lPBIG7CPh0S2\9;Y Q}dHZ +OUP鰤pV<;~y%#߉X¶py`pf}1#EӨxZs-F!.u>&ː@[>@ʫ0s+p"9Aw*>Q.~Ȕ8Z 鯾"W|+E}aU +>_..εߢ''vޙsU&EOM_HaTQg J籥;`? +|KK  HEM_hL@zޠ$ww9 LAAGD:ŭ`qE)o{6/! i"s}tGšPT5:A3 /f2AEnG"A9ѥAՀC9G¯poILe`B?r]2-Q\/{]GrL+ ib_&6WӁK: Lx֢-ahcktż/M)F5#ƛO/lJSwZ~p#%R>dRF8Dq _<)=YItFNϗ[~j[_$WX.X™Y8{tL$\$kllM>^ʈr2sG>(C2dA>]6 <*0.)Dmsv2r(vk B5?Zo qFN JvU8P(38tKZZBpBAWRŤC7w_X23 D6eF%c:4l?RG`WиwWtp`f1C\ $vl5ʖ&l`~wJ˦WO]!nA +,(0Q  +zf[ xEn R +e1,&],Ś _y Y9(D*\Ihr^ZyIOfHBi?b[.p$,|YwxI`?i"1h{7އm \РT&a%2 "QI%=,-h*~pU~=DHX3}#ګ32Du FwԬ7h4GsZg0)@Ao,,Bix8 W:ʨ1`~`blxH!N{@Ydtk~YnXv(0GU+-t _"ێ2c_O T'Uq &튨"+rND\Xa&t1DDy1~ w#?5 _YHWGn%+9+hчK,Bcδu|JaWoՎP%}d^Rd!gx +0)]kfIVy?ЈMwl/u\OL=Ruy@"kAkj6qĤ@ Pٱ6 zZB~ gaZ_  _+M뽡9Baࡸw8WV>4`|z04ȴw~T{GcU U|Ļx,i@vİwWf@%`,]*#02GOE+lf4,xxu& ΕJ%5;5)QP_jTs%^iDDBO-V| uY/ :_ą,V +J¦oOb-pЙ<&M A$1xPzuH=U/xia& +GqZA4Z#̬`=)۾.GF +$\5ՁN*j3uc3+Oϧl}!ByG0 +Gu'iFhUyfh<aƃ6ii&CХVS8>d+9 'IrZ^6#5k$M׾0Ÿд nQPk-.|.Y_q k*jCN❟~UdUrc pVmm"PJe5͕Nqv7I͜^"aGd`;մQ0听͢i#E<`nzTߍMĴ*O"h[4S4y(/wv4O}oP7ϽvDNc־hTDui}H-zɫK +^yv _f /Y(8>HE %ZJǙCI}WS[=K2uշ9cQ丿2|N@{dۉ@%:2x%)Y& jF( N5r/'dD2#ȕVo}f&mJ!e{3A3\# .t+S.*OCu< BLJ\H+58;(0h0j + { &iҢ??C3$0Wq0px{2L4v +NsPI +E}L.{76£ڪ/]UYycaTr {Y()y]wNiwm!w6/=>07r+}4|mx+rސ%;eD>I<%< +1syF _p/>g2ܧH ,Bl>X73@?+ŀm9> Ȳ> _ 14^z*qՃ/O;U9d&Q*ȆH{5 +j0wX&>Uyv?=D .d'@\g'jUzY8=HP0WoW +^4Gsl&骥!q+$.Vd4 +D* #<oNQkE9tG].fmL8 yk~U 52iΙ %S#rT2ӃӒD3jpۘA@[//sd<3̤-Bv*bwiatMYK +Qᜉ"pPYB|HPRO f J7cf{9&05O$Pf^*`j̃[{9zDHwm`#lqP9?3wdfn_Fa_'poA=XRwڃ@`:0+R'DDz9Sw(l)Q^bzSIn߲}7o7<8$~/-y{I}CT_FJɁDGM^h'^N~}$[(2xXn7X{(gKSgњB8 :y7D&h{T43Z'BZD4,E]w"N޽0◘#WFۚ=i mD7i+BXcץC6Wf9|vt#YTEcQXB̴ӷ r!Zڎyl=7t(|Ú$uC +.d>NsD +=i˗ +>=3!LT#Ro#hCs_=J择 +g'ˡ竇V6Ì VײܫKbjAp#x%M)0QWGG? +D#05*X4FLuqcAf^ )e/5[ȅdq6 +JUS~(q#Tg)ORI@B Wӓ$,E7RJ/SMz̜_ĺͥT1k~"ZW3%[GOa~KP'L+ ֥~xMazv F;G@Wޔ$3T¤`Z FҕKxe,yaJ'FNkƯDwvU_%OJӾ({!O2_GyC8C*;G}.TcWRDW(º9L="vĈۣ׻?8KU{VH kn,IS(;(V`}/#MhI!i> aQbδӝ7+&/>upZb;rxC_v۫S 7xxBƂ.p]*·S~ FԲeY + ^j¯񽣌ϕEV5h"1N(:ςQ&؝NPs"{x.%*e8B/3Az)(!+ +\뻝 ]ڣ +{[g'o%B)idjK +f7=Gp{gN<TP\ 1mtTq_x\@ Sg6Ak17 ~͚" ! X!hF|ͭzT\p$4FXȑq)YF]=f\鮕y.c0v*@Gs9"ͣrѼFȝOuwڭW39Ķ(@-qGp; Aekvxˉh'\3uCQ=/qA*dվ4Sk/W먬`fה 1+1d42v}|I+UgXXl&q)QWKA=p)Qn0C3ڻ)3`I@|_#\V +WCRWB?>|9^o.JKQhFFkެݬ;5M@5lpߍ: ԂFR,j8(] Sac$ z{P`F>]qI C3)*u O׫]BZ+SMN)|w)Vt!D)@G6eUVD: hB+J(….WC }pOG73Q5RH+qJD76LwwB +EzuXd?Mgq\-ڭZ+zR1 + +F;QFj]Us@]P[rjꀭ%@V?-f#=R<* t +e !·3?./`(>;hQOʌ3 C/ w?ќ)!|n(7ޡӾڹY=QP&43O0gr˫fBakhg5ᘬåFh5e(Łu)QVTFf~ _hh@=gbۜ;L@oH*(Gǡ 7 =Chŝ[r*2:3]K1_=ʧE~aBd"j>TQf>Z^x\rBX?|7/ݿ(kb0K18`p5Ù)鼱8BώZzQ)|"([8al DCزdA%Dw\=M֡Q=c܎ǰMF˚Y + fm"/\tvƻw'j R h]@͊`~@jW܄\P,~C: E}Cꗝ')YnP9m4t_4y{alCW6GAt 2ΏԋLu2lԺDϰҌM͡V32FU/[S6OsX'dn|j6^!*uc4^_>ǿCNޯTyb|]i #W`9[^Zv&`yIsŤ3eA*[}/KLSHk  +1ptv&5wR__#siURvjò˿2p!0.)N +Svxk?L Giɐ.pD +7'>Fl7pa;HBx"H-"ڭ;"b_?frп!"qQy7 +nZ<hL{?i2m4n=;@>t.}xh@;ߏRAO`/wl9kwejgwtwI^I3bgAHc\,ZګzuaL#lkDqG) C숐:gl1>yO0\i)D !`Қ `OWlfCܪa,dE  }2F(#XuDQ +C`4!RY3"7ftҝhyO(c9LoY!?O. +7(/K +|M)}*az;=DļvKK&J^x׬:#WYQ}|)EӰ~W'EBO#5q@ᶌXgWxot3K;54yEoQ3-Vvꢰ +a *~VD`3}D--_vUBucFd$VjoK|ƚ(kS_)U$G8.x'K҈ +vuHj!PT^}3%3 /tԲ:j +;Q XQԘBtÃdԤk#𶒜8 \RG&c֒cF({3}wЈHpX?8|=ڊ((lw8 +EPdD(j7mq .jGq_`JYBY*Q Xqx,")qo4U5" +wp8=^~EO@==# +! ZcۜM/(͕@pl7.3o1gdx/l=UbᵷP gA<.1szx7ޓ8Ƹ׾С}|X)>`tfpQٹ \ЋwĀ&cw"(2\i ;)[;ߞDDh&ID^%/ +9>|9EdA?4]M2ҭ8's(XЦ4QbIB:+f8~ +4[6}v)Q*}ФX^]qT]txNLLiol:?Yigw'Σgwi"d^P"(<?#=s3ڲ\flNP!>6{OE"_E/qNP÷]+7iYQ: ,&[˹3ow"=+Z ~jH/@FN%;1j&J"j=iV!E8JcΪnZg/V$z9D90ëaυ. j,(>I?A&sҞ dG wNVaWX=#_KD-$&$χ(쓴[ k8i@A -X;8F1"#UFy]Ov2W5k{;׊ZPyϖdO]{s'b/RUN=Kw G@ԗ(K+ʯ.a_d 9NbmYMӃ|΍엉Di۾^%r^+Ok9jh(\NۨV#{ڍӱz=]5IrߠB::G+414}?j; iY3f0tI9Z̞֏w"|{N幢5!P0҃BJ3N(. +--HhZ& IOǤ`VHzKgI}N[N;LXV Tߒ( +Ӓ1gD<؜{ +f;ޭ|];!|[`lց@&QQ yNIs]`SO!n;þ ,!ݚ\g??e=2ߏXvkpry?Yu1KOx{OӺ,d`MrT\ +a|oDۢ:?kTi"A=FY#EOUDW{w;Os,28DD-}gU>z- )Nh_'& +=2lq-@2+TlH _b#df z~Ϊ:{RV%xbڙ]`]soC薕d[(HxzJ 폈l(-W=E4|Iu>S/oL/vj9텔,ǕD"`ٔ~$BFDL\.{fahEF5C܂ Vqls?/Z 1D3.";W"<0h,ɯ\g;Uk.zT(s"P{l>0BϴG'VP?|So~1Gqahz313V]٧c):(8~yybGVWIR]ǵy$L55#  h7x#p:UA%%ZOd>~l*虑}Em)F!AQN9r,a'o>$4ǧ4H +3T|OqThq1zCuS+3}2n,Q8#Оv:vSPމe_DL52 }:lB v?tj д_c[@[!9DLߜYL +-qG! yE;rhaw=">hU?* +jJWq_ S]'CӚ3r9L8 $jTXxjqrZ2uدhG@4}o4|)#]GR`0>qyv}cw- AOrD1cx(ZJy-W65"eD?#됃й%PO?Ig~ܿOV~?w?S/_u_9_ɗ_x哐V]^'Jk}FUEvp-T@MiFg%H>^QWI%ja'"˷`Fl֖rdo"lkoФ3 FSҐOHD he! +UafOT+-U3tq1`zrP)( +(Vʮqb; T A`/{%V_X&O( N&N*&B`wT:x;G-v)9A 3,-Z9+~fZ{52Iw]Uu֍B+?V;/]; xY]u&jvD r0!ojfj/V ~x øA6d@Q[N7pq=su248`r1k2Gb*@OW"LbmCid P\>;߯Pm~KoB v߹~G/ ~Z%nK&rӣso}+=2npJA㕺`d+f\Vw \b(J&7H.t +& `'b..ޘ>TG -/NC9euX:Q^1B`+q0b6V><ʥ>? ,xkƎT2g?k?9˕I2eL{*,ΏAʷy.{0ɊCE3Ot'}oao>N>oCJZ--\jm#iEџ8S70K@h_BƆv@?87D ةH6ZW19ϊ7e #TeFĐNKT=( #'==6>  aҚdKV[.9Dc?R7lWLY *$\'72UT NjsڸS"AL`+ŖX0D7t3~'Ⓘ3:*r-u!<룃GĭߜzE@>D,ϋ.緘!Kz+>@N#hWΈA.\ȷ-t{\ygs(#*GS?Rp8W9TGfݺe؉1 K"W(L6c@dDW'wGfP1bH$f#NBwնWV yڨXмG hv{ }| .aZSHɼ(S]kb؃jb|x43=/§a_);!DQyw%&~ወj$I=',c_Wݏ#)bR2$q"Z D`ѥ!j9r{[ o؜֪ zE`GW}Ji7n66D<& N>4Aym0s̆>_׌ϱEA}[ȉj_PC jyX\)뎊hֈ3d9aLYSx4vȻM~9Wr/ƫ1)j39@i+۴XmO @dt|1y^ +Ӿl-*fL15-$; CGvCuٗ(ߒU2Ao%ȑ~>\ټzՋOhZYp(Џ{pW%H߷w/=?gU0"}-jqQX,X5Sl;*:Lj3}n;.6fq;;sT50~P5Yw^p3fcNQ3,5%"s2"R^ +qP$xpz@=V<T:41heCf%*,ܝ' +l^SNvԣ_jgDԩU8+J.唙ҙ:g\ӗLr$wC +=ț$F z;Xyg?*~R?[nU}*J{ԌՑHs<CMx%hgD l_ bGN=:qL@s 쭫!]ʻHuu?\+yj Ru,L*AH6fיQN{ap&&]l;ЉH榦# +GףÝ 2~!KgZk7ON4ҤL8\)LGP̀唷/$b<_YEGe3C]bvc)_PfjWMvО P5f+_=ᓺ%JpfOȉOCnD08@YUK~O~ _vė b'{:p>@5'H2w$Տs]Ov&\l.&epU@y_Bnv,WOugKIor+ʃge?# r`>Xzzrk[rh-pH\#jܹdP^2>gď;(Ӵ6MKp;DRJ 17ȽF=h vwТ#N䰙v3ٲ +r,=z.#jZ6AK»IR]S3m9B:-z$<a=dz+e-I[Y1ByԭK'fÈ=>nqSq='*D׉4i:/uiK2dž&٥Ua"R*]G\G;2g*\& Y*M:&)JZ^A#wf@JCid1~v*$[F( h4]FT6׌TҸ}&J6Ydxы-p"45GwF^t43.>]*QvTӴBecNĕ">4ft*ǭכ=c"ai<%[F2Rܕ}eX>1[-]|j48>fiJap46IU"w|FǹDu+O#te%Q.hHc'Aڟ5ЬZ`G`ߙQ`cNi;'svPtP&)`]@ Vc+?#x*a8`(o p_5#BHI2?ZOWiGZ +bAl@؄ӰFJ h!(s>bGy3BEx7 |G'V[(Nkq !f[4hɿ<(F;+j}UfXݦ% pz75"I&'Cjb3u h\&8b[3rZ󏲝%y\ 46f]i&hcX QĠsfX[yv jwci CA?}F "pᱎs\'$w]ssmg_ΙMQզpWA_)mĬgQ0QAqw*r{3,H{3Bۦ\Twu)? rV@S}_}D]5Jt@͝\W ۨʼW6"dɍjψ3!B8D{ 1QNf[db +gvl'.0sZXC;H "֐y@j_?D!u=2X](̋d~eH_Ox +?q2m' +R<#_(?|EEK`P; ~a498NSTB<,#V/־sp$`bE3IY nO~r]~ h 3PdʖYAW;ji$0h̏vU5,`DYϬN3wUyᬧGXUd@- ǀ>#x = +Y]sa?Z +\bH~`+y߃T=*}x"PGѶT+GSa2B 7|k`<SGDh@'r%jz >n06ﭩ#gURZYѠ@/ bQ]E2r f*[+[(J`+4ZJjOM4j"[X}Fz}D-!8QۅT*ac,MvH/^So?INcURku +ZI +ŃA8 + 6MX1[s-8!o* Ur9VR+83qWBx+cwq31B9/"2UPyK(a1 /9LF`x'٨cpX Inv:u;*8oip|7*::w,tY yKA\Lf#bbm)R?ʌ"K"A=;>$QjХ+P*Է-lZih4|C1p]$}ܮEH(pnBň@|po` hи8Y@9~ސtR9:l~( $y=mTvU({v.|gPĸLCj4[~ߐ=^F# vP1Š!=?"gQ +E3[d +㫊ƽ>_axeYE|م &y@cE%#tOa/~P'@Y=Sk 머]\$TW-,fd^"Ji?a y:hWS8/cYƘZg21 +M y"Su4xsy^vuU/q,+QuE?ki"wuk RE7μ~U Ԭt0Yw"tIoCs[ Z_p%~Stn|XP{_\v9>@E5@QC +7ԏnl,R20-D݋?OLI&ռ}_!B3j1 (S E`p(V1;MaUfG"~@&fFMҬ!D]*u1=ΥC1|J.U8MuƑ(W$JSVY-/Ca߆,64_u_.5Evn + ŔSuI(kq_e `3d-JX/B%AAk)E:N*Q/M7a\AțvS|9`&kx5l[6ehE8z@#"v@\ 7϶jW#37##ps FD4,Q)B#֎b:(MVZ0>v:锜Ȧ ~x nf%z83J6\FQSէMUQf[z)m 硊< ++ >(J5t=9^ohDEp>\$F65@qxzeV_&8CV. ^JE|iND#^3ppsł࠼'m}-g?NZJT_b-ÿ$-XΣμ ?KH7T):kz?g,UEd} P׏da63 +  BS%]r\L]Tq0Ԍ~} (,H:Y˘;>Y<)'&Z, +IGSßru#&OQ(F6,[JPү'^:&&"\/*.L3\O.gd>r*S>^Ri',-aZ̰+g[oh侳5Sn.7NEVB]{'oN:|tTFʑҪ+RZiU3=Vh[c -ߨ1:WAU/&:Lq?b|4$"`4l8z?'3G@Q:?ó> ԯy&CX]+2.YT87vtAN=#<n)|OsKӑ:YΤ,wmq%Wmum&cw)cLG@VÍ G8.\C D{2/VզfVd?܏bg7ag}_-&Sz]:_Bj/ f@V +-7+(w&CC;2iZQP *LIg|ƙٚ/;"!Vb)}0OeS!eU 4s*ᔣ$Q{Lܨ7_4tq,]8pFaqFnC6Ids)IE2TxKϑVvs~(Q݁Q^uc6Lqk^q1~Q /Ey=8+XoҒ]AxzrW3mnC-yHmGkAi+AY{)ؗx+یQU{#Ywflz"_R-I*S0(։xB_,K9"p# VD2gD씗]슼ON36L5x ȏ;TcaSA!n+]L-|˅" M.%ĦBg_!4FpLQ'aA~?]xm(1"&JY>/al4L"O~Mn4(%L]Hu=L@ Ÿ>ytM+i:oU87÷w㍉}0 OU<_+p!:!_%c=>}';Rdk-TK,@[G.75B9"#Ҧ &L]+PxcrPJĔ'ܨ%|+$]~!.RbӒO7TˍZ]FҝQkɭ[%/1"`H=[s #n" b!x4(~|]E}îLQ0]S-dߥ;:ϺWI-_hG4;J ۟]4_63Mf ^9&ꕆ~$P% dx I O͔w]6W g'H]A{?it>M͖3;`Y]dQLT߇׏()d@M<O\a48r$԰*sӐGg f~YBF|Yv>DO"ǹMc zj =Q ?L@6Avۛ&j40J*㈈gȀ`}{m! iDY6TFN#|@)\D{;|{Od@ l kcu:?Ľ#P: +oiBgL}L/+J~zTOzFwN %n`$눼1QS*A@S WQQD4aXPH{)M%|5 &\FF.TJ5\R H)PuX%ѱb ~zu{H#Ǐ7 #>'p1׋| F5Uwṥ࣮jQ]&gWvn'S{!mu,W_Z ZHI`ڰ́"׀i)ٜ=-j)0k +XvUNuBf<6;/Շth:ug#-I_cIy~RHt%}뉍/W2w6/n_"{$dmIZݯ5ӆ ΕǯPzK,wnˎ5d=9:-X݂'^=ht gzJR[t vCɫ@;gi-6Ƞd#eCwWp!(}1JB5`._'D҅M.I H0jAMsDC" endstream endobj 31 0 obj <>stream +d Yδ/ӤD41 |r"=Z>j+wq6l #gu+cA_N ՙރҟ +1 r3 ׁs.A^TZ*b#h#Hr~|KqTEFT谮(#Ɛ#( ჷFPCU +fj* /-l\;o?0I%Egvʲj5%ZU) oHpz~\;H2qu+3'~bc/?Or*+LKk>t%KZ kno%, #Ҭ":EHO3 $cY@2ۛC? :5с!:6+l$1QE5񩯰p#ON~"Ű=ߙ[<+4Wļp&GF=MnN"Q%CTF1 +8VL2?|??#p,j8?r`VO4 +q(#zJ0CG8Rʆ.*H|uTd͑45P7"2WCGP&g3UeHAlȟvn@~ n!7@ڸ3CpTݩ$0Ppxي 0pjεv*գX|·)e|,R~EE(;Sdw;g +J" N*hjU|WƨԠ{!Hkld\x2Aa'_tE +G WtʰHK$>KJ9Ood $MDsW|v~u U9SU(xK4xq9F:_V+FcY~c|8~2^h6b x SjDhD!t{uΤ+(գSmLUSRVH%׾?}dPշ\|{ߡwCU>;,ݖgEYHuZkoD,^qZto7 }o|GRyvkp.Wp/:jhdj/djX +ʦ. t0-qm?̲ ey;.ZaکKdj#){dgwci4gﮮM￾Sv 3mp,}с,#5DFxim +9Es(P +QPPEMu .J.Zrh0"Q3Aw)FY ӵ&=0 ++Iq +BqJ~: ccvU5-t:RKd*(C%9"G^ָ2E'㽎r 2)S{{Lr]C +݈@W һ6y_&Be}k#TqZVA,sF- k~Km 'gQ2⿿ Aɇ._zxxQcf [~8^A Qm pA=wq9*tS | u {Ʊ]23ŗQ}qiFՑ2ezN'!wvk ] 7{<*-tQsy _C`{Ƨ75'^_>r by7AHdt43!GKMyehg`5 X^V@,yl_/~sۤGtAʌOEF@{Q1⸨K+L4 ETgHJ9`"8\]0Tf`?'8hN|݆2R QM/^c `1DWfiRdK~jUqc0)f~rQ@0!DkQ"2#)е|^azdB6,ōpA*WRrILymg}%sŔ|;jD T#\3>Rq'J?6dB֫BbܜN-}KS[SG0$eTke`8^90{_i ͳӨ`eB +RvP0G/n5a?3({i~i[պ(vh4JZ-8ݳW|J+4t!l2:pvH]O 0QF"JKwor +'IoWZCj*g\se Y)o +m?@b>ټ*fMI\E)eGhལW|ӅI#XcK\ +ML+0{ +dN 륌&QWŜ2 jsCJuB)x7N9#Z-{D& +sT]L# T_XWRnFDqt$);sѮFrfXsJ&2RG/>2#@Z(..ileRWJmX( +#-Q QbZyoa'~(Q(G3rͲ r,*FtKӎq)<#-ɥDIJ3?{+7|eX蜈IwP?XahW^d1PՐs6DK:!5›*`@P;%ePnF09VO3`F$b1,Lנ|{`:MӢ  *Axێ4Ꙗ28΍S; +^RƊfǀTpjvh U/Fw"2WEupgU، #|迷Ub9JGj(+g=E'<|'"f)1s m6qEԨSK5i?z 7J` 3:ړ&37;vG469*@j]3G{ClJ)*'EY8m[mw:[` lR﩯ɂ',7hBoMF K(+tYdvVPUVjJV)x8,NM^՛A1  +b*PL֯ALڨf.q}+@b#@gԫIS^L VZ#㾃W+H8 ̞h `QOEc(7aM(2,sI{V~9ν~$oYA_RSh53=:|˿Z:WFNoXf yPH׮.,#k H3E9fDѡa(4wa8w3e݆yEV +ǧLp;7]]q弾^#~[X؇fu 񷃖|w TL =爾P[8r19Pۭ)d5]v2dgy&k;|rwM\o5chTe%,w _,!gי UKU#FlIp +I\d;圠f%y+oXGsI]- -yҝG'1;{ۍ'|$y M}ŗhӔzѝqK _bbcW#)<//GD{i(v:B*0pih] +*qή׭Է8ufWw:?߈ב;6$AW k?:⡠q^f\HKKnjEJ+(f@9bo@Li{? 258p4|S2S.]̌c4uqx`bd3CIãZ"C AZ[-7fh{.@+{,_Ctͱmf Jы3B>Uyd;H݆iǖRC*[y}$(hXL&QyLyyaQXy>ti#.8#HFg)2WJ,(bG#A1N?h%*ïHEu&GtD1_O. +?RT3 qeP5(ψ~i5~AdTɮ[OTS Jꎮ7w 2<;]~K-} fU쾑 7m3"@)o?Y}, +3vI)(C@o 1KiG Hcc^HdV>{[ !zSȈSH3u3iVwƖqr܋Yt S$-e\34Rϊ־?-U, +ZgC{ȃz._9?oHXh!|Ί0wQP((TNJ"UD8|d&_e/\gtt-8G&'F[DE B+#cDP^ؠGZP1lH5j;'J3ݖKA׊?7gD5a>.=5<@TgnK3 JA#ECC=G'? XG1KڃUO>>t=;:_GT-[ R,gR_`JYe3q;U0nC<;4}&&+8ψ3S=0FN +7I"8Qn>'%^bPc)Ff9:G]"jޏw"^zx>f=dᗗ+5Jdi1҇Ž ZXzu6\,ߣv_M/S珝)Wa5-1\B5S{dAD@<>~=g,(._'LXqt*ޑ\KsP$n1rz0Twڪi 3ވTq>Eߠ/s(Ŭ3: +Xqyf-";_,O0XDQ."Ь4yjDM%WhEoMhJ0H|A8 +"%q˥SL./y6/{[D6&KR16u̚Hh:@l>A1*@p:R_Dk n޸#vR{'1~`,+|شBnD`/ZIt;Y{]ےJ ~)۲0MZU,*I;k* $g̕33.#ƨ8&q~(ޣm̳M +1*A؞{؜rǧl:bpv(Fʣ+;6',ߚ^R 'eO7,N34]E5Lť1f7mM \.@0V2(j1vZJ&UF~X߮K=Mϰb|eg:Y2]8w g;t#jW+؋!Xt.**粒'ʨ+ T~ SlJyl^T2xg.bƇ +Kedl;`-כ"bei6=s.- y2 .6 ,7 HnA0FzJa=bzOW0nMء=ﱴ|`ϬE/^gͪS,Qye=]FPY:A9z v Ẩiє VHM K#@Eb 1zOE#f 8C{#w#U +TADɳ!=+i5kc/xUd).Ed6u"MeEnV*:\YjAw)uoD~Q|U}|hc">:. 촄`5mE; Yt@Y(HkĐM5PR@)@3_:I$ThT24E9-ԙ/{(b +NZ-.1nXxATutl}ؿ[H 5khOgbFNdS:ꜙ%'߫ö${"M(T@j)؞B쩀E}y'?~?_wݷwW?~oT~o?/~qq^7s3gM`-x +$cNra!$ BrKBCWTQtb7q˖MTQ}C<RsI[֝M + d&ЬTRXHEQSPpZצ!C`2@k`e+eEu'0hDVXJkaΛ*<|H9 #(@a>81h&Tˉ p LA;;IW~Zi)+DL5B)[/8F:X-ī nG t#8\A^DzrD&!xHd4D' 0ΌJϴGIH$SPքjVra@c./,γc$V;Q$}(i6${AuV~%4wg^aXAuB1 E_{jFA'DF6B2UGC2NUF\ ~f0B×#٪L Y#`eAm>bQ\d}#g`a:+WspbnΡTgeCb@Օv|"_ygs7H,l<[}C1Y- 'bli`&xIU!FyuvCHEF[Pω^FӼѡ,zvpM=VB:0/yFuh\ +C> ɂ\C׺c|ENtiTiu9GҤ%>d `s&p IUH}HRҁT~bRuTn5r|6ᡗIJLɛdUP:=ӷ}:ȰISz#>&lS&P@C!!z]Ez^A=H0>;1)Mp Q7"deoc=9af Yr'g +Z;8l4-%Q% ƪ|1 8%Uk<۠%j89*DC2jN/ji 9l&3 D185T֐Vox\Y61V(WvX "?>ܒHȏ' Lj!Z+^)q3!Ken|;AfvI%oi}xxďuQ(/F~YiP؃{lՕ]i\.uȒ  uض[I+=8/=(TwKq"#Oz5@50GCrK:wJE ̮dDQ!e=}y"?[pCI<ښi`139n. xaY}Ϧyg:8iCoĽΗU6Ń#ҲM;"8e"K|ϙܟװCHDd =]j>ÖF"* o7`Jb~%3&}Rj$);& e!-I5c4 䱓Oa"eEMz).bIpcdBԌ%S]^l4?nN+X=bz)f\ۛ0tH`'D's&%ܑOjtN5%}/.GkgGlaiutKXҲ$4$|J˒ZaA8S ;xb,l+v&yMus +Pp!vaU \MoV@U&U=Y%募S,窃l0SXaS:Li!nur&{}t9XeꠌKvh̖9,eR~Dv%y# JD>Mx;{R*Hh*-ӄ `| t >I Gce{yFw )-Foez\ciZ'  7ɦWr&c}ppN:1UYR3-Ytw;&!lO[&RCz5Q)ٲ`x3Q~wggeZdlGLW`Fc/c0"; |uts?C~EՊO~avNiTs蟬+^Xf)Y{?!ru@neQjIxc7%4{ =CpөPA# vmcطdXkl bW^q"y Kc +dS97 lG<=.cn3: 0оhuIT:Х ,*rɡ W]?xzQ6fȦlu4n /JpsuWmǯ>bɣquRiG[؋D6օ L2:Ԋ|gHsvKPI@ ôڥuItL?rSbZI_nۛQ_J}}rKtJA QHYX9]3_,g"hRKJVYڻi4AO[6"9S#)SGF)4IH.&jTh(!ogT"&NRZ3_Sg6bណcq(ciJdwH:9,1 Qn+H'Ψe=JN#VnyWGaNq bBSVO텳=elQa@c1c"Ew!Ùv-&tR~i%+1%!%HmXH41;1+9qnTf;H.MrLs׵!% ]հ *]҄e Qo+̔LPэbHCQ+ax͸Mn+Mq \FY_0@TK},Հқ =ؚApS TԀI|aBȳ qxyt5)W=(weϽ8ҰQ=bWm `#Dl>l[x +Ozu)f8x!}գ!{ֳ~t6~:U)>p95@‚,&z(0u lE*Ļ[Z؈^ЗIc*$aLWd9z-6|{a䃵yZxft)1Q`Zh6!ݲ/j?QTt>yI $տ=Ӗ;hQ,t J\ӮbďlYjKR%ܕkZ^ f1{$heWMK/KD)dSY'{A@EX:-Qx $akFe CĻN t(iKvcê!T\DU1L +ݗ%ƷsjQ4j OR$cŲyԨ}`j삮bq,i + O1,UNybo%8m5'NO;uG5z) +ު\ ǤmA:*V|Sp9K1%"AaX5W!٨e1svĬ+ 0Iq7WFnޤD11/[J_cU!𤋮/"^MqLlMrRDt6HҩV,:L MDtfxL@,|m\w~,oT#LGbޞ\awfK8WVnKf3>c{dTMJ_J6Z ]VS宴u3OŽM}+w %:MϾ'j0@' "ZӚÎ٦Vw5we|eL[j\/pXW)wI/>?Y5 . pؕhK{D(@[QLCv^#1$ hH[{H AI;YҴئ8J뷇ܲU` 㞼zm}";ѳѲ=T0 7غE 4 t +]W8C +T6F vᵗ}-u)2FK'Iq1R r0uڧ;'ڮLe`$.,NDc߭Q`(Uk"6#ԵpG7][=zh%j@HkƀgO}%lK+jnb +.%/;V;ro"i+tfI/0 NŲݩcP:N=C̈KPqz)梫aBske;|blIH+^)$+b@hjU7XZLi"ܯ_@$a<A% rWJHa7`V-<]0)+[ K /{Ԥ,%vSYJQ03;da$ B5|d?R!8 Lň */P%UbH&Hs Uv" Xk1 E9풪t~JmDZͨf"t%@ccdCUr$A, + *45e<o +MI9k^m:-D_g۰lCq nn$vZ1EL*gR{b1s3Ya/}d^xy"{*֪ԺPT #BXJT[|l7)`?%;dW ?'GhΒK͔XQՂ9IgJ+Z=A." +ѕ}#%<ۘ<ɓxvlLe=8,̊ 5%2iH~NDBIpրt꜃rP*9pU<-*NCucbin7 mAIm|ACTh FBJC?զPn-32 BP8 sPUR ƀ#sl]P@ A9([R%Zٴ*y7T)GJH:MI;k I=T'ׅS$H$tJY'xaN`$~-y#YyT@ݒ |S#{9@fI S;n;/ktRx9[!"19-!2 3?B{`tKII*?r?IR5;B/.~L;8@ޤGKk{n"* 趡,Qon +j%wGCi?*m #1JI:J1}m*!Ԍx`bNcb$ UH2Ƅ`AU1TRX$F sAubON-%h=ˇYY)?sq\;obѰq} 4A"zXDl@CT禅HT >m@ )!4HpjyMW-Tٵr66vdu̔HY Ɇ8qz1ȉ'+otDPt%Q8l \ܟJ"ȞflyBC#|EWԻ[}5M-)QzWX}U5;Dȃ7~{uȁߍ +y!ow!$ds65\66 ڇ"!9,FU$*T'Hvi(݈iÌf2瑫6]8b%jc |^YAV :SݨueM7"$p2,Y8|@|fO o_F};(x2!'•qr + =N6' D{ ?3G(x (yUv &K/ǶzQ)`(xoZΖ忶 >NsjG)FQ4X&+GF^X ?PO JRL'S0Uq.XP(OkGª{Zא)^іr8/rLHs$-I + %PvI/lgD'TuWxD0>nU(Y QtP{$࿲ +F#l* pwȣtĸ[L=K1jp[v.ߩYMl1dEe3^*TM@#26ri7ζPEDt"LnA2Uz1j1Azh"MeTQÊV\6P=KOۑO0 (Qӄ:=f V(!QZ|E")Nl?FиZHe 4j@qS\!9sѮfƿI2LfXp0MI9M(S9M`M&x",0CINCѲh%i`Cr]W:rD(ecs+H\Z xժf#;E"_5fxN"]. ydHL" ;Ӭk݈ !RBM:i_]|eeTKU0d4T1c792!$2_lY&9"0.-*,^ᔶ=EZ;Uޑ\@h<u_ mLve1 #{/T=A8 E!:i Urģ^s]׽XEnHK{l=dTcQz{.jLHRDDza Gl WGi'"Iy̮F + EZ6 #FʐH X$#j_.@I|`ń"1?b dѲ|m+RB 6[8=") *TOj\t9 e[4~^PUqF Wp}Йa"sXǸ2p4`d^6 mAfd1b#6s]-3zXBM܈LX/- +0P>EYf +aԒ\)ʕ8a0˘'|*ێr +y[B,DRd4I90튡O3U!} +2\ZYBRg!ӖşI0qȔW'_Vjqԣmͅ4h{q&xA< @M:ƀ~5I:hf1:c,~lV)K(R"d+ZUNIlD-JSOb}66 +KQtRk3qxw>) +3k:(C7̐0]Ċ5#Yo}$qB^jZRj(_ 6i3ij|@#d,Ogb;J/|bl)]dث>QRQBҴ(0 L|*-Kt=E'.4bSoAY[#|l$ YѬ>; +-,KzZ !9P|JѼK8as}XZB +dE#?> TT-CU2{{գg1nSY{4zE3 +n~'J`)h0S,F '_%C& S^pJ7Mл-o@/zr6J% .l +2bs{&>3yêJȑ&/4 + 'j!r"iln뎪XAO=6#9!nׇؕtyҪ@V-W'i/SNm74qbO>LҀΚ xN0ѽ: +>˶a15BL9pr^UekgQY*P}hw1Ngt@(Śjx`%. sBnI^Kv!ɀ5D`}E>Ez+~V}H UK>mUvVyưhv">8q?5}*hs!InxPb`rWҒ}励k1:ux` +k +]oVeT(P}X]Yt`3B9UuITZjĒ~l]b8; aABŗc5%t +S,Jlt=MFb<8U4R\-9A)ubuܧW2D +f[ٵ2_m*r(xGs 4< >Y2+5 Fz`<?,f,XY(R+[º :s)@ԈW4R'F3-Xt[O 2jօ$V>ez|+x=X`H"PόS= iB2>Qd9|5=tj 6kф;/$хQ$TQ=6J]|N!IԺ% }r?֫㯦SM3i8y2c,2O0:txw I┸hZ-FrzQ]jpN@xv|E^0!8([ q敺Ңi m-VTr: 8e-~<RZڪboI@ٳcl+6BHESVlE>%{`Y\;gi'g(5Y9ǕGYH^^ѫKqf^,Za=X h)FgI.aQW +",@ ķR c,|P%hptS Zz-br# J{(,o{"8-l0 +[a*^0{^.N8 +<6 +UU:Ul,.^NdSgW̉0kpflU>u# +-b$ +bC;z ,`4D|7$N=%Br1o/ qZ DA )]-t +95cY,j* >|>o 3{V$j6Ut(R݄,|(Y=!\r1~%$mЖqNdԁjǗalVz\JDz榴0J6rft>b=f 5Ͱ5u2*鵄Ap /8zH(U9R,41ur?dRgͮ^ڙ>=[ZaK[%dò2j=WRm5SleפR8wȔދrL5K?`97}!ՙDE&X$L&Uj[oYLQZrU[XR9cЉzƴGB{?׶n924):0B0*P@@ԇH3ܳ[Lhr *}E0/(УjK$ڑA[6/Λil ?풷7Q  ^G1wJ_DqWIAiYA9bߺKE\5)vpL^v19Ph1,-9E_/ WNa8mHn;Uǜ[g*VT IRc%)!gl5ۄIg +RSYj[6LjC$VUW\BjKSə>2:*^mOV$% hip`K \Ar:H2ZOE(*(9͗D6>l +For>>1y utϱWJJsx] H).(@N40f *; \V*-!e'N$*8Z Cpf k޼)^ EuqzeNwCqm]Oa6.r.3>Jv,Pc禉.4|q@}!O>٥J8 +04 !Dé!NqIv ]eG@L` :{EK\|bɦ$RWdž!m]fd.7'VLA唪MsLQ<SX/X%YG]`0^?>(Bl7ɼQ}ޚswFyl7U6ԯRrIji7Ƨ?60UT(g!\Ƌ';&(v]@ XYTnBB-=8 5,+uG̺<}mJEJ:@7.e@DZvgE,Rצ],FZy9IlkY(ryW?F +pwLO zBEdURxrx){BpٰQVfO.WsE& ~t3Ϥ ,0/x=@CG+v2 ]H*T1)G +ځnL4eզtxG#ojٸcZAvBsn/4rO3Uo&r څX9%n?wgIaWĞK8M<'mf?\JkUppnx0\F3mP4J0kgC/h\Y$)[D_KVmaӒI<^JzPCT;3/~&j/߸p@kLĎ:L'HBܭSNbk0Id+[4d{D"o MЊ6Dִ:^xp4>!a@\?D[ &{@,QBActi9%ם[|DU [(lS@R)Ҵ\ƔqduF*mr&QF$|*h=8&E&;dZi?8P] +gVvsk੣f>?ȇ*ؘ{@eaܒrE2~ƫ@ n'؋9^H:Ʊ^YN/p.:Qd 2z@Fc/^FAdYd.~X0QU\M#\&֋Ȇz_6VUvP4$,mZ=CQ1hC_v~ P#>EFAP7/W .ت˨yEu#3, yǫP +efo*CUqi\`"ZCqZ1,J^*qOX[Dbh;tP _1q?jpPk_U۟O/~o~w?_o=?S׿ۿo/_~퟽2*g=wD O}w͏h'oWEǿw\?W~ o-w_0q?c/?ooaw?>n}mhW?/?_ow!͙?y_Z_|?ΓxwYv//1Οݯ7oO)_|QG4[{Jo_R#j*D}&H11[/p~U_ׇTQ{3cU}K5pVU\r6pa+tf;5V$? gjmnu}yw|y1PM4W/Zd{2!7Kf"v51_4Z +ַrm xA~ S5H//qNWܔ;Ls;bi|FwK%&f*}='Nz[?Ni`}͵5.:fg}4#0{{o(ICYdd?Gx|;1}%'MgEc3eyX)ϣ}y Vֻ4{sm%PHBO\}c96j1?+t)ꔱ ziR-_mՀ2_ O>_|ܴ7u3Gco//qŹǪZ(SOXS2|R#䍰lY +i5EWp]E V|lz]0u_yѷUhQ*]>\A\;𑹹uO7\=w3'-]P!úV>3p^k{,5lAi gn]+l5Vj+>?nC{㩿f_X$m8mo,TPcvwlƱF\#띒j+A#8]2F]z|_^5oͷ>꽯tezV4x`yy,P,ÅMA͐55OS| MrykE*~*(h~9=C6[|Dcfxh{_6oE}}04W3SĊ\ͻr{y q_IWlUZ{s|A<G s|5SwgrJ46> +2\hV~|_^^Z@PGOO"s_W,mۏg[O䭝/zIh\cBoN*bWJ ͏`9s@ Cԟ}q>Ğ 7X L]2SA{*]rluc>=|$rwc uƧEZwyM|Kܬ%n?{pr u-9fI{&[sX\k1˽|J +;^{oe=`saW٬l J +>lzs=_[Ŧ7&m;n`q#[o);uR~cQBx/l<>1n/[7{OĨZ>oϓ3? X}cאw+63h[ybt{uf,'/wq+w7 6MDiVF! ]Ax J~֊Y/OBª0K1<0ؖKoo݀<Ěη|}kFxטug1(n7P!,gSor==\2yHDB;1~ F?2D;|W.اT40ܰ|%%7qf_5ihI[8dcȄR?Էۖ[~"=߂dne2xin뮣Ѣ*XFZ74~i"+;uD0/LŢ5ɌErw-kf{vG2S:ܐx Z"gV{HQzWo!ǟ^+ypD}4{\/F}z|F߶nRMǎE0cPSYhkưU|$S P{R㎾+t_Ð927u|洛LxrZf^=pu A^WIΜf,dGcb]C+x\ZNRXjo\E?P '?yRUWu+g!h/zx%|AvИ~17"yᦟ<1o(ڲ9.7'ԣ&>%^3֢ќ:E|9ؙw]JL>1vI} JUvt\ _cNR0?q|fjN}}ԲTg\0<\4BXY4g +nem fyڔ[m\) 8bh3E(A 7tnc{ey|5tg= 89zLi(s5F[F~Ke9o9N1Η0ѓ%T_|b>(»gﳡ[ͩŌahWuwZ^Yv Pٰ I1[ 0z@15i6 Um#.apG "xǰוs1riFTȭ1DǺWYi8{uG#Bmє@NΓ=&z2ZŽ% ejG]w&$(?d$/dҜ}A|e'\N-N2D O>:jSiȉw uyiðrv][AwTf/сXz4pIF1u +h&5,1ioHպjTX ڰEFE|1Ei7*nf,\(X{ ͬSIrCP~:1`FUÚûYHIp `1߉s><'K\yZfW:ս:6حHZD`S[h31,%cǁB&)#v{5`ٻ$cnHyXQ,o|a^ +;nٺ-| {בqw%Z PfGX'1WSF 4'3,x7l@C!g@wW_q/B ?PP/n؜~1mpr '[eXF4iݰQ/cz\-38+jjDv :#ᵰJ?Qmq=,̉QK׌A#H7o%ޣbX{m)WٗxA|`P%@}d~2E +=ر| pٵݾ3&;)c[ʑ$)T#؁-q>&v +ñqzc6ua&>A7g`N(H 7ZSxq^>*B3 +?(T5w +Ƿ\lƓt$D05_eZqmSԆ( A51@w<̼ZP4X72,땯{(dt=_́2Hz 8wdFvq;]\)B$e}!XK +H[Pa<]8 r΋΀5K-Ysd +ߓN*7.k~¼a;s![5Ms{sQN>bQ R (_y6·Di4>ގ5n<"I)o8c.[{uQ$3o1jd#IM翫?JUgOq"_^#<@ Ưeׅ6&BQ,.$ܮ"9}+/r7>JKjTަ]q4j{7Fu#ha yYNk\3 nV QGU-r_d^ $1Of|Q's EޟzH( @%]kV'%&GQp^<ۃ`#q=3 48y•M{_QlŻwh[۞h|7/EK:`R,9{b^VXY!:+f?WKsIWSD^))޸rp+ |K<*P=)剰h`=Qڭjpְ{}mfl>j s<kQTH\8A -`JVܻ T*Z5pz|7&п,(6P"Pzu߰uزLyy3QZ"00`;nErD.MV{YAmޙ p %w~#@wcD~>͚a^UE.1K8fXhzx+Ki,#pŵQT_PG1\ ]Vi w#r +yE'aي&I|}QPSh8]Vqzؗ RԾ1:m%n,+P:0Ӆu ~ ~+4ݲmq6۸^Z(^3X2v2Di)_G~cí)9?RcإnR;*h[GPJo䙱c`ͱĤxxP6__ @lD]I!OPq~#_Ԑ+ 6ͻ}o r\0>(NZѶoHD gzW-O0=NQd_ +]QWZHAFTpq.@Nw PR׍+7ʻrG!Y!+H͊JZ_&h7+nw.z*9IHߙmGKroiBqʘ㡒޸r'_3.AW1|^_#Ӊg:abqj,&4%F5qcgo^Y~4X5%XpGxw>T ׇB`VjQ{EstsNׂAjsbs4H#>>i3>\L+%"Yܤk0SSkl8&Ƣ4&lj aPkN9E__S衘^20~7fNzz!Gp7Tbz.L藸DžV +rȓL⵨]Ac`Nc\?#1kլtwmaS_wfڏۅm@ݔ݋"5.452"Qw39.=g$QZjx"k7ev{ +E>pdwEг͔RK3m ;ub9b]0}/+V o 8BcM#|%~L0a9aT%U#a8:;ʋ4JdcKHIM\EA)DF!==0Nм ed#ql×\fXZ#JQq1@ +goN{@0Ǣr@gŘ4 olfkU0}#``c,p]ķţYA-yG/±]=.WTj϶FP^i'mXh*!<˵B;@N4>;M!eH4vŭż=G! '-b%_VtOD t%D'@ug`3B)DVz:@2} T T4gtx9׻ +(C73NP!'OW+{T%Wh54RP˲,5}{:B c(yg -|̚,9?;#nLjUuTTIJA&>p(HтH A.cKKjf< x"nݸnхr4O)/Utv6ԥmt.MyQWԳ><(gwS=9B0!n%7ptb2~rN|hm :V/G㍲lt>?5|7mzaH:t9= :'SN+ݭY/GC*cb=':>򼱧:-Ko&K`Z*)ɟSdn<4崣3ora.T輑#%k +kkSd d<>-D5%Y?-ॅX䅖>-Rr!cIq=F&(W_CǷP,:xQ%yK8}w7#CyM[lwPm0܎i))Q{vіQ}j-<ТE9h}@ׁF} .)אl/)]n]nVcxvi/0AJ +颲xs7g>R󀞾Sd<仅@%TruJv/))Y}_ H,Qô o+]ӁZC KC%Z?*,$ZuZT-YJwPCDu4Ҷ󼓣8;RJtOPh +><;\('W) we.P64p?й7Ż{(Wx7w7+b9?\',l}QZ?`/bn5JsN:-Ƀ|O@Nb飧l %?L; +sw 7k̇YT/q[DGSUw9--bSOc@,$]:\K_=O )kUkZOR$𛿧"5%t abi^AhIA[ꑟ\gSge%◴W}7_+H f?!elc>(_A'#xdK!])J[l](Bc=d7<ԿTtF+%7wH{%sR;A53h/(OuPF;/#?/+_͓U꽋#ҲwR{KpZOTo>4aC^r~>ݚdk%{ׅ쒒\9r +y%Q8E;F >ޛ2T ={ +lv6Js89W9j̟fY u!} +חM#ɇKӍ?>^02>TQ(X]\O)",CŽz{ lѶ-!;QKmfsNNs4] +pDžhO+ tuגAKBA1]=CbE?b +d^kg5W:1EhShJ +yta;i{9?ztttv t[|Z:[gNs>/eo>W}oaw +݁|d{6ޱ9EKo׉Y}G}Np {6>N*תUiXB@]_nItl>oRtCz\9]r(W䌲"a/<լ ep{\ca.4:7\5 +Jery݉ssń+{0臂ۍ +vP=CuQEwk{y95y/+״^S9WY;P8)].[C;v2vKTJJ(ua&5''G;%tҜ7JT(Kqݼzp9{h{\)Wvo['=ӯV?ɧkaȞċP=yVcYrb{{c.y'0+5^{b.rY^fQ|9a=wK8%I%ƾ9n-QE_|].7\çsiX;Its,?CҾ$;&*ߩ\|{AY +.s6yOIo]RS;/ f+U~9wrI5iA6vi\-T-|Ϋu|_e/?.~MÂ_\d_'7SHW=`mNnns͔o" v񋍻P_`UM=TO0bWY g`)-ud#TwKKZeE6W|P;;?vUDzN9uJT[eͲ!Fs/6;ͼwp=gS{RW=l|]s%O#ʔb}S095tPsk-عP^wk?]R p(~%)*NM16ߙ#g[TR^w{B?}=/; JvE)uԷgώ6-i..vekUJ-WwXl NR*P0{PYTu%z ?C]]T~ u8ܨ. )7Csk`9kv'g:O0>(-}GUoΑw:)w +5C{vz)brP{Y)D7fC-7z I[A3n6v-/1eGd aC.l }Zs:68/$ԣEƕ1$愰(:qڴĬ#a5Ŭ҆M]W4y&8ƱXbu5Oǧ;c;n|5f*bՄ'-/ןw,OvL ΢S6®/yXTI[S]VK^?iK|q.%G sɺqFX3 ̛]质~g0NyO,mAljHNY8ւgCQa%f3؄DՊNQx]{Wi)fėpA՜W#mŋk?z} WphxiaU|FRڔ ҥW`colqEƨwx:>喳"YXVg%s ,|Y^v*[>"PX7ϙGV_p v uYٍ)ȐZt)YܪЃƿVeO&clyUdPN~G$Үu*9:gQvS q uZnqk=/>i7\" +NʫbN9(XKۘeYfH%mWҹWnsAaufJ^YC7H]ۇRܭ`R na#tj)^DJ64TPJMOҕtΣnVu<a_gUN_PXܧǜͩox;`.zvcn~u~S)C?k9i0<9ϋVS# t;b?Zun$<^>w[_[8p5[+B]Jf)BZ!6B!ҧ#.dA +SAc?l]O."Sj!i$]GXO:ii=a׊1;"2:r,8=W#j> iqj=nqP^*,"^9G>_xZ + ׉N3^N}M*%i%*s$cT꘳MkT@#GJ:'a`Ŕ[kV扵Eޓvc^93bT0FJ\-ػj"(C}_ᇨo[I89q;"收B_΃9d> uG#J${)2Qr9X ѐti$$-9gBYo4ja>l7x*;jfcpvտ.~Ql{:SɐFyGSe|:UگnY3QU޶5 ׏8'H^L1߯<8:+k|FC̡dr`@8Di2OnL.?nt}s* +^N-|sEmbJpeM2<,\ϯ3[]fѥ-E# EəO؊ڄ5($|@pPNe͘W}tk72iu`2jQuT E,Ƶ-{k\]9h\^9%:>Sg=Cßm7 k/X9qt+H{!>:ao K]4[!s j7O+PNi fe\nw˫3Φ|]'7G$ eLKV%@ʯ!NqI I8<~b~s:9o" }d@# +ޛ) +GS ,H/}` q&6۾uH:: as>KV s+SJMy@G~Zq|Zؘ\ 'E + ;RA(Th>5J.eW^΅tPEL8nf٘]5 uAK q vYk#h0Nc?6e7 |tym 27&]ܚ{nem߿y<1LT8<rڍ-sxtc_9+ ykadZ[$r&iFjbWPITԢ>AM/0;Y$[ ZւZS?[ߧz#f9g2+gBrQfN. [oS%HU|)CGI% &bFͽrիOy"£&J +/$ݲέ%ԼZM.,N V1XͭNČ_c)9vkN)I^@mūϛ`|Iz̜&$+}2uIAλ%aC¯YǢSH:!nژf_m#V-1j=GEۘ\TWUcNIU-`q s.OtCgArZѱ53nTD̬Q sk9COڋO'%9FLl/7q^Gqyk"Kf&@ 3 fZKbS]_$֕qsmY[I[TTtϗ/GZ;7jLXUX`^ommq`Y^vps|aT3Rny#3̣f><;C1-'N,'`Sa ǵs]ǫyf] qm a[շ*^#jo*N7DZG ȺS~8kPOy.  1|$dH'*1;P󪅤_ښ.L[*YfAH`,A;x ^}^,hԩy9W%m[\Jv5 {3iV^|4WGG٤m3`FfQ׷MKh@.*dJ'J}i LS8xXZ&d@APjA +8]-&.2DgYvι[Ј.n"bU>67m^k9mIQJE|Vx)f6QCgR_89nFG{DǺ&'Ѯr̮HXUWɍrϬuOZt\>ٹo3j>~qV@܉ځ pNnLFǣ +=}x.> ̿b[y{~כ, N0/E)BU,؇[ŎpĦYq8`v9G4ԒB{Lo0 $}6 +fIt8WԚ.*ل}rS!Q{$"nn86ics*bUF`lZ'aۋZ# + ZC&Rt1tje$<4fkInh{Ik"ָqԨVyg/q6]tcLcAx 9Cɐ8M `|Iƒ UOU_6~_p<7Z +\v.n@aO[ѥ^==؁;lN6yg+giGʳG^ݫ-1#`ۣ4hqAƿHMI;$wiEMiͳmq{Hwi떿 3Ҏ-FPɪ":Iiԑn jV}*ּ. "A.0؞Ҹq|)C}71it {8 <^~#,G!1U6go oA}z]oL!u1B)](LHNTRLͯE=z<'p#u*;4+&Ji9ꑴeԼxR +dGԖt `Ÿ{lH 7jߘbYy璔NvqS= !j4_ҳѥM7(7^NKϫ5xPCٙy#z ^M%WBZ=G!,‹7VY0_RKƯpR3ܳ`L{zfIsl +:1CʸS\O郈UP9;|cLLK s;+w>z%V06ƻ&&QUˇo`_ا-{K>ڀz I$,βդM)[Ӣ kY6Ǹg#/8'A>+{u}G#:9 2xRoֱ/ n}}p;@p9h m)Nz#ی8*`LbFֈ;lt_& >~LSAlF҆81q:# 8褤wqum' V%kEUl +ɣ`u^{;llX/1%mju)ʮ.!\T9dKj,0ZF쪄ao޺/bA|Kiйys~ . LH @Pk(H&gI&)_^*EAg07nu:.qs9βTtX:_>!SA)ZȠ~=_ڵ$ҩq180'7$l IwT݇3I,(7HkWML513GNf mK͉ N.hC\j +52;je*Q`nq)9-%#Kwckn)껞 W8GG7&{h +pJk;]މz|<ACoҪa +u1Yi1Iܮ^%?<<֡褑1n]V,~R0a +{!k=zzyWOZ C$}IenYE+WOu\~PO?1ʎ#%oY'U[}OہWkHXL+ZI鮃?&&.)1XZ(`.?mIǁKJ{&J+c^QK&OaN qYCxEاW6)89ͫD-KUܔ,>9 0mW}iRDZUt K;q$ s p(pCE~Tai R-_АuO]hA LWR@x y0@)s襸Kɀun{>S+L: *;pՄ͘4vnͩ ?¤pǠKƎ&}jq:mSX-`c^*jgV'Z Z^CzƨE\x̂Vc:Qb[]ۋt8`VքzkqE:֧aӁ;TwqucRXzVpe\^ھzaz<>4M+8N&k^z?孨os( O+H^Izrܣ;( ✈M.m7O$ k¥Wa@d8G~<>},kq*'7%2%^Ydu$eW jj^h+L1OU<*[ t@%||3ZO хK-i +tfhx !SJd/a_Hu.ޭ{{O:+?nt]0X(pYXm/Gl +-j߮(} nID1vڬտYb o&Q7 ەOfx? S}WnbVi+eWVWc_lLqp3EG07Ii(A_Mkfz`IF콺K ]{F-*֫ +LC28 #})[=nkqp*Q2`[ +>+pV(LU{/S~p*8 +,j(] +liԮmEPt+8G5` >݂1 %s1&2.!c"A\ְ_/nLz z]&ՄYOGLo6"+Pdp.YGXt iƒνUچ)~f %Z!M8%K+ ~82հ'2^v[z 6ڕ=`:Zq*_t$̍iڤ(KűqE[bBQ_T꣰Y+Xx2 +sB{C#{l1PbVF=ZU̪zi®bf`a /:O(/Ȥ軁8e=OAl܅BH5#Goە?fBÏﵑ7Qxu֜a` fEu9_ؒ($p   F5 165!Na_>> n*[jL*^>gX=sOه%AM JwI7gt*(La<5AAw酢sT@E %獃8#?( 7p}^˛weOx xu>a]$<* Ɵ H2B}R5Ʒ= w[`q#.vB*g: -;fW3fU #-|:616< |&6ia(8`ȤӞ~.MVI]dJ|!>+kڜ.=/S~W)(M%&F-p茬5<%Έ.n`Ƨ%M#ܦ;]n7|NOڋinM(KLW$f(3[ r(_01ǵ{Sun*o_}޺w~_Bwy_o1>c̩~u?inYL +X=Cz[ns$mu6_ >{~W՟n{44*q]\R;uc0l ϭ8zNNQcʫ~d8>aVG^H/%&]IE ֐~c!iI JJwpb3ŤIcSqWΤ_-a\j.p%SyxnA=NMD]qЭq3 p*N-!]քEX%[ּV2Hs3nAA3fTFlsqVNK)uvNa3j_"-mG]&Ϳr*W';LNA6"xm9g! J΀[ ^!AbmʟVl/*d A ؿs0 x +9ѧR$ȸr;冷Vm/ =\K-#ZMKO ^Ac|үo-h$qCߥ#@]ɎCIu,SҰa&?/?>/Y^VՐ>M4tחqaf~5PĈC^m+ ݮ׏.}Y)k+NvMS1z>x酏Ok +YNmʭh+itq"<#Zy̫LZaGۏc63Mq\+a5PgIt%jvnω: ۷C2OMqG鸕W9T褲->M 0OѴDǩyv,ڜwQ^c|9G:UŒ_%Eͩ}-$wU]=27`^Anϫd:S 8Kiԃd4R>-d:c둴+e饁x5 2)'ak?1}铍"a 2jV0 ۔GYdk}Z\>q8֩7pˤo|JۏS}`0xj@)H85[Jzr^ԓj9q6k"7-XO^ͼ|̒nd_'vC4}yyOԞ +qp/-?:9˭H$f*a~>9?! ;?.ue!z# 1VO;Kcq^K=썡ZNzp- ~ܫRr~2:hvɍ2*ҫ׀]LXQI8zd<_m};^=,ޜRO{;p}^tjUMI["͌ccSIo3FYlJy!]Dm S &c^N6BҮN i&|]sia0j& ܭפf@'f_q&Z#B+ nJOt:lGwۆZR/̤[+۴ aodk.iʔj v (3JS(_Z>r>n\JA & MCMxl}uf~{q&`r\Y RgӋ*uRS!peOɅ36V^M)kVŵ-}i;x AРV&FY&S; ܘA}hPECjY'n wS6PˡEӭRWDPy`&&}[40]_Kc}ul8_a_R3~IG)Y9182A֋E_A_Ѐq(H` 2o{(. Xuh -Pt&S.I&*E #fUܫ`C(. {RJղְ̢$$pc%ĀklurXA̫~K{3,=h߳s3IVkmBT= `y0>+IwaCq5)^==e})%:'~ξ[5ET%CH3^MOyI_txykN!ٙM==|%=F1jq|OV<ٿqI2 }KkmD(`4UmX,uc~I\Dal_pN*?pi_0!q3 `=TЮŬFr'7x^J\I)BhziyiZ0^1m-^6J-j hP%ޘ{܏oĽZIm#BC@?^0P09+Hєޅx{IQ9꽎#1'-h|eLˎXzbQ_0k@z t.tHWP?֎oA> R\Z"cQs))jz;ےېB%|~߷LL@܎M(ŏC*Ejx5tDy.? {Sat 2ӂ1،& )$fStl +Ϯ?e~9*# .aׁtoϫ(Tb5$ :!Pqp&3 kYƬ3 +NmLcvnUt_&7'G#e? QnˣSm #Ƽ +&n;$,s]D흨K[WmsW3S.i+7쭒P_:d=7T?&n^jv+cRvmHldϡq"q3y30 !ԜFRE S1~0/dCF-w x jh`%RsrNzNqQ)9čkfyt10tOk_=)! +. ]YnpR̭̊/Ui1K@Ӹ{>e4S19 |tKfa :T̘Epay{΢7'GW+%:U6uRcCY9;QOqtu$:!^aZy}(iw&8'16rԮ?7_+}rϡfa(=)yG͟yPQby ӬcY43dZՆ̨p;>hO)מy7[?_}Vagw%}MTNJEҒhCޙI){M٨,"1?T1ewҢ'FexZR;Q569|f^ū7OYKbª,a63Y{U?9#KMJJdwfc})х؄92jEΤY޲wtc|}2$gEըMFDAZL+SߴET$;s9E oҞGq0%Xg^u{~\0\ +([@e,, ;6`nsU=o˻߾~Q}.4Am aEcց{9(V:dYibV/i3bfrTtZ^U>1U1Vi.ܜj_lJyMnqߡی=O9Wvcޑ7$֟*^_o}JoWqX_z,:eYZ1=]+O6FGGy'}߶|jz&٫]XZ"9$ksRkվ9=Q>t1k?nԧ0K?&8|8dQo؁W8lÕս=yM}Q#͟wb̦bNILّI=km\v)m'MO;<.K9iϏƦ{$;;micS1c^PAw^T`.vR)<~wDMɲ)qf ѓ$8!~hUl!1)\us40|z>x'iom +bu +azqfـ?\m&i jńA\zG`]u4YmE{/7B?"| PޝϺDNI7HpߏWVyqg0l/`^c8:U .լW8n)rK@?FDk0ɿyW܎¿"alS 5JPV12<,Zo)|;/cmwbuwý N0&2N\ TyEBI:Dž ~ ?sRC6im +We"a4?Z \ #E)<2MeD\EYf9toC D~h)r-qgqty&5_y)`@KLCϓ N@nӰї]7Z^o6~еC>ڡ{f`,c 9pp8ǵzk06엖G9Q3Kw|ىiCwJ}]2[GøݞbPsܴ'sLȻtF.X)z>ɵ:t*ǙŨ.C0&$!$6eYb>Î4N /v[e=_mwV]Z`?5,`1T Tj1$6{rU%|TҢf@譎RROsaD`D\^j].3OTeƑ Ǖ${xRkDZ{C9!vz2_-%؏lC%<%ow ؐFb.F{9;8>v+&-ϴM2~7g.|UvW!dV\M3)10*0Pkw6z>5c, +.pUh]`IUEyAVBSh~ۅiG㘈꼗;Ø;;c'a|jsc!::]~)~L}\zkprօ9''ZRJnC'㑺2y',)Fn*D?vn +|6uLJ-2N +ݸz63uo& k+ {͏0s(9a7Z3gO0a?5ḻvN4f_ԵYmv):&?QJNWʹ!Wߘ6qcÇGJ w5sU6A!|N7kyBm~S'20)*0F^; +짘)U´狵/֚_ĥXQJñ 0kAnTד#԰ܬM((9~~/{^[yֺǾ +{|0i(EV91Рf^gv'ȗ^Qk [\/aBjkۼra{e2|֬0 oxqLr}QTzJ3J}ܼw 5Ar⒨yԈtWps +_o#? + +Ro.5w%e$=nϲ.\o+r1K.0] nFqi'&=' Mb~,TfaQr#Z_36[ot]0/K/r;а3ؘAW}km#e=)~rK1"ws +>.r>5Q.4BeoBmojr^.T%/U'?9Us[H +-\BFOߏ|6r(,70:RYj*bU\m`nt~ՓmC~=(? 5!ar{9YÏPk\ZBp"/'.ysb"eZlɕ&1R!\_ӌqu-JxGN~{ko<]یH3~"]o.Yo/v:# ƒAtZkk]{XyQύ)Nc !y+:e hk_/d'0Sl(t_Bʼn"Jxә2KHV%=_i%61v9+og^Nqs+CKGYhLؘڒk|AowBB/Zy~%*zqD|ޥ'RH4~.qFUN{)r?pmqk7@{ +C ky R=x?$Ўy,e }Zs My檳 g9/!եZрRRuවn9lKQ~NdՓ5Dzq8MreMN0dS<|z$)GM +<t.d8776IjSRf9q{`!nTm-lwP2V v!z1rN$-Fcồ)d,&A٘zk='*'%9vxK I6 .Nۘv,bw~;%_vzKV|ꅇwSSu_Lj +A@Lz8IOy:JN{=XA}xs]+FKzS. cəoO " ?[phxo냃E;CHtbXV݌o,sN`^myo'vͰSj 7@M)*?6dbb웲2's¼ +6b) >P/_Gʓ,bv"#w`·@fgFA2PNS M{=Ak5뽪&SIuh/p?W˖^Ub']* )ϔF|Ix$9ck-=+h ˣ VZ?H;y /Ӥ"_wP͞Oc~åGTq>JƙZ7NҲKKxI㔨&)2XgK]~?JRB~ClYZƍz6L }rdzH!ak* S9jɹ;'5TUQ-gyͰ0iL,[K[%!&q?lvDCs䢃/??E# 9#q1;ĄVR2jU):^ F{0?{i;Pm*l?~6I)lq;H/>^2.f|̣Ab7$,OHXtc5k{} fcVZGA&qObmwS'~M*!\AC\$/|&nѓj?2$12Ńf{̄W]hbfbGw9`8FJzbOfh}IiwPqfNǥ,Q|e 5NPuIϖZʼ bJAL=Qp`gsY*۝|,Զ[[F3,^_gmS+MM˕bO<<(핌`oQ~ط O1zyhe}9&8K )Wz7SRL,s8M+ZZ|e4q1nbϽB/c[AMlRL҉7PU!Hpݗ2P\U ̊Je *HJNyj]Z6 }kC)>my~02ST6hd}Fiږ#MM^n6`߬j+|ޖbAjZr^Sy`WOWK Yjm268JK,^#^2_Cd?mxC6RR +HNe2ldBO\yQ`09`ن[] A8$G1n &&+qCٚ7"ύN\e&0{Yoֻ 6?Zp/>|}ךQ@f8 E1֚ ^_t4x s3%1c%N7#(km3SՂ'ǟ&OXWZ` m^q]mapyIA -O!,j*¢e"$|U'\,coE_֚b[%3C<ෝk(%&x !:π[V VtJ?Q=:Xiqt:TɧiKV u~BnUk}euk}P]}؄ו6rGN,éQ>](?0祡,puN*(iV19VLbMq]SeW=ޮ`<"cMxtenwG[}.qbճ)8DK>觧Y DK|n+ }&/<ݨl|p #9 +c]LӸ8!XQWq8UC=寶a$+G8j8D &\z`O &0g:#JLZkG~A:U=D7H&Rmw2tȹjgA^TySea,5M3M\K J/Kmpag~L! h )v{qffWE|%c^ =hHV:yKª)blC(85&SBIJb7?5،uWn6Cff~7i(zQlOn#mC*|vR?xRgZ +=۠@^H*VZCij#dH!X[ jF)QVLT:~0|=Y?e==4)= ^I69loYn _(HW +OӋ|\M:k?˾꺊|MXRmRmb<,9 6b7M w]^;zh};,Q'Yg:yJ 5k[쒹b0>4ЋNf%3vC]/"DUWu} ( "t*.䓊 @6c>vm5NެK +{"=_:_cwĈ惘ڎܷrLJb4+$kB]dYr[۵ތ&%&|EmqRkʿڵ $ 4Z7('ܺrOW'kD2N .U.:aPRsU]/fZܧI> ԉ+}\Yu<.7!ZmVܴ[Ը?HD}qź ~وL~>#Dx0TCuCݼ$Y%ţzӎ?)f@GF\/ƉOEv#kރ8޿\u"lvb!PVܝ y595ac ^lѣA\12uxՏ.~z)w3R# ߨP!n6- e-v½gj?KN4fS\F4j)ML ::6961۟+cgeb )bž'F^)Zj-R4 6ܥ$̏} `uZb}'>C0,{@L*lG6+]%JA\5[U~=ߗkko7!Qqs~q-:.~M^AJE'g+{bn:d =Ў^+X},snCf$݀Zy(KEK[ g@?'š?WMb loMk*z2(.$Ntȑ3 ˋ䵈ʒW迫bcx8L0ytش:^ +%07>S+腹7 +@^@N>>}zέ?A/ +sqy_k?TW8k , tv8Nn5b!i7ѡ]Jp޿Ÿ|| w&(#Pˁ +.6?Or g0W;rzz-'$ zog7N/u=X?"NW#A7.¨:x4VEЄ=g( JpwyuMT"0 7J#A9~8 ;ЇǏ@.v@o==st#01#,?SKU9>lOPFI$F* EO01Qbgy<<}{ +z +=0@<<}{t|1 _GEvYY[y8-n3g9PjDCbZ$0'a׾ܞك|_:߼wM+3^=ݻ =O1YSv{xH{Wu.餬qN6]0ƅb ꠹HyN@M1NtE 7ʢ&*ܻVZUxZPt(6 endstream endobj 32 0 obj <>stream +7kO<s ËWnҲ6o+IAk(_6yDtyDS;RWP1+:*1<.ZFp gw nsw?ɡ;O @E-SUGjbu`NMDԳ &?v( 荝=N3?=9>~ {A?waya~Znk~= cUYjXj4o|VH/O; gμ߃?q=n zvM0*4(!LjgQ^p fXu,ޡ81OWg'P' `o'蝽#A1~c>ߨ'>]GhycC7m;%p}Ŀ=GF\K 9}&;|<}qv=>@.e>xXfZ>d9^-jlg0]_N@\*yRz#/(_)ߠg?=wz'!%~9KZGZZoyR-rN-yL̯.X|pXCoA./@!kE&Z/2sꎬrݔ +1|[4*!8k^x<^>}| eoרE]`MS0'uc\FR8.]dZvw}D̓=d5jK݉&־d2yVdޜ R&:AC546KD9"p/<zѱ$QQl=bFBrFjcgeH e^H?#b&jI+cM嚡zD%*a2N)ߑቹ"nz><{3$ihQMٗp J~<WR*Hx87eP4irp n7w:>{=7zzD[\Xɛ.sjVV "4}֜/VDB+jhJNYYwB}|pE~ v=%&*@+ûr_':QX;+: ST|{4܀Wv +j t+<>?:fjp`/㯀ڵ=}6Y^1R2ΰF9-xA=[k8_V7*9( )B$(Ssa33= 軏(. zb_f JtCHiU rn8+goNRI6=vϭȰP#n{} FNB}R|҃ě4p# +KQ5OW˂/V*x$zk!kg֒QOp9}s-  *NpsPruL^cn2y 3mjG3"A.HyPg^lWik <̾[W +[͙ +d ~edGw'*7uCM=l<eTg`L6X=eC\ߛveդ^v2wD Q f I a kmYV4TUuH]iMͱ +FXy?ykwE3/|i"-UP#ة-̠p.3ݝx?kc +gr"rEFFHc|LD֔*ah{@jʣs9scS=mEҎ8Ux]O7U*at:nw|'ժ-2 +ZY#nOW VU龪ʸֺ$Y'|fj& +bz(%zy:fzփz0W'9^萟,6tյUzEx rKCIgHȩ)>`h4-6AhE&%nUo-I.:VDuzs0MA1[B6 ?dz5]6l:O-9&lcd:#$|հ#Iyq;@IZ*vC7^ޛ# [#)~dʮ&Xh쳪Uv8*2Hy%c*決{ZtPQ_y nIbb~~0AN2N`Kjtzݐyj5HA-211{`W 6j<'gTbmRCߖ}gw[ٻ=S^F +:i-vSte.Z=2xUW}TKT|ՏBC21VZ74ӐStjk3UH'@,\n9[5.Q x.怵e#,-ss8B7p6!d>Z7}u5_~u4ilIrDǟ`aGRX(*,圩xq,/pc~{i/O"tݹ'Q>SPr0"(E6 + NWž8#nU-L5 r2ŒtOx-F-庯zZV*x}`ydIȷ.p0'4me&& |Uzit Z}uKmUj丕RO9]u`o$[giV%,'$c-󥶙.V\,| '%H \EK JMbSU)bJI^Zc@F+}GpYg nHîuf-FKZl}(b]h=特 HJgsXtPbQJX]Uq?UUl +f(&n_8_ +OWcsb Xp$~oedj=1{1BC*N#j鸟+U9`Hx";_o::53tqBF//ZĝS (cB45)v]m*|yqH'/״/`3ƅ1n,dNwaT졪~ʯܮEG$*4M8QRs-3}1w=uvOjڎzMj>8MN?'Ɗ Rdv*3\Z7;oo`\h`1}%,{mc~f%F!PuЁZ*ߺ+sl/`\Eɲ()ٶYzѮ=P{UzXl`-~ch VRD'1akAXqaePEF)1Ǭ#lj}YL}O6Jӌw$)0f6 EiRƶG 7冡>&9y8Yn#z?{gIsk]Ȉ+xRfXGJz~i!$_Ov<_pZkǻВ?EZ"gc4 I.Ĭ U +}3ī >RmRΙVcb +3]l.v5/9ī`. i%W RJRR/Cfp&%dYl0U~@.֨M^^,ڙf/W55,p-W]\qigs9r0#A4_= %DaRRf Ig& Jͦ0~,?hesta-Ueۋ96˧RW{ЉgKtDv&0{di%k UfzMfesά6aV%jOԃ RsOΟډ_ۂĪ-ZgxH :u4ꘌ0B"PQNU|< >ݚZbGUd=/U_ +ҏ9"#9$0_Zo-fE͉2 91ɢ&I93QQa~?+M3ˮ =j;NkrJAJNC9 qi?jNN#92'J\Ƙ4 y]jgzu +ΙVjS#2X8 A%#)!:U}8A3OrOk3+ bl "xG]Soz ٿ6$+-65u d?ƾ'dHz`fmMG}Vkaw4Uُ 8!6O"l)6 dSU垒WG/W՝džVuRyMx-u:N*/x̋%ͬ!"l6$ CƐ]PO%cm:s%lQ2 & 9"a\:csxzotf*씂jrv)m/m1H/唙&y3őYMڇ>t@-@\y1 וԃTMHQc/fy鏔Nj94Kc|yߞ$t祶IXn,\%J}g&B|ωd,ebkD:>ޏ zGT Yf95` ? j%nw쳬&ϕ}wp +d"ɪ&N- +Jީ/Ѝb,6fM +|%HѻØȝAtYA/ i;Vuפuު+gs\‰<,z-t{353ɤIOLQ{dž"{bC)R b`/If9C~ .A^+]0G_[{mOsOE965t|Wic: 1{w0ljl@rt ̉'^sm -EwMGN1h_w B^[n+j/O2t?C,sO위Gr RjR/䕵i<\d'>N|:&ѱ{a'$!3NLQ!NSꝄzbxge¢r̯Z~9gvi + <ަzd(7,=2uܰH`<_[߱޲'?^ښ%qq1Ow繵kbb􎞟{Q8'F1_kv5<_NuN#|?2xº[.iO:&@D+0YD0ݞ>tvj5{#K kpCG(~^(8Xp(&r-2zckm/ϻnl^X*y +_(.~Ġ sX䚪EG%#W?GkYX*C[ҮCOY{`{*7Ŭ}eswY]VK;a۟%!B ZR4 xdScs}}K蓹{qV-]]}SaN1$rQxbeCQ`_}X؍d"9?0q; +r~S)x`Ԭ2Z5 ?/kK>D Iiهnm(/(?kK(}u긜VKgz.pzjkc O*1Ov9Xk;v4tbWm[{-{g9v1!Y_чޑ3!12|u\Pz oˮar81)U-(HM0dh@I4o—iB 2d5ɑC; +J5@=g!o}r_D[9m pG)ɠYlF?4ltg6 ?][G'hE ?EHcR6Pi'-Fm ĝ34X1 +~Fgi`ӌFP/6O3IѢുc/c%GF6ӯS]Ӵ\e=Uq +249ϕG*r7+_tbe9WSB,Љ;l0)'Z%AQ4ej]mۙweX̺aȺTekP z5Fʧz7L #R=v ! KB}Sm6`W[^ sZ}p0[jBގB"CUҾ:H6>j;G:랄겯8 !Yd).ZtIRKf3Ԙ3}a_H{6#gU{e<ĮvM34gtcNLBW`G$&/gmINaScȈ {aIb5S/!gf_P0/xOp))W"{`U¬+Rvqbҏ_gt,yAӒ⫅'j׻]:}rz&##li#ns]$g&֊R/< `)נ⁹N)eךԿo$%G,QȆ&XJ;ҳqY≾ٔ57KUA>d$ecKjz%{Qq%a6F:5IQմ#-3faaGF뫥oGI\%(Jܚ%j`OM8- cA׫=A4,vs[N?-\^*y>X |)w@Gc_ߜf m)3[.ݮc~8~I50A=bHĎP4WdGUrĩ?XiYEMj㲶C 7db}]#\nrMZ5_15Rlkɾvtlqt2p}*Z9w̞Cߵkm=r# ql SS ' }GFQ 7sIL}҇ 7uaC¼;>h$)mvfsֆlnNKw(e>1+bTKOߒS=O/0Cݑs< 㳗>ysв=}8vO7FϽS>v1+,>Eؐ͐GØB~h. _sܔ[v@#+֏OKrbo +f |.ٝJjMg&c}rczO/8v;{ YLޭ V]ޜemɉ9iLҟRӚ~[{Б4H9Dc }TdVKB $9 +nЄW3=BzKZK0.䇜 ۆ !ˎiB^:T]UtڛwsK~u v `[Ũ:^6$lR jN=4.ySƮ0v"4WAOJ}sJJEN>뛪N ^SY 9jjjbSEDs൩=醹#Śms۔G)$smױMbdYePsT٧oK%M5uV6uWE,5V6,~漀>MJ>%#O'|Kނ{]w}S=M[ك1ZOaS$*)ADzUmo7M-M'AW+__XRMu+[6OB-Ч֖ZaեΒN1"[A1\ YA8k WFBm#zrȁk3tЦY}*vc5I'D463ku{8 ,TWױR b]eQaYV I5 +jѕiryem#UKB{oxmlȼ,v<57gv?=2#351*jcth l~hfwCYyUJJw Wv]wA@^-3\=:_ub.wy.y[tuցꚂX=89Bȭ>s_M}_>?ILWX% QN 9{jf徔]3̈́Gq)RaaRu2M g1,Ʊ:oW_ۘTgU?O-ʑ+O냕oCUq̴{k#ȌQ'g{[g/Xƃ>4:yG%hc5+U +J^~\&&6okk;zQþFQf#Qv5\WƑ7ޱ6j͕> 2n>v VoB~YY/rhuOI|3v9/ƾc{be&WlR3*= zI>-z6\YA 6,+ߖ2@,.CؒAG:ѶRH,#3qtGJ^#[4Ȯ^ԸT^8; OƋ;sz!k h9#?N į>KkJ~} cRoSZ*/=a&%d?dMNc&YYAb;: V`{”E&=6kw](%0͸9O|1ە=91_h/enke5C/Q=V;%mڧ!<1G +}+m({k؄M^9%%fnQ9< JVcֱoI-q˃)˽4Tĕ6˿?DK}xCZ옡2Kr+9,أd՟906 ^99Y}2R$XJAصYp+ኡ-PY0LZyk +fi +2~2ǖc wh^/>RƫYS8biRe: _A$,S[=' -6Oۚ&LF$.Rv<<֞wgAbz:˽>Jw_WvN죸L$)+ŧh~ (Zjwtܱ2,֜(c VSrd2§'[U^T} d6Л2ZQjmwѫ͝lڹNxA7:FciEK36i}UjC:43,3,1S{OryKͨ<0F\Ɏ Klږұ{溶A!ˇ=SCǞe8~KSgScGEmۊ *ߚ`Пt ssGKAR҅A}g=C]z|̡p3%9Y6t0V0@=#k=mSHq+0msAd[F-?r2J}[mO{Vb,jrF_]?6k}Jv-cQ_eۧHY.Gj W$OrHLwUm3+k6M:)n@RlC^9&wT÷ ϛ>f鞆`&螑= 5Q0{hkJ3Bm(`ToNӔYrgglͺ/cĶ@ ݛdf$]&\?rN[*_XI~3wu\ځqomp)iv@㗆7&IY"xӌe`n,zsZWrS榒p%$oɰi XbOڈKrZ E]_ڼ;Kc#Uq>%&l #򅻳Dɫ]9<@E[;4ko|/^*tZTOs]nS82G"r>3\fg\Y!ʦw ԂMuȭ$< =s' |ᡙD~ ԴƱQO/`.!VJ䕟JLۆLnGG8E֪`1&|gEy 1w1aotz9}j؛2zq`݇-.V~s[A(|$*zǞuí-ϖaρ9:}s OE-a3\XE ,ܶM5t9+c׃쇈gW\ltu"1 ;T!3e{_;q)H/H8Ydā9|y,V볌RG؛OXĿ/Fg̛ڶ!j΃~xoE?5j- ?^`F9s5yA2Ne4ct֦ )':@9\dP-tP3sϭUG+N< +Y>3;dqH穝 +ޒCeEu{Bw_9%t3szظSJfP雍^xꖔ8XUYҙ{oo +x/LI20{f> }fKήؖ҃Zn!DyI| Z@˹CHؚj&>uL61xf(5$YCt1 5/􂾹84Q@˃ 1"fWE.:5M +y1;7v?`sQg@,K4zf}}ѝ1\ĩΪw?v!'e^_ ͐ww~~wj_xR2C~ӷ^6t$^\,};DŽխȕl`9X_;Jd9-; ) +X!*B`e 'LxSd l/`|j,.'edm"%_Dky K}RdWk] oP'йZm%|_OGm #?kE  UF^+\k?ܳ*plp;`֧pI.)@[W7ƪŞ D&ГLڽ~F^A'> II]I0"6XƊksdz¢ȇD!!#Qа=.e[G*?&"v?iu%ckM/žE*(XE] i=YDŸDZqhc"r$tͮY$ZXruo 莔*w1L5ƾʏZ"NFɞyQ=C}FG'y`Ăxck`!tڞޞz&cc]YE',t{E5~@&㈴IdҦk{Z +-I<É?z$i8D/'[JV垦;#f0{8롥aD䉖K()jᮚGUX Z*uM/D 'qV}cx 5/+滐5ċԇ)Z鼨䡱v9 te"{D]URQc3e=2crLC2bM38{>ŮR׺ʂ oIg9No?~_L^A׭=MTߖswrNLzy^[ziWJCrѻk7^e]!% 75>Uqn>yGxSY|[buy*AU]KYȖ}RF|[ןX8L `[-{!$0Oroc3t>>HHߜ@Qzp 1iv 9v ]]ɳAtJr*ihPxe5q+Le<P>h4X +G֦:t,r{ ⾉P%=+)ЅAh{Zd]ſ$sn )O)*ه:/|(-3ݩ!DTBH;a]js7Y7!,cĤK՟V˞rwYf4H{Z1K}s⎦9KwqQ\"W斪-UrB~4TSs!A2zE5?>qsႮ!oUfUGkY/<0b@BGBMT=-U7w{Fcؤ?z*>4NHdn.zx.YgdCڂy`X UrYFlM鳅^x¿S 4WMY?:`׀{q!԰i\n1 +n%}#辡⭥`27BTq![^5= pI1IN&[y~?3e^_?ZM+vwfq葡:-X$i۲0XIʸߞ_ +xW͕mPV_e]{&K;c3M3B۶X%lL$LK.k%*)˯E4=o!?#./~x|;T«KKm0? +S7 /H7 ~Y( 9RJm^ l7]~>-Ⱦwo aFL4< #AAo݅wu%wّ: gK +&496<^/L<Kv+i:N'VAݞM\g{U^.o@~YT>cKC)O +S|$%{u:V΋j| +9.OGm}ą. Za|~ds]2^`Nni8Vbr"!/n))e~-x}gbv 榊U!J~\Y)+碭ov-8c_M9pc +gyѪP !kGEzfHy5 \@tlq`as2jՆ ]f8%-=kX_,u_L|KU1-w8 I5J4M]6R/1؋ +u/v/vcֆ涢;Ɯkk4l_C)["j55:!7\Kы;.Nt2\ӌ|BK3((%b7<3/ndVvHOC谟~ U.(2u`c=ȏ<\sֶҧE9CK>15B:Q&{Bև_q+%֎]W?@i(7݊z~{bBȟefH9i]Ës{ã~omcK㵾GbrZßQ/Oy&bDZi;Ƣ{j +bWExyRbF_ѣF6PkVO(xcʲ#>u#C և!QR^Wf|G̲nHha{҃t~q}O1boNHY wT^b(:# M5z ,# t2_ho;*B\\% `l %wyi|Y4!wx$#Hp);T5aI\wZ\rb垑=2qۥ]oXu8#WP\$7O.1_N4!߮ 2w+#KW c+Ҁ]o8Y+u=A7itK=7tW5 +^ &\ +6̫".es49O%8^6JJsqRAdh +vVyzi,꣦.&%;%1'z?;gD/hl{ =;-P=He}KC3"l[j!* oN0 *#To5边;J+"==ӿqoy 1&ӂ뜼L"L#~D6D=rN 4ՑG?v~5 |s"?꽵%wyukfc_ogh=@;-/4۽O_8}y(^qrꓭ)\c4(_mlJ +흩LG%\_KIy>8H;Kzދݖe@젍>EߎN[/ycY)aAXbOŻ-e`c`ky, sm1nt,rc\]=Iא +GZ(0 olExgE;J̯g]E{#vlbZ8oK/|u, ;^vn)IV~Ϳm%tnd2xp##jd2jٮ ^}h,}`nͻni˻1X'Ϸۺ2!{7/Jhhȼ]qN}JF_- 5ulUǥo`LGJcCNq3ɩ  jg~bROuFyumQ6>+؜7w^h˺6Ty0[/bԏ +Y|6 ښiz[&"[K8Ahż]bf)5Gbr 2Rxom,6a?*8UF󢲻C;wFQ 2]bg&тH:'j-V6-jBԒ)!yg+3/ "~FFǝYhFyUg8]c竛8S}] 3ZaOKyЇvv,8܂rͶ/4f^s/y X L~~=wL~֓k3ڔ|/;,OG 5IW{`?2kqi,?#Mu,82tKLԶ?#'^Rpym@? +:@Orv@"ʹuKK*gMxyVS_ypjj <nJ+>w:*S_>pK)ck"n^ Zy$@;POFșG kC08:ާ  ,>-Vg8`s/G*8M=쵩)u}bkk]n)j)yF呁96l4`a&1 :]ZWr|3l!l))~>ï61/vU|u:w%欥9JKx6үoH'f&$ jk=r> d聽HSQ @,ILxHKp8&a]JBׇmGKܳ cT[1 +˝U gWC׽t oQZ%qUB˵+804|U.iG-)Ǧ>˃xLȎMVfRhGCX9,@Ɇ1IY"kzp!5{3G.1>UT4IM*gg5!/RSLm0]#LR4L±YRŘIRsUNU lS'sH[J.Yz'_D%S@?GoV93kR-R{!ąHw NptȻ}%k=-^skDƌ 6nY [{5VY;pGū`78|I+1Q=†ěGu7Dlp6| mx}+(mGM v.{<<+zróK[#oUS]b+ 끟ЧtH&zƨ=Uc?eܴV<^K5Բ~Bk;ž?κ[LجEh':Wb锥S!AJ8k-KV4579=RF՜zv1<$C%L=?wAL윙U7{i-nRŚ_dGgN6D)^tɚS0cD'OqZ.襲%ҁVi7T0 b1uч,v6{nJͪXd -ji%KV5 o/dop7|zIӵUdW40uo,mm?u6gVXy+zD[i':!/GЈu+hdTʉ Zr޴>*'PKּ|攖RFG]ԐIZ6ZV5¥kro{RφcSW<1Mk^C6= 6Ҋ WflIU+6BIؒ$l5/-u_}}WU`\3* =p1X9u˂.Zjf՝\0N鶾-U?tS:lm`?l\0L̼Zd]3դ̠".*FpVh^ x򐎐ffS5 >iC*D ~>6 ӵ;qK +\\`6B\嶚z RAP +~H8=PpFXK~Z3W]lXѪ؜Cc̲ :Lk+Lm;neohkJゃQ7<<8ckz6n˄/  j +:~1;Xlglzud?m8H`4hջO1z/ła9 <}2|Pm/,D%o;y!#jv`(s&6l&`;{ӆ:aҤek+دelAG`;Ӭ@7h16ymq2 >&fsM[Fڸᒗ,M@7I% dCu?_d4 ܞ1"lCˈ c +bU_K_Cv۾t~8Y #;m)-gd,}?k%/ZL_!p#fwF:wFz_`,m}4ୖZSz 3E-<.0~x7;nJ!=rFMZ6a!gϿNQGm%w6d}.dzz NqߌYpH+6AŜ9aM_=L(i_Җ.v^wAnHkmx6coTva/˟TSu]?0Э_J )͑(>{݇]TR34zXvj?exY5 u@l0.U΀^î;we72)X>1;ͯU5͸e¾v. /صS*>xLQzjȌ% db֭:8IfBGvZj?kٻس润)2qFM31 Ǻ:=M,=i=:gR`ظ?@=&qY! 9oAK+r|mvh jysf6d*M*Hc;[VZݺ7:pI31k͛z,VeI9)Tm7eٛToҁ-20*7GI +r'w +['k@L"j7m'NrIz*m X3֣ v'=tfߙN{$2#2MV҄]IAUK+l̢2r0|ȱ=eZ \PdV]@_o6`ּ-L^ۛmŖ)!wDi t y=6-d597ngF:Z`u.{wC7ܝ 6Uo?(Azxk5!TQ_9>"m˰v^{{)2qZ iIGrG݀PZzSٖc !'N!pwlLjc#"Mڠ&1p$ZN6x+-o%5w~\+;pS@C&mө: bYSg0#C!*3K,eRVfHIG= Fnࣙ?T?쿧dzBvOUV\=oogY1~\*60y@J`sf-u%[ۡzbDů6Ԣ^xY#7`VaUy#X%Z\˴H ,cCO"ڟznڲR o KE/\0z]_'ȓye ,}o_Cx7*oDG53zt- г.JWt}u0%oYՑ6XwO-z 8\Ti޺IK/s*g@sJU\\kScV]hpAOD^Ia)HQ7_@ӿbOeDUac>Pr݂Q0dDoRK +#\hơPM-u6P[[j`NcӞJUf @JZW꺧_=#h^Ek].h$\H|X>ۘNҾ`8E&>۞EiQW/ RP?>yZxՍ#OUm*hb!퍢Kʀ tHDUxjk=9>6kVMC"@뽂(xoF?DÓfssGq8%<}nEwgIZ։E<^/۫Ǎ +ޔW;hgDO(Fn`gz&kJ* ih%Rx p])5ԏ2H:3=m1FiX*1p'-̇8U3[o + 3Q3Rϗd/WCܷƞIrpݶ&UY#1ȩ ͵i\.Mǥc-'ݵJl9yݏ{p;diaYj3~5NX9jgLi gVt:_U&Re{V]" n6?n.S +źnA #?HIwJQ1tk\HjU.UA4Wj! I<}R|򥘰s^F~QvݰwNUҘRu:=庼kjyT}0ѿ1F<:CYgjFAHNNeZLw>{DUIWvk@^uO{=Ǧ$(v"_Id MJBJA?"caaRHߥgs.vUu.+ +{8q$*yIЩ,yT4fU] \VBe׊g ?=o9z2|+KbtŮ!QV0^-p(W.ޫ{/^Ķ"50vAp i5ܪ9 S< ]1E./*T}Hcz aԇ}\ `.G^툖.>wIʟ3׋7g4rITnw22.U \Nm%&t2"Ntu؝@ѿ)i^mltkyPS2GU,748?etz>C`JLES1\K\8Oq*ҧ֨Az꬞lCVj`SҮ/ѬXz[:DiT)[H+b^X/VP^`Mwh6WA-;Ԑ9ïnwpI#65 +z&ߝ\TH<&㳷O#@=T0,<w"<vY}E^$?4ZY\ѱ`B'z:vJe$jd6v`8Q,+wJxPvzNX;_I(Ww霁QhVpfE?To0[̮"bZ=W2<)_n܈J0SDdRIM$M88 scF =y'~s310b&5N^`˩l[2E| (dUtI/a.e݆3lo!L{,intC*N։ήi=%Dj[2F4"e/Uګ(0V1a ϭ)8w-竏kN;X{byGhfO=JZU)1{Z]bUnpۃnNgT>*W:RC~3FoW s*?{p?Rî\]t:+vH +AY;nVd*/5Tu=pI LqcQo) [ɳV6.vPƴ&Ţ[:oh_1o4hXh J`i1/ODyfzf) +e mp +"lT0`_.鋆Lms z5cHBɤbiTc)imE} ĉ^qlw@ʠXSV!s?e'1+.T {=&4dVVs cZs>6Cja/'pK(1LNo 2X;GUȖ[vʗ2"E"QZrq,_4~Ht>~<{vkw + NĹStФ5F-[He!=jA1-r@IH$ZPPiila0ιH_6Pߠhhn@n~<%\+o\Gͷ`id}%*QO+_җ!J=D"ӀbCqߠotf@/sQ .vކ,Y)(u%{ Z 9IV{]<P: I ѕ %H DBǐ.Vh˭ny~osҴ~':"h"Qkd`uWP00ewrH|o +JդBp*'G-8"_OtGX(,Y[⠖7tG45newG-jp*{Tw +"K&4H +UbK@S"ȊFu ᶇUԤ}O+{DN^U{YDK5tmz@98eyA^[hi[?gIYv^.i)޶AOJKE{+FBδ6o;1C)eEˇMw!U֑5c䐹u%{9#`ll!>̚~ӂ_7a#G4"owzi|:EBDH;t8S%(s&,-º.IF::gl9Y~i➽aS0J Ԫ90'GbԂgM~'|p@)դe ;."=7PՖr+LST?Z~#07amo Q3RbAD|k3MPK_ R{3!i [%$4i_w׈MʛwNG}ElN.3.tA[ k^iL.ZuQWEmc̜0mNh>KѪjdBX$UM8hoNe]s)[bݺQga +<9දr݅9b2,͉|{ s*ZK +z8f áT=`A&XJ#AV"m:^6Z9!u[??_TaN]($/jxe=bn~nᒎU2#AjmX%: ncোj5. *[&L_4h˛P]pUdww-vɟAqΔ8Tnm4xR6m61ӣm]ynn^,yn,hߋ+?ҡ_m@SkL@&}Uo&imz*m^ƀw W3M@.pd;4i +koltAU=ȹR^à 6=h!3lMm: v;fxlƪT3C%ME]E_w`A*8y8raʿ*\8*op )􄼇RqDŽY&/qӊH -꾩ccVuQ]#&AUGxW/p ^{ǔk-ʲl+{nZeL^>=WKx,{ +тä~%C='rM]Pֿkx߶&#G@u *e]1%̻8StuE 6J?4TA:tڂ͆9ІLݷ"?/mSۦoma*l xmڰ9;&TʾXC̜9"s75qG};8aݘ8|ŗz) G6ڮdCZdʚ,rU7Nmp!=Êq߅Z4 +K b\Bkzdڦ-YÄAtۆ-4)=Ggk\h']/ĂL 0ayp,޶sS΍Nsn!vmu4fetEYynv*zRRSO^R'qE[ȼȿiڵ3ܸ=;,u]kִLJ /x{#xwiiՃp/q18W}홿k]"p4‘Zkj)4/+w ’;&Bɒ9gxFHjl|iW$S!Y]~狛-|H<w Cfrcm m ec!ӰIM#u>3kjrT 1VG*^oRt'5WfQGH,k$qk =&9pū*O|mɿ^}8x/-PslǃcCzV5O9yw2|DOM5Ò)fYݘi]UA"E;ݕ6-Ⱦ')\Ԃk΂;+'{VXںdݗz<] O̻4֑|CO>3ξ*쀧N:BOexK +񛃑 T:CVԈ =iۄ3_>̎:;+ʾAfnRd֒1t $U>/9]~c]l 7ŷ+1򓐬쵏ǒ!AXT| y({.}(D-SH-% i󴔇δjg?Z Xoi +Z9}I?ԗu}CS( bWF8tc3Cg޳4'ؙuW亩1^u.o7Ms _.ѧ .ЃP_Կm6tg7`+{_QWG[&HtglʃMq?` +fkcI7}9GSɗW? sS/Z/Wo;PkGR/iq~Κiuqю{qUG7T 펩Ø0㲎|.WWɹ~DwMFhv]=Y;ف >ocw~7 ֌ WoH6qNa-$g|7fj_ƨ[w,UUe(b\tO<%A4s9ֱcC,* ouW=>nx9@1ʟb>{ɵ_3S { /9̋;YSĩie!&봉R~oIMW£O]mŷK.F;L_זwyǂ\U֦֔x674o}4:Ћ,'u/û[&Zy$z\XvIO? +SNƞnH΅+7uM)ZDڎ`]2-;@kqBG*_,>YWU>RWtShѧmbpQ^yf5➡6/P9+i"Dʶ1aK_& Ȼ_=+ڲsШE&qCՖ>Xݟߝ)a 6l껳:?]K?UwptܴS87+%E-[%?V4 &K8.xI6) W|L.|#-=;([n$]qRpryh]BJ}GΖ5cKu4>)7_{i'- ]Y戈 "M|6+*~6/*{2P`@g޽ޜoD8!'n_\fOD"絵C/nh۱}طCwld~8Fu-Eu{ŗ:o֡)aVRt 첻.bLW{ +/bV ctψ^T9,JֹO>&jŁ( 㖓@Gd({4'k|>\__{%b~#vbܘ{WwVwyf^\s- !Su~G~B|q)G`'ֽ;m|4Ɩ +xȀ0TOe $~T\U"v]#)9x^ ~ \S2ГnZTu2qVP~o]^|W + + +y[.ϴ#Ῡq 7=;p gl@{5ҝ/*lʼBt<Յ-7cKfjߙOoQY_P)=])~C{6D&w-5ERk6Ce+#>HԲ!|䔿4Ĝb jCr95<̬ц`͛5]}46,qKC,Q ^v 7;4fn<|K[?3D L 4b~hϾo˾6o4K3// VLc}_S⺡զ!h {ݱkiX5x01U֪M (zAhWOG0Gbӎc 2@[- ևOU>7>_S#팺=>mI7[l\|7)*2Pg}eHO{EO{ey]Mk^2m˳e}KYtʈO>;>D|}YkZi9s,d:=~8Uu{EJ\. Evbm gҺCs +RpW>Ϟvƺ)!Z$|^Z~wFRtoH䦉0)s}EicdG];Ϳ=,cdgޅ>НYIՓ~ŝOOwalW/`ZПȈ>#? u6&_.wG[ѳ=CSы}c /+ ?ƹy\iiËI #<;&DI|@RDҜkOc%W %18rEݐNB|;ԯ!q# !$z^^ 8hfe_ґ-z{݊6 3[zÌ^>d]\Xֿ9zK *Q9_礏fX↪ɔÝ[&Dʖ _`VP#,Jә_-$K?ҙT=Q'RI!2.ysoLrqφ}udG~vK̤E56ŀ &fz+@IG؉и# 2]$[ꋋZgCmja1:x3Pͫ999yI{y=«AAEYu<~ORCKŷ.oe~I{;N_2`Kzbd/<|UV;7D+ "ޅ:*lmB|*W55oVU q6L.wRPwʿoNI:Fn0 +G ХG>\ɦ1V|A/b\[1"툏+ezMAQK2vaV~h}󷳿gz*_EG.kNF;_Z5z9`@ cW4eUCH[ST77&L* Ԝ +?][ك*Xfk}weFv/4P0zknJ>ޕSZXnRxKd_W~3Ӯ8w|KQESC_=ٞ;kSewb=n΋agnG>dm"|V}g3Dw٭9yYunT[ +OK"7tчC"{D\l-*㳧) m ]mشCztU3:mQ;#ziI'۴4e}ǡ왡$9Ҋȸ5SW{򅱮FAyMtm_͵KORp詋/|<;HsK>P/7t=|M-3㖶& eh;5ӟwPffJ^(WTڡ `M䁅|jN 6ض!R6t@E:ae㮅\6?P|~A?%mEϺk/3}_hȃᖊ=`I:tBoEo8L:Li8trÃkuMKJУU>KH8#tÈ\jX?4{ˑlӊ[>ú:+Լ wHXݎ>aIE jrAXwMڿPHye3fZMn@$jO]z?.k?P_[idzf5 3( 3!kx C;M65K,J|QD˾Gm;5vLɁog ''~@v(0h&;pܔQ#~)ƟPoȥ MQg,<*6̨LK{MgGa\,T0]f6,sƛh6͘mg8~QV ζ̫c(TKZ2 _.{fP2_a%_b.޲,t++*93"Avv-[Lp0mb& ,f0EfU1s=Ν4f',+< !4֨R+JU& t!Zڸ܏iO~\6'yL/B::2`B}n=4mL VHF(udI[#m?u}빈ZkX4'嵬Gs9|Fw/yGb Cؙ7&aVgXUL*]SB31c~Ro O'A|?jhzvb`Y9D^}?3[IHy/,`CDv^Y&ƴ-6kc~%8GLVA>JVe5_~C_^Al>[ST͆QWFH7*Fc}f׸5ŇXal Y>Y__~'-DQ 1; +r1E#ވOK(=BO[c+iBvXN'/^`n-nWvИ>fykVD)ؒp^%>ae"=2ᦌ,4rR'Ѳ8bBJf"sRx)/5m9 .;nr:.1j +N,hy9sz-Qz)9)BxAdcu5 1Gm KNCdPAfm.mؒw~j/2(=@+&o^J .,Ysg8_(lc{Kv) E2b/q5= +p}P/t\d +hVk}9e|v"_?n&3SjBr|R?k'5_b3fz%ĢШ^X4?Tݑo>) Z=1+B{VQˣ*=^ r4*eHw^^v b.dJL8SȑAqPt8'h)("քAmؘcPYBQBu!.;ZNmoqeѠ 6ыi{m?i<@CQI-5.i}d@/ML,toA,Lب +Wj4>+QKӳ#{,kq5>+s-a|H4\v ƻ\y +Mq#؛S|;TFrxqOJ-ʀޭ} R0,X^N4s[:r#E\Rյ|z3!= ]Sp'7Ɖ.UvVƸTIW;`ì8ÞiDӎiTWE*;GvӖ E/0ŀ-'a'Z¯k篌b 룴JkVb ZB t,H(0ԋa JPJ,ʅ('g6F+n~/e"Sv[䞤䫺k>Wu~t|syxXM䀂*DN@\z|JSmWԝ?.6&GUD+B/`%[#˞IԍQ,-@OY3C)0zK.+9zy&XhؚArM#rV2<3I([?vɉUM9F% j_CoܘzguS>sKʣ s뾕uACrquiyR 9ysguE}wmZ>vL1a']şޭ_Ʃ?^|z9fy*ZFeT@#xG iyqӛΎIfг)+e-v>L߶pFՋcw ~q$acΝݵyծMҋs=B.wISZ6&9k#𼐞I-/X¼bS"hФkb5:.  3cjfCLiuOn_pM"^U<.=upb睰3jZzfYhd{tqYB6f=ۘ­oϿ@0:w_c2BE-^Ye~n+oc1H)k^ iUÌ2LngP'~ W(nden $JP2}-LO +Z;Pf-o c3G%␊Rcky]w7ͧ?ܰikFXnNsR6ؘeyT‹ K}W7m9To߹2Tw|mm<uO`o5 c^a{iOg-V9\u&b7ȟSlN_EFT값T9#s7&W\줉XĭBFHKkKMϪ7=fk^u f[A9>(޷.}M4>b}4F/3_Y'Z_\L+:1'cTG7C:1# .9P$⠚ -; wp- 6w)ڰR$K:kK--q + ?w'EQR B~@E,lR*&w3&e_{_wEy۫UxILw^1i+ |%akޔDRco$qL6ٮ19 8oMN*Iv-l\pVH)zi~aAQwsyӧzpoq.mu9)lV㯭h=htLK:`cwIa!MӦ5Z'7^z8D_'\ٜ@r=E5?n=vj_VP'Cif_&Ddl@c33 /+&/̖c\PǛʇ|v">7cfzON.]yvzus{Z>ΩC5Ū +H .5W^Ρ%8.Um< +UU!DR\84]{tn{ֹGg= m4=.|g+deY1Z5%\`YTP!Bj$!M-JVWs{kY^ "fb"f + +t(lpR=:[c-9ږF!#as(Uo:╰ qBaH ȝ!9%a;Q[~҄:)l6<\oP@Ko.ao^z-ݐ +*IxOSPjiPR|fḦ́4TŁ@>uN c&~m;31{|<Sצ]ӄRՐ [Z6~ )6/H.bf9VGQY!=uOteS]3b"w Gst\/gk[<H/4w1n}v߳So-l9]"8zI{s^I'11(.d@r<5%o b⯸%ON\`~P>@]RKȤR4G"FZӲ2V@~r!.l䈮+6ZeVH搜.-; pKUAͽ1LۚA_^`V=G)^A_ۜ$, =Rv}PCȷ#*;C.tO ;f{=t&DT]\k{cU_rM`RҒJMП7 9f)]Wi''yo PrVkXh^^>Z  Gh %i|QtݙN|ZpŐuMbgo)5vu.BGG[@d0qKGR?.t`ٓ1V`#. <۩V0xRX51X +bqBGnkoO,|ZxmYSTD [~(OkН.Z|`}ZIB_I gQJB_ٶ31[2|@Guo 3}Jj_"Xখ4=^z0|קU<P:硂J~kSdkR􍼣[tt $tsYf|RT|?A]Yo8 4tkZ s3yyqsl𗲯M/xP;hfPtM`\ ;ǃ$o ?zG8[c¸Kt2ǹn{x=O7*xpgk1% dD@DuJk|^qg㖮vޚlWJS&eU&ۋ3Fus(fčEƶ>)BsMbVޕ~7L;Q3rt?!n~INvuw9lq,S1\v޹1!Q59pf]^)*b:+cJv +.4㠶d u-՜=5BNXÂ,XPF.M&~s$>(K{͒*lO[^]| 9 c8ƭ j7ficF+g c ͈W모'[bޠU+c A-qgQa4Zq|c׺utdpܿ +Gtwjs?.~o߷Љykwh!30.lwهEngP*\뇝 jJn fu|kq^yP\@T$׺8:? +vtmt}k[:D5 =f>Ԩ/YQM49A>Ksɖ~9FXGnkpBXy_= *yKg[.-`\[{za,b{qr@1Oi|^LNID8c488Kرn { 9&;!䚄#fbvnT $6]Kv]`y akvqUӱVܝ}39Jƀ^5+Wh8 xK΁[sO*B ++f&jo^hmd󅐆\6t ܸ!͡ lbL&,G΁L0jھ;e//" +fk +EDVPXa ;KUkl)%qEӂl/T|Bϣ?~ sbb$fDt6-RPnç{; ӿZwcߡtgjXKcUVܽ4H1E+쨉N ؉y+ldrZ%V_ EY ,ZL*ItKܺIzͯ/\0svP_nuYR|}6WМF]ZVr+SO!D:fx +ޣ;$:%kGu4ZLp+maǫA^o 7t0AxRo:) ~kZ`;'91ԅRЪq7NŅDXcUךјԒ*RtkQ茍ń ϑJ*rkr=39RgR 1%v#n"59&.Uo}1(Kd +7>,0{,THEvϠ%䚸!bhy7Ӗ 1sQ\\̣`7"k ~qszIfTJIj;YQjekZ4ss0sKo[xWrJ|4Ov'Lݝq1- 4=t1an/ BR oC_0և[/ur bR.$}>x$G氜\ WNs[zRv5 ~m-{uz~ʥ<憒RX }C16b=%cscr>^IR7Zn,,#i8UhKV`bcs&rΣ$l\U yXi1#*tJ G\Aق)@]6S? +'|vk{ؼZ &boM3Y1Qa[s&ysSկT]B૜רtq!kc,KG[w|(q1 +Ia ?y>c!g%m }.9Zy/ZJY5A~T0rI ᬸGIߚ#}]8 fK*beTKCc-A |mc +[԰^Q1[B +bYHIk:8{vXUo3 s E5&(t̖=~%&KA\W9ļkcWױ^ +5JVWPW<'5mz>jy$Ep)#%LjcCA5ua +[+aƣ;օ1ZGNf_ֻ_Elx⾝ icܵ)-Nk8+nKs7_ rr_N6 z&.:b *inI7+#2N_J*he ghEIkc)ffP( ¯IK ȘQ<$ +vs<ό9xF_رqhȸ[螪;1\}t{Z7[Ix`y@S[hm+okRue[<rH9 !LqmvWQ+WVp2>47&ް1 &x#b4:%,'a 4۔Y#U쇵"3Z ҭ9jiw~XgsҘ 4ZT|GLBZ$+2bsϫ9&!"jby|gYF]fmxHڱ _aKݶq@cbB +/UfH^;ǮMݰ{ +3#&*sJ&O&ƘE+GU?-n)0Ǭ:v[gx9}|Q9?G_ q;I@BfU1feT1|޼1)ȘFZ:Rv,۵[ˆRRji  15 ^>M oG4l4|c5hKojZ{|'iVo[8PGf1a᠁哶\M萠)fF.mu~nK/ i+eSU}%Gw +T m6'>žYVC +QZxPtW}=żkX>Z뚯q  .~Q_drnc|cw->ޯCC*v*v7h<*zC,i빟ҳq 4Bl fx qCW{rK +jK΋@lE ˜P¯o̐ 1[s9؝;:>7+^|UszuA?owgu?T쬈Rv>sgIܙiw[3ĢE!WWx턅`R~Q +RϸySkظ֘4#\XQfDmCTl*PܳЬ= 5eN/z5M,I(ltTɚx@ g$A.5P!n)3 "s̪g&91~{ֳQ6V\k#s"ȣ൬D Q9`Ӹl˃mw!:ySJ+ٔk`ߌ{Cs +y,"SvߙO,e9(C +n39vh 23ʨ^n¯.n`3CrnsL-&Hy Wφ +T +-4!ϧ=lR_¬LojR>y0 +hK4L;\b9(+R\QLI1y?? resZ0W)a 14ʀTUѫN嘡:9qGr^,I5!:fbSG{ξy`&`FT-2g kG{PÄrѠN6T{攭{{Nj^y13q156hl͵^H?qOo91׶)Q B8 9M._ \xO8pJJF/8ǨsO;1k-iRAά ]_լͱaS{6P wA Yy61/e3ܕ7nWb9E`I,L8 ກYXFP +ɱ7cjzMRAā?t89Vu*LHPPJ1&xzha +fmDl9IHx7,ns_MݷՑAgj.֯dC=Rvg'۟^1b@\j&dƬ\O!5.j— s5ǝǣ@ $MKZk{[R FDmzzjA%rlE bFFTcYlwR +~c7Sٔ =19[@bom((UU'*.$lT|eT䖀97Ĩ^G͝>sKkO~)WSfR] i- =~// 6]~_hM gG(s_ + y?3CXMQ3Ґ>.c, +8Dm էh>o[ĜE޶UrwPF*Ha%Χ`֭cr7_tsbώto '僚U˯Ӥ4`mҧk搜&M{'3'e_r/akr)P54(ЏŮ)vcDشi=7"n I@ܳ=tCO,b8!rcw=HK*E;K:nMH +r2\fLEK HanP#s ~s[֏`{ qN+/O  -$8gq7Dbvyycy9:GN8!{>z=.'%4-k}1#J65ƪm;ژ +U*b,lc#{ 9F] ˈI+:aEг<#+sug 7*4"(&xo<1և1OOTpkϒV>g}K+8Ԅڮzm@K\K[REQ;F3pmૣ:|UByM\OCʛe5hikPpה|rGo 'u!D~0wDĆ{UrRH;B\KX[ol U{v:|#zz#rF}DA))XM VV:#a%4ew;vۢ3 Z| ۱a %?IOPrO!x ِ0Ff% teפj=f"񔔚m ) KF.:Z;r%/ + EBۜ`,Wqs,hP޽pɶu&IY&$cJj 7[8A 3# +BqDkڱhL[QKo11V,18}u2euϱ@rLNT5g1 PkZj3^ZUoG Ժ t)$juJv3v5aރ:ᓓKvm|ƇE3&T??ort/>u= 90cͶ1>)1YBթ݅GQ{`JBeB' @/& 䆘XOO9 똭Azg\QDE)R6Fᓱ[zywi.`@Nߒ2jG]*NΎZ#$ݎP-b>y:^WP?,p?P)+9 1?2"2>?K. al/S}-vz.ן W2zEH-ĸ\W՛ͧT=X}9NP߱@DmUׇ~Zx[cw%4ہ )!NT 2apI%,>/6/y (bbB&,B@_okX\NB*uI3!;vawk!2]"o 5WuZ1}sHǶ>J1*;S|w\"|qX\Z|92u݉۞cf/HJn I[;K^|ySn\3 +]m1rri@E;{]@;߼5K 1#c;5q_uP$uc1EY臃|A)KhVr,QF%7.Cft¸Gq ˪5A{Ȅر |6f?Ny}U>o]cJ~[x}CwQ-B#}Vճ`|3y}C"ih^}ksNo금]=kbnMF|q҈ΉkQ7fZ8c[Pؙ1?%BOzs(1G\ޜ~Ф +2"aڷc%V%Mbs/W:"/::VKuZ29BBoL_S֞ޘ,乌KBѶM@Uq{z1miqc{c}6pPɦ냵G쭔u?na&Jǝm+n9~|[)U{|֯[;?vBOkښl9;a7;6"0C/:pU3V˫ lLc2Z>eFcXM)_i9>xtFطAc~ +nK\kM@6+"Z̺=g  vA +s4}KH:VꙂ_}_@ma{g;a0bnnN.B737hH*sw\pG:eG Am8C١333i=r|u% 3YG.m/;>:zM;#Y/\Roa ׋)s}sӛmƸ["ZjMj[s}2r^PI׉ipYi]R^sV:+pCsPWK +A@ ? +<E>;C+Lcfm0RZY\.̕!JcQձ[}rtΖq1r.,Ǖ%-w;%LL,bĴ􆈒RRRJc̸`Lب i)5rn))c-; +Z5#Bsb{\Wkf7 %!Rz!is~yMQcvqcX`y `IiD^V:>nKXNOArKy0,4uwA 4ȎKBEG\V +zEDlHk'S )f'Dsm͐JcvNe^9 (eROR[ŵ|lXՔpwQjGI8OY舖PU +zbY\G`gГ:nfE̶\Qk66&f5<ҎC0r) 0(^ԭF,xB ,u=~ww+i +$[;;Oo[{&1;iwl\uLoIXX +q=yX; "RGOBGP1˂JB[JT>%$5I7tkt +mԘI@@Yyu'ae4ژQm`l mElHJ/f&ژPc`aJ,+K~鞞w{ [eYEQs&A$r929QI1'  +wXZK9{?9uǩgΔMɏĸQ@ljU>)7咱3Px/ܼ&P`ӡ_{+Ul@ۃŃy]ДJSR*ba,~tR9 32dg=ʬ]0Q/oN䜣q2S#&F,̶|.eRvwJuH 8nalBb?#fR0V:*ԩ?ĂW@RFʭEf- V+aX@۝r[6&|1Q/j_;Iâ=8~= լ[ +I%lE:̝,Vr9u60m/GLm+ae̢z}ʩ[y]`9Q##-jbV)m}cbܺze{xl5a$ fUrVXg#4zj^^Xn=jQkQ66G 'gI07 1s+$ؘ7iVVEhﰫSZq,jI[ҨQ!F%mox{/ΞoT~cun5L542M9\/3ߩjq+/돆ZcVzfi;%q!7W{T\sS7[)Sk6!!m5 +/sŪPemWc5:ڮѮE&sn)gׯTsQݙx)IMFKYTzl^Ӎ4W!J{%iڕmlPv.߄6NelxO&-gCC!CqA!"6A4Nj!椁F7:\u|[s< 5&NMoNY-YJz%4r><~rqvы1,e|jA)2 焄) +נ\%3e$-S\M~FR vG*x^sH/NI;2ja^_o>_Sꥬ^#1٬W*N^#jcN4iv0eUa] iVFCc8($D̒ "jfuJq*hY{C? K38mƏf"6a+R^S{~f9+4(Z[i:o=|v^| ZN)ixhʩ@wP]Dr1SHQZ}ѝvH Ԃ_& *;A<2?;O^?.6(;%yyĨYS͜rI&26j #o"FnuԠ:u%G/%mR +p IugQ{;;/cEGyNsDs\89?+N-.f=~;1 d=J:3sӘKwP+H{z^bQ[+·)*ϻlPDFvq@&Ǭ2o؞_ژք:2*sɦëoǷ'12A}T! +>AMڤ,"n0ѮčⴕS5I:`rFҲ3QfFQ@5mOo0%o?ȹArLEJ()Ivaltz}u{"5^ +>f΀Ƥ'b35ucMGcmVa,~crn8ؑajӤ饡G/vI-HMW~'nQN.!g&ҎU+πfd9Yꅰ 'qոBr>;2n!9OXoL;0v.lIYoRa>o3ⷞ 2 44L)2nM)"e=r~֣V o ӘURnA 旰1sѶ]r.QvU *μL$Y?r2l\]w0_Hί켄˜BUAs!eRzї,@MK' \M2TIbfas*ʸe^.eLϮ$"t^&M y:eow1 y:@keA+^M|r>:G0'hzJ8TI|ţR0ʜJ?NYny5eď U#X*jMU U9‹N ʔA] + 4[x^E#+ق2}jAL34Y/dĬ8ea*f́k9{OoR䤜g_OFNƦ藣SKSzQl|9abf\RftY5z"4 sA%>z|nGނzm;^~+b,4˸=E_NQ-i>|Z4\?.NS/#{[`aJz +t :I.Oۄ-\W1ȲYCF2 +c3)8' +̞3cn4(N}'jA}nAkFYzk]jRnkk;9MXJ .fE#A'1w#ٗr@&t(q9FA*@M+p}`724 ̖ 4RRz +|R2I +fgQ.eEսc^SB͹T2ƫAQ0 $;Lp*s~].zeB̯Tb~*T# Y6bAZy|;tՅAxcV ; pdI*!eJꔙ{ :k lC[ߘ0j'촣?, F2tDl}U9)\nqkvTY-,σI#N%`٧{{Jf(`x]SZ?Ў]@,:sc@՞W_ÿ +bf]b4:Tyڇ+ϫe`GҐs pk|b{r&efgjhUڕYP6ty7^n ~H +[v< +i +g&-cQ r6 +s9Q(f 4qwnp[׍A]=3cq3[Q[ -D@ZxBa`^1+bCͲ~,WiA!Anef[[z=f +uM.۸[# %y˄']89WN8lFW׍KH<) tZ8 ;/,f}2QkNڹraX1nb^Dy&V4\ĺ5!gA㷧g3A[ޏ5O@=΢B%; +'$>3g$.V3zůT?rn~s-dzQ!l6ѯA輏dwQ3*Bk)Fs:Acl +|==ʸ_Aĩ ϲFB+Ac-eֵ9vqÞWӨCBٞ ILKr~镴dmX }m=vp tu >5G85/aV m '2*L̊Qbfׄgf)Z=.Y~5jII#|c`>$e%1ɨiJۀX61P'r|E4+Ud24TAm23><V4a1ai:S SnVU47?|y:(yX "p*a9YVYkZ^'EA?Bif:瓰;1ff\Af $u#7y;ne}B*09mӀ뫒(dWN`AK9eI kdss3aly緼P7ciK7;+b3|(z IR{\.g!Z g^.Cv$*[~{';o%ƍqƅ!INgJaz?jyl:oLXĭSFjuƧ%M +bk6mS?AQ/nPmsI١ Ą1vwF)yt jiuppk|.cQr=gLN ?[i<2t(4ɺYҌ# 69+mF*62'iוӤ3m S!sҖաk(9]{?:L\ͯlrF^3#i SgD'&&ILBxޒP ? UKl-E]" +f^mcb7oCC Rrq32MЛ#V1bV!&~CXfkq9 0gv!G~33;qȥhy:oA=17 +=aa[UI[4d_C\l@* nj] (5K.r2N97;͸u=iZڥ8|A5V+39(/nSr6,꼽2)%s"vaN@.م:eIٙ HIpSJ:D#d[]ռuڥE-$U.̺zcN6jWnjڐRN1%˃?| +izo +=C]:]ڭāYl.6Pa"F4{̥bN2P"smߐ~^e,>n;BaWħY;v'"e,b O*@(}‡qդYҺ<@)>-#%LzUPirknЮe]wbΨYJE7x6QSq[rN+L޺4)CLxČWDR/1fVEV /UƩ^\.$6<"Fv g[Ԭ *&bHYw!d{w(''jņAJMtG! .he GD\Cf!!jAwi/d%{\"r&&[ +06)i+j*2.}7Ե}4TCg&l.]ΞUxt{` ~{>UJV +nQ L:n]}O!|=jW״lonNn?] +j8X:e]ƍZD-GM{SvAs! $"b +/mӶЬ2-{;Aug~A*J{$ELY^E$m0-}{6?n}'pvjUs+DiE+Cff{o .abfQs,ߚ.&c^?o>2".xwsVUǠN6Vx!3|T ϲK^C*c%x˱g_>?l9{]+-!bnEdsL+J9xMG{r6^% +(:)4mNnΤ-RFj6V|LFIYL!!Ȥ|sOo(˓̫R+w2ޞI؄J)_o9=,EA3³QL;n ]}wfA/_4+8;>]ߎ_˒ 0cֶ3=FmeQ.yz3瘯%q3t(FLrZjNA-=lAulp%(&2(s:k﹠ fAD ,| +xiԢⶐStHУ +' ާ;p )|}dnR"jɩxu]3 + +z]̯u]Z= bX~~ojFww=?M9;nd1_s.i'qEOFC<,:U.(W^$Jƭ0 Sv^c˜I\9/n.H]I9)aV2Rg14ry8!݈UYM﬐{$-YF9:*-3:  (fWCfuI7(('^rqYU| =ejH1z<8z.l2FtXp=olW&`돈I،ivNuZWv4ތX )cW +nuEDf?m T7ӋuH>2+E3bZ2v9'dfNfr 4s{qj:iԊsZ~lBҜ7gD3oSPW@Ƞ駣0&[ ܣ8c˯Ygsr:Tb&%;fQ 5ߋ WG[/i9Ԕm{@~w!bhKoT{_\7Qrk'>CBlW2J[p 9AJAޮG)FڥqڙЄ:S6nw|1F alxkӬIB &)z k  YNItlkLڀk&$OA}ΌWd ⨤riDPR2gؼ g +iY׿edfȗӮLj%9AUq4\ҧVIqq )p}tԣо]P1ШM%w>O΀Wƭ▤]\(leE%g*^+vDJz"nαKCohgs:#JS¬'!$n.GS+/Hb3ڸIPD iQ \t_[.e^&9Z%d]tVWDgyQX4>#N]7FNYy\yhx8=P ]9t,21;3JR&⩼V9Q{2OGʹELx +g'(fyUV:mF}&1qcŗ?N9QΠnmG&ALoN}G!j۞m;0Q/&B)% љ4+<z2Z{ pb߮S!{R\Nf{{}cv4:?nшcޤ$d -"#^pPoEL7i36vunNIڬnNj76돤fy^.e`쒄 iKL*$4x%lCmjȮDL.5̲`gf fU-pf)jq6ƼN/6^}֥e} j2:a#ªĤ->%!f%e'BҮÈ*I^H(b($S)9a69g1$`&NVUE{Ӟ+nݝ@ S11Fn5 +t46^~;JWHʴzmnqJqL7+ŘG Z\mD,쪌SLP5KVvnC|*>stream +!e"VNUh /:Gf'M0cKi3]ؖ0{It#j;vַ.q/쌗MҴUFNI44lMl0Pn8)=Cjih^e\l2n#t ! e):EƮK8 iiw^&ڝWcY6I״wY7S@kKEΗ>),Ho"۠0lT}=xƿOaKx iL9+$J!E瑓Vu&'YPcǒu}oWF_&B<vy/tvjQ73!0GNEIeez1{zwu; +/5]|AƧb0>3|k0 +TGtUx]7s$QI; GQ- %euWhv2~"j\o _ +YԌUw#캻ֶCnnYl=T!S&4iSʀMd-8 i{ՊbӲ(<1*GPS 6')gbS9fj!i{3N}NAod ԫ9?aѕodc&4UQrH[k9^ juwp䟋"\(Cf!6ZƬgGrN]PvԂB )dI'Bf -23}{CJ|sn}OީU|߿s+&a`f,:MzqĨD-QxVNJYy+Dm|x0z}sH)F4:d1`k |@D˂2iěB!Cd캄t>4vry?֞4[5G.Co"|M̻cN$יp!pQ|O}7a{TGM+[{+>~e o15Pf5P-mi6OsKw`lw bN1%)IV䑒AP5z`YB8]5 t܇ܨoc7ˣK⑼WۉČE1/qd>4 !dj-pdh0όG"nvmĪL<%=j :mrN98Sp]OJCxޞMy{J墨w[:)ۺ!|-=_/f|"۠7lt{c{tg8Z7V% ;^n4.d_~Ky%iDAw6g'(n^s'|2W]3v] +a ^* "V%?a4'֤CIe,f] ڀ?6y %fJh%a`!xf|rQ~AYTweJeq.nMCq0W]iB=W<b?0(s#jS & msWfuER@ AX#q+flקͿ;5έOٴ[C|OuIJˣЬ؄̄|N/C,NeȫGrb0\Y:;z1wǝO۳bU|&pS #'퐷f#^R!igC|V̫Fs0Ni߆9n-;A5ͭµe\ꄍv5`WGdji \ۍ{,΢ ^ʊ?k$[xM/hBD˒Xu Y.in旴A-΢^vAA|2t܎Cߞw> &Gj 곐R.]gy'5~ݭdX3/8Z}\I9c[ \u~^gn4,W*W#jhA<]`.<˧\\a*Aܨ8_oR7=t--)(IJEI9>ïM}㳜4rx~n{zf{JX:¾>B90. +q븉]5I;o{XiMJF,G` &A}@9&OX9NihW(o!@f~]tq)2F9F]T)%2)Jy;+fkYݖA͟~+Ո]j=#~ }ǯy~&六7+~]~)%kIK%K!diӠivÆ #z"h{'j6&q3:d@azԬ]؄Zu2,*. *yM7T`]&dlja_>Qs>!=/ͬlJy~\g֫Šr~}_6%]xf5F`~BZd ̋R *TKȸXUS!.v>/ ˂T#қqjٛt:+?+6,ކLvȘ1:*,'c0b\F,Y=ـ6%r0XeԘS1B<#ON&uc\X|F:7 4~_'1Ex5 1úy>5#kNʚQǧ%oy^7n>\גV|W zN31;84 +9R[sn! kܣs,:|8\bF5?iJC3Y܊EMiƕ`` N 渥)εQXKLمWrpۑa,6U!14$gũVנ}ki^YlR5!&ik &l.lүd"rrW'r1`EJI찑^Ϻ5Я 9Oxuo}Br)u{aW1 WIf>o+a:'[ cyj!S։g VZ@seIm<n;֨!wO]&k\;r <8thY׬kaIKyϭ/7?`\Z|+0vU984k'/j;>@=\bc]q?$vϘx#mғS9ք-'|%IQ߯tօaNax]Oط=cxx$dP4?Lhuekz24<r?7좹!K6$M!M)tVQ3ҡoܷΤ2GakM{}7>|e\FBIȈ4vwoKS@ǽw?U3ʽo[n|¸Rf{!&/MW딁S<(I b~wO[/t]}?$2P㳒7 &|5#^fL|S OiyOYdߞV6&e !g˸ve xrV]g=[gFu_}?]z@ 8ms~Q(xNⒿ1N,κn BqwQ_|Ǩ/~[I9+ -=kWYEٟ 1Ig O7 O]>FB#ɕ!~qѱ6$(Tcs߆ٗxԟ?Ԟ]>88{s 6¡t*͘$aTFw}n?\}/>&OLrK =?TUX5JӶ3+2PgU՗E.>29˫8 26L?lW6.>҉9k/(缏Lȯ#9sTSgʹŠ*ݿ 5OS񑹽]䯓k=ʽӪʏ>~tO1y퇀puiߌ_?Ρ!㌥~brd\w?McxvtBŧWi6PV?^kW z_Z{:6@9e0wgj/>嗬SGm}yn7~idJS^yg%kEgoswǤߙՕo.}C ϿA9gY:KߵV}z^ O>CU+Ϛ/={AxP xg?20Ro Mp6.>IzAۏ/;+?lADŽ+;ߚ;?rj3u~}DTs֜ڟ^n7uqܬY]7 3V|ajvIl󘽏ݴ]GOç{u~; W#kGWG{FZJ襳׿|H?; ·kC\ci]kޝ3>_K/Ǘj^B,9B)?(_{?l?YBmtJD2rlqiEޯ.o=yLTu&O8U"?,ܫxaWΪ=)?iԉǤkWS/y}n~]{Gb3?x~9njoV޻_i>>_1:h<Wq6!?5=UySw'_e㲒wpnZz] / :/%-k"ХDF*_^\'`*n57yeRZWŶ/*>!cl [rrID~&X-XSt:85z]A_3S  SIړb,Eߚ^"o}i@&?CHXXmཹ7r[[ -ݾ^*\}_[m}6':__ᱯdV%qsk3K>kfi7aY5tޒ;^Rx>9SSqZ[ņڕ<02離jYqWE7;29'H#m6Tb*;療[|j}W{ ig/4g>65MV;U'Uُ/u+ ̇7塗IWk6;e׺Jmt}Vf1V>罹11:{)_ .[F9>2t@bK>\cCUc%-$+v/[UYfhP)Z n_4Avr{; %m9aͮnjy_Uviѧzkm,dcPo띥v;e@XɷW[!_IVn70)} ; +&ҲgGz o =`+8%rC˽ X$2^Ӑua e{KIW4^oe]):ؐb!oQb6}{_UWq{9e>YQs(#ԧbZ\744㥐g@m{? Ӟ 3u<[nNԘt +B1;Rzೳc%qf*cP1/>_8!r=}eo# HG:ѳr+XwQ/vݛky'" +pKK*B2C/w#noJa!oJń=*1Q_~1lcSZo>jTJ.ڍ|tk6bs~lۭQjڇ%'#A#ҽ7sjSu}ffbj +\JBU:ۘn+>,:Pp1j6|kВJ[#e<_nF-$X-ZO_҂olsW|wW1QH em~䮖R4ݐfyO΋9ߒz5S1^E‰P ~ ^R0Cotl ۥ1.ؗ7k3NZj+U;I%F^`n#9Ջ+1[@O)uȰqQ7mrv!b=+Cw-cbm}H9=ҳ1Ĩ{u*ҩ#xKQ*) +gϺhp@(-tbi9Nrv)!#Pq-w~{#U(U螠H%CsUE/z0LU Z0-qs7 ϖ>XZ[:g:a_07p)yV +8'鎔ss6z8[,UQ[ٺǣ x&F̪xS_}m ﹪Eb߭H zbhps/ֻh;r=E ~Lԭ1r FڛfHt+(VMASB֮pyiERSc:udSBB8 |{J6NqHŦ31\RlƁFXFz?)sO5bGQ`vT9_e5X\y BFQD f?"r_ã-<75nasu\KèXGkҟH)YUUGF*Co C>Ϸ5)ڳ'%?ME[@M]ُ,}Qd[DQ`OA/-M0bnLc=fҼq=N~{T2JRJE /jo(.Y|Y3HI^7*b-l_p2a΂V%:2Mtkj򶘓Њ +c9 g<,;) ɿYm Yr$E鉋mϫ~'s5Ǯ$lJZr>deijaDónNޖnn<[O +Q`ϗX]I ~C/S7 >Ͷ;u ;j>~>-L^gtrӦ8zJR-=tl rgQh#Ϸ၎QrGtiۆ]jé盋ީyLՁ&2gU ^iᥬ4÷:ىsZG{s<ǰleץd^Gn.k-BK͆,@ mux[*Bbl枌 zj uw;"B{Izac@q{}ۓ|š)fZU2$w4*XC谍c#5#唶T^eܘ"F&;ϦB +|4[q8[r0S)p(v%9`w뙸&:^9T\+>+I}y!"ZpnR[RYb<-CX(&vWE-ܛU*RfuS4xO[[y- -?v5>7u~ho7pcwv1BGjJ͠Y͚f fRu".g0缰)\|UuSOLgtm}}<(}Pث pיh杕FҎDɫ|m +\[ud57LLC=A@0^(>Dѽg=q YZJĥaj3]=P7H{T̮ȅ3R鞾2LϐșЧ|;=a>4_~? +9YDx߄ /!j*9IG \ )Y*m!k|³Xy$g{^߾ +},%LK '' qki$y[BMߒ]Z`Cph9~j +2/28ә3/q &'E^}.3i/ bîV] &:y \1}t˛@~'x#a_|ߑG. -[JdJ4GeyUU+̌|@/?=;@x\ z wyfŞWa/-JFEM/".tQMRvd/#n_/J㛏'Ǡxoл 矠=@\ 8JpvLMNc b_mA&Y7D)?3(!ʹ/tU/"<_ +&fe{;U}#7cg8Y#+_*qw +KJ~`>[]p]ЭKW@u}SP^h؟ۓu~NY,kD=nJ\q.KA~O<렗} χAV&1įvQ6.$nkkkVd_{G31?y?~tOW>yˤO_ΐү`:+< Cq {TDYhNF{L)Z{ \r 1Vt7[J|dmՊ$C)>L QE?lp<81qװI h))HnǯDX4-fϋI:|HR+Fᤗ 9gw{7}'!~AB5zK.ȅh97 )q;fzUi)ŨI_zzpuߞ{9z01Rl Yh':48Щd#tÙ]H`ptõs´iRzRi jVy%`n2 -c5neh&`Kb<#jZD^<}zu.;>vb\̸p >6 >yYwʿ 9|@ڴ|E_S5tN_?>ʏJ8tË~g)Wc 9!|[Eu,c-R77of}2V[EZp~b>Mr{+l}1DNP*ӢeǤiSۍՍIrK.7kU%ǫ1C 0}3r4)\UF zf?5@Ɂr+6 l j{Ԣ[W0*cC^_a&z9}ڞbp?_K7% +úh4-ӉʪFCXjUݓ4?%`NVVsͱ*`U&UՔloΔַƅA +.CT"'WՔdlIi+]O;|?=,FEpav@+hHkk%hgWut-̰ŁR0?Ϫu21]djM5vpZb (EK{E;%|J̄@v[yap++0,iLvFRЮބmiyKbRu@u񼤻zjLM7 2Sƛ!=U]8 /sy5/k[u 6FQa|ĆgRlc7.hm&jWuARQV>VaD2Z(kjDEK&YXe ChMU쭍B9dŸ;CԔr{j6xvOp[Ⲁ́|Gi:./bՇU]=eHו1m +Xժ\mD8Ģ @O{M +<*3%khtk<\f<4 7C)ޝg:ҏV-~snuꚻw'eN),!7Xφ2m11ng皤CZJ!wÙf)l$'lpV%)Gݜ5scϥ1l2BY\gTnװbZ7oky0]5u-v5ؑz{k%%g(jPq:tM^I0823p9;c!\Z\tMuR@5tlҭj]5lc% +{*i*X6ȡ@ YXADeorOQH<cʑ_RB~JV$8^h.5Hwfj;6}MݶZ$e5,{K8cwq0+?!U=pt9`]$jHݰ&UƄOWwUoiEAݾnI?\E6=CXypV԰o/Ča@} &.w#ƈ {=\-W5ϥt{{c +O"OHe'Ӟ KLX,3Mɷ;s^j1)%2x=nF +=vTXĉvԡ fؔؤu:i~cӒ*xku2󔨦aG^JBTa$sm/eő+l>PlZVlu{Ǫv4xEc<`[\k.ls.fF'=HWrbN:dJoFyP8LAg;"M+ ?Nfy:jSaN춫 iz|Rv2Srd֭E'4yYFqq3,,iR>EF8R/f94ڢB5;')1'D}#hL8^ +z9pɡgB:}#C{B-龌8}.@OQv4tb&P+h]=v2ˡRʏ ̕C¨G +dwG!&:nYTY + 5 aǐRXUI;ezr{fwIrT}"l<^~ kz~yҐOgnc ֞^ܛff:~j~w RZz:mRq`V&M[*ޢdj{ᑏk5j{֒Pp<fgSՕ_z.ĀbWYeAO֩!~p4dQ:\ʾVasF?Ge[}(9-~7c(ڕ"~u(9\Q-%ёH`w]e"vS4 t4t8!iCLP\؀9tDNהXeЯ[DbU +ov7US3a.]TH2⁩>i7V׻ |(jا)LX~K-*8k؝q:SE#]&(iC)5xz߭堝r\4ȥY$AB⍵ΊYhi'ŁZiw2KM,!ϊ&Qքoݟ䮉! }[Ql$sFT}0)8h?T]ڃQB䍍Ab51nK(SK*a«:Y䲝z6zsQ욪i=Ns;_t_6GE6P*ٚ{rFܭ>H,R"ͣo&S'ͱd|{oHA0qI*; 螑MZ0.b]c7,r)w@oFr;8)n\mccu{U7wKRr u.ڔ쮖R mȕ̷iYTQw1wu7=#bw5ȵ!pjOI[&{[IǓ}5ةe45 j?_$KjZE=P +轃 BZvhkαQxӾ'qT4P>AL5&e, +:fk pCvi)E6>˥9&(Yv).ױJz3SU}c]\Ul{a:Vu(:TeI. bW0ʏ/uLUN5165XU=sZ~-pYFJٮ#oB-R)]sMlcX|6on(! _.`~-K櫚wut]MIi?ږ)!oKf`&'cus'jK0">AYU˂s߈/tI;E~<&٦u~>ឫɲjU,|WY(0۞=O g9YšN_T<ŰK%> b1ciWu>PC;5bN{w1?bbꡜQ^W~Vg%MB>-B}%BUn3%ܖթz)'@=tjSyFQt]S7; l%'9i74ԛ3U@ ~b~~n޻rRg+*:]j_)ZPΕ9Z;gNZ'aV2!}b@@>G!q迳j\,du>׃IMnc]]Ʈ^aWDŽVla.]Usa]ʃʾOV 4 +X@E86pF8łQniϱe25Wt{m):i`Zf q\``]ZTmTs 8&H w{zh}<-*|6ϼ=O!^x9]cĖG[I`qNR +do#v<@L3|ίyiR4@K<|},Tp# +`qMat}#&l ~l",(S>w8Yc_ǂO -;I +SM9b7ڵL=%'$v~Xrrdp'(\Kӟs4%QeC4D$dhWb6F߁j)>wo>b"TRaw&1+8죅)nimj4mG!Ѫ@FYULהcPp8_(q|En{}'1ϙ(>Xܚv{\wBp}.щ9ʉ);@}=2xu|_ <)nUJ;7%^RW%MC!n#Zһ?bKṠՙ+ YE/u# +&y1hrg΋!t Gn9=%Xe5%4 <`91b'wXW6*844Ǚ+p\%f?HpOV4c#WVZ#=gy{&p׹#m蔣i*t9jo{ +%) 1}kjy \嚾vsя68$?pr>;G6D5|]Ayg>ZlF$Rs2%%}~ONWUg1VE_Ne-9ϢMq9T&xНvLˬ#%MRb.)֚2HC^z6ak=>a͖R +ηST44Bٖ25g3KpJ='T2'X;2jQYiZ`w] +̳ %:a3ZhFGMU&?I~t A~h4C +8ql9u2K^/QtԞY Ҍ-s(L9.“ Z̕ bߛRRRy3lbBRs۵b6UT#H^teE1ךfww [m)>~{\MǿEnlr=rK@/y[#隒ݸY= >/ ؋k '.hEߎ'iTP➀Ows?8'0+SM^EaKht负1P@DT|dwu\$!N`7{CL`gNdQ  +1BKIF%i+R rC|ޮV2)1Sv,u4!94L H̎sRM }etLwkx06Xn51kPI]N!SdFZDkaH$Y>&?2} >LOHi.T0:Q tWD\#ekɅ,~.XgU„_t[](ߟfؙl@ߒU'O6Vx$\J?+{ўajKXlM{ASA)Bv%W?42PN}=3J}~<'Oq%gH0۽7;}e2F;I +l)| аjr8-{k`,42e( ;=gq:x,E!K-,vdh91;طZNmt/!Yb'29Tnr #c2N]( BFIV% nW{*R֞"2<Ӑx{{PhWZh`\2|CT6< oB; +=bix(TZث{GLIgꅆ-uB´{rvs11jSa/@fXع/4 N=}BLhLCNXQK +a-^V]ݕWd~/_ A:;t8E)484ܪdbsS{ .|oHY[Em,'l >g挝h;թNݕR +#DIHHH ' .mg^|OrZcbka1g 6z޿躣3I)ߚ%-k}b%x/%-"Wgw*\2w\s1ԑ[➬'fq2n%< ;w~Q%-?9YW<F_>ic`yH7㞡1.a_":os{l_+hg1V٬w1yfj|1}ےa *B.Vw{ ,Lrjے1'_E~pA:1ax6Tq5A)(7_$4iPLx%#t<21TsS}CF/8+,=?:A̪س|ݾo ܲW\\+_}^rMGJ+OVm9F2Q]tvFpd5,!^jyT`Mhk~7 ~sd)=>MHTE81 |e,=g? +vAHR?Z'&2{*ڷ:!ͯ,#;%m?7J:+*|ݖO\ Ft= Ēg{솻zd﮽9M-RyLwC&Đcf L [G_?8V-#4^rb䍭 |p((<~3lC'+ķ 1hcLڜfl3݀\l|㘬|x`"Dܐ*]Ѳ2\Vx lDL~ꎁֲz LdW׉“7Ɛq>9)WINfU~T[ vVħԼ RJ ϖ[&cW[;J[y&\ن=82fdM;2I_,rlwB- *h%G~9]든ke7̝Y`/~uW'1)}Ȥz-qHiGp (цg:aտmlOpkTشϖO:5zRF~dOJ*=Pw6K!Ⱥ8AL¬O`rU 9:CԡM?q'홄\<"峃2f́RR!2Gz`o7Ǡϣ|) )\U|7Kޗ2i{Jzk.}u๣?ʱF<48x͍ɢ+EF -,y?!cPO$Mo%WKUo^uYGa"pbdmxm!V>:cOOpz& +;II)yR3ZgjwE_W: n ÞmKppSJ{acHh%>ڈC;CP|,ndd4d؈6Fbqnw1(y'I9*ZΪ_=REJ;T 0O3zHG7;j.nO% f\ep#xPWəiBON(yaFJeN,"10Fwhi:[Ym-8 އ䲈ٜ)9k#?/ AO5~>i|YJdZ,kyڅN;>F,+x6; V5F +̯#V[ƶT莉XkDn1a9,噎Z%!9Eǃٖasx2N!ɯ5Hٜƥ:O mkuP4N^q|汓hH#-O-4T*(*ӛ{&ԸB[jvi=?Z 5Uz|n#3y7)E>% ﬏P?00)x\ }u/;YWn"o Q$F ۊsJ}/o2nnǖX"-b0ZB6$k1kxPGV.ggK]ꉎMF:7'2wm=;F!o$j=0 E;:.9,#TG,AtSk5{[\ͽ%~tL{u0$2F.cJΌh𥻀8c~ X(YVR:ziaV}q*L4efh%Om^(y@.u3Όb+ fюF@ +,2l *) Mu*h$j7 !e}|HƋ=6qH&s,لc@|l } Ɵ!Gw +a7ȼw쫮TJg՞ڻ2F*~~k|=M ,qS~iJ$vs?:Gވ'L>Ye?:DCG}c\ o<'(.V8nKU*8*~1[V7-nC :ǗDt"H~h}g:!-ԯ o-ROV\q! WaovU,Kg!H44?MrK93?Ʃٷ> j(U^4n8Ā iUA fmzk>^T + :isz?dSWΆH[䲸 Α-y}?휹;x]WyRWŻ:GGg-v? ([؉=4T%%H/9Y+tIpYQ\JP˥u+kkW? S"RN"1wh=sL{g퍣e.A`o=%oF{ Xzv_mO\7nE93|/叼߱nyg +#f]#j[On8^拎l-+%6ae}'2n@X2vwJ0gP0"]vԖySv55N5\7z9oiݷ4w[j/67Z׼ozt/T=h8u?v`ONV?SRM >9*{Z闱ц+Q}oUooU\w}st7HD%0 zBF@Xy+oG+-](!U嘼94qWx#+g·WQVۦVD6 pM׼5蜥>Dr7"dWػHI5*%|d䦜hUoy OI&@ڲm`+wpGk jBjpHôM >:[l] ]#5O|3_h#:0(6u[bk &-!q:GnpN +B111{+mz6rKdž3.%!F \GI^l<BCCc2qcY4p/.Їfw06*uWDywhwŃ>% 2P>5ңfص[ސҪ]3[⮵߸o5qێ⺜Q%okjY,>7q uT\pSQ.rjO{giS𷖎ێ=SL~%>bk-;F*j_ oLaHIϣ`/̊[s\&@~5X()k87z~jt9T4 y +M(KڈjRkJsKkcuбE%:rTLZ`yy4r.<2tՖ䟀ddR !dSkW`;FP itWJ.\EEUrY[óY^٫u{IduPCg"&hiA 06Eb׿ti[ÀFJTdHizQR/{ "q[Pw<%m}X Wa{i=1QdGhEy"OkGH{|aDL߮B[w&ygٍCt#_0qAb"揶Sҧ_iKLW"RD"vG/8ғ*}0uW1W ˢ0rlcnzSxdEGkGTԡgl[RҪ>%Ly;j|-(WW?h* }y(?G須tJ 2~~)$*L2̢.6֧xk!;;"=Som7oY퇿f!?Q.z`"Cx^p(&‖Gؔk\K$>-G@oW<з_6v7ƎSnQojYWaSEam%oZXjH*RKT*GtʁYaӽ::b}z`U2pA=OWh)xf@ߠx>s:BfA/\ yC;1$AP xch^Ť|ay%:. χձ׶۫}Uwl}76_Fiڵ2a3oqthk90aaG=TsU Z'>?-B~ ЉJoE絢WiE>c@<2tw!(#Gs%{7MUYG\6{C#@)ݒ]G1Lɑm%H*ߜBs^ц~х,mZ%Rqmm_㿛!+k¼ + |VwnoSOYso{ RK >e) R-uo~$=K,GjdW/qAd{JARݙgd喺ItZDJ) ˱% $7 7׍#xJgoOτ9:xQ zhHQTzE:{wf84Zؒ|sqRɫO@\n`JsK9+(efMpO7,D0({yo~7ʾ0~xawCϴ5$\Xߕ *$:߻$s~sk"A=Jl}kLx9IdJXۦN6ڕ6W)c| O<[}G彵1dR`z#o\† ! 0k +rO%wIqm^/>@_՘p? 7%D7-yUeL +{b7dLL(Vp +7o-_[sGF zf@Æ77}U82Vic+:2#XB-y0.ўb7kov_Q0f=z)ԫ﷕)ASVeE zKI1u]3cjlyseHAEpR Y㉣?8=-/[ڊk9i#o`=݋W {!IgBY-?RgmlXE>ـFckhc3"JxgkQ N/P!?+sdl潦s1G9^EVޥc4{U{@c)p/ﮅȂ IS cj.'btڣg`vӘα@?p_,",!W9>`]pa>뎊G>K4èʟ}1E-Qqx93r_YOxyϾ&dhz>RP+(\t3ZdoQpd剎m@)%&'ꅴ-9/&{W}el٘(_faKt[I+<_6R.bN/߈Ș &3Otb7F*+n < +Jju]-tЂRbadvWaapK>6CJBl +-6=3B{<%.n- 3sY~'atޙ|ITWlm8{1o+Z^-/U{-I`sk\O{_Ypc_Gʙpym23]ymjHMT3г:a͏Vnt0d[KI);`͝ẇ. )\{TƃozE<ݘ$*^[Ko "~`>rt.0JR2<׻:FNV٘t'}M=Y^o*ŮU:k9YeO+ı*9~5=Kw 7o鿇 $贂,W1$[t/I]OUϿf_r)1yk 魺 ~ݑK:4Py ԧwL\_Æ N)\AD'rs%7 >9\/ݘߤļf~5􊳻`Cr`@ƚם'{}=^d-_˸}%2=0詹aC2dҖ a6(\ey'ySo&q-?[n +;S7M?(JKssKIx)7F_} 0}s6bW+;KntXkb< r("ƿH[8y߾g7Y3V&:9РCPҕs4O]K+ts`8AGբmUw}gZj2Rk2ZwV)!fRv݂B׆-5t 9'Ә}5Qqo[ Kz}^Nx#=΢==x943P! š+CxZVȐ)NC^.=d]v5GJ(~c>=^$m/aL9smAϰ۪Fʞ= 19:N}!5dL|rrć% !w= 2<;G.t޻&a1;jJÑA$x3Iݜlnr W/g&p):GYVED1sX*BW]kȵF6`f +b--4ج̢3;&&٦)И-=K kqA <9+8X#qaEg7[4~pǡ()n% 9KI)'-sag?$l},<2m]j7p~]v:έַkוߖCGӄ!tRKmGtun1AHvW\[n+1r_BnɵYX"xEr` +ẅHKI$5o/ ~9¿@pRV:khDgpU2JR@_1KbG}V>Tۖ^Lu:zS{wCJO}@8HIF8߳Abv+|Aw7 ؆껞қ_ o1ʮ/i?Ÿĵ7d% W_>[gQį_`;n W1]O+o}5|mp1im3Eμfnx#4tpR +tW>SGecژD60 {7BgFh\Ꞔ%Y)Ը_so.Aӷհt@ Akⷵ\y_ =?PO+,oh+SAeJ (Y]8,fsmF'Y~_Lژb׹&(y)\2eSֆ1o=ӄȢ>&g9ZS! 떹%*ȳ61T"#Fyu-W ~)69O.4I_F.^D_?9_}sRl֮!92@U)5& +ү"@c+shf GA*3s8M +~DVKO~t^T{ugP!}з#^Qȗ#]Q~e@Xj&yg}ۃ5=c \j}hhx焀Ys赅-#Eմ)bOKQK/"~f5\_d,uM347_[a/<bOJX4@`S ໋ {j^ c3V 9eyi>6wvTl1p!,䶦?C}v1yZv_ ZSBR_5йI&(%~'8GJfq|oThJDW?V^뱙F4wU1Sκ1ŶIJa}S%*xN{g#=?PӫS=5K~mKp:O3{ylwK U]m{Q'Y1G*Bnb +C2h>X!rQ3rZ!d_B%fv7lxdS*gc\ +_{Q%e<{$qt|aH`˰&53CòP +o%tJRjI7+GSwz)u`&CRLJr'{ +*v5l≕'{SRC*B2zbaq?آ? zr bg;OPCYt[>q4ܜh|}L蹛SE1?˭Lm}57]%m%ܣ8-Ѕǽ )0A{ܚN'9CF4mm6/Ob>F0 !=Kȡ/:41A 2s n%*W.(aMWz^W_Bs)V/?1A/ (ڹ>+ے5[{t\{V+,cOf>U^)!9]>ޘ$FV깄=X@+(F HRvq_%/Vzւ~GBj>KB>҈ݸvks3xs +Sy >N+{2pɮyzG&@i~|B'<%IsuX1MHN^hĐ>)6$ǯahmM8 Tʏ+O,Ƽ_m5o R,-Ro  J Nً*,O|ҖNI'>H4)F>v{g ~Zw҇3g׾503Bw3ߜC(ŏ~bt?zO ʎUW ҍUIlGlKo=巼7o|#*X=&ď&>E(>1"Eo)bIg8R7 +2ޥ8vt*o;6#*7&nmi^dIR)x8,;J:LfbO (9:D|TBJ#.yfi/!e\E}+eAuu}OCzlfO,__`LQs7"uE Z1;"#nK9zRuXV*;!wg~7{%9g[G]-QpqLⶆZ>Z6qLkHQKwX~DK4B& 90@&1GY +f)ZOΨ@[(vъT 6vV!Kp٦s*VKWCl;8( +rԬ}=b75 :=G,ɘ ~ +Z}'dJW5hK %2-g^3ߎy M!*{XĕXn[W^V~%6קi~)d+9֠r&@lS +My$N@t,ffh|byŗ8.tW*=n}"b 2m1V!0ς>"L&o2΂k˝ew CWM|p.d| ZDB{kG.=\2Wg>lWboZ\Q*zgȥARѮֺs 9rѦtzu=vYP?NO;3Ԃ%a5uOYv0򏎦ԟ; \wކ;찎[rlӴ€NZJ_K(v+1~)"yW)kyL<>C"x^L%;cyf4+ȅ5,R3{zlɟx!#Eæ0B/lfHCXio&nyK:@?Lʖ=_{dok9h nNqR.-c\5a'+y}=zJcOPM5s^-c;A-e܊Kk/y~) T{<1:NIw)8N,ڶGyԆhm5Q_`ey`AQlbO])ySjH) +IuVe5FU ?BǭU?Tr~?5K=NȆU ĮKh/%>99ˮ^dZ1Yj+iQaA"K5CKYǀBKG)6iM7 6M0е~gԺݴ4AmǗץh%{(ց;-gWo ִf_A{loiHQPrs830Ӥl62>W6(r6(g44Ȇr)V,,[Bfz綖3{F>c#6ܕAt4zcյAn[jZZsg7LK,|PE? d:;'Cxd,lۍ11AmRP#B{ij\'Xa =M/&P?vZ{#S +a*U[]QupʾA@ 5*/MS24!}Ǡ_3[;I&I+8ɰOT8Vg3Mw]W+ XSȩ GhKϧt< 1>O&>k\b3ÿE4, +7P1b| 쉔K0 +csUkb<{ ب.ؾ]ضe`#"Έw$z؈-ˠIPstVn`NϬz ᦘM "2yx !kQ嘤U{p;s5|K.l{r1vC%xU|ھErm<.=d@Z6Ư c!jx>ccR:Z!17=~_o%PKM}KG))&ꚧ@-%۳%in54X@'E,ÛrWͲ+|AW8\+9/['F6̈:׆q= 2xA=e0]*_,j ךwl<_@+hiJuZ(m + YgoW[KN20q>Zz ,IԻ<2z[Aq6aVY^@@ǀ{tңv̱VxAc쭴[6l䚂TK<\59?(}K׌Kk3bzHT(2tw "NDeLPt~7[ +laP١㔳`^\j[J X=feG9niB\͇Zq-a1wL} ~>\cmRu\ Z^`7TBmBT2G3K:V =-k!8zxkSo4;&enfT54tdoNv{AK^lʪcɐ] {ܿp\Լ ,i a-ޣdA5)ꖷ1lts[Xb:!e=*6MYyXo1#f:ʽH,i蠶5BVvRz۲ S Uw{@DOF(  R)no|ommtQ{Ϯ=褎c;vwtc+& % iwww̎sU`z} +1M#lցcO0s&0=&0`x0עe5?n7ؽq2dV;_vZ7z[{:^9Se㭢F =^EڛjSOw:y)kрIZVkiƚgaFM [@ mp?;ݮ_i66)K*H{.׻5 ;=g&۔;i %mA@썷+&x5E# 2"%{3,Ru9X?,9kjٟLI뎎^.R fIQiSKCºfg1fF QN; hk$ۚ0q'c6ɺ>fgXduiNDJ:#+S3sMk޷8j ؄֓k$zR;1/_ +&{%ٶ 혺 m.QXțubEnCJҩղzuFDEh [$b \e YT6bN5Sǽ +ٛh8ER':Z2 U3ZB첑Veo]zT݆1pFlC2fUL76VM5Gos*z8:Zzt\Jzaa-gklDIwvR{y5sBZ℈:8jWԅz䌶3$BgtE˖ܲ]x>NSَ0Ȕy$˷KXD]ex6LG Z%@.N%֜UelaNdU$>YS"hD75Ȃ9tRyRYӳ[Jy[ tVۄ\4W+笌F쫣6DuPuy7akcu]D_/ HJ]UVDdDPhI#FU׭Mnh`gڛlN5N5o +Zm=oLnq)Ήҷ&-A%;{ʭٟ]A3:JcwkmP9i:zipN692ZYڠ6*s29p +ӵ xd>;5uXܘk9"ŘW+d>D:YC6:5Z%PRDUZZpIa" +\.cm{<񜱕f%2@mI>͜>w[cNfEY,?d]zC_uViOVd֌ʼRḾ +jITi#LE@W(P-TCռT3H;JA$ڿH܊ʷe1a*QEݚe{'=n<ncZ$s͔Utz)mO4my%P vSB;(S]57eV^eY*V:PfW*!Ϊ-IZ^]p'[GK8D{ri՛Zg\[.JeQ^f%^&TM|X|Dh u:҆^ +ۖmY-!y$LXOh4YF*a&-K1'k)U?|2j^&i 7KN@+{ZYS +fAڤ==vyJ'PDVS$_jd$3U" .#\VTTVivks/tdCBh~oؙ2t:K/_#S|i#D[.?Nm2IC3co|4&]4:QÓ,4-At7\>B3?G#KO/? &W^{hOW S2Ϭ:$CXNb&{EێWhSPZW*FP.~X>u +nfvvy*%:#ezo+$v~甮|Lӌvh JkCUlae|1Y\05< Pzfગ?S4 •O_h.C\~[K~nm煦3~H\Se`i2і^S5LeX=9+ɜɌZKETM%ϲ3ؿ> `d+2t:b޸_MukN`T #Dp5^^uv-SZ8} Sf*ʭ [Q&AR 族o"H vfHRTkHV۴oERE6tTZɜ-z}w5#{= $'8R\#Wx"M=!ӠZu aZaBl虧fJ+/B?{x_ ')1(yC_(J@L͕GnPW/K&rYQ&t& rRGz ^!{}>4UA2f>(*S=EER}Ε]޸|Ezrk\0"wEO%ᶎ枭:֤ a PL%$YVWS8#8ؿ$ꍸ;I暂U`c1m&T? +Be#?D'1^3;>.o3\#.>H.񱸫C֡;r>$HefjcH!Z.gb2[r hsb[vuyKcAQ]A>"?jn蓷q.?&M>AȀGfv!rb(ΕA4]^ya\pxľY} 3akhr8"%[|ZOo>xx1,ʍg.^sy:M3/6B+51c+[jN)/)Zᇞ!pϋٝWCkƥtX^7"{O"`EB㍥n 5ܴ.*}4дsXz}0A+M?$5'_]3| +]pyvF[5fÚAVe7feS15h4k{E4fz6vEqfx>5ʋ%..=K\4&3ږRQO?k=Cpdpw]b\^^/7Q_JOsJo:d :2~Q̱ڋzZZAum9xְ0 +_6p3>_o?]<?|]y?!W"_e^:⼙KQIP.8 g̫zV[p..=,k^t=|7 }%&jTnrʛ4+C:rR M7T;1kt"uσݓ Z^%VUDsLeUl!+(E5,Xkgy=%cBMNRqeMq.in Wޡ9F4hϳ;n_^Nq+s;0~Ux[QeV rƴ2[CFʗ;!(;Z_`J~y퉸8nK~G>-#5 #] Li|M{v%͜i0wh=%}]GH ^RfË2Z:9U6rs+uDR;/ԩeN(IzEFU=NeV0 D$5 Q% +'{N RjwML v4D*-iI :rCH 0IstZGBiKsk4Dz;4 G~K:#ۺ:C:E1bLC]40v\(fe̛بqSO]M*㵄Vwy0m\nH\OqY-EV^ %CDNQ2ݫ{d v,j@vGkvjoOSϏoM b3òyR-nrɫL`̕/Qz&SRГdHU#-Q)Z2s#NH?/6Bۄjps4J`u8R(t+!4{JeOY'@N: l+5McfY+bf^Rs|^=GН(늅2m@tvr{mԞ>#]@>:v΂4HX1aANP*9-9}>d6͘y5c֝嬭t%3=oZ9{3kc u+xm. ? qt肉U4F,CW,Is+vV"2ӭ2rMS3liXkDlۻ$nZ U%zYՄ_2 {_s]yEoV4}\P/;Ykl;i_r[:x aYУ#|z ylC'CMx\[w^>'(@+·񇃔Ch_#%o.8oL 3@̝ņMrb䐠2hNC^4 rF:bY]gV Q03{+-ghtxB5?d68e <-#%MIJ\=&DMQV숢|XZ>bl$k6Z-$Ns7b2͂9SdҲo mTBsmYeW5BL8]uVMŦ Y1VCt`#I'^gBԸᎌ7ڒq|3(xwLYkzoiiء 8#C q&kE\a9I==k\̺ooQEZuY/纋? YCl̲15d?]Т ؼsZ>ޕrNV5=]z$DwbbB-Uyت4Dk&pCɶܗ{zJ"u[}ea 9ogMQb'= -Kih8Q 3]YF#Nw><@|ϝؔS>ЄϹk옪'hCTfO9 bYA x_O+<}eE^{>}4B+|4' FƲ}$tC뷥EG \XÖe~}QNF,XNw罘^}atu-{(ԁ9!A;K':9quaD֠"6za>[*׎,|Qzb#/ +OD`2V{K#Aצ(lE U;0A qd O0DԦ(x1C#',~>ޣ|b8h+JDTgz8Į:f/F3GS<ӷ6[Fei K0ǨcLŠ =*Ȋ/:6be2?[hhJl笫Q*`]ЏJdd읽`xf֤C.ZA'ҿ;! :tF s@J +ܝuѷ?YXN/wP@61WJM}f&!ⲏ*Ї+TД=ɃV`WҨuUyȺw~5Q赥 'tuþ\cYO&Z2_I@QFt!Muq@G?magGIy.|>@:BCmz1FO A?8 -xq++--|WPQ?9Oy|h&(ysBl4Slg+Z|+KГ|lSSU(FGu<_-x7X@ hΦ+2D`Y$z,n)>}&\8-77aN-`-6`]e#3"8 foM}3ڕ8s$slHXe-v'?Rz\ `Bg6<߳lƊM%-ɮrv3}; 9J*T9QV0pLJh;}F>E;4U*3w.kOx |}1C@ P+jL̞9tԷoAkT'wxsL-;$ +؂#;&|1\zL_1p3O/5 1p8םІKݳSwؘwCY1ȍc &'Ov{5l=ׁNt@Ře).dE udޝ~Pw4<ָۣKR#*S~f/K? ztĶ浣hՉ'{&*xiIR&/՗B>.u[Ce{{zj֎(EثS+C~_N RZSD+FJY?+ oMg O{}ev>&xOI0Qs7奁*ա{iB ^'m*> =\W ]x>-M[X+,`taC Osv| ̤[L߳=#$l]boU +=0@.Ip4ǘRlyT,zaeQ>8y\ッtعZxd|>s~<@,I26]qYEx>z"'D/3Bk] Ku+'$ժ +iq֥?3e QyP[*ƚlc &oKw3~N|&|La~i5 ZA>Ne>S"7 HO5%,|ge>_Z w'Ҟ9*I1׺`!WZN%-bO&fWS-oM1њ"=NJ>^[_@/[2}u$m^:}Q[N`[\ϥ$fLuM#͹oGZ2_ e5 lW9~Y^ lnn>738q5yy4p~y5:qKOdz ('D]w0-.keY"C̄쉮~F# +zJslEg1@>7+n[ȅ}4;;h|ZV[S1[FL̑Z<]qq&*0?p%LW[QXTwy1milt +x5]߂w4 |i=v=cI,aT x91 ?ٗu{ `bu-}lL{s:bV_m`-(P_FxY{ aJ!?jv">/I1wNU=E#/,5_n7ܙhͺ?v]R CoťAb3ܜ=%;ZT0/ㅖLwlȼ3ږRCO{TzSZpYPaeGjjړ%6nckIO|ߏrlZ|σ5&5%A7w$)1v4H{ 2O^†;KWg4Xrxα,@V|tkZ ~߁ Ec#ZA7%9nbwDkkGmL+ 6ĂqY>Dȶ WC/ܬmI/]h/O\X 9B\7,HO݇K^ג#GOOy9o=t`¤6e?ձ ސ#ZssLpnګ~&]ͪ]WfHҨS'!іw֚WSO훘ZBtK\h0]*CxOvA- VDu>* (GwsodP^φ W`aGM3[MƇy{G kSY*zYBL'x_գOy2Rj).I -'᪮,aTd9%:#7u^FDh%C'93ϢmoK=ٮ"b]o§q|bX_{t/HJ=6ب]3dIK_TNwA?]WȠ=oBy/DPMzY'޷G_x6VŊbjH8'YՒSUQH7{qx[}##zrNюZa7h{59.r q!6тCxB?.K<7y)-aq˙i@Gn!{ZdW*Yy/AS]o-3StB#/_:AӼ7y%&FLN"޾<ws9?DC5q] ,|s +KK"n9y>7P'S-EǺ?b?~} !Qy ^I{G!]+ i,~ +z@]$ȁy>P}wPK&n{f\eNr׀ܒ缟n 5ݞ䶣HYUEBd_cA:rGW=6Ԓ;!(8+G3iN}:9*?th?gevT0pG5mI!#ٞ?XY|4L<A=M:Q Y8 ~q4N^- Xcw'݇=0U&nkSN̘3+)w@^V"N5VbuA +vF+C ʦ;JέL Foia#-/Py }CScaBMy5Y'Z -a759{OI}7ޚЌ3ה/+>\aAhYS]huEl^\-Ja^E~bNug]=4giS%nGZr-3#橥cOI &v]5>Х'Nbvi.ZdiĮ7|u0'Obl>F91c 6R_r %endu¦nB-L.3,!-th(x똩@̎\ z4zQT${ʣ/gJH1796Zɹ2nMy*ڐ|25-|}MIv#x&WOFNwٳTHw]hѓ`'NZن{Nj%dGy K.n {ddcIߖ0ZvĤ u‚-|%OeiF+a&k\]CJ'*㗵!"O9♌zX|1F*Qrz5="?캿 =4Z}o=}S[t8!>_/V˺*YTx_7{>9g#>ylf|a}b~$Bm|s';@)ӳR^li${d'{YhI4D㟝Agٮle14NEY?Bمş:a׍̌zzRops֋ꤧ3:S + $c}sKs^,C/ +݆tm)߆Ӵ11,LzmgZ*b䐰eqNgzYS, 'eg}ZQ U&JBWG~&;gm'6}gq1E K/FhKeY):Uj,6C' glLM`.KYı^LwDz7Kz/>;co&[{: 1qL/\zm{]Y9{Z+xZeޘ~d$glI+tS; OvBގ>RdXgC9~>϶5Z"|u*|Yx>J//+PA?ZԆM9Q&:vi}>1r !@omyКp4c<71n(|wK]㱶RUה07I)ZbT#1wCs`[ZhKOIʃ{PA+|}6IP@>/ +o7=Dg<=01KԕI;*TA:vC]) 4O32lh;o<|Sq(M{[t>rtk&&rN:EZJc֔ ~Dg p蛻&b_ tԱ( c}yg=Pfy TԞ~1ʢ gL֏OXԖ\ZRGVT fp^|d$@|:uvǑּG$iJ'r75 2ok-kM#GU#Kp贳q2`&'|Ty9yk^ ?gh-;*a݂N9y3OrgOu.BZl^Ե0 / jdЊ$/$ɪ$Նc*]VRu䔽~Ud" :6}G5nJu>d?fn*fB7'-=ŏ%dzYx{챡C/ក׉YQl`W{}#thd &\Pt O.?v0Kgώ/uul_A>دcd{ C3F+ ]}H묎mߌI0) ;%D-gjюr#-Ce]3ʃ2s 99PC|9yyph<g|`vjF'+NnX@F$^TבjږCQqMz^~dt{:n-Au ъi۪\}A +hi)2p298́Lu&v%<{<~RY`i=St6ġ RdAE솪Pq` 2L YV:@8H1JŷI&e] /OǸ}͕){F| +w3ϝD'c1oR|<qϺnL6g^-5#hV&ĕa~<@[[zЗִ-g#/ihj&聣*ɱ5=6 =&|t]5/5]u:R28?K ?,!%U%5:|;D,J9x w^W+K(x}81qGVbKGJڷN&].uT]>YC?kˏ-͜-=dFYRR7Mu]yТエ>큽&.·8U >e > z"Oxj01&J΢U3vYq뺶ˊi"dQԤ9cl{|w9o, >al #9kEGN4עvlyI*@]E,Lb옐1@-buY5Q7Vewjĉ˹amTؑ]z:D/H >'M﬉3ۑRxBO Q;t4MV!BՐ*neŽYd#~528]}E$}QtS[4qU]$bP5~gqYtlYVЋ ueꡝ j !׏M}A6JZsK-8D/K'yYODw:ׁ  Rש:J_eن = 4yoMy~U[rc|l[ +_L GO!:I/0hJ]LTҶ?}X|M &3QsTy 5+䬨I_ڣ'kZl՝0[v|J!qoox6I*:+\"WT4"v+zdo|2 xZ&r귢u7ϝajSЭ>x0dGh4 S˹gYM@+2xܦ^5-֌e!fhS])w #޹uk@NX)S2ZB/9zMIZCl{J|rRXjtȢga#. &?hGκ/|vYY2pMQoL8,p[/?Y?#/KU6iMKG;4ybǤ/VxZ,`Pm@ޯh#/X!|ၹ<~1ۙj#ٶ~6\'[lQGVBGzS?p*(G T&%mnr>^˺ {Y Q~948{⳺ɮK ;fkV xGP_.!Sл +rs]WԖ NiVCDEzgqEiýO*>z}9#\o՚\c*~-"O%xQ[O>gQ@W^RFdǕЋ~}_Exu¯b/ ?hv +)AHMҲ^ [i Y^bo- :7dm{R=(/I~pi1|cs}};$ĵIffkaԅZE&U +wHkMK\o*6FBrT/e{u=gr|yX'Q_5_~YO֙g4 OFrn{Yd6ֻ@\EoNG7v٭! &ߎy8,;r~qTǙRUKt{wꡖ,5#'*m?Cۘ`'?u~l9jqBh]w+ "!i呢:B "msWzf|b_%W yXLrLîgB0.W?L'_)Z: +r-JYNeL؁o r.ָG73itOj-?|T񹢷 SyyReO:=Ŭޜb֘~ll^|7[@]Y{vh25*l ̂ȋoZ@|f~V/e]|3=3"xg[u(5_boLo|?mF0cOp`[$TtPj{R~_2LOɃW`i3ӓ*\駚?[9w*d,T +W60Q Q3:?w0+8't9RI`T\ W4GI3jh0ֆOK}iP+;pIƶ9W +(\[yU;?1.;5H\r˺/VW}\V&ΨI9Hu]?7w=<:s׈J15έ 7fiv+%1A8} 8/+hMisTdUΡ{gP`nܔ4p@c4+b*63s9)DƵi#E=1vh]5u.,'̀nL9WK}s,a{ zqi|7; +A9i{ +u7/9Vs{p< .banT$=S]ZrS?b%܄1ǡ&N;ĸM*Yse Q *!2dy^(f`Ċhim>vL{OV'e?>擲"1N_?}#f1#YGlH>c/?Z7n,pZB̶_(-\ʻwF7i13)tXUw /&Te סRvFC~`$esaYe?i8o۽ϲ{_| -yB/w퀻Tl0LRt/FwqZmKh~UaSěAؘ2)&ae:,QR.'(ŞI~gFdVnM< Q!5n +N+忓n VU.^O.gF{JG̣o]|>>F:1pRURM"^yy;7RَPְ:Ffw.wܘb$|r@)J5.fBF,*?e 7%  |,ZFA1p2(rQ +v-g~qsr<)c4B<Dא+o;*ZkHKki) >%! +$`rcY',dɣl\M xXiq*ۚ'u}Bff[g b_ 겅z*~NFfORR`~n@%x +js= 8q;J>t{]wmNrRK7&)7qؕܵVL p\PQj)_bӚn8+󣮯l?¾ws| 5 I-<1_`8U9\W yVSH+@.m8h;.dآNHI->ɭ5:M+d,{ +b {scdI#{mݼ4p34aY36ƔvY9Dog)ZM4^zt^tf0{VT I6ڧCJ&,`u9i:QѷebDOG&]r:&t4e{oMiqkCڟ-%fvĚr.ȱ*/_^BNoR`u^iXjM9|UZ޳ + PQbT}QA +}Jl%bu]&gsv4LD@Z_\F]<=io=W9n1%/7T@Sv%) X됆~]ؿ֊@ngqV4ms_&6BN&ln 4򫉘,zXRʓ$e :FG{TkJf1ҥ7ȳ"\ )5\_C>m:䊀^O 3V3[A 44\?ѧ#rN[`TjWxgi)kc)fu.JBD; Bz{P<:z_w9vxu}ChRJB skZ&Ѐg +ky[U rc]ͅV+TڥQe6aR66sX (|HEzjEn$qC +du뇍[ٜpЃ^ jks$a4|"uō=7m2f\oDwkoQ)Pk":'cF!5 RP3_{ =czPgvfu`zM^%LP)9ܭyQm7'p7GW&=ǃ8/d"n+]; b˽-'75,]SR[f쬅?pMmV^6;lEě_EL$"n.ₚ"/m7oMt*֒Gӱ%Cr}qc2~EsY7E!7#>Q+}k~m he"nj`mh$FP>I@٘~:]@TulP1 󬁃Ih.VĪI|q>S<kcFܯCvd: *'Mܶ$u%փ%.5cĄgV]1>jP͛sϘ_.듄R7^E hCȚݰ!\bʘ r*kcS#gv"\&sϳ[7dJnQʣjJmBGi;$g4EbGް> 'ގjZzTŃ&<$ח^4v1FD$ #- r@Cw_O!9=/!:?=k_v+ꡪc;_)7SIJ\- pǺ'q~ V6԰!#EmOSijTHO -aJRyP \!8s+GP띇ؘ%u?u'`;z>?ttzy*~ؒX;&mSF +i~20lye /[oƴut.r38rF#)Q5].1Qwu,) ,pgTggl|{z$ʹR\`5&\D $D q=2qa -gu40GV Ps&OڿSj2f.09e&=IuQ(EiPOkcԧf¨U*lO|NgHJj +a-f94ՑK|zҟp P?Pk3[;p1LR˷F1M>w>stream + N囅^Hب޳q@Qeyn{Wrwp8h\kc^?ȹa|\ǎo*Լp:!a{QTI~ +`oNnZ~G\nV'(lw}g] $vP%@Rq*N񝠚[ Yz] /qcwi`^,3iU5f +^IvQ$:4au/DqS[W )); &gԞظÎ s`Yr/._~H7ez yA,B+{'c?!&@ ԮAh)eѳ;ӈg_} iMU 4izYTԲ:쯻=f\?U|e(ee#s/'T΄R\pu|='Gus$d|B̐{?ONn9i*9;$'UԤڈW2[V'0ElcJ:dkMw\9~_O0#nDfHb˶3 +^5OyC:޹I[r\d?"!ooNoĀ3N; kH(xp稖rKm9OOk`cZjSP+{m ++RGqcwiŗơsg{'㡼ۏ5q/vmC1#  @?VzٍQa/īٞ VHI8膁EZޒ+cYDz_UO. 0{6= +f\ԘC]9`ڭ7ԦNY$Q)lMP}O1.\;X|6>FKZf>)i)mԄjgwQ +NR +]ݒ..]|[c&m$6TE&foE ̮?yyn3mq%4srI\ߖewZ>]~ !"fJm)%lH(g,RqP/#Y +B:9ٵܹJh 5;yjEa<453 4qQ) /!TtuB9)N;s@ߎl~c{@Ǎoز5x,+G};o'_+{8E[нEP8ؿke‚*RՖ W;V硗p"/iwFY \~>s# T$ -Sg}17*63j'].2v&!Fبxq3 7[2::b&Z&ԍiMkY)% zDNM(\/h`QjrmnG o{V@YY,oҊcb㳎W&1{kssUS@3U%\ZӔY9Uj>% h{|G=,u$@"FvOCNj1=!lb|f.oJz4ʋև5'*@u3(0+\䫠]L] 5qi3SSj*1ng)+D~Sqtx# +FkTI+YI#լV'=ET괍GuIF6lcrρٶIl̄f||DyG^N%)A5-iFf%d-C׍d(M+i+$扷S&.:rZ75}h7@QJ1nsYzů[}m - yL?ok~{ +#^4 cv||\C@^|1'.jitc·fEM_Eʴ֑a{&zgVd~KոYK8j`Lr\nGiKwնxh<|H)iEk{ jrsHGKP|*ڒ00.A2 +v`דVqoy5ý~jgx̸xcKϫ(eW{I5g\)cdt' YjFƴC"]x -"ԧm,p,bHn[9IӈRK%*bI))k3Ȼ'i=G,ɩu61S1}FcgR7ngOA})-;ꀒZ{&}NCm)a<%*2rUpSbJRw6pࡃ>8 v/eoI (jfBV&4B@_g,DDN]7G$ꍛY'b#:F{XLV*7޶}j{E)95C=1b82%NFW}2r4!}Ywri!'ZmT%e U)NǀK^HY{$a7ŎWX: zSkc'GNmMf靄"nq +JuG:vOx]gg?z憸IbjSjJC$-[>N bƶx;n&.z*f.xIےPbr=1M(Z|xAIjߗ_&DEya=)k# 埌2.ֳ = ~U$&$LLhnMG_䳁6+}7G {} +Lkۄz*Ƿky|= l8kYzc!8qR~ZNd[z.bY=#cWL袄U'qnkPy71VXѯl4e3$BαAڈ )3?v ÷|^ϹczVwube}s\B߫L|ƆoOoL\P h|c q em_lMDmQ90b䠶:_i>J%}~$Æ?k@k' 0?,+jwe[V*:jSIX>R!9Ӣj>2@rrzy][Ӵ\gW^ F儲XQ"o$bDQৠ_{|L~p6Cs+6OI(A\yKv3czv_.ڞC\qOt(p5)+-ݎk-I3q-ԆUqՄy`Kؘ ii3qyR,7+ +IU1;!% 3nMɞI-!is~yEq0ۖA2Д֊(a%1bu$|\KZAMӯ%yyP MFZg%!mczKDEY%.e%ֵ֓ i#i'EUI9ٚlϒ 'aPcs)3 Jr]9ҘY +w%eV>mc:BeLM(O5 = gSV:aab&,#EԦhmi &.62mfŧ&V{OX}~IwwWrIzɧ ~; ^IZvIqM?2) uq^q ;ie!N!; yXE`ww igc&BCBh5!;OW>lb- i{\el7K)OX:{% P[b|uRGic5f,=G,Xx؍i)1b0F2—R ]M @@ o~%FHeI46Դ栆ˆN 6@N .I%6ᣢ:doO@.* oU;]BOJ8QDJEILKsJIHLjI `Y$MZ$C[z.<?)m:nkE_'q1)2Qi?PJ*bUHC[{P 9Yyx[UR+Ij)5)0\__{ ]{;7 H ŁE靤䳎Q2 +FKΘY+3cĔδALq5*k`a36%mRV 7m̠h%rE>=nP s3`+YJi7$Óqi3 6QlI֎: -af@(mKX8֚RrkNm9ݵ8=u:%V-vaNvp>'WeBf%%mlT#%]pm<}Fdn##1bdt]I·1szgT6inr5VhUjbeXB]>l8fDG46lϥɮK1&czzkN |@Q3;ҖQB8ФҲLucz2iCZ?'JhE9o:2-yۓqҭ8fBANuv<|yiWϡWSz- +;)|}% Cdڌ]2r +XB9ѾKOiq7)޾ݓ4p{fE@>QZ]u32P\@XޡCxIŽ3 q?Kr߽R`)$<ʖPuȃJ}𹻷dwE0| r2ZjD~ˆ(E~ME}s  q )+:c%_sO(ݻ2Q#2#:ZḠ \dvQқrhI{+CY׽q[@''mԴDL|܂}jvϖ`m`o+BY丙3p`VZ׾W1`^г]"5c&jwLn u9xYeY4vc}/e͌Қ2);c~iˎEݕ`_ w+I͟e,-''7Ҕڹgs#Fti$!d>Sܘ0Q :w{xku|k{\s۾i|A@F*q5 +A~:.JАs+a4̴6Ь `YDMH}KtD̈- -4''Gt̎g4eT* u;9D_I(Y[<j`V5Ad׮=,/T̎AX$\wgڷ<S GpOQ~%*bb:vw"bglឣlND\lJ] rBnu`+xkP;S 6g`s}//A@,G,h$ BBИ֒|'0ǩ%!7({@^K8 ĂK_KW쒀<:z܅դ=+1\\q0! 68UDOk̘]2;팅ѳ MPKoiIso&d.L|\ԿpPk'e0x2 J&,]4P[V 3ҬΏC\Ⳳ(p m&7%ݗg gq736yoii7xtqyc9ne =]> +? iRBiH)Mw$LOI,^`wCA0Zcjlv=-znsP|IIV1Z"ZPtR4v07FPy1%y`HIA ~ åldNi}g-1EjW-;_ޯPȥTN[i+uYG(aWQa#!d6,dţfH8IqH˒egoE˺@ځ.>,>u?[ ].Gyw9eQB 0w0GMg3jjZ"`lbq&Ē( |DDRYR!`Ed>xՆ _3Vn pD] Đ^ jVv1iZ +خƥs}*f[ٙRzYe~O7ܐ]ʒ{+}IG5#gNrfsѽ=s 3-yk y֖Cљ}H1NC^" ^=3}1>3Ԑ e~[t>qp| %};ua]}w:i;4}Knԕ}$f87QzNdx8O- vl _^=exjG?,?dxwYZc=3{UQӃ:fG 54II >XtВf_ɥ  o3)yeAіKBz!͡$':Ր!FLzGM]u*BP~x4K-3[UTY6CHQB!,\H͇Y&)G]z9]~\!}>dzqi.-={8si$jc#6ާf ܀E"uTF°.`F6&d7)\U]\|z*x b.d]JrxHfסL9$z!3}ԳMVD3 $D+ ϗG"BQ">?d$YE$gCVX +HN=F.=tGILl Q&d}^*0N%>CNdCE[*tX3Hti)i3=+{U4)Nt}hl+8փp;Ijk\X3*_᧬J/(.z!.rNcb|*Ȁzm,|1KJX-5HzTVS"4#mkdw7BzfY9}+߬u\͐b}1Qa%xxn{ +h뼀F@pLaME] OCLL6j +7EwpZ1pI!5gwsUHE;cx 7i$9^|g?\@ɧbO)UO d=/|i;JrG%5o}:no +ZW#XIZBZ,鉩nee[(Y<\嫈^Y fDmLZ&!-l)D,Id-/lrj_O9XyTYTYv<̆|T|enY_l|@ 򯙍e[r䙾ab, h'P U4];GaԐϼk7g@F9l|,ru4sݻy>_xAW]K0*Q`g^[E<^DCB]:jjޟk ٪^M1^d/h~1lECݦsjn ,Ri*(E\TR'Yi1Z@ +T8{S8&;¢qv6Z/0QP-{yo}j%!򃚪jd[ 8P}"d]5yҝ`9o^@__E] j$Zsn_|cr533Ji^Q2kc<{"{*O-. peuy}7"J (1Øh;|r>6h~7E?m*晦$,Y'=ۅ\Q )_H?N|-hңK ASEjF8<4`=xK+{2XӼ:G|:vwuDz&<ǣ{!ģ5& ̈8@X"RCOOn5BvX2;lX2E*_G#V߯y=6~f km" iOA4aR6伢Izr$p(q.ʩw^ (ߌ;t/&`WII]'>ݞp4յC,Ȼ2q(dAS}FOrnOS];[βO Bz)?dsI?'_.C>Ez`T~Vs�VPs޴Q܉훮BBF;dz`oWWvccskcVv5FCpMc:d펃 Y3)(䘥㛽]'a󨖇yg_ZPpaoQ!&0>Zo"̵+{SE#İA@<5Xtsxѵӎ FS'ZJ.l|`$f:)7ӼJvm1?xưqtw5%?3V:NGCY+=MHk[ l# +@er{eG)&\L%-BtL=A\ /I Gm b^4ByS!4eO d,\Bd<*k}dUݮBM9o=+8aqI>pOIM 80K>c]]F9tB&nY #rK-Y!#WII~i@W. ++UV(G$Un- Υ٭wi̠&<_:PVB]ye/x4{~cuS*F`f"`"kZ%w&+YrG LN@w9h㻢S^أgzN.RښL9suT/Hk|#z"[/ݝadMXݔ{rk^x0TY]ЈYj|Gɽ)BɡLCO_Qq1NةboO2RW07FOu׆z )RԩGK+k~»ԟ}rz 5u }#0Dž4[AMsCo,XȿhG?j?dkF??0w&)g͖^=.dD(,,,Nӳ&07G0j>ɮ+2l p^IrB~vdw2AH;U2w;"W\JZ95;#(s*DdX֣s#ޡtW +W%U"ھiVDz7= +au AK]GZ%.U}S + Y)-f~]z)/lzmy8AVT#\Hn-EfQ$A>%mWq +ZG#AdH1x5|)S][x +z r dCZ^RQ1-"pG +*ꃶȂzDEiBƠ0we}~5T7mխ!k]oQ8Yts 5vɫ+S4By$9pkܯ:^0 +Ø=!qr$3<*c¹bfEJL9,(U  :WTI(Ni >s720[)ؕJiN%32KK(y%.y_z賕vt!y?->w9)ҽZ1J*$ 6jOJ.)j%7i5Uv=j-gN̎dTŽ钛ٿFUt[ĜOǂ':!ͮ"% `ygh )j1ۣ(g˙q^{[Q駿Ʀ^\L[&wLRi[XTNV QZXzaY IuRrACGE|L/+UcƩk|1տuh+jd5g eyRFH +騈 AB,[ +187;jyo~2ɤpJfΖ>EI\&)yعACFXkۃs nұKvgh) ݘۣD3z!`E"X, /syH wjCdx"M + +j}om_݆ݲVS҃PXRo{V88>b,*( C޾xr]ҥ=:p!4lpĈIk>kyC!&:B,5uauaw3΃:y ;U2<ڧۣ<{$/x j'sRriYN'{1L$1/! Ő]*3"31H!<Y~~;xHٝwy'W۲K"7ؑU" +{A֝I)^eɽ5{2͠_]!Dx +gK=X`ml +VTJ>uˠORrK6./u_S_LN5}Q5 =lg[QCg仔mJDB'vгՑ܋s2Dp klw;|x 28=is40)ߥq2}ࠨYcc*Zn\EFS[0!GݟVƧ<uosCy8_pyk:.v~wtBwŌU*dBFFM\,茖__|ǀ쿪Ϫz <sՉY>CkF&ޘFZ"ke^?ޑ3:*lygWK9rA^_օm|Vgx +qņ]~Z?Zl "Ɗjط[yUZ^7Gq %G ͋$yY[G+Bѐ=h>xs>CM TB(397Qs|H٥ֻrO{Pr܈L$xu|p$C3MKdqN=>svs0wQx`UxTye3#{CCFvY@K)>;]Wᝩ`9U䴅c䬈M fT|"V[xNV +|:,e䇍bN*AB&v{BXzrfBwkX(NG Ƈa=J0-=uN O\  qT,VC3Eꖵ07Wd y(_I<׊Z>]Ynk:Xև%䄬bQ9s5*ȓfwAyD$b4d:|1FtIY붜=ߍzzW]|ow2J_ H},%'Jo)!C^]93k{|wKEI@mr9?P|'q{]ެ~%0lScܳdIL;i̼%e|OC˲!{9fq3>JG =Zԯ#Hձ +FrMң`j63`Qq^r`ԠZ`\JJ_#;&Ůqas7G`>5{I6ij|1vw +Qrvo:ΧQt0/K*Yr)h%Sy9ER68X!X%cy>'TUFgVE>qMrJLgٙ. +nWr>kx1׵ RS)S˶9SGnD [zL ~вc.y|#тHNin =ӧ"s%44z̔럧C -- +EW4Ek>G$uA3AdMVʷ~#%7`bmd2䬕᲻D^?"kBu9iUg,R2Rʢ UoViy-8'nO^ @,U .u9!/l0## ꀑOF0 _m"C{3Vz_2JEPn%9ݧdペƨվ +r3z-ٟUCWJXl +FAؖlc=rsJP7HwS}*)[I݈sQ 0LV6 !5d_z#(ElwO)E, x]s2rZY^2rcϟאi>-!1g:5v#?{f̃Eqrs]51Gp*n]Jr`ޙIm^DߚLpCsm,l:ld k,py]9#|C,4!G:||jfE, nEd;(uԈEK\.0eH~B>RYRU8/>5/gt"ڊW2L Xz=FnD곈&>hA)hdʉ^=]~c]R@Jqj^1oE5EWj#Pc@w!k0_A3 Vńt>#lbF-\ <]|f]jJt-U\C |%4_>4_[LO +X2ex0"9w5|SǁS|â.jV؄KDAW7E Ѣ6Yh|BZ:b눘*룆ʚNCAK~اB4)d,Zٝbj>!cpi-43H>׽ y$$)vgY ؚGF41:!ߛ2֌ϵPa5ϭ'wFT#B.F@/E,5QĨM y8jZ6zH_`gr뚺63h}MՐq\۔{@'z~sz~GqJt)z>>ѐ %vcy$%ge͠o&Y%0|WȵCh F1x;7z2B_*\]>"צ<:$dCۤՃ rxD͵+)n'Y*ڜff5ck$2gKrYcC<5W5&8Lb,K ΁*yklu4EKVガ!l1U68ARHpA3lJ-طS' }όYh>= +Q EB^_|:QvDqd˜D熀e}1ӭ{4R^DfؠU ZWHn9T0myd#C, =ZX$ Ή^Yc_/\"\V-b.u\,\J%5HuV8g*8^5%`eu5K b'=߫-MRQz`ω11^fSZV+>G!߃Z6ʧ"C>'rZ_ȉGG,BOG3p|*5ln["9˩!{4{H}y 1BGy?aя9{03<s:d7Ե"vUl0~oS0fX]U*C>8zj&rDP/GLU udӜ& $)N%;Qz Y_Ȟ9FQ5w${cG_5e/P#K-+Ë"*`RfQr+nz">2W!wy5nsMrkn*^z!"0Fo{vF0U4Wϫ,Elbr\^е}w>`Z${ Ԟ!zҊ]*ohX~;𣖈OZ%c+orXhgzS"A0iZsE4$%֯wG ۃaң} B@nù59u#V@pj}NZBi[o>)gz4,#}u6Hݙ >ɩYjꞂ5A۝{WJoArzξA"DAlIacTIX.o({zEA%N2}~-¥?=ad藜k>%koD]AS#02UBFrz@Hj%T/@zӻLm?TEw Ɔ} +W'-b0X%:2R2zd{!o`#3ʤuiNMY̎(ldka5hـ@hVB@Z")p % ҋ[k+)zk'<\+]xz=DHCJ i~50$yrЮ)vsVh$,NyŮif}욡%;Hv'vv&køn9SN|v))mk'6GbGCG |;UrۯdRcĈZLY4WAP3{{ y`B>s6!׫&i^#s>al]]=L$Lmd?XSR3=!*_!1ߋlF <;Az4Jnd8d00oj}׭ 'լw:!esRdJꁙE 3X[BEE֥# bQ! !8? }7AlT9M~%>}Emr^T6"ʦH1"QcGК!k,+" "ILG +!F1gy ^"<%E8?,%<z{ڏ4!g$w9g;Iz)畬S#QuLԄV +=\Kd]2:_1DFw*hi%WWK.]۝=F/{bv"y +r?Ax;F|hnAmw|{1FqL36:P߯ >FYU)] s톺vͰɏwG=;iV0J;( 6Szq]6z=x>RzcucR3*LSӔ!ݍ>о Zk |J~GEmPo f&3!Oԓ(d: j>ΫQw4zJCNL@΁s2>Zب"|:F:R1,Ț-<_O Y9Uгv`lV[ W>P,3 G@#eܠ96Ƨ"%Lm}IF6fg8=/EJ ţ9.vcZLFIvn_ٛ);Uv lz +H{wqw`seV%f=K]bĘ_4%=]c*j =9;OzʮmiOv1ۣV9M]=jw%?-/:*-;IN`Jv'OWqV76wrVnX+#ҏ$G{å׷zOwY@_Z"ŪYȿpqiR߶ +{:A|_%&dĽI)akem-9cj.86䴭跍!Ͱ]}9MK A=sCo5I h9%9ؖwșӄ+C#~jr'#=#ĂRC_ ܍MiUi{/򇒳KN//}{;5 ?Bo*>{سأ`"gxԵ!idoL2x^`(.Fw>m4z J}5?M5g19FE4ձAG$JBߛH-M%eiqX_fqw؇(9)h%A!̾2}mM(1roW$b:5qv.8#;" eoЧ?`..ПybZ@Mݛ>t+A=-Nj\_~G?9YIfv?jgyss/ښ_VYO?Ͽ%]]j%\]~Gs~rw-f7N? +4(+ugO~҉`}sr@z`oT|Oɐ߰@֧ [s!)/=%eI_m]~ c3Hyd 17{77{p7orԐtt?0r~r3pc +h}V)]cÜ76d&?XlCZ*`h>|en,epJ3.*nB*|>Ny=k$?cM1DM}ydG Bj=7P/__ar7kFԱVcSщqSs0+}w5M]j'^_*NUyx{'ӂV;er{ኹz[/K2m/ىf~랩lq6%eJ:吩6B[1qa]Cݥ[KՎs]EV: +d_r_nNiQn0#nxf`I]}a~Nb'p%aWM{[xP>GyuR6z16m: +Z NR~P}7ךvlo,]3!cZؚQ'VK/#َ rz5L߁\(h{{lDQz?)fgJٜ-] +eiꗪښ M[ OA}^tms~aM|I'}ܔHw)/QQc#_J/MK|LNߐstThrG.$n3Ìv)_̈ҾWf,occܭ!Z3o@s+?5.\)gߑ0]V>R} +}G܇ٗEaiI=}*A]qcԠJHgbC!YPo^c~ؔR{"Ͻu27e jdb뇲c߬f:akN<.gt[{?!3>HuFטtX4KeUM;\z']qagCOIH25LY/ާ#/q~O$Դ >GUU!yEWGO>%=5֢\eƎ +sXvx}ѹiaWěW.o2Wlo.Z2>aZ+ +{nt`w} }~M/ʪo-o7W(ޕ7537P_tў84Ob";M]G7d2c ˠ YCA} qƅ +YE߃uϽ9 ^{jُʪZuUM$/<1ɿɴ?m-ۚ[;?.+<㘔} +9IzY|uR[˛\6|ƨ,㔾uޫe\X|rkޯKI ӣsŅ+={K,j~TW%U'~fdw_0nlVV24DfyE#)1Mͭc;?O>56Q(?0~AVژ !L~H|Q%ŷ>/g5\vc}ǸIl?ˌ4a;׬8뷕n£ʌ#;߭_c-X8d;}䧫Es#vwk?=m+%$R|+ҳ]+ŧ:7Qv/ڧm.`tn!kj~9)>$%Xޥ$/)^g̷n~.:{m m<(5ߺq'샌Dgg G菿H}!J[Qr3}nla卑1'scQw"/ooRݚz!Uf}?#&˅?RS347{_E?b$CN׈>0R4%66gdk.urs𗚢;x[X;"$5/]^()7 ޏ:;0kmmn7>fs矷]!Uɍ o~֏!, OK˦/r(3kVjϛO[灹lo +N(kRm_d}\[.Nݤ԰nws s=5i?9Ӏ=Z7|wz'zmRthUٝ~fҬmewzXi vOcԌ!-ԟ=|{~=ָ('__YbtSo?Q֔b%ϴ$:H Cڦ%gk %ޣ1wYcc'tl{K~th7QYV#1IJE?\@տHI"}[d5C_fo1ߣήw(}kc@Lo(_g CW{doz[擥6kG}:{MCpa Lj3+­t]dgmrs,-ŧUYMҿ}58:L|[Qjh]TQ'K[FGqV{ORr9-../ Syn­YYת^.**ӿd\a'1mPmwmP)>Co\u/bjڛel@펒b䧮Iz0;]ی=Y;Cwyϗ;ӎR|hs|P|ӕF*rpͥwu>{yүӁsU ˽'Ӣ/xFyWL͹,Ě_sSϻ&t0+46ugҙvn-紾> +=' +';ge]rmCm}ʏ֒=ܸյgmm]G-vyEyDCNrr8ٻSEŶS=W@N_iߠ.(<\'e ㏫+~\i+Szw,=C/ȩiCͷwJHV0Wf*5+K=4#KfTJwѣy7?롗7.AV݃ꓯ4M9gvwEY$f;ԼSk}~!5.^~3C*lj:If@#$89+VMt]ޔ9@E-Eݵo.zT5ȽԛW+Țj暡Wk[e[h=\'%3c]ɹnړ>jjbg՞|]qYڑYY,!^PX|iOJ$h)nsco瘂 t{U>SU]Y)\b%^./_5r׺ic_fq-jRTkJBZHs66zRӕiPC)_+cR^[vq{XJ =Tq3,r +f+ag@;.>1KmoOޛcQg!3@m:0P严.:o9g8E]Aÿ[2N>$J>fyw=-APBj8;U]pؘC[_.<auQTr>/fwR7͊vL%Uac͛'腠:7>ږbb7>ffK^#[d_{8*I0V&T}<9K)ƮZ!Kcf|^7kg;J樰Щd̲=#{[η+Ĕ'2ι&ĝ 5/|xݍԍQ(_r*+|ں=+n 1@.ZW^vV½QNG*X)]vmmHܻ1^(Uz:̳Yb83ӭGyY=^YZ;_4д⮿<|xC1 5ώH<>k;{GoV6LK]:.qw7=' !@ mgwy#ǹRB9gg>ZRr 6R\̭`!#曒| ';Q_~FILA}lS-(xw +4<2vw+w? T$.>)wN[ÔT]eqb_zIFĻ3ckm6Bu 3N2nouɡYVP'vXOv)Qzj:AG2TK3nD'%qb& h#&1n%ܣ3lJdsiW:f +FV䍡!*|sQ]Jx2W%N/e_sH%{Os^lcGYI!2BZl@%yaֺ +^MSNqcX$4'+8<]ѫo{ _N=dyAxSLtQ[}[# j2XoS +vyUUBH,0K> bc{= &ub30:¦Xe*cb:Y8y/)CӨU[%4)%#O +s<!= +ũj28.țYSS^ZyUشYQ[# ; +Yl$oz-;t[@=[i~Zo~GSJNUBЧLm^`UlMN˷aLy3hAŝoa!Ze]MՋKwb͓B1nRXnGǙZ:. \j|QQ}`cmQR)Zb#Lby8b#69Q~u8p{4bOM=Q<*\\SNZEZYhч:N1H{>Top"V^5#d9eKc%W)X]C5,Ğ ޝdx-gZ}0bcٚێ lG%f,uQ iVfUX$x gQ`3 +|MYSlsqRz4xgS5ḾO[}}b-{P[h8psR*Fbsy'2ŷKJN/5 1k%!ٶLId8܇(08#XN鷛cea ^`&IEym 9,R1QbW7b]TygЂH{RGjYDoWyȒbZ +6^+kuXe1~j?-aLNXmfD7'YWfxs7L6֑4أe>9V)o-vem54< n9FY+ܴ!TCMswFAepWGFZZg(9)!R̰˨ME/۫mFjgeJ#VgeJ3/eN:L=胖ޜ#mC^@Rk==-o* k) BC._h/>*ff%~,Hub`힯ݙ֥-)5sW*sMsqlfP3paFd\Kن y8k_+& 6k"dW#d$KUt4R]ЖxO=ESV1o}}O]C}Mu=x;ٮ +{0C{X)*҇nRVLyA~oʂ?H=~zp< >ܻz)+gsM39[i#T5$`׎."gC$~?9Q;5,9)|Sob|l,Ϻ[K@7hI Fj>b5Θ$JDn"a+zzriDxɢObOR?zD@O +NC33,c螴9ɇ !3@.ϵVeOWqCGh(~tٍƯߋ(Py8I;7@._==O8 YA϶W*^lJZoe1ܖ2Z>⣊ {T42*Lg'a ŅmRRi:ʡ7p[d,M L +V?N)ƙ{%or#гk@ߞ=II~dqii6 5}{P=`Ss;JU»3Uw:Se^_ߞ( xu .!rRY`ܧC9,"6BUn٭~b]#ئԭ1vZ"d,R +\!G-ڱ@\&ƞv֟nǵ΂]8ۏy~?kLcԗmy@# JQbžPJt{6H˪a?Q_.KP}kxCɸڇJʩ=Z%WœӅQ~.]z~:ˠsgݽpx(5Ы[7@Ϟ]4տ@wLmyƢIDh;&jfi\{E\./ w,+(c(3gW.|^=| tܟO|ysB٣JGyTIi+pU=M#|:"df;W?} +e@7n'ShQW4CDئQzU#_¥sz"5>p >pWo:;u4ocGښ}_z}POYЇr!>xޮ48dnDTUˌ; O>Q}"k(C`~:(ͫI߮R|Y/INe56@]Cn`w257иȼ?}| 55s5ϕ+˃g 6>עBW{)q}$C wd!*/K88:m# ^ߺ)uW@v [Ȁ jV,gׅW)}u?ÈaBcn%Ĝ + }xtzy0.5@o?yteA6L9\.?Z_]t}a9bAx؉O@ נ>w@O>w|AW_"(ىo/ +ZپpXY6ήao嵐':ܛ*xuo޾%r*W? `oyt@<} }mynhXnR$KoÒOzzu݃G `~'@O\ǹ w|'şG\Wf=!$kW$0_{}*剘W ߻o;{#`-~:AJ$e~zsnVUҷbx5~~ +ɗj`ywjq6 V8,G?гX w6(1RjV^Iޞ`BiR)Ws }WE=n$}?KC;}.dia'g67bdr6£T̊j:hjJx콢s޽; +tKoQ n8ufns<ŅZr`FΏ"Q1eΤ|:g {t AP)%Iܸ*E(.=Y?X/7U,evHp\p5bVeTFEHJ~%(GPlPɄg?|>NK-#paj`K7GٺfD2YMq%Pi1~w6+jG΁yk+{ +ZUn˺Fͪ 36"r73q[[Wn, ==Qa]h'W _jF LUֆ6ECSPTV][J=u6.DETEgc)s9FZ[5)|`j3$u=HY*)(+񚱗ijKڄ^qX#$oADJ{us`?^k68gi=%%Ϧ\輤*LlN5$J[X}uv;?FM\&F CZ$vF!j&\6{Ӧ4)+ɻ6'jK֕~ri.ygb`wёVrJspջ*vCL32q8[טl䎜2DM`P|<[)pMWz v%1o\#%*C! <eV1"un$lW1[MMXBl`7F%k}W2bdz-C}}CD:4 Ȟ6K8#Bt%ݥ*֡k{Zᎌ]6ZEi;DSn.v +)R̀mb5ê$m2d`]J ۦyxOvVXu=k֍uU{9?HZJQ +x@G +>528:V59ߦe zDZr񱁎t& @V )}1 *; S +j΂^rannugNܸU,= \,]:`mP45NXS0Ι֕>wCKX~*#w|Fg<]#NM"--JʿmCmRJGAlҳp#eSҞ9V;s3Z0.+ Q0&^$vjH?2Ξ cMmj,6PoC@Q)Y[r^R60 6 +x= 鞥;v9.i{qc5a󾶩ϡw([{욦.4.#Me2|Lg]S12sLS +jbMMtk.5%c`i̛|y\#'HprR)o|UlCC%fIw汊ڭ*6|~V<{=k]N٪۳mt_'jT'984ޞV3xq|{m諛vT]'j941/QnWG M҃ lMU_׾QPK,rRU*wp sLD3tg?%Zd>2mJzlMPe.E&ɩ"e/w>&t__ᜫjVS Xd\<_1}Ch->G:̡$flo>#r"dog]\pYdR)K +|M:8!5( ћ=Pu_K)HųUW;r:՘~4KUP飂h8^Ɉ{rl҆4?S*x5GӌcDZrB[Eα+0cZH#Vؼ}Ԭ +5W׽,rBd$HQYgCjSዝzޡy&P;+=*a5C}K(-<ؕ`7*osL~<@.w+<V똈iWT*f,ׂ3[hQIJNo[&x(U3>zkS/T䞔U *"e۔TSçnk"X@UV>ժDFٔX"4+ǧK=)~0W7Ӿ+c&Ii1hZwދѼ4>CZf普mj@Z@*EV54 +)I{B_ 3fxÅΡ_pl R e2&|݀UFoOmZ`O-Zl Fˣ{ +L?gUIHsj-xP[N(~?XgͲp^0zR {,!f_|I +6+i *@OIӔ橲b"pdt89`ѦeB85TriI$w_j,*l +b&zf)e @U|S˧9c#rft$>F=>Qʝ<01&TuPUБm*DQV<p X VvU). +?wV"A'yAte4[y x=Nw9h rE1b!zGE[w[< 4e; sIܼ`BLc"nwUua1#z+G [ذi6Ǭ3-k8h +X? LmQBb5qn8]M*a/rv-5(vTNs󟮴mT@nJqW{㏌TC 0BC,Lrh FHqϱF2۟?z۟,RY&:Mpu\c_K*$0t.7~.zߔ?g2Ȉ/g5á>k:Ub40*h𞒇5_jFE 7k[%9zSu +ܛ@qo;y|2ˮ#x, <F[F_7ʾ)O YRz,n}e;Q(bpsu x*cf(,td~ҮWJ*V _޾Rso]ڣy&ww ++A٤jL QDmQp += ^Gu#vP6Gxݪac7^aŽùql8!ա35Feu]vw IjG$6H#x؂}=*ե8&Z&# @}ӷ_L:ʦfVr˕{*LCJڛB'ؕ}:piJU&%<脇ƚv*PO[#~ȧZ>gO'dy0X 3[0 :i1*Ns?1>䗍CcEe1f҅VV;E11~X{_,!';dgH+eu~J*l? a1uwCG_cb)nٍhޯk|2֠>H~-/v>I7 Yw ̡vWJL- +m/[6^B9(Z7E3CÖ;r"GuI!gWB(c,@.@>.6%$~9QQP[loUQ['va\ a$[>B > wrX[误~m:הx`rB盒nd+`cP<&﹔ԣ~-Wβ[/}/At R0{*N؊3wzvkg,?av̳oGF&c#wd3Y] В黯#:"7' i&̣g5#Z`搣Z"hjȯՒ \ kXD(`VT>BQsGE{#1XLm r[*2r%bgQB[qJs=@oLw&;Ԍ]4'Km3z:I&Kou]rf02dI.?+8|{ON_SߞUCiTFțS s Bdԙt#=cQXP]C)yuk4&˃7|V[|[94T xcd!{Vk^r6kE(=ќw4xDUbÄ<alv}aMh+yoVI[eoO26MrI]Y8y4c#E>O), 9Ե Y,d*xM'?b:Q\\cAsc:qu 3$5VWiO@>=MڕVV܊px{;_sUM?BUh^1LCOI*&W'l}fa1eu*șWj^_.%j4tZvSN}4BL~L ;WIӐk'̯=~=T4IHE.׭gbve 4 rdVM"W ˙D W }QU !|[,bhṢo5Ļu%.iq#.#諲_l+y͐@P'Gѫ-wwzo6z8x`jZ1>f!Y:pSO:7 ϻAT#H7E~Y…۰ARaÅ.H)ita}?r5wo v+)E>1kè/3|MN)؝y}}6$.9>t}5}ť[Jl [LI^ϔ08tKGh^c"5/ +9EO=&0XZEDY -ϧ8 B.WzW͞[eo9?%띭 +l +Y`n-[{a&qi691cs -~>7?Thk#/϶d=%DA .D"2Z{aټYM-tB6X)}ՙx-}⽇i*z9Dޓq؝ql*$AZ՘,wy Mc}B]AExZriQыmJ(O,4B^.6> o~4 #:+̷n6zEeC)~ Ѓk/=l8pc'cT"]͆LlJL<0T`VbMToUw9(o- uoޗtc |SƳ P lv?7]1句ʚ 2 X@#/q&AB3Gk69`1qn 2Բ1lie'x,5d,5Wrî7=肽uH.x\|{T~~,  Cb`IYBEGwRSsvIrzu9;E,>rB39Q7%"ԩjѭ#w/FLy`9 8=Ju0:\u*zRKNwy6-c.{[K%PY)nu;lcd@tȨ!|rWEeޏ [_)+EHi~Z{#%' xEN.XAqԭr|UO_hz$^2R.?_06av6T#@u 0~遼Pq1 ]C^S{k{, "[tuC=&WAƶ(ޓRW i x{jx[|Eu&U\pzjOh$0]3\⁎K;PH'w>^$W 7qfҋj<"4b$2RDy"< +7Zo9ߌ Zs~1)L~Ѕ }<䇁E@80`.gpi9s]F:^k\tyQ /"B&yq̜OjN֛Z@}tp) qzAm2bJT Vw%e9ؕW  Z[/QJJ7$:KƋ;s?+tQ(>2޾Z@㏐Ӷzћ}g_$>XF'7/5N2/F)w 턤E@ B6aÐ< + rUŮ{ S؂ˢځ9q ]5XOܔ{=jݮ"e;}sMwz˿'ţ<_кZ.je&f*F{iM{`YXgURbꞒ +=^~[UIBRsxKj O06~\,H2WDlIpI#'}gG;lVsI=E/Uaוa` u=ggDlvC?A> v8jd$%'JwQTɷM1>K}E_sgۦq+W1 ʦ<^=^4<06~-*ׇ s=~K33LI$IfIcwA^*ҥ)HJ)3{w?Dyma=;Ms JO+ 4&>]=5l@͉~pE{d/ <SuecgŖQo]c~f{S}`"E`02{z`нypGh Z75z`]Z6YB +_iMY.fi+ $w528='(9Cͻ:8;:쪺d]Ȍ#R[#g΢='k[AfvT}k{ofCY쨽9z}G˯Ռ IJOEqa5:[ sӠP RoՓi\NX炠w s#}K?-*g8}?.6w_~YC fT2ReP@;9ůx]XwcmA` +2yxvifčgy +$7zQKXilo!2/!,Lg{laQ~ۀ.I}3lP&+5/Z="g˾nl$h"LÛ3 +󬔋yBW,{kpthjo13pG@5*wЕKTҶ Q Gy7Z/O:U-GykSm`#ZXd|=M&kB +\qF.Öv!4x;&cwCߵАn[xm&F릑ݞZeVdҰEisBГaXE)"OOo_ZN_ ݕ E߃*H"qdtJ9tH{&d]p*GyGvAϾU0АQ1tx@GM!9lv *+SCgܞ}`7!lyZЋ*jJXoxm#2-aӘ4fe⚞zZ)2Ĭ3޹(~ջ?ӈ ;[g@ýUI#Dm9&p[5K`ADpNԶ;e~9 2;7pK KjZb5` +~g֘9p_K2.HOMb]xZF@/)]]mYnO<[euσژ#񣅎bKZa qX$g޲42y$6~j_1rSOc5>[p9Z.O_e!+4R6 5${M^ +з=mw3j}+lcF c%ZX:x_\ƣEh~XM;20JF9/LJl(VN0NʺyR7FYR +𷇋NjNb!#L^pW(б A ֱJDզ em)2zal񖢕)tkW&~pYc jʎgW[a΂=r!=2 ۾[admczrUQmoݵoOUQS e /~3Vr`94 +Y\@Y&0SgZ9l杳 BnonG8A#>I\oq5%;, "B=6+ 6FηG)xs3PwgUZp[Dk5q&)49]tq<9w~tyGv)+" )"9w_GޜDGi>KkG5=N`Pbjzji+'Jzd |-h-򖣋Zd >F-XЎԴ)'6~^ #>[MMkF`)) HAlW*n^Ae(% f^9,`_:K5Dy׊^ZꯋD4 ,?Mt6EOT=PV>m,3nNbgy̓FL4蝳qqY}EI)wm3 b |M@?P@zdG'N|[lغ};aNEoD΅;/K g b2vbBKsv~8М <̦\<ə%g$(Йa2}'R7e`rQ|$Շl׏= mZ^&@&tf\ZF) ޚV/ݠ{J'.QL8 +’=%Ρ>,Aʪ/sJNLC9RTߞXuךB[E?vg@zLaXC9@uMw{1y緧ͫp#cWps:N J~hM[ho_ +`s]-؄̿2?B{E" P(a-~dhM *rSr"̻<ϽTi{5_y3su.6,sưꕁR? +PniE:~N2 /Zlz&ކf>gbV$ qc,7QڑS +{{uڡ=Z5Y00B:lAP-0k*J͎904쿼LE +ъ+=oFEĐ:+~'*s&.@GNx%w42 n)Dɦ_±B Ivv=Z_V΁;k#/3ʿM٩m+ q`g3lZm-aWM=1[\:q mG3_L¿[:VEO&m{2RA>%"? O!$Dΐ,breĒg-UY.ԆP$]A ylա YYK%ǖAH9|={Gpċ3̖듨/8?H?/Mqe1׿EyPxSi]ǿқ/ܲra&,#4}q T[_#R_p9/NO cĔKIJF} 7 `gv %~NhVKUUZvuF-+̪1<he@예} zhef(Ms׻zRݡܺ>{?/eg퇼?'A&: +V!w/}?/yM-$1$n krTFPM,; + dK*4 M\@^ljߎȹ֏K􄔓z2o%h4.VD'>՘xNfb,xO*tc<3{?S2ޚ#O"͗5g7QɆh YyIښ1LI + LĪ †'Ԃ+H+ ٿN&Q~{'n|8R ~}9Tp$7mywBGam铣EdG7-lZwy@Ufɥ{G*F~PʩކޝO97'[*Lo +>њF`Pr~W2RO;*oi&v m= |`,lXHRֿ +n;&|gM,B@N,7F>?M_4fmVaP3 +/R +9jy莑W=N1xo$s_}{HӛȻy*0R3g@i'T7ю(hf[a'V:I%oOs[Y +T@wgU557zk_O_'O՛R膊 |ᚗ[jRxyi?KlAd^g oe8[G3Jc#a R6dD((I/,y&æn]\}TȜl,>;԰曬2Q8R{r( ?'Jlnp]br7&ob3f9D]^V?\ӀUSKl wn~=`UV4g ۸]٢H 4;r3n +ІV7ߝC&)uCbQpi>Ί_)No(p%z~ٕx v'HE/OB3/X9 +Lo&Jo@;V>Ʈ~$6X˻eq#/OR?+8IG6jMx3ț*biPJO_ٻt5*zl!3XoW䘳 7JZ, 움&Dc߬+oLV+8i!>lI!x Pu6R@V +F|:XշW'Ґ_6" St쪻i,{jBe&φǧ!%RK;f$\r] #e/~#gZsox-j`33oKo΢r⮇ =^pc ++7_{ +nq5~1/G&_쎏67Y`I\tmK᳓' +騈iz-#g;+rvc TdLwHݣ>P$< @<]%;+^Ko(|taCޘg䍯t@ou?u;i O|N@, #7e}rS /" k9A~}2Vɿc= zE'i9Eg3Ӹ3P Dj7r|Ows 0ck1_WMo}U oN.տ?6GfbӺ;E, h٘] 3hY|my]s*Z"qQX~,>/äAv Bs+py[9emҫޞ赡䍱t`1z^᳏#sGk9g?k]viMmٞabwU7-q[֤M%*cOOk33>(0M-k-a?>7 .,vT^{K@c)G[sk[qh) +j} u¦{Ȝ )l%[JnHt Wga}rg'{#3ѡk,sGɵe@4] nh5F:MS>I9u52>X`>:} e:Yv"6j7\&ef( +F,酱UgC&?5n +}YqGIzyRՏ]'&N ii&TE"JoHRis`u:0t_cojBidY, N +b$g=n^Xy_,G-x<ΏUQϺ`Ɂ ݱ:0s)zB%ww ܀ݒٛ8l|ttK- pƸUi}tKhgs &xQ 6x|GqYthPXؕiryK*9_LN ͡M-๾Y\O+ +WFщ+㐘]u,L`^" [<#t4):W L+jj`&&*d}:;iWOGo~%$e5r:@o}D +S#%YTòowCMϿ3Wݔ0*&>56ͯ>3W YtQYEU=5>7|xXǮ{#w+2|)A來ON9֎Ft@FĒ]5`}⮒wSŘ.isG\Ƭ6֘fe^튘=߉αtRx=岂{zi(8}GI Zc` ` [A~\q Yx0WW'`Z +$4ϔ(Y7V1QH̚"XiNsP!įN0Vƈyd@˦, &i9.aY'_ӊm-=u,7i$[%)<zaILHkɆ7A*+'LRT)/^g1n1$.0I +)FPƿWv*9b́b,G;yde`TO/۷266+|\ %ilOD_{mw[0`/<{_eq㣵^ISk_{^ 6+uSȹ;>iYxnPKu>6<_0-=cblCX仅M3ާhM 5 ^%jJ^Go4D+XDCg7 _ͯM>.3 W,OB jtw]siS-<{8MзX;Zr>r{64䎾' }81R}BgOcj8 +W.+L"vZ -%8]pe[~HpNNI"<\nM`J% @騅wGZr6l:F(/s}Z5r~EݳPC̳hZ +L-.CUڄ7zVŵa5&\=CkWV(@:!O@T؊=={;niGt'|q,ڱ +[i?jA/}+▗kcͯ?.RJjwN@N|tg-{wΞDwiƼ miH襙{ڞϹiM );Fc.#?X-#XΑ}[Y5s`u %5.hi ":s;.Fzn3}L`GTz1nK?7%詏SJ~y~tTGS[[ +'w j__uޟRn/ғ?I#?~ _D%]ajL 􃞗qq[Z޽ÕψŏϨyo>/>]8TݞgPYw_#($VGo5>_t;y\5:?$2o'ddضQnC^?g?&?=] +?ZaE7kдQH +a +a6z0}Hiq{3V5_At#3JE|)f:fyZ 宪5]wC&݂V wCz[Ѡvt\.н9Jṁw?|8!$̽gP|j63Lѓ v*򳓊۱[| +xBg] 6*C!5a# yow4HШDJfc8"mM- +/9Z|okzC>I `L9 2c-@\{[wT%(H>eխ(U lGmohYfhX!=qBGzf9*JVgPQ=P.ϐT4Ss7(Cg[DUwf¿DWabKȟ91Rցd2%"m}WPZ6:`/7=7Ho;{%/eK֌V5,F.B2Ϋe6%;GKb\cԐkM DZPf"5;zxX7+2U92.Ɖw7JOOWU37+뼹2Ul}SQ݈?EMWUz8EH) ީִ]cvC[QK֕LWBO aQP~Wvoyw_tSGmTUjӑ{ 7J@ˏl i>USl3i{bJ}hgdġ $BM*ooP3~I +{BljIsڧ$xDDzp#=W|gӴ`֕9&'cVPhscGOnx%5ʯ[mhj?YB^lx59+&HyI|BKF.2t!_;)+L 3I^fFd¦{CR9Rk,FZ'YZy@oPҠS'V9.>JL_Q3AAcoI #} mmXLhzyP/3p^& +-ZRȢ ;{whnN㖤Տ4̬3SSS ~׮P +䒀YfT/3 4xq0L-NAM2*@iܚoh8Z!ѩ&%=Mq1:^[[%-.e,QrEҋ_}| >Xsw-wp񝠚Ty!7hb"(0BVZAg@>5<3`6O0/ۚe4nkx qDm ȠU-qE ~xQжeebB1PL4<62`k +|c:I^smS[=[Oc{G^䰌M2ܒd[cBZb}m0B#[cڮܴ5f19N);vw|ItҶmhNEB]Hv fPYV"xτ)&STJðڼt[Co ~ok1^%>-vUk E Җl}ul`qU: +(t–gf"iK.X3ԼZw\4˂.;X˺n{Ӡ '8gCvHǪ 7K( i] ~hسsۑ'olmm+\<::x@mZYԀ +./J$lk֕u% e +-voX:zS1wo[ ЀXg!JIUoogo}%[y{Y ]ʭps+Wf-K$"3ǡ!Hboˋ1xŽ }AWS j>-cWZϝټd5f.y Б"tX g@e +{Q oC懘 ~oxxJrWӍx*hS?:6GEj8q&iƸp9IL!c;/hhg c VLlRmh !z bBoؤ9v놙{E =p:6 Xx+<''GUYcwV*,-I83&نAO 5<'72M򌓫}hp&8 Sb}|e.MtĖ8y.uۭvs-wRΒptMT\a$' +) :hʰ\dVTM3 00+sZ޺i-Jcc&M#u~^kWFlPzuF{P\#4ڸmUuI/X7 lªPS6=ԟzG>{jEnK)IAn_(2w|fș o6ըS/e!^\nGA8;^O';iV 3J 93n]?<%y?,5&J*Tcg9+ }EFtSg:UmhC/Tl}klPb˶M,Rëah~v`o ;7- >hY!9d ⵽%e7ga|8ůFlxmBU }vVwm1۩l`ez$6\ͲNvzVekvG1W=ޗ6*07];!CH=cq}flWqw۰SW˳BMt(Y aZ~>K>7Pkz&%硶{s6`|W/Y1~Kg6,bЈ؞Gڨ]hbޫtMsgMa[D.ޱ+Jj$6uIOjUfWB'lY;6}Ah޵Ӱc2:7 ˰>bM9F>ÖĴANOv6'IvHǼ ZSwl"q#Yd|f& bAobO+憚A)OuD[F6|yWotUEC93to([Ɣ}3NizoƂEf#M֩ޑ<,j~0aW(UL)WV%fI3 M[r + pB8QmY?٬9ȬCltVk$s:c_{QF)!**o H!$FeyzIC}{SrsQ|vGh>?( kz2ut5LEL3ҖFi>u5B# 1>LoOXVq!1a{Y!4@g{2DgB: ~j`^%13LyMz/j>4 .>jW]C:2h ѺfXM.L MiF<0!Ntls,Xp:4 +jL^@|:>fDzȵ;.~OվK4eg2šۮQ 3}YqOjF+kp*`^<5 K11N܃(,:N H[ ӛ]O:9=KA|яK]qNrMIOsζvyVvL=/ωBȭ!s=lD>=c~u=`04Fӧޛ +5Jyi,֟Y̴#7,ezH8;>"ab۳Q'JA1Ѡ'vy0C&Vb.We/A+g[Y?Kj 4LxP0,y*({FצB&V]HPSH}2 +uڟ1zgWvlmQ393N졌1_euUHzg'zÍRN[ 㑰y sͅnɁTʪ5oo]5N9'YS=A?(UK9$u7p 熮.(03G0]Rf$dq Abf=s+*閗X}qGM f 8BLs%ȋ4?4+ṴݼuZ4:& 3b,Rr<>YZ.Wuf|G[Q~OHz@e/mIA q+JZiRHSS3αnE=ċ߲p])8]]a˽2\ 򜲋8p#f(bch۰.u>. FlGS,}cТ홒c%=v׻цF,Iv|Pe)E9l;DUC@3=-5,hM2=kl^C$g30?$%@~/x,_zYs$ y5ՙe*tNtJU_Hl"{xMButņ]W _{vtEQIB+= q7/NBbdŜJ~-hWՓĨ+k~:(勆e%3Xе4Y6p*i[kc1c:=ZMl[~ $I~y%'Wc2b.BS](׌b|MmSτ4fS+A ggk{|m.1x>Ce.$_t, +.I?iidD2yr qJh&xQ8y.i׏~_*9|5Q_Jx%;U"Kw룞|F Mesw[ˁc%~xғ߾yOփڨqbY_]Uu3UP <{>$S] (9]7:"ٝKe$C V}B5xR=XyC"x!6έ'/QF}ͨ7Ӿi>q3p;} }gP̡:M>ŔfprbHlg74+DMƓ OXÚ?b_U$p63)US z&\.t;]k$nIN"}IeBKQ?}uv~DJ琨7sR GҮ +xw~KRE3Zgd*|rA7/A_gyD]ux E=|սo+:g u1lI^VX.;OonދrŻK7'|GT5v|!C]:I +Cx`o>L6&_,Ao"q._ [4} +\;7!G [rA لe?C>ݽoE\z q+WTwAߥ7pw5Y]:rtzVTW&CC22ƙdNF*>`68K/ /={ z;?zJ|jۿ^}_zHC+b/~-Bȿ2(Oꚲ![H솵8ֻ/Vsp<{oxzz+65w:`xfl' 9IvFX>:MMP8 +/S* 6r'g!1RϮ켟KCSdOyjuSV5p͊iaIF܌iwʊ[z5M4(|otoxaz~se%P7>ѕE^pWt| +UldqC4;Z~0+FFCAE2ܳ୾+(nQˉ9?|}ӼK/c/=(tA%oRi% PIJ.TJM˫[WmL\jhI&ySL?+2_r[o5D> (mǮ*|RcQTm܊iR zr*Cy䂦 R* t2X>X0*-R{pq'a]Z,dcD-h/l|OapRA}!}dNHPߵczU*|UR.t#%13eYQP ƺyyO,osz0v)_n /.=xm`<jXxd#M#Ծ^iQk*EįSx 786ͤPt*Xs33&l*AϦB阀џe?oW6,fp~ T磄$ԯ\RSIB f uH`nY LH+؟"mHh RzˑJQiw(k,][U-^-/HWTF]}gdKWgH[wp>M:vԤ5EnNץOFEB{{SXUE;2[ '+_..gc)̬6"(PTMZMmOQAJ`ne'ttt7 hfBHi3U˯z| |-%\?NvE6`[7KE򴤮p? w 흓rXKe(Ckӥ(|32׫Sf(=yE5WA?_/+ct~VPJRQ*sG:Zz{^3 tvJs5̾q9{Tk+]+HSu-e5Aێݚ ]S}ղL+iBz:/&iT cLOh2zHF<]Q164LMtu9)lUKE͖kT-lJle>ՠQr/*# Zϭ nUZ\k$=gz3?VE0P+@E#M Z=҂. z{/ wwD8=r-C0R6"Ҧ+'.Fjr':xqVVB"i :m\X;N+/+jtMmMsOWrVT;9y/;wBf +:?D6e.) \4ڂy&<_N4fL1& ?sFD6OVԃ.]mّ4> +/ YW'M}lC'^5l?C1ؘ7՗8P!25j~ZVR4;ۙ 4C{qVlu"6MQu@K.cylQfs\,` AK#HcOU13{]BM[cl*f i8>bs$rXաߕAe!7cm4"g^CeÎ ]E5wH)>jS/ hICܵQRl/gq^@Z5Pu73liśOirBơt|ybΔ9 +Pƚ*teT)dCI_VZQDJ_V %{r:dK^P.֕a<z #E2^Jgs"MqЋ"ߣE^kW#f>TҐn; ٙGqɟW56ؚdbSEsMq,1d9!7ln`O^.z ~z }RReM~.e9R\WY)sD+>^4' 5cOKiZ3 س,x̡c\ټ// \J}b? _+*tEyop1Qj۔{`bĤ1#{:ok[WW7*ۓ|-=eSOL‘ :5R η6 ^gcK/RVUTkQS7)#b9/KV+IbjJ&1NN;Pru}݆ߩ2?5[Yy H/)xgWҭ[&Xm 焜j:ȭ%Z$wm!br܉>1Np_ }Q[#O +Zb? +~)&.Y=aRK{]kc6ExeEo[(OIK7PֱC15I5"Ӯb~=s>VW8.PG;TR3 sD"x葪8ڥD썧ϖB:Z:VꚊ}U9/ٖ |y$٭||I,lU`R̕K9)e??h7;̩&Y*6-`4|Rm۟憑Z\n:4'3 Sǀ9lEɄ8j]umۊY؈Cw9:ʒvv)2p_R6׃j(;g&Y}W{8ۆZ|p*q_L"B u1׍Q֥%$;=)6xg#,;V]N"CW{ +uBzXc=xg gO5t_ + p(JjS8&a,b|y''m9{|65QB/ro3i5IWǐaHH?6摂 sYV&l{(s9᙮26BK%,I޳u$YFPb!:TTtyuTÀ,wenzǭ)rKAιp į<ʗyed;w/Y[遾PUx'ǡ~"֌G澢@dY㕙wW'Ft5Y쐣#P0*Gئ.W]PŸ0*xۤSHCn elG丄lѢ4TG()\qbs쑑ԡd@Ǯ$$)n=9p@FTsXQTbgPs/2#0 ;ݞqԒp}k2-;+"G퉀u-t_kk@pA'*>ngR}1>E 9bbЕ>S v4EtC_}u;/:H3b^;Q_)/3CmqĮԒzk! -zj_H o vErB[UHOZw?}?Uͼ?ߔtg9ߓ&j_ ࢯ] 3Mg/kˢ/*SB>L!Ellxv6KG.^'> y!';Z#$Y%4́!f.ej ڑrϥ%&(y,1x+Vv/Bី<\y5doൡ*#*ߘ?듮m P)V!wcܟ*{D<pi?IbQ2MSKp{B·n%*|6 :! @jK/wg&\ PYPCFRV)/8){␲)w~TdgCcBų2Bo:^o}`9Vr?8"zYKQ~)<t5`e +i1v4ΔU2D+ +!iq7Qw8Sӹd YRKO,pk Y_31sc RGc#t13pY)Rjw#jWSg-|gh>A ygЅm,|lV̷<!R 1T_ycim``ދk3 6/r\乚qʘԄ>b_ ߸-TEUeY} ^탽Dx |dw!o7̓P#f&◵nT]̲I)!"4䗭gKx!VTo|I6.E5'T_dG\=MU8%@FNrsQZ7R4 MD Xr1:DWxu  uҞPw{#o'b{*nm&kс˝g|*|g ~#ϣqv\%"ji(ݕ;ΉUIqV֤y 2F%!&ǝ)ax$Oݐ~/IfZj*GC]-"e5@ߝjx'jFC + 0wz_qo EI1Ztb(=!(.+iI#fFvkKׅO endstream endobj 35 0 obj <>stream +-B3RmcczW* r]Qڟrr)2>Y 7.: +V%\L &"9sM9OթX n.ϕ*;2\=sNi6p4l?*V|u]Q)z. W's p ?1 Zr)|`#C}/`~]q@ϷF(|r/S]XUq[ϸPt[D4W߱IIREĄh}}=ۘu{_ + jXqbGuSM/ZNϳ)ׁ D~5 2Cηd>EVxu^\X|>m*K1ߒP_`k<{C5Gz9 +n+cbqzhAB7Z.dm6FM{lA^VU~6טr}9b+نo6P<Ԝy{!n&E3K?-@}m'bvڽzh蕡;u!\M;L5J34mF|brʌݜJd:+261(GKiwwyrt"+;c]A𜳭Y}zd <ǫK7m؏o #WAs^8`sw|ss]U-E 1HE9,:9 +?{llxnȺׂIz4R +@x*LMqMPrWeIɻ:xv6|CW`= +BL}#``>b9\C+ڊ6$Ͷ]]FHеc=%虦ʸOA;] %etu4 ֍| >ZW3*\# nAIىׅ˫ٯuk#k!ǫ#m:aCHUcaE ?ζ"]dP ]zL/G͔W6t82ĭ%c'OWk}uTtYCAN82"E^ͱO8R1m5Y.X,~g|Ć%. ]ꂽm?b?_oDž.v=շ]x&& .%'ix%[2R6`I̶.ϼ:Nu}e9;5'v/&!MRo^)Y~b=4y9ZdginQDFy5ޮ"FkCC+b7Ӊ7aC`Gd?_|3_A-}E zԞP~֏ Y% SMqW.vޝ 3@ ;5pIbFDe%?Ϲv.q=bSn՞7򆂧E!_bJ3W=O1~H!uw@|7UqJA^nYk ELH-fE_]~leol!}1/JREN`iyt5MF)hYSE˛ظe6&EGOG06e]AF,= {3Xe1,N-.s7-ԷsJnds^z>_ +80m'om2J⑞ ':p#%!DM˵M7#53JZh)|Ul}uXy@ =⡗`o]S5TpV1>l)({maDT\>2|s!|smr_5U8enl^^"nZ|ie5Q.z!e8%#w'Ftɇ:dY' Em0Ȱ!|$h[^ZyM) ZN{h ]see˕i6q]?.C.ཤwBB{}gsA_{u9X8 \eP 7-25^SW' +u>S߻Srzu$)dkYp y5۔`OLI]bYV;< +E]!.|tٟĄКbʩv*`Ut#ÑE߹;Bx{q #Dox&]90`{-,-{൩!ʼnQ-&nn5"w 8Aǥ>G©n95VZ/+;1-Bs/EF\q|O!;SEXJl"\skD숋&pGr򲀘: +_ƄO"}g?WEs=r㱶bZJ" y*'Q@2W¯5m3lܡ!D>ݑqYFMy&.džG&dk;~y1 kc?Ӂy%ˊ]Sl[EHWoy9<v9{ +9*eZȏ;bE&[컺{nU H)|O?~,86fC>pX/'qًWaXWsmru"?a?n ._L="'ś̬])=> Զ$1 ?є}1/zjOt*H=0kُVzbÏzZP2ݐz]_xms"E %%iϴ5Yr.%d\E@AM:Tį or`|&y7 +|©8ѱN4,8:tks-"g`Rj6INvJSOt"b#_DiƗ%1BLe{ 6v`BMmcXpv'+Knؙb@QWq ,`{֓VmK<擕Հ>YC-6~}(ŶR$0M4 N&10':lMV4ۙ\ߒpo3_k@U|㉑<20:9Yk&N91iJ2*j\j6PAhYF.cWF]D\d)6]|PfC 5oy{h`q//4f?.|w&̲ UU[@]4P28З;|UEڵ 1+w k#%Qz&˽,pzRtXVn(ԂZ~:UaOt^\6:޻I"D8*tw aW=,M)Ev&drR@\9u +I]0>ؓ@Xs\ؖB}"rSs /2ofcXiKK~4PwƱQIbŜ/3ھMe_n/M8_mh.mU⍆GKJC.ANj7lU}>TСH&6&٤C=`Ё:~"Uʖy.뿏S0sWE5qnEѓg9%O+*Gj,sV-9{kh9U A>/ˤ)ƃ˪]%A솦Ssu˗2Iܦ*p1'oz8ȠS=-Ą&pO9, #z3_/%{l|_Zeݑus-ϲ5 _jm q{xg~s~G^QbofSoL"Qqbnpi3-i-vAKYׇ;|&V;+}|&glC̣ pi!v+??~& <Š#,t(J ڗs9o\u1tc-"&팑uVٴifU 15$]/x C@>YHGJh; e#YH}p5NIwKBE~1X,Oej)xl<\?:L_xo ;i@ۤM!6Zr*}- y/: 7EA)l92o,Å;tuN- y#di f@Z'?1P+7[L"zh$:aл̧smeSwκmEՔ\v.^ ݞ/ն))=%bbO ~f3kԴ>ħN3f!"CE+JzlVu_~XUk4ɾE_fIi)LCqDqk䨅>[ooa8GsTpe׵>R^?ʳe&îæKssNYʡafpÌ·n t:+=RYEK 'ϊ+0is "PIXKS3Vhҵe7=‚`N%.|G=_푬k=+= .y%UTP,<61 Uu'K rh]o +f:!'r^z{2Vx1K@˵kKq56ơ)uبu6@̡iE& 8-kiJԏ$Q2s8.Hz"K \tep=Z`9Gd@.*>NDC}@-:[(_`?.t޹&i*k=wXDeC6x%#q{5񋉊?3{'yg\y tC>Zi]-yq2MCfu׵iGFՊ*Z@.v[*wh*VyIxe>6aG:*hFqb"9Լ=!9EHvMN³Y6ޮ"['QV9=P_=.TV%* 的R=)k ZFth$?n &?%:F mP2D4"^Z*.jMP x<́G}I]Sij6Bm󞌘)Ɔ/WZQ{bO=qy0]I^uGX<^ZG#fΗ1JgGB _.|5ߒ|9 uMDY_Le3`D$9jSMzB?4RZb,71z&`Up4SS}8S]y-Üpۦ#BoeUr"-5.q+Cއ*<ཀྵS]9ܶ: e_p]qɑv ~^Ы/F>ڶ>`bKEG'@jS,utǗ/6AH;2OCeiaHu@\t4[S}:S:Ј=i޻WiΥL4hk.-(dq4 +p@γObNUjIIBGׇ:jM2#˾?SM78}iղQ{qei?tvKeTTDIt'h&'H{ MȪbkgvf9Þ8spuB $#ww/"#GۜSȊg܍ؘȝ1%fh5{C6ŨIX܄MDܔKYQ/`dT^΢LuΘ}`$hM['MWd|ޣ{;5\{x像mܢH$t-b/=W޵WvPj1zcF^%es^ܳ F2FP'%B$;)wKk7lPE;jZ +㴒 aִmc]9A597zF4+Q$Wvyw1j8:A3)=mԇثo=OGWSNNt|dlRRC3+/jz}.iYRiTLpdtlL"Utz[dզBjHYH{^`ZjS6Q 3 pC<885q ޳܇ +>r;Z~]%/%_C^s֔6s:1YzE&Gk0{O7|yÔdH%9MWq@:5DžOwN٘}YL5)qu38^:T(wf)7w׃V 3tT|c⛶u]b0I^nڙ".9wi4@-MA@&EA,2A?%;f)6ƭ=#A nC΁8Jl]뾒syDvߛ +h$ ˞ޢϦ;FkDhi 5!$_ݝXv%)+u hi7|+#hT.K7z/J~/’HU(n"wՠ.h{"aoV~X +"jz=\X7io]a=ÀיI9In :® ^[zr[i\918 V .B~ZXX_F?\_p?z+CđQ*̷jI ٤ܸEL{<"B`pRsۓ`=w:Wfu6a}w9BiPnj=%) 6o?8E ' bZ3~:8ȕ_)T J6{p>DU(i_uD*/$ǝ憆ch ^zauܒH.-Ei' ƗLh،sa>t(4nQFzOEB¥Z2* )'mSVGBw*U +}|}z= ꍨQ"pVYV6V+*jeHŬ]G1Yب +b)`Z൅yQ֋Hyg?K)7hv42jX3"ٙ#5sט|vUѵwӡj㔒7سޗ=Gh5?b7SA 7d|u4$"xvT@k=A?Ϩ/Ъ*Fop?ϬbZyb}więQɈR,TǍX=o_{y4toe3dƑ^jks"DtBd-]I3t~g\ ˺\ߙo&;m?PbҠ ^Bbzp{ugSnͿzuۙ i$KJMϞ3} 5.:G:/8GܘbO~%&BZ@Cz|凵w[+jz̽C~ 򁛳 {. oԃU_}-h&Rv rJH&؈͛?d/KVOHhѯul.{ྸ y|O76v9xIglbcōֈۜЋpQBZ~o됒VA)2܌ףz5XzZ0qzZ,F +؝q-^W@tF@{hİ(1le!fBq,dbq 0>!9,uy7M=Ozz2y~E N;4 +$BIB+#[QY݆/\,c4'$tp:('ܮI:.a#S,gw|/2ћ#s}zZS`$$e}^2 ֡/j`tIf;fiX)nLpn.jbc۵ẘ1~[dSk23LQL'怘 -#^ iMI;)_ $]qI3;*ByF7b2XУ]0q d[X?fte򁬷8GC*LČGOZy$3z{Tĉ|msW=MkO٭[RVij5%jt瀑ܬ&a\E 2jO;6,0wǖ!.yG M+l*ςXIQ="r vRA&$mKtw}! vRѮO*N;yޢBT1& +4r!s=ӓ&vgDqC).1 0찚׳!Q'_NNuJٽ1p{vܖ)a8`q|q|Ր:5cN1;>Gu̖XҴ7o?Z m헦wj~grJzQfj swo~ғo\tBG٘D{_9{O꧅¾Ib`oD3A+MT54,Z*$B&>*5kauWS) ~0*":*,Du8X̺_9{M,^P~u1c4"^ &mϱ)ℴIUYzsmYG d n~YxY ڍFIZ4npXˁF^|]5ptwQ*I۹heH4zOղ|Q.$%L]' YKY;OmR`# R[jv8e׹1\iٜ:}{NT 0 OQbӔ4|y1̯W^4N[K1dBD<68.̠.̡oOaoh^΅lra-a\|S>-94l/31B ثΟ?w>20ӛz ?o[gU_P.'\v>lVUy@Ggd6v_!bBLHnQog%!-<3w6Țޔ4s)32ޯ;> koT3|M߅աQ͛.1kIZc䧌C1ђjs[}sQrM(,;Yš'3f2z'){ظ’H[x +J~3mI %2wvyٕ}td{x.ku\nŗ#*AEۓ5KYB6OQ'Oھy\py74qz[ii |:U˒ZՓu)  )ib:RU`y 2ak26zIip^ݙ #ko,ڥ=i`&>y hŖig7|Z^ϓӿﹰ0QCy^{ a&?|ssDDZY䕤}~>t'afկI2N̡ΆԄ){ -"\-PWZZ |'=5?mښOW^O9iFX3_/=i!c&lDXCޜ%\᫂޳EM33@@N[']]|>"UԆ0-w}qnx,:BlRT)H7fVo"ǭ,Ȩ P&z$䖬ͺѷ0um +uryA=g}}?[ ץޏ|ޒ?l7: A-=a{rlu畄&DWb~qdiWUX%w/ڿN4Su' >Ӑk29W\TI߄fڎ ݛ 1=; $Q/@Lΐݖ8@#sRf&\|8T!mS:4`\y.hO_4l5Ou,[sA!HkS움psn0p> 2NFxޢžu^b`5e\<\3v!uk|9$H[X(Z=0( o.RBxs-52(q%[~$(gnjr$,4LjĤFY~8/㜴+ʥ5Îܜ!^?h*&Ue(؝u|qVr9s{NflCyN;UzBﺠ}ɞa-9bw% +  FLoL.K;fPL;);\Xy y!òފQTݚVulʚYݐT6&[oMa/ƌK{'y iH4ʸE 9ri`~u$]ozO'4]c?/av/cL 7f̵>T%&8[qVֱ9<yiR#+uq@waӱ۳Vzs\u2j!Z`ތ8 +q}G`ɯuMJ9 kK)d"FBKZ}Wyo 碳r\T="$\SFOV"'gĒc7Kq{RvvoB@_gTlZ9JGD0;sn)cV{TX֒޶} urI eGm=*87}Yj|#eQ$u'yF]\fL7jE&y\T92&K\/zy'Ww:8cU CǪM h50d ܾƻ?x5CnnHZD V6KX&5@(.,*@@;ؼ=K4I ~c'yU2x7Xe`ݹ196EyxAM=}L̿0 ) 袨Q@7GYgKq~X(>d ?S Pw=B.f/ocJ썏BXP᪽oھ=́q#]'*4{?l̹D]/8ʹ_?}7-߅fF>*o歜ՑuȀ1Wljcְ<環8Ĵy=,gW%M¬qvA9 i+*8+) IZR~z1&n;9z(䃃ߗĬ4]-=Xuyb⋆C͇!`2r?gB -s݋yɎ#o2fg׫Y8*-ɇ.6$\[~tX8N?u11 +B5@)Nۓ9EcWEEg@|O;3苀g vmrޞC )kӸ1()3=խvY}~$u2Arzs!bj~7eԛq~vK!RQ +-%<#!XpD~﨩5^ 5;S'_6~[ |SJ[ ^|[T܎δ0F+eq=b/+,ˆš9!/DJx}rO3[Cλ4нqulj?#ЂW64ڤ柷8m@J}e^'0w~ctrVe]*O* cO* #9:!YrN>nyԜ }4b/=k?ns俯2${_ف#ov~G8f7;pdف#ov~G8f7;pdف#ov~G8f7;pdف#ov~G8f7;pdف#ov~G8f7;pdف#ov~G8f7;pdف#ov~3T??r CYH{3s>0D WFL#>T :yԙC'hڡ#PL$3-X4 `K`䡢C'?)g/?}sΞp9}/:{q玟:ys_8} i'O=y +tTE;dLHu|鳋|㳶'0oy+F4L o7oic0t<Чw:u{0K%`??vP *:y桞pϟG|3wsi}x/(G)<*4|_+`*>( X]:?=)`ۧ>{KqPߡS'S`OIC?_/:Ptx?xÇ? CΞ:u5@&)-*^{p0&fWIkꨊP7ЛNd":v$@3z&mS! +q=n?twK)ڜb4,!oʢґcjYD܏6 H ¾ zgW$%ZH%BfL2[Z1aUss'b*BmNk7zzKåmVlkhuQ fs {R: qF1#pگ#SYf} 5BTt^JzPbOmv~Dٔݖ։ >4eZTli8QHZ傔]1*9ůfٽi&iftl|2H31[bj]Li7zv[Lo]hacTLm[]DKyXib &i Rk*RyQɧebA*$mw' 3!1v);qpq*%ULZHis9E̴l,DFD ԛ1#)F[&riEgR*P0qi?q"W"J@CfB 6, b r ?ʺnV)7msn.nԝ1Sv:s31 2 )Sy$O>rr ZfbmDC*+I{MOeݐ5zN!=iQ@,0s9b8el`Ԭ椊Ւ5sVfgZ- 53cS&jsRK@,XCD]8G);bzyiTIqBBx&z/#N缊L)M.(c 2Zc҄/9 u97%jA\ PtMHJ̉);9碶XC]L۔O (u;_4 A3>nqDlBJB(uQ N40S1+diwspYsrn%mR2ff'q?apgYvFo+ou:ѓ=]#5k8u KOGSz%IdvS&ʻĬݞl+>2`f̍|R59`Zkfk r*f!ik`՝2Rbe`u~m<*j26fiUK/QǶQEqfRK.olMb5v}p5bC:VDיWu2 +I =k Cf#i̴ G+ z{FOyY!E K)=?ws?YVNױ)1toOJv(Bc䫐\8zZ⛮[<=6qBҬ\5a-C7K؂IvbahOI;+yKxȂUhQ]6Vf;N&쮬yh0%ՆQyJ"ɹDE@HZd 4KiIr[KM2 +ȑ;`UXx_R˹c-֨U QftP({Dl"d .FONI6&ۿyYݸY1#ie#&>:n#p4:6لԔ\uP66f6B͎\r6V8G$eCMZ 3vψQB̺G@NZؙbխbgsVVWBkYi ;k 3E*&Z\J̧"7Ԕ*ͽ/ ,=/b6DԸYMӻ xj +MhݐPsZZz}7L6B.rcb_o-^9rhR2&VwQ +shqIp )me9fX% Ȥ\1Q 3/gwqe-W ZJM.z삗*uT1#ny0; F˃z3#~: 9,T"$@쾄]Q<-Y ++Cr d@(k +٨-y/6[HWVie9O}BN%dd&}v{ j!|[པ۬wI̭kZDk.8Ŝܒ~Hy?[OHe8k5Z=5|{Ҏ)5c&<80iEu%iPS!1aH1=>ef㮮%cp077R:REDOݞ&_OSJ37Ψ]bVK<&}ua%+ 90&iD^;4]ǣĹ +{%a"4iB;v66wR ke2{*a#cr.1;K ԧFCwҀAFʹޔtrY0\C̺dEòlpwQ+,9/Y'E [YǭYw~aI"- +Xi0 Z62cRV!`91ad\LuBo ]&ȰVq9y#it ȥB^zWvYK/ Ds>*NƏ`twA?8z"VLPђ&̈́ѝXvzdAGb/REDij"iu֫Ip,/kD}']j={M)C_,A @?&uȂ rޣ˯;w Ng5M@~&bUˆ+zϮk;䉸"$JLlϢϯA>nߨ%Ũ62^.+" ,bRGjq1R#ZjRp _g_kn\l쮛L@ i(ҍ\Y M!O_v9EH>MlkǕ- +Na>"+Iy"[攅jhYP19P69Dդ$iSVͬS"̭8iH1t+3`rmvfuyVd,Db&M䚔ڒPYgm~4MʎRFZ}J@c-KW808['<{zCDŨO3*FbhKI+5@/Q&{O(;hE CY_ӆ~~ +/a5/ks;bn] zqכNZ9qnOxvx}PJ`JZ%dcr>)kclM!OmLt?ݴ,#)~->/kI#9ce$L hui4r7''k=*ڙ>;pѻ.0 s&18yB.jҼS]LUٸ@,uP]eޡ)m\`35t +0& 2O; fipcvG@ KL̇5jy\s ɺ$`;FzSla&u-r`_ͧd􎐦( f$0G%a#! =c6&%m%xѴAHK, ""8fra<46"z +y +wm]v&F%Vޘ@|w&cQ&!%o7~I֬ELI@Q Y)bj쵈H|4pm8r*AivFVgFtB|> "WovBMi=yevЅy4/8N(XmpS ȝХYAYiékQ3p7 4AhYͺ|F/͐ +Yi7/bt},t'- <x)~9w3΁=Wrn*$u?ri' Ȳ_t +pKN! 2vpAI[cv>0T.%Ը|(n3Hnq Jpsn`}[x3HicQ1|?` .t-b,O ?)7u^, rtb hix8r /n㡒ui jYfI[~u]m)R6mM8ql˲L33eٖ,&Cwܵ{?1[Zy:2T/ʏ9Ls)Sd:Ķ +Sf]}\PR8̧sδ+ظId 3ƣ-.vjXH +9SԤ~䓝1B4Š:ӇM86Z@܇/$]H)YYRf7oDy2ܑty3i|\hXhv)%u[skƖ+jj_|DGC-`g=|Ur5&N=EMS-RF>dEM9EY90:jm=Q{JTc3 + _q)W{ӄ$ ,a ^Aɥ-tBޡacl3 izK*csq߫ +'TaW!^Y`q#8wG|T/}y ՅEa[OyXSVf+k8ZUx;"rɫc丅Nr ZsTG,O,JZ:Rϰ(XҲGP{p8X]ki7V)c grfL[G+fصQV:JM>U~sqᒨ,[fCkri[WVs`.kWvB2 Q +.ul iwmlQ [|MJۙEzՔ, !ƭ :cRpVwh/J4Ys|S!1݇˖qJBq]!$"?zg (̢G9Q?JV)pwg2@fq.9!UmEOo]GCsn {2LX󥶬۶qBGqx=HV*L2zx [0&I3ok8ѼݾT  o>HK,PvePB ~(9( pG( WY/4so j1%0s} sN +BiGZDŽ\"zp60&pp['8x8N$Rp*#h-BXphQD=)tl*s(@{@w|b/&zBQz\ֿthl* cg> =>GMv8E7RMZd 73 ^G _ǾL2%n5%ۧc2ܶ#flNVGr6jaR9B5vIS%;4B,9qdw iTRҖUb߼o +tQv=$K˿PXT=L|_ gWFߜAExcҩ{7[3aJb_D/zE"klϗ5x 4?ȗ@csy J?Jwi Ef.3!ꙗd]̑Z!9F6# d'Br<Q031b8`)Jxz}3iɎ9fu2@xcm1^!9J fiZmbžu3 +>#G/Zf\ >CMP[,rRҜм3>-/|u&Ld_[Ϋ,|Kx +<%slf*DU(<U=R`vA|m@$ev5 j>ۥJ\Z&bo)DŽdui996UYKCk)Zhֽ>C%^é@|lt J 6h`|dR̲kʫ]zP.<&ʣ:y(Luu`,vCc\&/0qGtGLs + ٣e=[AsYܦP}BP<H# ymo茚qߏ$Fѥ_*}3A x <[F@*,*`ktPZ]%g!ͧ![,JsW*xt~3ˢ37rn=cU&Ͽ$(RbZ׫&K%>#B򡾸 xlӡYRz0/曏xtjIK03X 2LZFy44e=)x1Z}$c)@Mfwu72z174ԁVx 8C3CN*Č f4%9ys{('=Kh$旲ɔsùw  OMHi=SY-䥞  B=4RIq(88P[ ʀ *TOM9 YIEN)p!S|0r*zK#@o\>`SOYhխdœRrO#@,^\߼:bKKAk¡lp?LtM SᏴ,T@C+p(>Po.}g( SOcҼZL챙qբxB +E@K>hC)y%)ݯca@^ܝ-|6DzK,'ԣczJ@ efQ[(h>-))'lOܚFxŕE6~?nclTNlUX(yPujb<^qgPq8^?.nKנVzIU"l@ oE Kj |"Gf9Z*o?\.k,W} Re?`}x݋Y\9p96ȓF>xI _xPQ3yCwF@l[E+uWJXA=rLAh)n%u*ZehA{ײ+oiD.UJKߝEZg1!`oJ,B GZ*&v1sK鍾;^99@!ZaA9ChGJbJ{gh9n+xݲ͡#,LV?1%{0ܫ`ba 2j6&R9ؔ δ Ԣ(Lo":ThUq1)1+O:C# =,;Rruj;<2j.eUL4DgFu+y8I^=9׫|\2?. +K 8JO 4} #Pr`0^xh<\)K٣y>e%&%ީ(|7~co& `1~Muˡ@'e̼};Cܝqj=P|XVkxul<`"ʩ&٩y,Ⴐ +OX\Fb.s@ VM2^X,=ZkbhEX7s# [-iY>LY6xi#Ĺ4t,& {X,VD>31ъFlCOD-6Eow:Nʼ@}FT" =xE۔Ƚ񢧀/)'x _U\spl _( +N3 J"K-6`W'DdMY >ͅRS;)C=>#tI|گ+^eAoC31w% 7N@.Su s^(n}IXR/o$[(C?Z.k,0>ա'U읇Ռ.=^+9X@w@sytS )O8"f?+\.Y=S̫@k( o|Fc,,+྽&.ͥ}"1eO%BUA4G)l ˏLŕGfQG3s`b}~^MՇe!G>~||d29nރ=/m8<4TJ!/y5GEtJ1~eإiݗ6i!J"4 !rGmec@[Q{x[ &-0ŬY>⟹P! l jB\LٖH%y,+ V?47Mۭ`ڒ +hmgl,5( +Y,u$y +z$M/s:c _u`IGV +,U3##=RENLs23 }?W4@9ة<`IrVIK_1ͺ՞yc1m2x\( gގV+KV?~.CI] .U L%<ܞyRߝƆ}6shGF:ܥdڀlB&o T<A1I*z> ,|nG%9elK.ridK aSs^ꔲv - (KdỵexET_\ 5"/Z! < +=vh,p[\)5TsO-dl$5>WQl-fl/:(i +㼸x78%ǭ "я  Uѩ筍,|hݯf{q%`k)9+f>4=Zg +)]YuPV8/:^`JL4Gp +/N=.եBGBƚ>گeUP3<8y 1 )-hswfד2jl]KJG"Ρpm .?x ~!}g3hN@ ,AnM@;@}\fb#r,=X;Z,Iރ)9^)&i8X=\9qXV vmI\ +bC0JJ@r˝zX;3w I];5.;tv]f(\^ +\ef:1JlfX n=5_ IQQn55EQHj2Xp^ GFD+((IMGyA +!6<010ruiBJR}?E*p%vwl96Ya~# rZSA5cCF5kWsNRH x~ +^.TL5e}1Dڛą{$)i_FNݙ$E[D>۵@@mRJN=ֈ~)}keW{$kźNQ}I^9壉E\΄@dpQQYfoL|U 2VzBOMr>H^LCKYCkE Pu [#\`%ձzb_KٞG0w=zd]< +'C9305p95g;1b>]W'O*Kw:xt-9hM"jW!%ky ~d5)Eiwx xMp X(`L4WG<xI2eNs)yn-:ޭv}m6譃ԩxc@r&Z">Z(;0ֹbBx@<p< }lPULnT 7/p-%˥!4+kO{@Sq}]&HɵNbB{m m C:OӔ4!: /zѓw}#r@O 9^%#SFwȉ^%-+fӌ R ^钲aZe:AJp̒l$#ec5~b#R\ԵCNJܝĆ7g\/] +6tsRtuWML۟#'YƩqJ/E>{ O(iٶI|mS>Y rXGf˭`qn5_E-xڝs9AK+4\}GNJO=w? dcs!|;1 ꑙ(.>:\'Od^^=Ց2RKWsޱixIZCA >Y eͥCgQy%ZS&"&`Z9gx$*ĮBG#h 灩:z\R{PfcA0A>$(>\ }FJ_OLn^~^N17/yw.0 /sv-gU6Fvʫ]iZ&?C>GHԫRv(#pM#c !ƣ$$l=Y, +c2\KNL#Ʀ?-#h]ݳ`X#ONH)c+{iVf_͞+)LONt`\s( 1~wܳ\OE:9iv0 f!C,]u+js_CJCgq:uW*:40_C#9gI39=xTK&eR< +f}iĸA!K %9Jm1rֳfg;yᚥeDG C4k!%g1{ؗ[@&ɱij}?-9E.)+wvg1<00Q9jGz@=<0MA|UF^OIqs{# y4Ԭ}.f}ʡ^$gb&:¡Y'Zl>\i'XU]?>zK +(q{89d1E! h9-GzsLr!ѥ(ۥJ7#6#mqwƨ G#=N#rr%倧ֈ҂g¿E>\@'nУvIP{eSM>ArJ?5JV Kܛ >Ema^Xa{1b92>zz>K[m\E\sS :%@gUh$ֻO/|Rzց]dҏcmxoG\ν|`g~}Ny3ޑvc6˺;w#;j '߫ࢁ&9gD)vg>\xP{q𺹵0遊Qxr8r_ÀlC | )lYx:AۤT 6rm 0QJ)j lw塀[aQbV/Bkޟ۱3 ^:MaCvsSd,H9ລrJ{6> l!N{O[ ԆzѠ. Z0 J, l7`1s+`8`ģ~s  3-y5& i2gc wwk@G\BHٟcoMjrIũ_Ͽ8ga&Ƹ[!5`!uCsSAS-to*:H؟&B#ԁ?܎Kpd? +qpq~-9 C>^mC=G[0!.)3hm jelwh莱.uykvvbJ3j RF'bv)l + 1z0-vgz ~w-ʄ$ ~Ɔ]'D_u.6g_L`e+uW1JsS^|0Ą1뽨g}ķC()j'u0:xbj/?)aX'Cҕ}m7(u?NGC0$5s~-TPRd<RGuS}W `1";)Ԙ^^Ƭ o4TBM)܁;.Mcl-.4_$> R_qqz5zw]]my \rXSZ'b$?ㄢ4e;yi"llk7.-d\= ށBe_ +Qr03y v]_pB_,"RkΕqAiM5J=\_pefw΂K2q)Cm[KlcP7p@=^i6Tŝ5LZ)n 3{( MyuU2H~F7FN;zч lҙwܜ{MS"ׅ舀p̲ qo0_^( yd[]׎rӍ΢{憬Od ?oCInEB!F%dV&Ŝ\jƆy8mg)<3Ju'6~Vb}((>>}KQ_ՙx'&<52B]f6#Ha$&Dc씋`8;kg4gm9sKuy~q06G% } -!++'2.g>Yl +̸?T|9zkFh@{e$۟%:eM'7.kήqNRUYw6_%̷#^"^˸՛~\wr%kڀe9 ^nϿ?>5'Q^v_nvߘZrL|=ˆfV%>̫oF1?ߜL*LjЈ{J=(M<)-N<1ɉ~0L)ls6hQcr|L>Vpk}bsmqfke)r-b FR}ź+ߔũlBHѢZ͍f .6:Ѧ[~>n΂?1 ύkWK-;ڼƺʬsS̳M/{(?uclt9gSOq-NUU]AAq>Z `<餦:7Ga2b{3MK_(|+BSu:"KZB[e<9nx=J3]&/΃l⠥=P}} Ey+Эf +Ysű?v!ukwprnʳ/~(<pZj5FSqDS9-H?=?߀;'ɾDpo/>t{j/mEㇼk#EO]r\lufܓϕ576K)԰?ȱNN~$jWվ;Cp]zF;s}ou9͈;3w&y7lS"GE٧]G뭰;+7LYˋ^kں;n99jӯwO i.Y1so9$[%Z2}ȾH?,=);ef,vnk奈k%{U܃^qٌǿ:Ɗ}`Í͘G<W#԰o̵9 +n~ :=y0Ӝqߏ1B~-[??WI +#UbR[ޟڪYu`B>K= ү`̔S_Q$ + ׿~КtKxf?!|~-c}ƹAw=nlF~1fbKыGME7׻яV;Qua:OD}X ql 5iՏͩykjI2ɍ}k@.b +7XkG-b%I1׾F_ Qd7*K#NjSSy=Zk1B|W5%I;ؕ~J7݄/&q?XO,?q\'ߣNNM"Oltws/\Zl54S w Pqܐq}yc#EZ<tF 22"(+_0c}ͽVK~ q~$ƩI[vF + '%Co?ş=5[wo\oϼbjH:H}!}RTyi^Ճ~ҜZ:H +'5o~O[R Gi+5TYݱ`ׇ/KO'^{ 8Z_}~&㬱&#aRmegO P;bJ/9Ȩ7ӕGԔzao8ROҽϿ4WzfLqaBMM؈Kwϔ iڤTquguUQ^&k*eE9MYӻ?S[i.҅zT\VPj1gshr 4/"b'+7OOsIῆ %C/(O?>;͸!e P&]9yYIvOs/!ס€U9o^en̽,/O Ywm% J&yǑ/SW;U59Wf$ٷY9+Kͅw6PO6{1LѦ'> ^ ?"^nғZ0iJj01koFYh=ge&d6gj29@ wF{z1:+#X0!R]vؔ`wDXX-u_jGV]hCnaB9Oda?Ήas5|?;\yN|Ҁ+g#w37g\0Ş6; 25'>g(^V4QďSgߎ}֙7Aa"+MWI>5;DT$f^ǞY<{ī钬9vo42LDRT^ym~\dI7;$>yw ܙS.]y$@ׅyo?eelSWonv, lkP@NTKViZQ^vlWҬsÔȀJKۃbzNxal̺hMU*LyMտa) MV6tпIUܟq܈zb#\s|Z'#}{i]S:Oy|bz~vHWOz(*<'$.M> 7AOQԣ^ g>+s%qg]d>RH2~]'+IUUveCYjml^nv^mle աv281:MSF|8uL@Uf_%=R* ~+8rQɵf„߬aS}*!-gg 1#+- 4%Ͼ^hJ (V(aڜ3ok%>*.뢩W{ybt1)F@cFPk]ɷVZ3k~^lʿKFG LR/4n,d^) ZnϺJȹin=_&:.Xþ*˾>O 0:gfXyEY.]-z鲾!117di:ȋ,I>Zx(:vR`.))ykdbsQs];ލ|8[Ӝ881A73YO$OY 6zˍeS%PfOU>aWSmSbvx 1-a^#,SBF/1j聡6<7uO}*6ZF)O3b > +˻gi?Rs6@541C HO?`ꪳ/Cs. ]]nZXU.b̷[[=~Rz/rW0 5)Wfĩ_1mVlv_=G<1 OmcJ6c(Kxkc#J恹qa$c~ҿO5@}sNub,| tǴ +x%lqKD3%ɠO%-E;!wgrnBT^mcyYcC4ؓcd=P{} 8.!z^'3,-L$]U5=Fٝ} $=f|k~xr0&t˟d\9L36Yh>@ ~k°k?o2f)j}rrdqA/=Wl OV&х+&nxyv9Щ!Ԍ]#"iahSo9I!1)t)9—[Ozx. +=r眈3L<.|i]Oy聭 o13\RzZ/J"hc]ؚe,w.z8ߐyu'cg9<;}'Ra~сZlcsU3{b]kA~~sTwj*RSNz8#uVY6Gl BuuqQ?ʋ<ՂE-*|;d79LWEqKY{ck нzլQrޘa+1ghoD܌} '^#5/귵N\v?%55CڦyБR c64A~ڔs=!D,#ֺQ7a{<-FZ -fca#r ww[<{l(z-S\J{]s3{43'-43}X[|PuuJ-!o3 E׺ϒ,xha5\y…1QO#9n{oC>L){S !ܒs#JW lUɄm[[Gp LJgiI~Fw#lU)3|S^&ٝ.aMVp@vF-ڬzR7$#&]C=Z!tw3AHy~a7tn`GVQ>ͅ-c:-R+Zpar'gVyEhn-kjξԕvIߔpN>_/.si$:fHI.UYMZ̰N q^f3~fl 6A߷tR7:YNj gk>ZeZܑ:y>v89{mFݝdgNP԰~^|%.5nwҢw{|s#RYB +-!iQsn{C tNb؉!Fcܤ?uu7ė?%|hyAX|[1t䞔ړ㼼Q~TIp^UUZI)rR'=6-~Gn7'QSUlHk7&E!zb'Z.2,y}܍x҉ ψj }uE{k TIJpvLLYafSYVRoW{t9f+.kӟ0/1z.[Y^ +O1L\kEd\ʉ54-b;7F9Ww&J+Bs;Byn=^lℚoeןub~RH(6ZExM $}$!ݲVR%Z}ꚥ^n:Ǵ~sQYb1e6,JRo08>,]eLMqizF \ldo׺1Ov 12k.Mrtu7ʼn) ]ҌW+-9fAk }UVL{[ _@=^(g%,SWU[db. qiB_eɽ +Յ|OJpr%9JӅDk_-W_oJ2LtjcmNB]dR95'X'E+=&M%5-@o 둉_S~ԖB ՎbJG#ssí!|KST;TŻIFC!xdG?16\[Y"FU"O6 I7;b=F+=|+_!Fn #S<p +=Ua^63lU)# ?`,4bV^/uQBMԷ?55{=퇜wWMYzaov?_ٽ>BJu _nIKںiQogk/3.mO":ĥ+tbV]WYU3Z~Ж|ekq `S;?a?@oqvW?i{LM 1KFQ^+O"{DڙZtܯSŨ[˝a.J 5_t R-ڭ6By"+N|¿oB>z)?Ϳʼn!_R;O\ ? '9OڄJ=5č,FmWpG%hu"}BƟkEO%^£u`yWCAHg?~I>c'{AZy |nӱV51S5!MUf]]de^N0qsC&wq_W>Æ<KUY9ޢq+#7+觀ޮ4JFИ`FJ=[z|>{rOWd1Aass;&c 6kAjes(YF֌$@^Fz\mNOaO>F} }99W/};o&ݻ%62̨/Wh{b\ kePЉ}k ZGU6`!F£i67@ Ɍuح+:~:ɻ^ejL'ҳҍi%j$θwMN݅ww $Os"O徨ȂsIITWE*s[Ӕ1|6W|s<Ӊ^!'3 ӿ0o;4K/ƽ.BiWRqޏ1Q@w/];yt9@3c@!/8^S ]:Ra%Ku-?eR,ݗG7XJ}5(uóAOn^߿ +ן@X;Aa6 Us9z%eb7-FD؃]NM.7, -í['\rՕ'`^_!䚹ve2%) 3|r'zZ}cae|*x1饋|;q?n:  gEeWAF^Jelv<%@?jUe&X]mG$(uгgAO.w_~>'*y\:򬶭u:U:Ծ0"wUg%&X +} 3{O9}$~ܳ+[!bS: Dp#Hy E,6gDT/_;zp4(uPݻ]?q?R_<cNPoƹ%۳]+W(Җ#+̓H`N¿~YЛW@7o.;O5n9_@ΞFݸG[u}]<|e2LK1 qIɐ+uUKCk!~| t%- Ξ_<t.+K'NuE;.=rswljMF.B{J̕YFr0H}S@^,M!C[@O_ o? s +̱b_>늒Λ"b$*zm؍xo}oSy%'"#K}%(s+A~ t߁zu!^E>]7'&O]Rrtv3DISq3E=\ɗ?fzJy勠3@.W /~tc \~?Rc*vC 0cHM6Pq c;'/^߸$'~ӫA/_G}__8x%NWOj8uQn[ذ,&ذۜ_!??}]ܓܼ=vO?.y %ALy;BNI8랩&TݚsE3FOl?P^O5p#p^,LK:^,!9^0Xc!l̴RDu']_!#ԙnJh=Y?\\iE\nE2W*+N>JI:ANK T4Q3WF1U7Ɛ6yeK* 4`&[ѦZ$d#t Gŀ`$VӻGOA.bK䗡?Ӌ.wAQ->R,&!sDؘh#7R&"rRtdC}MɄmUV9*a,y0VТ̤^e8 + 7Wo&8K]Gݕvj\sK?e77M!c,^yB1VHmS>2QCU(|?cu㔶{Yǫd|:&گ<:(%ԋ^goQ~!]V(nϞm55F[,a[s rHiZR6.o͒3Ә̿> oG. ɪqFH x[]DggtWGn3qqOPt#M+㜂1:ݡ"W u|͡mն =kIy|,:FQDMms2UW_&vYFx:Yǭ,vzekW| Cgn/5y ޒ &jhYqla^;P'DhFiis픐a@s}=й(;2_pkM,~@EnLV1H@֔8K5?fϹ6:>EO>kh&&;;KݼxŐtilw4VΏ?1^fv]EZP_*9Y W*%£liߝk严\UƆϳVQ=ͭL.nc-_&%9G{5;EAsUjMȬؚd{up(.iʚxbF4&fmc'dl`fqn9$ޥQ b5!#8ŰͱG.)&"lۖR1vٞ/ɪYNII]]18h?05Ϸ`}#ױIΔM׆:, ?s--`N-3rnV*ïnvK{GܲAߣVt46~َxi|=KϡJb[sQ>ګ qgۧ9aؔm1&i[Nܑd9qϏ{!\@bm5ϵ; $lUzk5xUm}nEkCƄ{r<|ښ%d &Dήu&{ZiyKn$khQrI>]9Uձ|&Q*7&`[ڈ=#9AӫvRRUsr,lϫ%A7?AB|LWcݒڄ# qQRYǡkU74mKIv >!W{,잉& X֯@zt"pO+vH1>doEs(5`Un-,?f#Zo m/wZcRfni늠?,5OLY h3 +Z:a-X 6ƋnkȐIb;[ [v5LԖpiQ]hߘ'9QZ|!X +waICFKCjb]D)ӷ_Sק(iN ,@OB껌)n=\irqYTʺ0UkٍkMBV0@KbC~[dlONsI[eoL]eQ ]gvTl]؝䜫z=Y&rJs-Rj84>Yx`S9/un@GQ5oF+^1G|3Yax ~ X68V]r\GI*٘ǭ WF~[tmN #lռrO#,S̅;0=􋛃د:.+gvE2 VKBtSF8-I#N^.dwCIw`1N<& N|ڑ`2ׄAC359|}6duT3*{aGMA Upq)!'ZN)*%؟vxOR=-Xd0El遞X2P%G +bkQT +.c l94iAݕ" =2lG } 0n"u}썾m +p`u=-"x&eYof*I{+r@O\JbL+|Wo&`C3յ9t8Y}6`OHh> 6rQH bbH]ܑJTr@O[kn&=j$UTr_Ƶ1_bGmN`:`gXgk?@B3YpW02^5ԫkۦKe^x]5:Le +=Qg0{.ݧ|:.`4|]4{4 +TgԻ-[R&xGJ*gL + +VnIFDAHԵo +^W@?{jBw +ud]Ylʹ]:;$_,̡ ),!.h̺\[ ̪b]*t_JQy[ n59EH +IT0*9 :M٘EFI@,~=hS% bWkC&!!;r>mCWMvwQ#&X䥕axсoovkN94  ,WqF&(3xͻvr{9H[C|1cc n%8^36Fj?%R4.y|j&?ˍl &tZQpB_K, :6*4>?˂V=:koj^nMa7P~%v\_D !_MQ6Fqy gX9w;.hk?4.59O-sk:wq»=Ew2HobhgcC5Pu⁑pQ֩0 Sj.ե}&o$Ip7_Pv(IPk}b~]dRj|e.&jb7!,BXځSr]Wˤ>3zGTԚ=5rw6dWh:,u*܀V3=čN ]nlqV.oQȧGѢG 嬋0E#k+U4,Y@ޖY+{3Kr2Hݎ*t> KpḼL W F~ih,![(|4CHؕ0QSJvQ˃l!~- !v<*bKJ)a{jhG^6VnuWz4;r*[P)Jl_F(sYn6cGۚBFhۊnM ]UI^6 =Rb{ylꁊT!5B<ۀ^ǥ:Xmb +rkPt힑Ip+bL[Fts$=JUpO_ M~.ƥڄؔA;=w +~Vbj>e|r&bOEV2kWF*90Ȣ J6.5U6[j9<>gw|gsixHmW$ E~GE8dTQ ځ#obR6q۳b+0vC[+C}}k/jGs841[tHGn27`J*D]Zj~8\@L#*^S]AU~Wqk#eύZӯLʾJtC B>l{euie:qWWTp{rRKN.ۙ&fZ(29KQK׻[_ZzKygcS mg+KgibUHڙc@m 1{kдC]@Jh)Xh)#yk*:Hp +/+z~.aWh$){U8i/y,MLݘ[gB2n;UW}Qx$貿SÒs%ﬣُVz.v?eyfSp󑚉:PqN1!o{5Jp Q}#\?ưGE<(5du(Ѿ[SPaD?. d{_T[H].5x2O 虘C_X|("|gkn Wyiw M9"J,>]]^1^O;VGm?0r?[_R +m5ŏ 8R &A^.b] 3 ""xtgc +✣w=#CglCVGXh/)$548T :0+xT4߼ojؘA%`*>ߥmlYR-UL-W;ӵ1įԼϡdl*^UX1s+QY.y=pipV׳]92٭#\2\L**pS}\?_bw刔Yd,r}L ݄wέlnr+XpT0P>>)Ǯe ts0) $4bmx=51 RGf6[uj|Zp\:(X#əEm#Ya +nH2ORwC^ŕڧa'`Zn -8CD_|in.z'#=VF+㖶p> +b4"ZVr{k&LⒶ Cw.{c#RPvk  + Qi8q\3Uw*?LiɈVCLc"v~ġ:ЗFeQ )QW,}wv)t 0~54tZ+}4E=P{/s_݃zST䦎}VI;%$}sg]c5 [Ԣ!L8)!]t@詈C=s_Ut}"e|Ҝyy'ƞ2V(:>JCGo B?hs[+?%4p]&vȦUtȁKs*PR{`{]nnu(h|_|'K`ůԂG&2뒠ۧB8D_rDu +bs݀otq/oDA?a4ĞtR[LCGLbֻ hu]^:*6tC#f\ouD&6 bh.|exg}KImdhȸb}=Z^KWr+^({%xv1% r޶HqU}ޝ)Dr=O/ I>9b╎zIIO89 (Ԉӕinq:'q}4!ׇFgq|3_Gz4L]B)٘%4p@kcZbOpK9.5`~g4 ŀoMLhtSMإ_6Ax`? u +lxKOC$:֥^25^ Bc/9 ׳bF!>;b$%⛅L8X@nNN!b|*:rya9B.2 gBt qqqm'wdIZ$6aZO348\۔uCM>g.u¢M}/^.wT֞=Iܞ eej,(;Kݹ7,1Gښ&oo#Z,lm^-\;'B$ .կ +Aa؁\ahMVbu,Yl bX-сI>2r@zblH󀊆k߾o`<*|WB<*ss*d話J/,dZWzi>E.Oqal{OQزJ׵K 3P.4_DNQo- sa"z}=Xt>TrONM"\3h7!ae9rУb"JlWKqk*ÃǞ6!h@/E-ُd}MMOôn} 6V^X- fj+~<}rL#H<'E#EjFkmMRv$tC̆&6SVߒvm{T~d@ ~ؙF ЩbTuu&g_lOVIN -󌔚y^.z4?7IL2X˸ bߚĥ>Xm+t42 WWf<~pl</ct\UW3ѐ;b\GI:0w`=%?5 -ØKUl髎bKmSeT寏3$!'畲 Oo|rJwfbJ|KN) . 5Lt vu-us;^O6PidW (eƫdԐm!C L~\>)=QJq +ׇs355+׷Z-)螭ޝ]+z+ejr o ? oNKFִڑPNSgTyu !@<>ݙb6͈)* Ĭ&"}hQ# pK+>ؒ +U/m} iBŮtf]̽c-yaiͼn@$x :q&j޻<2}k=8Σ<:~~}e_I-4# o|2B42zkifF}rn.WEnNSf()'nY_FISX:ҥPbl㥞sڦȓsOy%=wL`7,ľi.9Z1lDϱ omP*62ҏ?@Iyt} \5ON`"ZY@tT,vߟg~}k S# p %=bj /w~jGYJ-vߞfgwMEHUe#Yl_E W_)g.i˹fu<֖QPkxM/b%u~,:qW̨0tx2&՞G%Ozx5IMvU?;fAg36v32H_ C=4:ؑpԙpR]>#lBRI}c=%+~3S2ա4D,DXWof| +\ڐaDy~v\,>ե$Us:a@,m V˻ٝy5O Q'T *nknB +dGOt-Cl2r %.(bZWg &)C&xE6)<:JZY V^]&bM2u]X5s.rcC> +.RO{Ŭ)R╡1}RWcSK X,ͯO#61 z.}O.0)&: e _!ݕꀼ{b_=|h˕֤C7aK.xɕβZf%B'mbK<1*=N–!"~]nkCqL}6X/|6YaGH"i.xp>Ja^_j ֖FYg!v hq]3r)&s;玔|FDM; p؞)'UM0rwãͥBo 9 1CʲrAՃaL` *)1zO޶ n|{d.B$%k5MٷX~>:Z]dK73 +z}"3le0hm40ľhӰȇJ&_35"Ќ W}%Jh:<:Wo %S]"hmm +ƒ`GZnڍՎ7Ȩ9^~_VÎ tEB͞ `uK> pWD55##PtMIb#(as'#RZ{3煹 вNژDDp+dekӭYrOoknYg<1NƋ>б^ w` ^o_ hIB 6vcETW|/?΂F7 O:JJ&iW{I7=3 zVGan9$2&R?gtt=a{d훛F&AX3k +>-.%aDBGuS{աPlwSZ_Уwڥ渔.KVFXƷس +BMKߕjl19f{oI*ۑW Iw+}5)M!:e{g|9h{kK:.gB)E;rX ]A},캵 Li`S.]l +SQA_8fy.!#bZ-SF~}hn-o`ґss7nR;{TYD~R/.v=u7nӷ&ի!UĊ0_txLEߙæt ?(_$*3FV}ɗ_'PٗSܚ~X=瑩)#(uCCř!S]3rnDʕ賋-qBRw˕>^DYZ5<`g\%HCw%\SItWPZ:oo[zyuol[77T=7v>6tV `a;)zm%1NZ,V qgG/>^(}o">m4I<&&.cwM[xkvk(Xx=kL?󞦹-Tɫc!KC0Tnؒ G n\Z&ʥc2rȝ=٭ohU7$"R u .9WzO~[=^cЈ3+ݘ؝)v@YFeY}} 주valyTKNGXԣo߄4h[-w*0.%viܷoq鸴qhx[[Lva7Qf2tWB\ ;ptg9aWT n5G/h1+4H[Wm J^X'aN)6FQ}d0@۔\#g[&UP|/KĊD[Uh -\ZTL uj:'7gĵ bKͦl)Ų}ԋC;nm[a8Xtks q%Ɩ4]S6yϘMX&~eGP1#Q16^ Mos~Ḿ2nw +ԓ}2{Sِpaq\ bԵ徲O751̭lD+%i`%$nsm_<1p .gOI,D8k} ly:tm +9?Nɾ֏ZyilξŞ$l|y{=zYb"jyBt<.DE䍙wEx*[¼OkYg+?Հn4 n=*YՌ3@]RhwThB.o R\ζ͑ALąQrҭy ǩ_Fh%+CԌaħF|߀:X$JL1#r]!PMq!v'Q$2wyhe60a,km!1suǖj*^Mq9n19t|QֱgӔͥQ'J?[x=_S1"]a!7foE yTsֹ蹜!hvP~3g;:I ࠒ17%1 ,;zv4*rYW{|,5?X}{aBsums̓>j?SnO"bu%̔ӖCO}Q!h|m_,iL-fNݞIꎵYJ`]KV m>)xw=L3w" ErF}(1ZRאuyk`徢 Dö K/$uwZiY +.2rk&t_vKU3#-ygvl{26P1]|W և?ئ fD jν>L⑺.<% 'N/4W~yU= ,z{Sbs}t+R4X"qso L8ؾPud&ADSKF|5M]݁;/~ WbSա섋/aL5!42}dqOq>) +x!D4*`F80&dψ+N c _Ѿ0g6#`l'F֥^~| +RWx9z4Ӯd&e&L&u{ILLb{"{ ҥw)*(>sȾܿ!y^k-M;bӁȟ{9Y}gV]dYs7 rهncW|eqeCtߚ%gFWhۋM.e{!-ZxКZJɚ^æMHpytR~i?njK9'i9R++*sێH9A3L`&A+>@Loߟ ]/ Lj"ߐ;?ptB>w5?q7=/ky緌>`]nD|/6u]sGT{_6^( (mbkw]/~\;ҊG[{U;2Z[r~WQ%y2p+S 'Ǵf@we{m׍rI?4?ƫx0>-oʚ60?o= ،9NjmNg +Q*rw3j+hzރd>zx-nW6.cxa]( +Tm726VzO(s]<кSyYE;fD 1qǩ08?F//+E׆-Ԅ +pߝ쬉sJVs&tmEܒNz c 'dÅi}d`wI]K׹ק)~>̡nh3OAekk `|-,m5}z0eN߮ݴ@f6h@)^E1K6"RNz(ik^-'$uOG嗶)UۉSU&o/6Q*4ޏ) +m/DAo4`OwEkuPk?]\/*aV[U1ڛPiمw|һnf%/T/:mkQ6x-eu IgV?"+QeRlXs+gUKzHҾWySɏ(ݰb˂ϖT/%b |QćG3 +?o"_?<V@Ɲnys$6 w4ĖEO.$+J//׀,B+ܜ&j>|9-"`/23Gyc]uOD\2F/nJ ]%4@5C2lQau-鶫QDq&a! %iM:1-~v}bȘOc-GAdٶ4jJ]c7X\>Q[]oK8*yTG,8O)z}R ɼd7?sY^DUL%M9ES/ΐQXY?-bNY$9)5ۃl̞KڰJWe2a +ૐ層%7fѻܖ>F}'𜏕-(̿f]3iϿm6Ys^nAQlmB_u}m̎%7~qHVlᶥ-]}go 6DaR˦S4 hZ5[7X8L8 hj!a=|xWy\VLÒ4T*Y&pY W;qyE[L?"ͪz Jn9BtՆg+6bvA$GNs~?+fTY )L?݇^LJ{Y缬[\I[ỿ97lўl/e@Şa?I\贤[l6E={ُGg%:**nlZOpn +H+bn+WeLo̓z\''FdxkNxo/ K^'3)⚹1yٖ67%R|tk2A%ysPqd?sݲO,&i M1JW\,nIZA~HQ|cN*q[vjÒ0*(2(>G2r">!ؼ Av1niYboC, oH#m=.lum(KcFQeNX%fZVsC4e]kofnݴ6lȌ=uoVe-6 .ǜBc~{YGE7x1 iL9=.lxVBbNٷ룁u4=F\ =/ܛWսZg4;~l^ +[Jh?K\?lYg JnstC +HZwvpd'.!/3#GpM^rDu#H&LWpPT0r`jW}e5fLYcWL+k򉐥{C}3ZH"ކ 󡎊G;Np +srac_$_xďIyٖG|% >)m:bNsk',4'6E=@]K %!ߵeG83n.p -nFNP5!K?1(n˻lEV}6}5{Sܪėmu.ׇ,yI՟'os| %})UŃ`cԤQ#]Q}Ć]gC@u䜁o 2JrκUF;@n^~PکK&\Qq Yeuu3"'{ޘV&o:+dڒ`TبQ.glӈ-X[C3ىțSg32]x3_eQޱBk#B!{VhQXUjR^~%.1>[pqtǂ+: U1^T>1R +kK6b_S] W c]Ʋ×!|Wq|ۖbn0GA4,[ٴv +ʰ1vAUdl ҡ,>>dWkտU?WEi\s#r8}d 4̼T9Hit#K$ď>7׆-ز[lΫQ Zpev3+Zm(!.jk#1rvF]1*M& 0%\e+"wV Q )HQ{A6e@IV--2ܴ 9@M) |ɌJ +=]e`ǀ۰%g$>3hA%v%;>Oa'eIkZ4Vo BVAcL?&?X/ NCs)}OHnj˭夗_kz67I endstream endobj 6 0 obj [5 0 R] endobj 36 0 obj <> endobj xref 0 37 0000000000 65535 f +0000000016 00000 n +0000000144 00000 n +0000060355 00000 n +0000000000 00000 f +0000142199 00000 n +0001206556 00000 n +0000060406 00000 n +0000060780 00000 n +0000142498 00000 n +0000142385 00000 n +0000140648 00000 n +0000141638 00000 n +0000141686 00000 n +0000142269 00000 n +0000142300 00000 n +0000142571 00000 n +0000143161 00000 n +0000144552 00000 n +0000154029 00000 n +0000219617 00000 n +0000285205 00000 n +0000350793 00000 n +0000416381 00000 n +0000481969 00000 n +0000547557 00000 n +0000613145 00000 n +0000678733 00000 n +0000681852 00000 n +0000747440 00000 n +0000813028 00000 n +0000878616 00000 n +0000944204 00000 n +0001009792 00000 n +0001075380 00000 n +0001140968 00000 n +0001206579 00000 n +trailer <]>> startxref 1206771 %%EOF \ No newline at end of file diff --git a/logo/tshirt.jpg b/logo/tshirt.jpg deleted file mode 100644 index 3dd6f738bb635b7120cec67d33614e7fb0c66fc7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39306 zcmb??bx9j-}1=2$df?71{q69$V;-Zv$3%mnXs{O z0wo)d89O(mG&AMkf|OjQ9DIOZ4=2yx zdH9U@|F*wuK$FP4d1IjTK~YLZ?kxxkSTQuJt%;orG#CW3vv+m=@J@n4Q%joyVF|#7 z5Cj9F2k{%3xHyU{DarlC;eY$Mo`K*F0!=bQ=K9}u`9C)zo0_?p0G}U$KYbHNXIFrf zxOgJFL|KH2i%mY|I2qYx|0zqi{&+Px9)qmPx@PH+70=&rmPn$zF2*h^< zw8#CY%{T=Fst*By2p0a+M*STG!UzU|>c&jmoZbI{0U`p*A*ewZ6S#Op8 zAZS<^ICuo$BO%ZXeEjcEKm`gK1{UuB_Gtlx3IlY*gvJD(SC(*bR0d5bXlWRb zp$s%7bpQb-5;bBl0cKdG)6U+G>#k0^-7n@bk@WqYQTHP4rgiGnEg2+487K;BSpPU` zNgV< zjX_$+P|JUED^W!Lh?*`;ywJw` zqs=CZ=qB%CEOIg|*lXU{J4f9R{0cS>mLdQQ5AtV&g$gl-eRIIIJE2g6L ztiwmEJ3G;;yB%>M0jo`VzT3MvwX z6s%Y{Tws{~>p#w3D>(9hp+JZPKu~8ZF}fmh*=NxF?^_#}2{(#C8V8s!eJy+6_H|c zR%Xq(3K--bM1M`F5CAA**wn$u&q4seKX-}IhYkqSqIjIf?btgftlBiWGKO0o+|Y^7 z^Q+BOH8LN&<<%kvv!CSf_KQr&hBKobKGEvI8X{uSz(XZMSYV&4^I`{j2psZ>TfgBU&N^q{T zqb-EJt_k%cUhMMN5DSL^i4i~pl1UvlZ9P;13k5Pnga{9XBy@+TzF)ri*|quJ*8JCY zP`Z|mIVs})V%Uef`(3HUt$BGKZm0dtIddVOO!ud|j}k6d4ZH}c_iPuQ_C-R)p4=(t zRS(|BWTJL|wgntR^;SOSpyBOK3()(T@n2!2aGUv4!U8BGVu?Xu+YFWf>Ik6&9>@?7 zD1+bqMJBu%vx!TK{984J)r8n%GiSWR?w60O?n&ht2Oei4VYXyZS_xLUG7S2X)L6mb zU<%w?1@C4jacb0i7eZkS)=4h+&3WOwl>lm?RjPdvXWTdne@Y~f7&s6%?!NRBcbr%} zL?vOx2mp+&J@Lxqbogw>l4|!nJ+8O=i#x8_Jr~b+uUf_wg{kAyWGG%?!7##$1tY#s zq6p`vAH8IRO{x8~qo_D~iCr#bM{@{{$L_o*=lc^JOd$@E08<1|NW3|?HkpF~Ng!hW zgBVm;URHrj`IoGT{H0qyPZ6KuxHbGkkiB*?0R{2`_?juKj$T&tS4A{+}~B_L+vh?KCb z<*35wz82Q23ceX!qv}f=9-bn8-?gx05Gkn4M3odqYjnva(4TD zIy$P`J0TDnUj>t_h#Sq|`H;BADok23rf0vn*hMg0qVtu*3NNP9K zE--54d6*!%2!bGh2n`NEf)=}f0=N=K9RTw41M~g^DETTL7!3{%rUu9dnJDk}!||c50P@0Dl24c0ob~#8q$EwpI&vJa z;o?9KSPE#|ID*%;g{CzPW&$o!s0%KVshl^Z7t!qdr}labpFZwH#ZT>T1=BzzEErK5 z8W6I7&_SY*kO2QhN(S2EP|m$+CRP1srgzhM;>x3-tFv7#Gc6t^Aea(Zuo5}QcwlO# znZZizBs3xA-Oc4t>eKELMG@iZ_1VQXJ#M$%iJ$#r^`v*5tYZHV4&r;;0oG6>0p1g! z9HIoYm<%#^z3AJ<%T2su>6Fpw8r%J$y2oZ)4rL^0NhrWAhe#r?$3<6!%u?5LhMgr43;ajQz<-emKtcpaMFHWDgal5z;DzgA ztiF@bp}h-ty~u1?#=J0EV;brgL}@A|!1GIkjkNXisKX;rG*KqHT<%t4aX!70yxCq% z6lTdJqW4lM;EQUkHJcQOr~_n79H1MuKjqcJxiuvvU={!!kd}Z11R<L((*&$j=YlO<5BR=|ZyRg!V66mtZ6 z3q39jvodJ(Qs_2=!p+H z>_1}6Io^9o?i{r;e<(x|N1o$XDd$2$;SS-_DBM`PdJNC3k-K&?olRWkciqKI6N$RX zgLfDO=nDiRfWgHmo=#FilzoyR|6_P} z>wZ3#vw&s(xZj?1?sPKau3NK3Z-7_E3P*f+2CJIP&GLuWw3{g7#`c;ly}#0dLONS=slW$Qo@gtjkBVvlK-> z?!D^xHal?Vkbjr;ZgBGY1%z=!a7o247=Q#O>fsP0O33R<*dGp#9}Al}KeXQ8T+J#j zXK6eb8p`A8Aj~)H_!}|-Q46X_n!27CfHq(>0LcV`U}Vit_vU(9HogL!2d!S*$L*{? ziKi;XF`XZbb=V|9?JQzeiD3D7@ zpI=MBmIPY|M^O87(FsndQfLgV?(`fSXDN`Xcedlwamn8e41IuvGkt%9P)$bgy*z(S zTpSPs0HzWUJqj5p=9p2v6#8-FuRI?-x+ka>U8mbGcua4;^csLDIcJ+J4tc zQsQB>!|Z`oLC}uZGiqOZ&FyN<_7RFkQdJd&9>1(=q;Y}Rwtm29hNTk=!Q-jQfDZid zvmW!M*0bMggsbzhZD%~-^_f6jd5}2E2OUC%c)-j75pPh;Hw^3zDUtHZ~vEI1&8f4uQH6Fj7N$m~9mCTFR z7B5u&RS75H!jEWp*2)Uadbod_laB{C$Be_ob2F$5NZ`i`s<9+`gUB}eJ#oB>S zuP+(7!_a0G`S@SAX5G6mE55#AGp={k_xL+^S@K!k7zTTd$NdEb zx>a>;vf~^jt8r1u)R3Us7?KMLKWVuEB|rnfAp=VZekbgCeyDqWcIHLK)L(G+0y4TF zKHuD~Be~Z}wuobLWtJ+C5Yvv)^OpbA>_VsSqoCEi!-YYS6e6G^ZYz>l-Fcst`GlN$ z*;|jUqY-U~cWB*Y0&f!l4uS-EV89N)S)ERj`5Om{L*zgV96?{8o-}4VcXOsVyfeFL z74tQ!?X9O$$p@{*;r$Oije~Lg9j9aOFsBFkjW0P7^xc>TLz>b@M_+rbDk=y)C7xHC zw)x&DV$Viena-xl&{D^}0wM`$P*)D}AcmKMofrio1QHksm4HyDlxyGKhZ8WZnjQwM z*P_JvJ_}8T>g)OmVcJkDEk{_j0@p)RWpTQQvU?O^R3g=+ZA?%3jZO!4KP<*NrPyJC3ys8r+Q$hK8tl3U!+% z@@F>!i|GPhB6Mw@91@UB99jli46xitpf@YiY0{E_0OS1y1Y{F+rCgw)f({^l&E|Nd zTk_Vc-Z!=z{xuiU72TK=MbB!I(Bw?-*|o&lL5G}S0o&@}lBC}ngFkM4dzS z!6;(PM5H!jUsmpdWa4)|J2ejRM8SH_m3`JdaH|~4Te}`xB8KC){4v_}TIJx`Vn2fV z-v~(>>>mgCA&eh@UqS_PF3o@ZH5iuY4SGBIz>W7^mfxn2DBi6brFXf)HyQ^dg&K6C z+w{AG4V)H!-on-1dxH$x79X_MDl1l-SCvbgr=JE?We6$tdIpg|}!Sb|UWpXF15YdQH^SRN}hIu2KkmcyR z!Lux$Ga3WTZqv*OG|>H3VO0T2_GUm9pPtv7GiptAC6&&|r%nbJItBAUi2I}KM|6l2 za@7gj3hf#_o7(Ltl}yLJiYT~V&G`|?;6uMa5+-!hmW0%d(=j&r1Z;aY*k2LG4_!_-o&l2dO zqn&S!%JeQOzTbNbUqJGPJwj`ab0xN0|2pB9oSUy!>udA^`GSYLa@giC4RX}OhL?BhuX7Uze3Xat7 zp9BjMPXFQ&NyRuZ$)s^_ zFu=CaoatI}T^v#s5M);kt+<&Px=)>kR(CDM`T^r)#H4*FH8J~OqrJ7G2IUcyXRglN6)aI0IfRmd4n4Mu~om8Lb3_7$`2fQipE^S9Dh-DY^g zx_OG5^P*@Tew$o1Q{h1vCVF;^W@_WZAG_x+KdbtY4YZ_I+^-L77jLE0*nxiAYFa}O ztSwi|6aB*9)xc;J_7RmCisjwTf^?C}ogS&R0*pD%vJ#EFrIu^O>mI5L+XoxmXB*6k znl;v-UDfii4>h*WOhj7MUAJE9v@INSOQSx~hV6eM?PHzBSzVYLa%iIa9Na5e9^mS# ziTi2n4ePa4X>z%feBYPQH1_rD1pL%7;oz&}F%Tt4c&PI*z_5hR8-mg{7;&w|WT@;W zk;I*=Nob8w*D1s&*0Ys-ztT^;&R8@ysWWP+_U+l+9X&qN#Ndvx(8dd=wMFx-S@)4I zf(xsj&HTEzaNe79gF@4dGRHZCh!E>U>yvABzJs!H8{Lu*<0H&HziLbKg%i1P5R^&2 z)m)?wYVh|mEz$%MRCIB}TDof*U|2~X+Ibr>z%LdNtsf$jWzf;clVtL`J{0Eo&ns#d zt;2`H#PQRYqvDV`K)KZL63+{2P+ThT@~QEpB*w{E3lvpcWyx`%;M z&2O{SN?UZ7u`6bOxGuZc^Hs$L6`H(mPC`Q3aljj7k=c=xiuwCGm-{NX#D)6j{9~rp zUhfB_{A)Ei@eRIW3BAv5Em-RO4|v{h!8w`W#nBH{u`QruJ~%|iZM`>{{W>n!S0FgiKS=zW)C@Vn=y zPaN#5uLX(KKa|l6bwvH&Eu4W-i>C=wCmeI^p*4vhx*+p>qq@IMR+smj1C}UnJpY`C3pKN zdS1J+0_^E;ZzB(ldI%irZy>0Ws{3YEntfwbK(;9ej6@`YLDS{28-2%fXo)FlpjKCE zROv6_5&O4mJrXLqEew32);lp1+p*kx;_L$5V6eqcWplOz850OD`d)FrYs~uqji>hNAA>m2fu>^&+fgaHTH$7w zjJx`p&OJdPK*lUN*|ypiZs1AEZp>al1OK+#Z~k^BEk14F*E<~)4x>y7YwHKb3ucLD zakM=IB|IM$N5=(G5ko}BZq8HgF5zY=^ET@6MnnQN$}SP$YYidE@Lj~oQcZ)6zU+zj zH}NlFkk00)5ve0a>^>9i?%O{|WYb0{f~e4k0OCJ8^QRbi1if8KFViEYT0rDruLJbd z;^ND|wytuq{cxqnSJp>ycquO7YXSr8zwHKfKdw(k)yq);SItK;&==O$jk00;?9A33 z@1;?<^#)xt>g(e$*wo|=K55IkwS`?Q)`$_E>079C@|S=_Y&@>eaSuQ;DuCl;8K5OZQJsFAfD3_XCi6`K(bX zlB9;ym@^-~VaC!FMjTs~*ZQI*_X^sU?84i=n|P>EmhOCiR~trsgMRx0B8w7SvFn;u zz(c>&3n|<8CEc?uQLC7ZJe-5Vu+fNk<+a+>`6U{?{~tWIQuGx0aV1zddm~OqruCe- zh?tUX8hLGHe)X>V_KhAcyRhBN8U3@4uXP@)SZdF0QSw3u&1M1BDerC&6+W^Ql2@EG zW+W2#%s*}!4f+(G4v}vB@>`vZDG$OF$-FmsTDaHq033JLuPvi_qZav;Kmr%i;unxy zWsWXWSD~$9!NHrOWR-lnhuHkHX`d{{FVR(iH|K<9+u~64b-28ro0L!z7F9mmCX*T+ zFLmo)=3qOjSfL&6MCGURXgd|BK=J*)U2%K8Id(wz=e{i3l~+4(wkPa*x`B!Nv?f;7MQsrqf;-03L?@fZ$oIGDZR797)iGiZ>mB3u$BE$ms z^DJE&uGMhP;_^|BHRlYy6ZW}*$VSIiYL|OOKWTY_+`NlvQILN0|=JAZCWwRzmaduu8v}J zpUG}`KT08azu9@!6LiR+b5qoq)jE!U$mgEbVq|g3XZ6rWL|$UFd-@IOVOiy-sNnR< zN$V=_&BJE0Z>?|fmDhXU^NlZ8lcJs;zSX{2EyjlTeXlTz7du2st+HBm-<{kjE|*1L z$;p+cL|a?FS0yYl!O+Vj?pZ)BIkxQ(scm+o0GQ(85qlf@fS}27$G<;yExK<__R(bN z=cC;wi{~D9xbOYqJHN`?UChr!i?55n#VPP9Oad_=yaG)mTR~DpA1Pb7AL`xvlwG{A z#{xg`Q?B8j!_T!5wNa#rBI&_dbj-AI(eDt1J$utJ_>op+i}hhX|GO(@*x9C835=$I zlzmeVe1BPOA(H?QCHTTmvl@ZV(DI3UmIy!VM~**{lixwRB5aATvc?P0ueDy{2NbtU z6(s#?PZ+%AM_S-ixKL;if1E&%*}&h?D$zil4%t2ivV-59DM{f^EQHrXS|u~+FCexN zx6i&CW*KEB!x+=6FJP)DLwRmNgLf{=o3A=Nr zNNPR{?8EGNiV2wd?iaid+g<>CO8IavdeDLTEc~k$DRQiZ6=!~{??i`RnI^2b4s$2m z{X6)o)F)tICuO?hPO9alzE=C~{va}&GrC``1)Q9n=SEW*Im+AV<;(kVJ`dfos91-D z(|k`?OJ@qRAgD?vK7I5!E+TouKvoaW(Nu45?;E$g|##a&XHX%gS$=N?Iw%(=(5!Jvh?>0rduaTEVg-y+pl~aHttt@ex=6x z)0`mdk?kcd72q%Pj}m9=k_2TGB8Vutlz?68p+3->WGOeLp-9%RTT#Df7Q{-QtfU`y zeaxO936gd;AvK+8b_CmmvlYUO6*tWd>PV)s+O1<&R5>m#40ih^khOk&S8O`|C~sdl z`TPR1FRZA!ScUtoG-0n49$z=f5e4OHD2cPSY8+0qp&~Yol}hBEAnPIm_0VYN+$L8T zeUnfDZiD^)`&3%dP~JW}8RiF1x`0K8DwSFsm2Q`ntsEr?len~|1F=Vvmb3?UCrpp+ zM2&-6r=w+XS+U#|P|DYu<+En5c&dy9g3Z8%H%RRPQyb8%ZZiee;-jijM@2`toXqKK z9tc`*zT;>=1{r`06+>Q0vgYqC^O^STlacQ?;>G$BDQ|w(BRuNvYZO;6IQr z&*pg_xS!ESe4KNbHGA&v&K173Ya*N?{xiSWLpZ%&H{Z5|wGIYTWHZu&bzO*9pp-`G=vE=h_pMa@aY zT(obJL4mA5Mhm;`fu0pMBk3J=KISpN z(9gE0S!Ym_WpWZvT=isqvQCYuNKh6@)do2_y)x^IVe1TS``%K8UP1mMMb>h6fhn#I zlafSs$DpyFgsLglV`W?v z@vd=KU>8}j1$8QLczip}P_EajS8)IGI%QL(O#!*UAuP}BB#Q(3r?3cVKDrtzf8j%Y z58Hs+D_*Jm@r~E>0!ycWf-yoA30Z_lZIvtdyhBoG={Uof1fGrOYF(aCv#FH>o<3w*K- ze*s1Qx^Uas+qm)x#)xx5Nj_kr$mLUgF{nIf3`0kGE4)r z6T`WGw-E4LXSPP$`cvg{2$jfjIr8(sK8}mLknL(J?|RoY3u`ae;;-NM zxL+pd=X2Prr$z`;sk^*T>7 za+=B=XNj9s`e^dR6th>b#0S|nzK7q$~ z_{X?mV0x`EC%;&G$hpyt zSj_n--~@Hqv3tRqhxuL6rOb|9$epoCYexKYCp+kt3$rA2G(L+hv(Qy26qPmf%}BA4 zk>Z+IcwqHc+&G@_`5yEH&B6KI7+@Xb$ZUC`E*~Ph&hC$J3c1qumcR4)B9&eG_ggCz zY2>7soD!5{$*5cuxfc9QhZR#@q@Sd)cJ7Ks$?$pRRfn~&PXs*R)Dgntq3y&k3{R=& z9YSWcGYG=!eBOWGMLK$XpGRvb5aa+@KM_^1#0C$U_2N-r0gHWt^ECqi9j3^f84D#c;_{04Ti+8bSG zSS0z{iT)Q*cF@v=jjnhB%g~h1k1p<^}78?$Z5;UGlK{u3GVnZhMfZjYQJ|Zb|Nya zn?x5pj`jF!E>uy_@4WCdjyjXTgD{Did|1G98twmlP>BB@ps{}R>Uy8l^qyx zes{%m%;zE*rmtYHj(ojf3e)NSspbV#GY;&@5I21K-Wk$J_Fmp_%>^ck;?E(;3WJx} zIxh&{%ENYTet28QikG~Vh5|#Fd z*ME+UC4N&=15hZLVQxrAh5W5@OYhpbD$2Qw-$EW4tq{kjqOTj^ciBrF!buW#8Wz-o zqiXIdci!~rI!Y3tjK#Gq8s&DjRjaL^VYkv*P5I)hCP7F$MQl4n%&HlR=o6+?dUv%u z+j`&5p~X~JK8A=}T`-ggcI_by;-zP@org$m21W6!IgE~6XUY^LkCQT!1svzosCt-U zZdiX2>voc}vKw|+3W|QkvZ2Z!+}IGVG=taRvJrl?%)(~GKeb5G)s;3j68Po8OvYr* z=(7nK5;+rvoon+e^;@@*epqI7412z8-ZJ<7;Df02`T(8QT#p}xqvUlOFCep$N0u=j z=EE4wRG7riTo59pj1m^bgrl1k=GKw$8U*GaI+>KkQXi=Hq4yT;-jXcJ$bn4cQq-V` zJA02V)X0QbK(x|f)vosp6|2~}aE@3EsDA5y3OC-F)RrncDA>)4a8f-*O6*3QdqoHy z3!BPq);VFpb#x;tYu6`yWXQESJ^N4yQJL%yv|$!`AIst)B7wEkp)SH(X@#gwL}ZGj z;1bNA61;C?))+9zS>4l4uR4^eCt^Fu%=*bUb13iYTheH1rqt1~ZsqK!(o3s_MW7$L+bF5nhD?H&1 zImNsNw6;1o=eKZ8MZFF~Mz>q;nW70iVNGDMdmt;Is^NU=2ZdnX`A!1!{G#VIqNn6QpsoWJV#Q4Pf-+R}519QD(3ZSISjGo2ysT5Yj8{O*tac9#1Ew2!ZEXQvrU zqn@uii?7$ zGmhonC59cn)`HZ#_~zQ?oq!R(Rl5zuov5aBm)BhCk#Z4hA?)3+@}|WR*!a3|i4LV- zK-RJ+Q7vDOy%E;LB^zh4QfH>XlgybY)n5;H>ci=Vj9A={XF<(UO;BermBTi@)f9kY zCXvYe&U^ut#Xxw@MULdyC?Mo|6QF>=Hf~Lt6`Es?Z7oWiS9X=4oMbq=C?d0FxZc)1 zsA4rx<$LhO-o@l`T0(&-Txkp@#g$gomv?Pj6~RN#wxBau`)WbJAhvB{_1$ zVrl8=M1w!?%ls8&j!S;ea_I$pL8)`2czwT#Qf+9i(zcf+i3I*+OV)a~os;uuviKf5 z@=-{gw?Fhf)P*A!B{X0h$D!}|7f1LvuWv&(KEYs6_qAl5Q6fMeMl`%%q2_bm$P1a} z5>G&L>7DETRKRBDq14Enf zPCxNsH%FW+;Ma9`4kyc-yNADJ`#3QE`Tox-dCnZCrzJO0i#3J7CL!7*{acGGj}tr=s9}~B?hI& zXc%hQNkqVbmcOXX!9N4VM+E9(Tp0k8OHA%qQ_ZDl%+^1OZHJG)g>B}KoPs%`H6Ml) z_})dAnQ55*NQVk@gu6q}U7Wiw&eHuTBwXh^oMkTQ`Jk4zP5@%ZSaYPf5*N9vcN^^a zxDqgF9{o*C4S!t9z4>}T48zyb6(bHXROq-8NdrUNd^6scj)Ij5n8Gg0qmgbt!hGV7 zbNeC6CHaSPBvlL7p($y}duqBnc*9cZo(1Hh{!*XA&SLEtOGo&VbWzOmxSD?8v#SKz zM3%l59;HR)BMm{oPuHPOTzfcv-8x3w9WEqQTI7rRM}UaDPq-$)h}@0Ek&QwE&1Mm5 zmdAr)u|6QJWvX!`2n&H=fnb))-}HUekxTQ4Lt-a*Z~7_jmUHOMo7?`nxL4B(W0`N- zhH49+diaHt49RWp==w0sFMN3F$_Y73>({~IzahBhV_;K_2=>tNDLnU+nE7s=E%!7p5k=O-q-q>Fbb zqiJ7Aok0WXoQ}$hsZSFzLmF4D*>Lb0=r|LtHOH+g8s%jpRbm5axbIlNNX!Qa<8c20 z@+{4e2S%=HlBFr+#{%yqT!*hOF&s)f?TAu^VHOWzZT`NF!PHnoDrIPI0cTc{RieB{ zw$NE-HRt1o1K70^yH!UNBX4{A=?)%_DTe=$Q0S7*o=n zyVA*6W=40?zw}!-6bwu{ImB30{LVgNQzY;YV~)dBDckj?Inf?>mqY8}2M|`KG~V z0@F=LmjNpFF_zAxqW&Q?E|}}`?|NMw=LXg+TKYd76&&WmkqQG?6_XCa*4jUNbr+k7 z{K$R1zjukIc``WYn~5e~Ym7m*`R>lPV2UejQu*C?FCXaq@!FE@sw|}moPTEgXt4Y> z-sSG7U^?#s7>Z%1lj#fv&2b{wJXimGT=V2wp!n{)_42b6ZtNc~`o){MRlP)&-sk0C zzD?%)KQGaA2nQ5~*&S$rUE3oE^^Q-tXv_9P+SCbh-hHOP8uRE+^5+fR-;*FR_Efx1 z?hY7N-Xm%oPre}S=Xxw`YaP%_>Ah3q{HsmN!H@SX1-p_Jky_7#Oirxi-SL31eH@&TBzgnP zo@ZpyfRV?Ah(4&HXOrW5L|>}ia~9|V44OrX!`2-ptu8x##~**<Pn%yCu*HVLkQMUahJW1ZyExq%IpxmsSn@jdSAcv(U!Q&K)A#2Am?BT@9dhSCoGl_Av9Mf&aqq_?*lcqM5&0v`;Y9V<4Kn3bV=d7>E7 z@~bNAS@-=5NYo*8_(C%1`MR}bam450hV=rO@8}qV^h-g`Z*FEU7dRRBeWitLyepGy zl*|3Woh`ICFeBPyW8ODf$U@iYEsW16FQB5t?d?wKvtnQ4)Ri|X0C&@0X`k5OJtKD( zoT!2jvin;FkxnXdU_I*kZ_^WDJ(@SorbdO5Y|qw*W{rgK69Ms@Maya9nY>b?8#8_7 z*Xwk4(_m+VfJ4O3gl#p9`m3A#4I?QxSwJyWW8!#~Q1g*c2K{&<*`hW6DjnL?%IGQn z$RDdhDd&x{!T0#aA&pj+muSjF^g{1QvrOsNLw$=n&(~M_O=;U7lqiZ3RvV;%_J-(*aLthgJ!PDJL%`mgH}izWP?G|rzg#CletW8* zq&K0#Ma6c-M&W{q7eS{=!*Zsqqs~r2Y;U*2sw{x~8@)`+NB*sr>o1)?iHP+N1~hP4 zy+aMlK=k|5YRf&kU@fTMTpE=}6?3Ox?diJzQ(LOGFwCBrwAPPU?^u7Ot6PxOPe5dd(9@ib!Pc-AI9ezN6($S+g!!u-FebKXaXlu!R=aU2!TIQ7E7ZCQb#|x+z4yqX1e=|>9*@UbAn`RDz zxSijI4=ed?lZ7A|Y$!s?l4rte{j)s#Y`=9#vyq10eHZEy<(denLO=<9Cb&>`riGJD z^%d8*7torIBKa+-2*t#d_F#y0WI>1N2YpOh1^5p&W>_($mXs2XX2fO!AL*|TmjH+1&D+IkVqC6Pbw2D-rp_IbpbeBIJ3X`2}rDR>hB=?NxzShn}*?jQ^BI z+HBYiy-^9$G6dl@VW))bZG2q$c;=^_y#gzhhfV|E0Ch@Gkxk!S$l#ANN7D7}QnVt1 zw$LljsL=CWeTgxKJHe!hH+G5yN4<}PhAtl#_BSd1f_9FDul0fx`Erk)Y96O7^o0Xe zx18-T;UGeitdS4-m~kZfI!Cuctt~6+*4tt9gui&v*x@+kDj!{m3l)n#w}uLtAsF?a z;7fSFkL>&6K1qJg=L{y&3in@S$up;o;S3_6S}3WEuaBkARM%;UEUkX6a6#C56YYcV zYjuV)ky>($p1q3_<&^mfF>g63*-18=E?NV;?9yOW< z%mRffqdZY$Oey_(x)WQTIm)*`8ixw27#F2ci!&TK)me;Jk3x+#`C`^fJ^5)y9-~~( z7oiLT7;wXdXZYDW-UC+j&}_y}OFTWl&R4Lu(`*fo4{_wFYja&4}(b2SO6Ei;b1e~X!jDk_5Qe0wYxX->oP7Q&1^U$M4B4bbGr<0}Z z59L33cSg<<^;~$~ZqPlX=G6(;&W7?3WX#IHAgq>|i1C0`mHbDQ&dsberN6~;#r`hA zpHw@+oNA~!bZ&A-Cl0-~t**aLvDq*SIKZ*BwVeldGO;$^recq0Fvnz zY|d|ZGYLEaw+B`*IbTq!c^)P33O2NjMC?2`R$Fq`>;|(=@`(~bB{kt?-`j_~6Yrb% z#uDzI$+S->agvPLhlH4HPxZ%n)-ip*EX3*oKMchCx2@L{&{hZCute4*X0^x;i=64@ ztzc>{WZLYYykDd%7Vf?NK6M=nCLNX}C_PtPp-m!9X-hA|kq=ZFUm_mDsmHwfkp4-re0{rt_yax# z_g8g1+De`G)_G~d-Noc7cH^%}HF)VWt{-Mtasl^ETd^-7g+7zs{EMiJl};;VDrTww zj*|jvrDOaQF+qfpfe&h!aJn`&*^_ibr7ou~d}85C#G3mx+fIloLrnPwkJQ(6-EP`? zJ2s7$g}VasUzH|PX+7Uyw#gN{haB8EQ8W<<_PLY%@-E3UM zZ2gRc2SDlXzrv+bNS&WhJm(c3zA~91*vWkCSwxvW!^f$geRuvwN-fdf0rkx)Pg(NR z3DyY(H0ez6R(S3Jf`6GKwHSNo0{PNJdi$1UD_QUYxc6PAP{HD#^BSRKv}R8|W9|Co zs^uX;9gy6z_=mo4%f^(w^ne@dDCHp>)8}uIiGQt~WNA?X@l);uyaeAxL{2=emA|=Onr4Oy8m#L`omX zxV&JCmX@S(JSiVn(7m$36?nq){5JM&Bwold8EsivII86kZuQplYFNT>m(Z*Uz9xQl z3BzWPUZmoE_&r@^kLO%Z6;~i8_em_9YZUbRbJ{#Pbi#;vYv=Iac#$aD@rCFpwZsyU z-Tc_wqh4iJz3ZNgU-{)9di|AoNk^Yp<9k#af#ewf9|BQ#XO#smdfjFy3~U$sQvy{GI;Q} zyb!@_675?W&IY-?Ntd^V2yn8*8$W6^lAstSZwXnw4bzMV-+3Q{jthU|S#fPuBHP%K zrW}R6=6B&O_>~`6?O+-i0B`3;c!HT5N~MnKb|10zJR6pP(=3-r8@r*^u4}pe_)B%c z?H4=gP3!?j=byE)(N{>S%Vfh;g5@3pUdAffG3s>pNU_SMW>5dD76Uiw;9q5dhL z6{%=>V?BA+EW`>6ZC9;oSRjcOxtbGSONzH7S}r;6GSsR88G)98#qD;O{Tp1yX8tjm zutoMgm)kON0^FCWa|4s^UvNQr!ZuLL3@@Oc%ETzVc?61C&RO#XGuAS2o57aaLT72V)ixXUjrVs8v5c1sRFMKr?jEf;xz>8Fvt_7~W1Q=`dnJW%P{Wb7|c&{sN3x#()pfT(H>mcGDC!r(RS? z;LLcr6e-8CnyEh+WJxBNH2x%MPALw>-Cc_lq!1_$r8tG+8lYJFrSE(1{r(C+l5@_^%(Jtz^UTgEtGHr#i2NBc z5u1r*DEnJ~rZQ1R^VU_e@KXc_mXuCRh?};z!<$f(brg#t$d|bJBBu4wgcp+Cfh16R z3Gj3~28nQ@CdSUz^2RFdnTks9x{UtEN~y_SVzxJO4NH+JDuU#8I?g>}3kf-AY4eS& z`?x3h3yS;*ESB91K)ut)y32qg(HP34v=NG$jn~mxa-Ix^iKO=f55?G^l(mhg$}Z>7 z?UdhULA*Mn^N>WD`GFM~+%Bx+>|@1qV|G^!rPTcRG^PnQW~2O&KZCY4m(X%Z>B;W) z5jGkf4yJ@>C0-K(9omlvcR8h-WMfz#|B#GBm*%XmM9o#r8~HHpmBhvI1S&S(GUpI@rC-!q~E8CS0 zQ-Q&z_0dF`e~I9$bmo{umK(tEK6i2@ReSu$BM>;dKT-~LJ}P+lcU6LXirq$AjdpBj5EKukjyyscN0 zyJFvjxpX6KH99p3?Z=oaON+f3U^r1OA#JLdarjkrKQTQ63-Ky1Qp4N?tV_>v$oB%$ zjwZ&Pj-;8@6UVWe=waU$4^zVlMkvtup489%Nz)VSRj#wOC43+$It;R}>6^beY7Wq_ zB>lYnGh{F}gC;2;60JHV8O`qG8Elw&a5S=Df<>?URhg2Nq@(W8%tO$$5bG}>oSwS` z*&(I%YzDMi`OUGe{`i1o_39=H??@+?wB(eCYk$aj-l}nV$pfxborbdKx)2#V4=R{o z&>XRHzNq~(Z>z2wdQG$njxuXm*%q(+LRxV}2A150c3c`s` z(kx$X)E4IZ0F?U{h ztikxBPkqSye1|>WU%z+@jPsj+2)zz@n^FL(C~8{0NxiJv_S$PhLV5M>eU_?P{au8i z(uI1*ZwaPX*5J4L^!$fP&q!y&SRE&V+d&dZDdPT0l6#;2azc%y>@l~la{l=Av-)(5 zzT@fABX`&CfuOhJ>5BKupQt+4T((ZSq0W8UD~u z&mj_Z3X9aTwr)hsq38m|rW4U>ik!BMXa-}-P4&{sRX@C5eCJPfuK4D^qG*@?1x$P? ztND<>i4>WI|I`Z|3=T!8nEK%|@GAAC=%;1J?%Uw1pQH1<6JLXia9GQREbPnXwxdH+ zpHCc)#;S>1a5qymiz2QEC`~Mke@kJaA3Nq9!rc3B|Hw-u@7x{_xpw2$?`URq@O-Wm`&uKZ3em8s|6oi>fRd8h0-XCJh6NZ&i;MBxqKG{QwrkA!( zqY| z3d_N%i6hzEzYAjuvD;gOQ>5xxBg`;u(3&_gt3F9>M@|cP6SQD<@T1`V1(51i@Ezvc zoPnS2k81R2D83M&O_Og)8?X^$cyJPdyYSB|erLzCMxHkRhKHhx=Y_CF3Fw8i z7Ko}H-abdQpc==pF=oRQL}dzf;|DEJdo3({q=Y5AxH>S)Sv~qzQfz5utEVbJ15pGz z4=WfVYhrd2GKWlyZjBU52TevL^GCGHsfJ?EzC@!H)~|dkl8n<`Q(|UMBi8kg+-B*PJaO{2Ix=JXKt@xtv@<&wf?lYQ*J6<)GODdU44#?8hSR*34tcf*3xT5 zWlxF6WE==~gZHBCl2&Jb0fC_{PlA2D7NP0nol{jJHja zG&Az>w?!<6M>||q9%gZUl6w48mZNca$f$jboDkEy|D0mbAe!rx?%)LK!wz;L(=7Wy zwf}LmSfSl71J298%BK5IDe4c+K)DTR)Y{p3)0AMcQSt1@WNX!sK-Ew4?VANO`@gix z!HgxvF)mz=CpV$*CUS`nfpJH=+&F$uphI|jpTaL2)L`9;&iBEn=Lo({FZpXv-`pVe ze-8I6&PG>BsNVpPeB-MP=i%S(+X`(n$e#4sG9ESYRS37C*h^NDDg_jj5xad^7l^J~ zcil74N+26Ef=?GsVVt^q*YZ1>Ow#>VhIz8C2BB%V8pIVW zl8?Ew8bV1ZK@dUGE%Y?>`8MMf_mu{P$)Rb=Mc;Y$WlL|v?T}{s_7v87H!SMPvPz#7 zF(X`CR?w?rz@q2IL>SfnYu=ln`4(I(tljeP<|B!!?^pgtRt^=T=yYQw0~$`qf-6kY zD!;;oYcx1kd9s|zJQkzFCj}rCeGc!Qa(S1*aN@Ay+6Zi8L@d&U%G*x5ADaua*8oTbIEHJF{;7;MF(* zel#qEn~3y}&08gT;P1vdx$;x7@<>}v<%*~z9q!a;b6fL=TythTqFLt4C~DcUP0(@a z5nW?F{r-Lm67ZM0H`>9P%_&WajLezOQWA}&9OE29>R)@}Z(zBvsfIn9W1e_8*#I@K zYfj6wpg5=Tg;RyqH=u3a2Pf35LHtDx-zb+d!3QJ>fma2|7bV7*3Rfa;t7XS?VKeO0 zF5g23;1pymO+E5t&k`>Apzyqe+MwzIH9tu0VzbNQS@n-lFqw=ksIA}M3g$hI#Z2ke z$5HC-WA;McuGd*G0bgd-7WNH@qQ7VMy9iwN*@t@Bci_%aLA4+TR~d^~DAYW4UvF8d z=+q6ojo_Lf?4LP8-dxC~~4bIE~0l896FD>a?C3^&=+ z@K?S@Nqe}q2<@gj%)Ktdke&Riz1xSJ%6W#i@^8kWCZ&$yX+9!hMEwF;R)^X<4Z;Zt zZok6?!R4py>NI3oYYxv6P4m|WpZbF_UP{WF8)8ug6^ZWinuvJS$O`uybb>3+LeJ(t zkIhc>RiSQ~8Qk{4C++ln2yIpl+!E(XM-}81^l^l!9I~+9s2{ugrf@w1p9dKWg;n{ z!oK&tdCOP8X?=3AHihL$r0YBJ(F#3&jTWTlIJ9jC!E;DuU9O0{XNF%=rTHM=eF!EWfnWZpA#F(+IUjI_pLVn} ztr6of#pye47ju{J!N6c_mIpAA@nXqzE3F_WlRkn|Mc#;~c2bXT^%0sH=we5@V_W#M zK0r8S#jmDm&k=LT$`{ONgg2tsJ_Y~fH>j!szl9vIc1g953tTugzI8Jmc5CiJ*P4CKrkvIRp zsUfa49Ogb8iw!&jJr-(OJTqHEhj|KWnj)cGxCGBP3BFhfo>5#pWDaXEB5yn{kb)5j zNue~HAuR@TXbATfjc^VCkQ-r;jX@kikW{wY0av*=`;N<~uz0A55QGC;Wnm-|VKX`d zd?Y{mDh)NyA9)pyYL;%*H$2u~fo%#D+F<~I7NA6tK5Qt&%QX%Uznx|h@uS+*Ck51W z1=La`2^s+5jw(=Qf9-wT1bO$+jDiGR0xFv>OBymunj)gtEC6AW5I%u1b*C%V)V@)` z5EuvaRGLVGXMp|SlL8F@AWGu_vPZKdb5|alDbsn9iM&j{kO~ZNliH$AE-0wCbi6T5) zL@$g*Mjprudyryxl&Uom{v2pGf+|ck<|gbW6>x*a0v{=Y2M2o)3vwCj0;o*_U!OJ! z_nZF@AP!kG4yybR;7S#UuL6_}m-)SK*c^t)|Asi~!**&(oVy05ygY7N0#N%6jcg3i z?Pn2O7;1V1CV|~_KTk9&G9oP&rW^vpCv>2PBB71~Ast;9oGfB`xR^-7U%)3cPC%3Z zZxW)dB1|tLc#1S72DmR_ga8G=$Lfq!p6b50+9RVpL*op91eQ`oTn~i^jh~o+H;5px z7)w%BK;L*I1||p%(^d_pK~(%V44+V^0pS92iI~N|CP%~~6h_|hCh_n@(a6LzSifP2 zz;J+blGz<0^u*@xk0K9f-xvER&^*L5l7yNbPE(?YD}~wSuF4Sxz`bHTv8KtyvV_hJ z@mviN4#D(0%upI@g|-(ZD<^P;E)~+ZqLp|=j3~f^C{g@I#1k2@BnD`Y7>E$Vum?sQ zir&W#pE9deEye*LOcADqW`Bq_)r8JpEP7xJB6}JVR<*Xgvj$rB#n93D> zPLb@Yn1NPCzVi9lS1a_2g!!-zHP;e23 z1n3kA|8d-SurAC9@QBF&OL4=xy8`}k+%h&E;kZ0$CByUDExT9OH2>ka{~c$--MMN& zr>o50thb6pt0cX`V#~`z2(SiSAx|X$$kYQT+9>nV<~aukGH9$!5mMo*b76g0P$*iA z*hD!yh1>u9gjSMcD_FD_F`Guh&%_OcloXoRj*pvJNyC~05duw3QJA5>8faWujB&JT zDR07E)+LqKvr=>(?gH#NUAhLTnl)7M;4UNA-&V-2X<6$1*e;-97>{W!(p>J{8*(Ol z=zv~o2z$b>6}9{YWOCYHti(UPtC2*^R>OQ7MZsd0?`33aHW8%;M;zM#)U-tE-O zO>y7%%*d$Xxdc)Vck-t-Ov5$hUBn^0W zUT>1+nGT}nrF10bvp?JBKgIVhjhcPGjrqdO7oH1;HIWsdabg`NADdgKhwfC2SM}^F zg~WO8j{z&HE@J}N&bLX8&O*u5);VYB1bZ_{9=s2_!E<@Hh32@ zX?>0G2$fGTa>_w%L!_tYGS(@q#dxgeFF>U{A~Wm$Gu1ryoh=tPXIK8ic|e3dO@HU> z7}*W@<^Zars)EBZeJcPd=fQM=J{znTUBe1L-ZT&R94rL0*O1@FY=(OE!*L`-S3T~_($@)b%v>kdZj`U+0|0KucOH!yg8aUZrB1eA)c&iv z>bRtqVz!U*g&AQ0z3hOS zZ7i_;Q`qi^W@zqxkl%Tr#q4*m6sotCM+>Uz3Xn5@&AEolc>!eUP6GR@s_w!o zIq$9fEAML%M7GUB9Y}Lig8$H8RZe4xL_lJ4xKE@SSP%$^2l!tG*_gNuW2H|YZc`ZH zZ3}EMk_W5q(y(5^{@ftr-T9=5 z3W^MKEW%>_R#Zl>m08BH@I4vX&;NqC}3cP9ThF5Q>N< zNDxIN4Llq2P(clH)!(2rn5l_NIn0k3OBhT^cn-_+m9Gxp>LnMjQPHw7MQ%SI)F}$M zr+1BM$a{RTTs$ZXtqPyCNv-AmScYK5YNJ7TCL(M{xc7MwZK7&gHoqu7?(|eMQF+S4 zh)}QF-8X?9UH4nqH6xDUnuPbSBcuMC4D`ilu4oaf-$MsC^MmhZI4pb0EFY#=-OEq( znz&RW`D=E49dDIT77wEc2L>&vPNx={e^WH#2*=rzZdbg?acHp$c>Ao!7+xbJ9BjxF z_eyjzAkn}=p`&VOiMhx&yaSH&WxJl%rl2Sg(j6A0^%MS7S)QP>!!6Ec;>3nec9q+Q9-}nir-nqKPpmJH%&{R%Wc_%CeyN9^ zrZ#%$gzI>P<}rFuUK;UBD|B~<8g0T<_YWOh6^4?@i;^n-M9TlTTzEJ*B-H=wz6}R} zl@;O2$l6@-=y?2dxx3ooEj0fvEBbfB4R>S30|{)cR!?Ad6_wedBUA>i90XLLR^N^M zu_xbIq1oeDwNvZG3#wF3naUh+#AD+B)+B;%H!~1=ow|vyTjA}KEXp_8oZ>@gXgu`l%9k}`6CU{R}XE8ywLx)&g2 zlC^B)6F5Nclh`lq0WICvi4H-Xi{{?`ddkDs8xkn&%?LQ1ZsaB6Ufgb=`JkEVYr#w0 zkczE?G+X5>bxARVzUds>RW6H>3O3W9Gb^kmyshkhbv}6g3y>$_H-hy)rbHUBY8qrU zNc*)p(X@e%;T;&L&@60ucgwRWXnfi92-liFG1%`vVxjRDFcTcq$##lVz51X9ONQFy z?QQvnh0!!gS>Se1{JxvAaP3{uCV80HUm-%FZpu;5o5nrpTyI?7xW;8;pKjDWvF)Q} z?%A!oEMIVtIL7O^I)SGC@9W9P>-=H~VS_ zA*bIH@g1M1ie-c^V=E8Z*u(l*3Fz4-{bb5qazk@Odn_(l>P$R z7JbycC_lm}oxe%qlXow*tVk!1GH}TmnEmEix>M$H*`@OS^oQrcbT*fH&woEY2*el@ z8XgMRDW`iFSC8BGFKR9ahSz7WGqM<-@a@m|>}sncqO<#w>@|;=Bwk(Hz3)|&#v?3t zp~-qtY6T5S!<+`|zgk3CF(Lxu{|0LRaT>C?IyN*O;jlREss-jYu4VqO6cP9J;XMdA z&YKj#d-4}>+Yxf`qAXvdX$OvK!RC6KnyqB8M_TdqASX6ms_yvz4>ysR!??v3b{S|s zQ#$y^zZ-y-Q(=X)pQqZ33pr4f@RSZ+h(9(i<86mMWRj&hY5PCGDy5^07xeJ_87!!B&YOfZ6oavKN}`>40Gp-BUai z2-1ywluIhYNAsE9izGzz1kFTK>7Y4D zXRnKCzgGmBj?K7}0 z(32juaX1A%d?wy~#QcJ`tT|psLwj=Cw5gSEhcikSi%y}|?5tqR*9dP-aw^GqSQO#R z+=KeU=$4CeIiDKknMHXmWa5DhfDGXAmMm~zuC-Y{Navf`GkKHe=Bn@)a9E>Tp&ENH z0viQ`N*bL){5)(ZF#1LR-~W#`#dl(ZW8y=th2blCE%dc1oL%{WL^=XY=(S$HdngEQ z)mR69?^kjVp&N2{pVil9d-D6+ojn-9x(BKl zHb1v)*e}nC79>_bk5nxA%LLVgV$vxRS0Fn}w#5$(4ULjtJUKj%QhS zAQIhv?HjfIWB{RP`ODB|t3Gu7B>#Eb9u4_pp8)+J{^$E{?2*kzx*f;yI8ll`(e5c0 zPh9=}WobX$VfKhdqCQcP8V3w`j0g!5BWz8jSld{}C_5gkr5(BM-WPB)I-zU#nb6V) zLO#>2-K_#OIZreAH{(JwYjMOt3oi}TxOyk~km29esXt=9>CXu#rkIQ>OiV1>gtBN# z(yd!bg^G)xeV^{w^cy?aaF+J}$8@ldPZbLPW4lCJMqwpW-}>>JpFpPIL_waf>eC$5 z@9-ngcZ#(u0u}DN-E7ZKb)R7;v(w?n9;ps}yXDy6qe>9=l4OlVGpC;zZo5(bXb;Rh^O2V z7krc9lx&QNs<=#?<(lUQb`QpxR7#yP z^ye8}6Z}Rg<&(#;O2==%jmT+{D33PB#dpB#W-2+c$JzRsgC|9lLvPP$P#VENb4Fkf5RF(+-~C^+ zHRhhf#E>zPb?@L>Zu0}UG{HJyuve&_>Q;QHv2Zd{jR5|4vZ{P4{a-(n$+mt;V68?Y zBEc`hBa)}KRX+?oN+i=ndCRfW$|{PI&yUQ5U|wEK-tX+bP|iVtj%kfO2VjyBW#{U) ztR!siaUGNLC18-v0GbR;2zp$R7cnLIIKFZFI_`-Z9t~i9&ud?X!FAwi;)YE>3a4z+ zs7kq;GPWc{8Wn-YH39P z^8bPQ(|_y>GqakNi8N^nCH!p3`3ssWmh8do~&?{8YTQq4u)7f+bo|JYp}@0?-8-9fU>0(Wlb zNCkb&!A}m(ks66}22@0(x>w$=qrHiE-#h2q%the`Y-mrpXS~IeOCNeq(816!!Zf*; zijL)81iKQu9OrECEvbU)G28aU}cux9&TSl8&0Sq}QRqNjaiH?94- zVT(#0eeYKHXHFCi%ov$Jr>u!)hCbrPPIVJgm4<%aGGypR8bu~iXFB;qooYT~J_EnF zlQPAI3PB{!yFu`wTM#D_RU7Hxmqkf(TkS{*-W*qVj3FY(H;wClJC^63##}L z@yAP!u0QAET#vosLu1EE?^2WUKNZmb^Vt7~@~~zH)^^^w8nycQMcEqw%1%`oWb^=Lwobj zll_|&I4xC31#3@iM=T zWArA-;7xZ^{%(9A`}i5cm3Kx*+@9Sw`tz>exDDlvZOT!Efe_}KFY7voSp8phphl}A zuy7L=Cc;)ICMuS5Z#D^)_#4IWAcyK=)Ba|?_S?cmS{D`F*nS<4?rGxI zLOC}g_t{!RE>`ZC8v0_!(joJvD5E6R9Ru7ELZ8r&Nu7dc5A0NPewg^n9pn`4`90py z1{T1!*ZcQ!)lU8WkYCygY^|}S&vc6jECC}ISoH>O1PH#%Lu=v+OPGsc(I$X1%4gL| z6Qqs8U8 z_Mm5}GA)dChpf@!!;TTo8nv*EvI%rm9u{Y((GxVN9{)2VoBlkn9mf$TE3x)9Rb%HX z!`aTj1E=u!aJKxbMsOWxWV?-~!bUMAD*B8+k|8_q=x~xTQloeIBqqY9cNLb96q|lC znkc3OdG8kEd@sWL$RB=t#g!$?b~lr*Jxtl2-d?AG1*>80;XUVeF zQ4jM(_JgVUOYtxzlh1C+4Yd4hq~HfRKCm=nTf>9#L!fa8+*lK6bRMymhTplqEvJZYH^jgKRSh4zPPR74$CB!CD%?{E|emT)?w2?BbU2Zn%k$6)=8QtaPmXH;Q|iErEjyd1X!-T& zQ48!0epYMK>mgO#uh;5m6WGxaHahT$!d*E>_6r8J&F-*sfKS_si3oi<_Gk$#X#M4& zbJ;}O4)H0(4fBTS5u;6kyI>rnG9YaCvi~2k^crA`YOk{ysiA&s(54jez;#H)5Ka?c zeG`B4QOF9y0K6GSN(Ls-!(WPapxhM~rCAzN{^026B>yf>Tq+tC1NqJI3>Y0fRw;X{ z9*o8|5-YbV5G`e$W?)oSj(yGymNgDijgBQ2yC!xf%?KQ#>r=kon3nhwA;l+;9yks0AC)={nLy}$sjTsXraHGZP z@axXpE`@%{S6W{Y??$DVeYNM$Zb4WTA$FK{HFj^?Las?IkXk4f=MoWxyvdsB46BoTX4>sU;({g6eFNU}`3KRQ=S#JCoJy?2D0#eS z3+}i}VGX_mQxaDb?-F)B8Tvy0;O}85_Cu@ojVUB?ae^dlAMr&0*az_$lf)3UN$g>< zvAHg4xcyd=p>sGhh_7dB!F`{ckq@7DrPy9uxTENnwB@>6TIo7Jmo6g6<-zKVAkX-S zodTJ3{Lo&R`TDG$Z_@MC*}t{RbDzsj7DD65JmZ;{y);_FlkpPzU0t$LQMN8e4U8$blt*a5$a@40 zkcyFtZB(wKst*=qZ%|E9TB6aWz&)N=sb#%b+{42xaF25L`W@zK>s^w$ch#NrXyTpj z_F0BT$Uy`rkNDI8@iQaOJCp&8YxbkAuJT)<%yTNmEbK9<8GF>x;#TPTUIa&tYmCy! z@!}zzI8QSR{nl9Zu@5TCq%TVqxKD*)iCA*}A$%EAx30L6;%D>(B2`2SYl(^6xEiUr zqSB0gyy9=}yll>FZb*;k9+c34XDpjo=K$qUA|>`_Od;h^8&s;$lS)VgYg7l@gs=QF zet@KvYJiiGm0j1|o7Of=LL550z@^;xUsDjM@l+zxWexko)E(rE9Ua_vtH3;pE5k!U zZd>U1hHDk^>!}GDOkZeS$ljx#2sv3yci6vHE`XC9c+TK*8%Jfb98--m<&ZA9Qw;#> zA|5twp$>_@)Hxnz?CK`c;TXPw&9>kza}CoeXN&%lVJ9RwE)OpA?(V$td6$zW3#NA) z)G-zaR$*Km8nkWkQT9{dr84!OLDE&qusL1_OOwE=xV~D}W;Z1$>T@Em6py5Q{z86s z;M}21VD`qK>EfMOH#c%4K9-f3=9OtJ00g(|vR=yK1w!FZiV7Tw7cYnXdVRk`27m7v zAZzIqBrMctrGaV{i&;_>@VSX>s#0=|j7y*M3-(F-VRThaM>h%!f>e+PdwZ{Ka}2(v ziEnJhV>TB@pCSY#vhiU-N0XUnC$Il6pxkx$CCx@K)^GB{OJ_sUByO(;kAD8-33wM$ zsCu_r*@PIouq(7VW{+aPuc|I+D`iva{y~g%J!??1q}2{-4Ssbjis}Z{VvS0fIqFC_ z?QNI6o~Ys)a$xP7KeCLoKR)Jw?<=uVi&{eH?SPJUs#N5n-xR->I zG$)mRz)G8Oi1kIG#wF)Q&NC8ha)ke78ks(#S@JOnLr zt=pDVBsCN~2e+hCdS`0|;eiWVRbQ(9RO><7nCKTtTo|3Gd&?#5tKo6{5#0H~Dl1;$ z!raYaMk`Gi0?$Sp#HfOR`SB0%E&!G#142Uvl#ler-st%x7$${>Oo!rf0Eoi6A6mHc zvlyBTDnDPXZXK|&oM~~xOVKAu#>k)@9uq*W*Omk#mpe70=Opy$zyYup8`!sdQuFtj z+7HLK>^y@@m@CbD^hdf`yP3Cf;nFI7gLYU3?s``V=bq8Kyd0d>g3EpAREw!#Q0DUL)DQ z#;C`O1JJFQiQpyg)rEb_6LaukBY=eR?eR5x6#*|Vx%6aL1`UWG6B1wVJ=4@DhM5+T znxwFYn_$$3XLO&5iQ5YiWJ53pFjr1r;&Sr}rqru*G&%c2;qpJUxH%wKMR-&K3lcd%mct=?N zm_fBR`uZX({LCqBZ?o7_a>ND)nWV*0VoK;%BaIOe6SSac*)ZPopcU84_Z`Ht0DCSV(We9JU(w3dF?hDjhkx)<|>d>T{ zW?Q{K@=*+nkhleZNCKEw5QsBg0UxhMASSBLcl1wb{~j=L1Pvw6H8g#2_w#8s}&h z*b|>5jbXQhO&Ac=R@%a0;CmF}9@`%K`<(Wv^u8sZY}_Yccl#cSq9*<4Q3cUhWzjtO zpbur;gZriA9dFqqNi{0uxKhBdfaJeYpTG`&6w#Moix-a{>{t1qTQ5pX$hRTMm#rT1 za(MwIwfdHwUNo5rGEha2##svZd=!&Fw}3yzYsu)8v#2Mwk!Sy;oByXlN$NjAnN){w z<#j-#B)F!?NXEs{N3f;q{pKHdXZl>8@_Xw*fC`WXmt8PiZ3lmzK4T{28>)4 zDSo+n=rs|$Jca)e7lu(u;HzdL)K&Xs&wk02tvBXtV*5<+FZ{4e?76HBNDbs`rM=`q z8!UgV^BsRrPc%nnzx0|I-Y@2w9mOYbC}eV6=O@nPQ>2??VM(Jw!$|mk{DxLL%?7tE z?B4%ib2KikaPW$eeKd(X@1;@$QnCQ%+1vI(=U@a1?tl_`tXWoD?t5QuN+()~t@=bT zVz*&0;|3wH-AnCi|0Pw8BrmD{wagX1SfwXgg^1likc$2v(8pmAl9oAmTCu9J_RArS z8+n`2dnmve?N84p^5uxd!EEjXa`D9Q&EZ*7^r&t9U0o?h&5z=rF~4x#zl&zb+`WYFNLpb|xH zPaxjVblC7>SW{~c)yU95rj*x9@)vou<*x}@j@q6Wk$8!;jXv|QiMSg+kZl6-QFoNJ z0TBP7eJBB?M#HHNiI5U+sv+;mT}aHtiIwd0+>&vkAYsrbAN#ZfPz=o@x0?7w>UI#pK6)C>o5a~)?2$`k5?g;I1r4HZqwsAN>YddcYoy3Ibg zrr8}>53n~tg_aPMj9h#zA}_vWF}Ypo&8dCdk0p?x&>)&?JU}Z7-mVxgu_JP z-CqE2R;qX^z+1qk%41zh5=VJ%ToU-CBuSMNOac`OoZ)h2=TqApmWRA}7vG2G|0!8j z?n7s9mkla&^8CKOA5)lkc1}P|B7x)ea@8!e??nmmh>P#m z`L21Tp+Tw)GM>WrU%Y`>krf;020Kn$fiIAj_c)QGdwg*aa$wXviB_n+{-VfHpnQ`g zJU^!LmQAj@{zgLy&@3n|rSCi#wtxa7PI&hY1B!-^VGBSR`(HrDJJAZ|gw#tO8e97> zcYF2CVci%#pG;3&s?~Co5f3ieW1sO`e)7c<@-ro^xH5ffoI2q>nOM3D7RSzyn8^RE zA^VlX;u;>Vqtq66$soJyDvHYZF93CF{1@Z{0hC09`l5t5F79eXN(UwMh4)%?gR6`Z zO6nJ(%Jzgm8;MwK#^!XWF`E0wzNW2FM=CakCL-HC<|x-)~F`vS*{tFM*U*{rs3MhJ)~Px!vfoG>vnjJdk%e}L0d zEjZ&_u%yQr7$bTdy$`*V1>!1epF`^^yqnaHUbo$9PGGb8SHeM&0VBRG|vOyqwYkApoHdR zcOu>;)qIP)9zS`^>*_TdN|G9j{sqiOuPDVYhaEyS31i58*cqBL zua)t>5qb+z_kVcp*0tJEdp3Ao=w-C9*gM1T8zV*^x&!AaHJSV9W=bV@Bk`Zd3b7R6 zJbSt3Z;3hj?BSe^2S`6w^T`TH1jEu=Mym14Np{|_rHd+cxue!av`sLT6m)RpER^Yr zM;AUh(u<3D6^ind$SVm}F&yDMXER)8+4=rj7#sg|aSQ2ut^6_#z9q>L{VcCz7LQ3p z3f?D%rAP3NdxU*{<%Q>wmLX-E+Rt{tXjTh$SOOS0ZlnnbkTkvvkm|aUb+s9{7lzMq zF45c>7}u6X5B&8Mfx40uKVJwAoqkn9`h{>yOq4m)^`|Lrthz&}zN#JVcTMI}r=MMT zC6{R8X5qpu;&I=UJvv7F@>)V~3CJVvQ0|;G75b#Sovn)Y|0>`=g#zq+J?9y@M_Js8|$&LB) zmI4HfkxT5G`jr}clOO9|zxFuID{`fKsmOojMfpLgbTQN>a%p#0WARTh1ZC8k%w@0* zN!k3-)0bzB!szGe$Sq=%bwuQqxchzF_R^*=>*kK5HU2v}X6$`AzpE}$9ezERT;^O0 z++tSIy-KbyHkitXAVi?M@WNRtiNFosjP^b&_}OYyN*2f6R3KMyYEd8hDo%g?v^m+o zw>8=F-Cdc%`3v3Fe$3wL+e==0INbT+;6uHRL-A1UHwPF$QE}$?w)lSSQH({y>Xn9; z0$?;bj7=Wb2hATp&#uAdbQusDtXTq~X3@#$LXER@F0noej+if871E z4Jj^OFm4K2w1&$Yz=`|CJ%p|@V;HXTEaR>4ZE{ZlhrBhl==verphcBxZW6ygzxg(T zo<^YPDg#b4Gu?5V>mAriI_|n#%0}gcj)lm^^}yV@Puc%#cWb5Z!UvS^vXmYUB}}X8 zvtozYxbc$TpoykBV@;0{gcz0!utevv1sg0T<2@Zt3dSjU5~u$rJ8Zcq=`~}^qeJ!6omE>&q9r3wbD zVfDZe8vsIQJ*d_Iho%a<97ySbmn6@%KCM+;9xDfzgN z*ky9tbmt-LQ;Yh2uKkU+_}OloJK<)=lYapS1m+yRJdo|^$Gt2iWE@&ASkwEJ49Bjg zB{K@Xb<=017!6xVA?q@RKumm7~3ZL7XhdgZpfctjewYU+~k! z#0!Nvn0aFL0Q1Om{G6S5ht^-Mq2n%;(n!;JotcL1p}C2;T|y5V%@2?^!Du8{1fx_M zaVl77Bb4EO$KN~iZ3Mls?+qIgbVggcBdJ*k%dUfJzj0!mVuSr?Qx~uSy=^sQEV#BU%_gn z@qz8HuX|=6ktVsU+_q1M#>7zyB?m)ppax`_=w*vre4Odp|1ZT6I__aY+1(rQFNS#$ zk)zHl<}lE@nmfV4-)Qck<)bWH zRpwN$p!8!H$EWW*V;K6LkD=)G+fh-5kM;w>tT!`Y{%rm(Y!Zjv2>hHCd2M*-M55t} z#ly9G7v>x2E;6o)J^nXcr8Bbvi!f<*Rlxg7MOay~yT2bFEo#cuTpO!KE5xuy+H3FQ z_slHHI9=eY*USr)H(ojMkKIfaVhRGvVp8o*2{pFNC{{X)6O{+0Y ztDT6{DpgMA{{Ytg{v`k^7mfL7*-skem1Gu|xu<1sGV?#pG#G8?a%g)FxCu9l>S6OTK z^o6H#ue*Qw_n8ZTZK!Ma#C8$Fymnqcf0z(d!Q%dX{{ZxY=?W+n+t2j^EUV3Ne{UXj z0P6s-rRuzM+ds^&bWmM1cKjIs0JMD;;5n_t)}>%7w~A{0nAT|%Pw?~c{{SE%L2Ktc$XA6?=CX59~Q>OaHDLfZ66onny zQi!VnRAaGc?nQv7V^-~B;Ubz)mu1H{2}walDgOYl$(6ka55L+~i>i6;t>3gT1yWx3 zd7F)-&hz>66;Y9F<2%`pv}|y#2HMk{{J^vzhX^&7gO2;pcvIpbLi_I@eST#JW@6!= zd{$on0P3Q_B@jG5&u@PD#Jv|KcoF^h`zj#H_nLsD+J_E#mQ}b80k+1gAKXQ%Dzz9hR^i8f$O1~A2kMu zElvUrB`u5QSRHO=-)OA9{{T^pV;INPN%XxQk4K~E{wMJ?L&5<)reM^hSG3MrT4REA z=T~v9V9>JgL`lf)6?yS5VRr>Aw{4DBG@rl3FiezwPJb{C+ck^EF~qC`XGL#M?)~Lb z6lGQ!uRcE>CXp0?T$F!q_3Z_0#f4(Ex5tm_GOMbgeidPtp5JnlB`RXWjON^a_yBL) z0av}Zr^KW&SmO@g;r+uIi9l8i-JIj^Dhm}eUvOZ-3ztUF=YB)XK}5wDIJ?jJugG^s zi>oD3n^P)&BedaRO&Fthm&9t+1kL7D8Z7+(0MezwVR^5g`|k-r&wGSW^5WybsilSY z-|zDc1_0r##Z|0*_x{Bv9IqFNQ6@aTSXl~P9$tJ!?}|~2qQR`*QnfE-h1>&fS3zDN z3c-_agva0SD_8}#R4`Z7V;IIgKY808k5)Y%kJ87?6Ev+G9-Oc&} ztIK!C{1?LkLp~E>ubZcg{{UDAZ)C?HScnYp+0!>?TXn~9hdovh@$woQd{@2V3rb;x`_<@W(pLq6izVNMeL!Nv~ zNk#Gh0Fv4-edlBxz@{qMT*}xgU>LGp3RA!k4oDeLXfL~Wh=8GRp{lOl+1GM*p_U>& z{{YkGWG*ZebFOaQYuoC*7{)z+dD|aL>3TgLkD=%AOy4?{3zoD_J3K@}I;oI<&MMr2w{#-EzwV1g70`t7w zw5Ld|ITr>9r0TZ^6zRun7;3UllJkLUV6GIwB>;$!BGF-F zz%?E-gjK4~-WSrm)$ivp6@g1rvH}=squEe&sw>f4x`oh`g?I1!{{XWsE&-r&90xzQ znTxu?VSn@Yw>W`?t!}s4J4b3<>)!SI#LG6FEwhg``|OE`v3by|vyvKma?)QWm}5P>-zkC zu$+~36=bkzd+Gvdry0Q(4d1sB5=-EH;Fc+-G0e30p7^FYmJCqmiBwuLWpm&27T9D_ zlfHXOEtbgG;pg|5mTszr>pzKg$@j&=DHY2^DPbrKaNG4>k48OzdE4rGzd`E5uj?^| z{7UFd9LCax+X2HUD?vCIPrP)u-Ug9mEGsjsx~)NKOJ=tn&>~Ywo-rLlQlRlUx1!MFR|m zTyxvU?`k04WfWxIckzEQPyl8jhK+tsdF?9EM$63s;~IaAU_d}Jx~%=5&-|58U9;SK z-|x(0eUvInwaaYH_aafZsgS!+-upLBR@p!drO;^04}-ND{-6p`I>=g z#18Ak!HO)-b*W^r9z(>k)s<%))*b%ToVRC6z895WlCYE zb-zFC)Btey-E5gO9=hiMfSN{-M97v?)i+`22W*!iYPHUF!b;z0DNPyNZ1I ze*XXy9|*ezS3ds$lX_@t3l&x@ehT&Sajgvfugq{jh=}+V+1_R9G)RX;|cj4e|Jb z>{Zvi4q6~F5brI*lJB?GdOaUU>pNrB>iS(0)SUAfenT|vngO! zjg`L>VU{6p_ChF)4r;JB_J^?#l|PSo)of5LlPx}OSSZyoSMBCy84Uonos|gSv~BEn zKi{3o#Yz+lf&B#)@K!k^&I+cYX-XjXdc8W>{9l}54rzRD@X+m9CAx<~{ z0DHmecW2^L3akNN8T>&)icOn1*Pij<3lsH$DxGO%<*eLIWkZvye~;WsSlYvpgT}w? z0}EoQ&1=NKx;1t4`~E_L5~cQesFcRkcz-B$M-SPiB)4MSzyq= zAMzlvl3lRQVz|8MsOdl`QO5Ty1esmwxA*r4Ws7TP54JyX7ey#0$G7kK402-Um_#ap zc=nkUYH@V%AHVw+pa5j{mJTwuZ}+^Y3S2b5y`U-z)prB%hfI*Ay14b;$mN4}Yhe9u zVJig9c)#vYS}w81zuWst-7KoYuKxhYh6?HKyf}4Gi&H@Ga`Rq)a|=`CfHm)2{{UCs zCg6-)ifdQj_j7t(?FoxJ9{r(Rv@|t$omUdfD&w8iSGOOd2?hsUmSg^ZbH@01gal{{WBqxWaI}aQ1$0xA7GRJ&Tlgsbx`ZQ^Qc~;D>jeEVn;i+2& z${4Eg2?Vx9XK0X0QpM+<598(_Ny8_P-}y0V2v2$lNQ6EaN_$*W95{qv&@Z=nYu#tt zUFC)gA}WRFy~TC_H>A(~{oGf$juqv5p4I;VCo))#F9>|Hij0{ z_@hD0GSUU$1b)nS%wpvL9oxS+g2~FKbbM@onQ<{G%JP)|02~$gl!_60bL2mKOk@a( z_j!g?f3P1#>aykazLzi1G4(xOuSPM9dK(V$39MoOUeUyBF`%wVMpP*@_(saLy6{F| zTT1<=CR(Fk5r%VP_*6-KfyG@ADp=kG$Y8mEHy^V|G_PoLv* z!sy3jN(-v~a<}b$n*O7)r>s z=bZ1-T~(P8;jV>8WM)!^6Wv{e>OzG3`4PIfPonz zf|(#<7=pxz03$sjs2LKB#}kMF;_&0QNbv6<7y_zD2pB+9%oKQy14F_Dv<*96qk`!Q zCV#IqRacTk-hCsa93e%lRUm)}5~OD&fbN;AVQNT%AS2hqCx-qc_}@bB6NA>v8t^=h z*dU0=jzd90@4^OZZ{vWo2{Xg(r6D=A%WPWpQ z{KcnA35jZzRtlF=v5?3yvX)8+!gNZs)>tkD2@!1#qau>PgpeVmL@=Y2hBl?PN(uoX z&{`p-$nGt`%*H znxX=k0Ko@J%$ZC?X&A;s&iu;{CsI{pUHR?-{>T5}zvI9C@Bb}7{9pfpwklEJ{d48p znw*6W{jv?e*vH$K=KUW0g=rsz)&Q`LKb;+YEJVP&e`IK52)4GReT9_>5om&5R*ca3 z${eqqCWo>fXo}$JH|8_{b8QFqyu(WD6ag{hX+ol%rps8N}Q&QU`UJvQ6H&d z1c5Y9ggE>7qChQNU%pb;3sZ`G_~wsz_~u(AWy-Rmmlf5DYGtj3<+@O;phQ?2&!4{1 zt}CU!Af?Y~F)%$n^8RtAi4i2?Q=0*bs6sX*WJDs>yl|>iUmz8BXBbG44 zn?{XmEnKS-5!MyTa^-wkdHH(g`MR-S>AdBBo)Mt|`2psW z;lkpe6PSRl{_Oq}I@821l!h!CSXG}-b%!WWf{z)I2|_!lL&5b5i@RnyNyKMoLO(hH7JJjnbOSIG{>&Zi@klqc6>A1oP>yHIkms+;G=E zyLFcA^#M$}us)E@p2BN)0y|PASx6Qma9@?B2O7Dg{lI@6))4$mA8OA z&a`JpIZ{QqUJIu*Q!QY@u#~wjORs0ZtRiLv5)q@didMz?qN$jWr4e&R3Djz=tZ-dG z1M^cxznr;N#Z-BDIWtXO=F8U?M2u1^t2UxUni(21@4o%WPd|R*uReX^dMTWqX1@FW zJ6_64(a0};`7P^OAWtk>sa2_^QMI93F$-RYB*YMr7^tOCqL01Ql+!7pWX|hXa;;P~ ztQPcg<@sx2U9Nn1cOs!^TYM}uA;>;9%|H}vQS97YOb#K?J9kW^AsDKzPuWP*l^Qra z8@Oo53KH+IfT(oYW3U=l41yshY>I9Wf*#7cjj=H~d&%Gq2XA6u$4sjdfqN*Wd#$%Bpl@Y=qC`f zH?jX@X<9`Htd}ts+zy0v8^R!IKIRn=Q{G>%JpGu_Q{=a&2Y&qcM2Rk)MFJ8a5r|?i zMUp|Fq9)W3;k+Qa!iOgWBRNncC|0PgVyV%tjrHk3mys3q#ssFwmMvQ}8GjanDtoM~UqRCP456(kY_?LVhqF_S!zX82`OpythZr(err56BC|KyY zDp+>Ge8l?LahzBnOwgKJL)4kV%Qs~DVSvey3D~B@(I&a6zH73XpSi)=UA_Z*i~Fyj*%cTGM#xHf^qnb@-D)~^ zfyQTRXN4Gr=}7=3^!&UG&1D9`jYXkxdT-RlC>K}!%>;-D?VxfgHWvDfdhY#y+*$L{ zF(wVgdR=|8AANotJN(n783M~Hi1zt&bZ6Ut?|N}(gdn8ah^=62;NxF?;_ENpvBX5w z#;WE!Bw4T+31(;jnIqO3S{hBS)a#W=6bX$OBU3&>G-@l*8da~X7^PfX7HGkOl43&F zhK7cqNQQR3kn(tx|y)BI~-6MJNSgipZQ$3p7cT zy0F$lSsJBPmg0)>`Km0-!ewb(i&0nKiAzBsB&1fCUuNX>#E0iXF3oqTVs!Zxjr0ye zGHP>P*+tZGuJ8SKnB#@cv(gu#wojn9*c~V0d>VVl26cTX44U2IEa``B@a zZIbhdy~o)>-u@hE1~X#T&R=fCz?5okK8U?5LTfP1Xlt(RZq^moe!YtV$!Q)K^zb*^ zio-j}8FQF;`s|qmOHkeZ*V7N7f827redhE+pSSu7=?3@u_xK!fZb|$HpedtM;rv{v z=SY4RnPy>{1HMEyHqQZLvjmTJzO^;&`Rz2-w=&JevJEBG_Vh=b;S(3zzzJ{CjNK-b zqFWu-YvmeVU`{kOE|)8x&tGX#sA^OZYG@>cZyqC;i*Jxst3=@Ix*|Y`!MDN~#0;yA zr7bReMcrblLMvdwpQR|YHmuG{Ymj5+`J$v0nWt0l7bvSz*2=fve#@_Z`5ot%GwV{w zDKfo(!YYL1HGFz!T$jRM{q9G;e175Mhj;whpZ+oLK0NUs|Lk+49Eoa3X-5&XH*;g z-&d^>tTd?AEj?zCtnbq33JK*l$Va+EJ_HoOmh*+0HJG%(sjwW0BQO_gJ+gx5@ z{j=l#)-=tZNpyFBFqbH9 z8-F`=S7w1q09D?7`pUzX3w54p7%>P%8&X|{Mucb+%e4~4P%+R(2#KYvL{Z`?x>YMA zTB~kY(L`fKYej-00$BpVg!$bAa}MZfrIfg*>#a{GiTdAXAe2|pVbqF-nwJiMwb6kZ7e=|`h!w@ z)4zS;YSu0HL&nQ3&Y#&0c6)xr-8}yp(To8#BPS(`Zu3|VcyOmAg%hI)h4S4 z>9N~nI9G2}WS>9|6Z3JB-Z)VN3%h$r5{O& z^B;_65TUG%@{>{LNc-h=9BQ%~zk!v0Ly_X)@9&v1*tk;b+%jCdF8i1ocVGtZh6#(HbbVyL&|)tg|lVORheQY#fr8@2m<0000wGC zX-*?d*#~77C@vF%2q9!b=f$+C3Y&`E7$A4r!d`SpVB?dTwz$uiRtpznG?B#0VinOoq(X-6w6| zj@&GMU3`e`bq7~g4Z-{pu#U^*z#{5x?gD+xD194gT z=C3|+{^hqwbbs!4shF(raDq6qwxJY)h6QwW%e*S2NC2c>SgD)l^{y!ib9lx zg~(}+7zy%>s1liIR?%ia!qj)POvEjo5(wt*MpKPcxgw&Nod_lbRg9T#aX=)ZYoXPJ zRvX1&Ern7VOKB`iWi3iGcULQt$Psr*m@?J3gnZ#0gh(K*Mk;wG!nLp?JChG6!tls(eWcaH@H{wQnt}@hm%ci z{j6wKBV~1K>!uI66;@mG#iSf|%Ee_~lv{brv8*OtakX86+lqUqv>qh*_FI6M10i&! z^{(^BXPb=1s^^U~Z#}!m9{)am{$6SJdIpj1yY14*EMN^vgNs0%A?AK~?SLHu?WnYR ze|IL^1n#@!Xgd8Ga9CnJn z9UH{A{9}wvbHakKt}dhn`0o3UeEj&4(kg0KVhGS0U#}}*G*wztN-1bn-anm~rkOaq z<@W3O%=xlVYb9A`sjCasm(?v@1VS>_sHjm%np1Ov0AXT^_~0OI(nmgZd;ajO6$FHJFKinTouUu zkYLBk$e%ur#UNB<3dFU~$Q;L-^ZzE`@1DKlr!Fgw>F(u=*`ZEdhz^T@zmq#LG{*9v z$wt#Ql5&IH%P)5{Z?Pc%MKlpeQHYZg^X^ThwhMPpw{KVP&xVpCNOLVCW%c6uh5n>|c=sv9>k}Xn0+*CC&!E~Xv z6~oVItXk082)Q6vL1RLJWDRX6Fr|e+o=;R$>Sd)>MWsPi$_karTCbF=a;b_|VQpUi zG*5(i1`Ff}T2>_b0z(Pp9LZ8U4;pcT=>aqx7WiYv7VeBr^get;PdMNd>}gA@D! z-u7(Bfj4B|HZLC)L2hv4_bv7foc;W0g85=6>*h)`bWQ6U_P&U`)rUmrJG5Xjn8gnH zLfSaWb3GJg(C(`d+uv=u(_JP+JR(6C=A(immzzrV$F~(96UB}jjdPpsHSX_)W*EMN zz5VoHU2d|q=@3k9f%6Z><1YkBqv7{P71^H+i`os7Nkc3iyJMR;k6640hmv+-X>x<* z4VtmJtH7**QedfPcy>R$-#uS=dAV>Q5GSEEXexXyjmHX)S@^Pos1Z#`F*8d64OHA> z8YQv@_xCGQVl5Rh0@(C4t=;So;C~V-tWT()Mpp(+per071#~e)7)Ttj+>He?p{Fbmf4$aYHnr0 zQ2rQo@yeJTXbz>}9(&6Y8`c-ZcCe9pSw|sUL6JL}8<|Ze(5It;^%BV&GzWGs*WZ+; zw-v<6kO@-k?jA>xdbF-?lb;=^?PW1QqcG2|2#tfjGH@fxi1psp24#MBknc_M@amb?rW(U^$RNI)YYHX#~Nl*trpg<6ypFO*hLZSJK@9bykF;fJE{n z+ks=pYIle4t+c;;jgy0w;r?^P{r^Vu&=jVEHbK{bE&;8AmHywB4_kRcHp(iz{OI8u zOcaKzm2{f2m(3VjOfP0H()N7R;SPI`6W+$YMYCX}pnRN8yqn;9U3tDd^TVeXKL7N> zxfIrG%sFlK7#5 z5D7tem`?8OuZoId!6;>QKPgkv6qz0$SeBJ2!mob$OH?b@;?`M6v~{JeD=B5Zd4FP_ zGnezq^}295pLuzH;d;K(T4O#3KB6$CQHc*mell`4 zLhjboq2%h57)H-Kca}XmwdY@5-CMwa?^d$M$N0ln~I6X*tq*)ECnN z{rrDXxSkuO7?prk-<6x@K%So5?MpmjOBN+cMrb6eyWFW_)!@OH9||GGzN>K9P3*lp z6r%C9%Y<8{^&Yp)#rN1dToh;{n%?Nqu1DAy3BypfEno)CTbz%Ld+cl6kUc*anyStx zIVjq8-&DE{aLaZCixGC3d)6+VhwI3ePIimymhoF3W1D2?VX~45dG?8|SwEQdhQ)IH z9txpsjj#_CIsCnov^TJ?aet>YWrVTmr{R z+E3E4(S|-@jWKb|Ynxm<+YF2A0Xx!dxY65p*tci~f!N?76uu1;ze|zp0&OX*s!R&2 zDwk^^J~gsLk_4&*CNpL+o-&*bQi8gOyBVl3NkD_5O$h|jlxR)S2K9O+=b4ZLF(hB5 zi*Q*A%ek>?VG6UKd~JeRC1+2UW8k~*KA@=VGTt*m_c{E5eR?>U_^Rx70`b*)epYn1}<@`3_$a)EEjSX(1bZrMs9ljcfF zksK3K3PgmLr4nW%3j~cct1iHsd7R(UNb^jJlb_cgJO?0(EftFH3l4Lx-Idd0Ki_^# zJdDy&Sry*!dp+ot&`*KJJLS03Y|TlKSIakFalq@C}~hA?CMTMoR(v7Y^Nj~maL z`Oz4xpE~t7+pnD_2byeK=R3`TyXBQ5&W_KH*gM>jrfDHabU)Uq`?7|H#o+zCMRqvQ z1TgoPG>Kc+a#Uhrvv8y!gs33dLk``w?OxU)w{OdfiEpER59`@?9%3}qd@;GX89<*k zMtey24~-u8l6Yv_gL}d@lMSqPKhPcLd8t49M@Q2SmX_vexAP-o;^vM)hq3S0-n0KL z-7v1g>GM~<`%iz#@816_EQcPMAQA&;H7|YiovzjdvFh$1Am@E*2LxQ zwV>i>7Ov;w^1WR-Kle#ACUOj%DJ|bNzUK#QF638vD9Kg&4+oxu?l41Gfdx4jt(>9DOj{VY$QY`p_Rf zO>K~~F^SvV?MSm9tXj?7m-$8rj`H^J(RZoy!p3BNbn;Gs$~L?09eU)-&dP`Ft}PJG zVPNbN!Cqm1zvpe6;N3rav^fR``cc;wv^9c)) zH3&%}dCH_{1S?pDDFx=qt*mj*JiU7$n$fB<#pwQh&4?jT@sK4sX5!pKt0WI{oTd|L zPJlDNTL2Q*vSQMZ1|sf$;9<2O=fwN>@0g~@Z+`Ow&o9q>{`A7K7SKkTPWQMofm36ILuS*XL zBV>t$TAi74A_m_^$0AXL^SbiaKV7(JpiwCzq*JDlc==LzK3ATIWmys5aib z^J~4wjl70#EZm5p8=-kCA7oQF=sZ05{T_RdlTB&8#lA^X-TfejM9fBdGV+JiZ?r8pZ6o8~L)-ddV>$`%|70RY@i@%XUe9h- z9NT$DZ;!Esu03Y%ecKL<++lfz^M!W$$4S#bgS&{OL-^QR+3#J`=h&O+a~od=ToC;9 z{@Qr|n;&`n@iT$sia6R8C692D!bD1fYN4%>cC~&xUSQs`2e$IbiQ_TTza+cnkNpp&9zkRzsnq8%Ro~TtQbs*W4|vyV57Htwy)D7#+IN z7$uVKd*zKBqp+;7d^Qi<%*eAdj?veb-DWPhaxv=JGd8MQ2@Y60*79I^dWE&$Pg4vY zBK+#fKfjF=-KB_s*9HiAV0fgB?el?eOT~{6+PLR~YJ89#3U06!tXEOq}in0Ufv^aC|yY0gL!QSy=*W=&#!MZ9h8Kf=CBM5EIalNw<*te*n67R zocB{U(u0y8jTCW(b!V|nE=aEz7Pni@j-_y#(GUL|ba! zn22||FrDD^s~&q&{SfV#Ft*(oVjl$fcNcj3R(qGL2L*4((pU8L(6-i>0VD3^KQ5Xf z7_CIKu^kv4Q=;{S;?NhiP9GoJy7V>9Kw}^+3s1lPfp{$tC!dA{2yQXeR^26pu}^3#u>dHMXp%cZiOm1{Gk&Xein7Y!J-x8bfQa5LZE&Vl3kTYADh?p`<9u*c`kZ}ZblybXP5 z$9eLh;5padkB@;Hb$E@v#f?(@!PATor4m9Nt#-o)BJ57#!)SM-YaaSUAcz5tIGDu~ zkc_drwI_zVCE}O_>>%)wEy;1PY}5~{9Qwd<0W90^8|+rQ!|JGi-=-g*zb#Egv|BBE zKz*xz$Z896Zu{i6O{RNhx0L0!jbx0FBLt_f)mXmx3Au-lTT#8vMyK66&AoGWV)$V# zX}4I8eX^^wvS~1fuirznm=PL$^O*VL^1!FBXG&QJ#mB`Qyzg^UBpV?Ka}@0H0bMHV ztgJ7UG6#f2yDAl>DV+MpCyVa8%c%MO&zFoTuN@sx4 zF0zR(k)1EPw7kQOMcgeG+=n%oPo!b)5jalPWrOTt?sgX2tmu2)yCTu+aIE(|7C%nN z{FF#@q_wu?H6|Gc?=t0nlG)q4lXWSr)dIZ6-sH&2V*TI+t4`B?0?_!;xYX_&crV=c=uO7 zaQ)Rcy!(QmavNy!g?iurY##R^d)t@vs*WpT@@DOv(T;nXj)Ndjex z=;cgV7eda2lxWu#yH+$b50Ql;%LUC3NL?tUP}Y@&<}rsuK!TEUq`X{M+m-XVaryF< zpFUkUua(+_S}Iinr)egHz{A6X-;NdBU)S3{V75}ksI}5c1@X&`lJvN$EpC4OL%Ec$ zoE&A+_HJ-lpZmtMquy}TFW$l)aejLa9eUUZz@*YgjL zree&&2%%rB(hl-_40!|EP-+jnaQHox;vv_(rQ>1S8{+@+FaG8K>Y$zZZwPVt4B>2$ zrocRh%?0S#`Mgq2dG-4^F!r>!6XLxBi#OpLxHo9pjx+NZnWlm*esa;;eshrZ#yJ#l zulLCBjrO_uTY*WKV!x)9unqXwEl_O*NkYnfi&po;HG{F7))1V%ZI29i*9P}E>Gp%S zu;cgktfv?JMDipFP`+OM+EbB0&IyS|P9QlkohDNDqthWJu0>gDCFY4*8%53A(z+Kr zk(hj2y_(-_5@cAuz1`JpJ3ut$Or9b!3Mpn%o|tkX#K`mY%JO`ncHh5;hnYNOK7ani zPk;Rtnf;vqLZO@&8cNi_r7RFYLL!CWhpfzqG4^<}f%zd30=~5tBNhT`jT9qA3tB3Y zBXf+T6nILJQ}U}AF}KQg;dz673n$wk+5f)B-O+5=K1uiB-#f?A7lwPCY~$}e&GEBgk2sOO zackSSWgEBKgDnR+j`{w6r)lhOkJww>))seI!Tk*_8)<_4WQ3%I(O5fp&)sgC^`N!v zZ8Uzrg%yE7V*Xb8b;^Uxk?Z}F`n92E_wVecZZfW03^2WqtXGd(p~#`EuX{(t4(~>O z#y2u3uW~kqoH^x{gyvzXt(B?y5DS7rL+}k zZo#hNhgX-fa=ossYvFReP>Wl!3vhlu^Xbc(FJC_M`D@|jW#PK2TY3@ll$r90d5VNQ z6D82p7*0Z>LTw)JwbYfMzWCB6e76+7zxq678;fnd-}`j*sD57KPGS0ll`}+I?(7VhJyuZ!*+vcOFjviwQb_j-YKfa^^*}* zh))8^6&DvoyE5s;IIIMFhm16@>dqmL(T4}@{VH?wgX~xnk4^V334i|0M`Dcp@O34| zK+A!@yu9$dT!=A{Q}6s}w95jkTY*Iz0c8?F#bf!HdDxKFpsFG2p`z%MhIFT239?;N zYG$OA$+y%>BfB5@F7P57EQBm}z$&S56_42`meI)-xdp z-#$&ekC92hVvm6n{njHXl~nrO_1gVrCm$C^w~R)^)^1hZezT2l?_~GI9N6B`TOPwj zz?vbs5B?!E{y%7jPE*wVU8S$0J^#bD6T6H!E|+~S7tJz{APvJqyOCOlM|fk@b_tb_CHAa}OqV6WRfe-7N9{`fok zA(Ryru5z4>p(%5hrR=C(VW z^mqrcR;Dj6q?bZ{?|$$S$2GzU0)&BN|VoV|ura;Px6f@FY%OnY*B}9c)SDF_0UzLb851ZJw3l6-|YHdi2TN{p# z^BFhGjcpE;J&lOmV2`-%{SkYIlg^)r(6l@FIfM2wGjQIcL$>r>_h;<9>UqCq`Q34& zR!8g~6iqc^cKN)ySsn!LCS#56rs(hbQHot=Zp^}l9pw=7g^ZX-Z1$J76WWxq{LIt(hC96;aR>{VrzsO3&7#o!J2xHIpPLG|Ni`}E2_HPF>aMUfp>w>f3s&li1d6o zNSaL^_Lt+`{^!=1hfWw+1#?+T{% zfn=j!@F3d#-1RN)Fes1MFZ-fV+#K8agGVvdO*U(_37||Gr zO_`!FO^qirmewG6?#*23v*6auQkvhel6*4lE@aedL^me*HHX$HrI1qa!z>b5*M)WU z*sF6&#K(+8ztL(fE2StQ1Wqyf}0Y5p421yA7kY(xb!q zB?N+!gnqk+_(3%h9#ZDRJn@i~AQfwFFHloISeC#jm0yqiy{b@(nBU z^QCFxA+TDHqB3sFvOZ7Ir_6)6-QSJ=-^Snm`-n61`9qr!Yay1(+9EaKyI)bTq`q_4 z&pcSw9=qCDYQ-J`Tq-;WYC?#UhZ(GeRvI-%)))|LXb8+C8g09QjAiwZTBV}3q0ujs zU(1!IjpyeV&gV1bMOm+f_|9+QdVYCk`F!PhsjN!{OUM*R!FRG!Oa$o{bq4ow4G3z1 zss-(`yP0BEz1_tPP|X5Z#qdytwl8TnX7hHIeW5b?eqUB@dc%h04tGc|H@|n>IEZfJ zRLUm9c4ctz>L#1mx7ryB;bB3)>qA}V+Vq|sXT6m22S`&frlf>qt`m;I?oCT?+8e>x zxy?6aZD$bU4IK=&9g@MH={Dhks}6MJPzbHoef<2|Ggn-DXC4@JfOkdoRzZCu_nXH@ z#qSnt+dhpcJ-GXDPaW4J_LN7+O+60MVjIYJB{??!9c~}^J2v%6M20na>zbjw4(1S8 z;quuPq4elmA=@hEp8nR+yW&2gE*o#)-oWmkdT?QQjkW&vl!QkEP);KJvuWlpA5UCL z#bR>**q}U4nUsZ`E9au*)rbZ!&2P%c28#&eGH)5op|0q;g6bTymX&4=icnG`W#zhD zxnA9WG@T}o6Pq%ntgNk4*5U$W&Td~aBbX8-l9M0)QWesandSslS*jw|2q_apefXGp ze8g1=F;YXomWl?y9`Y0dbDo*!%;S_fJwzr6L~X31M1n@dO?>n8$iH|z z@lA}V)h+HI!4-E|-C9H#OuI)2u-+-hlmA_f+L>7Vu5RB!JYa2CSa*x-VOVtR-w>CR!DINO?$1Ch`mrdEDj`WL!4%ode<7bSKTJ=zmW7{5N z=BAE;nKC~{^gF1((}TO%7*V;Ow7;1GwszmG*vGcD{r#p)9^Zxo_AT7cgQl2Ks!)sV zHzpn$eM}`c)5@0bp7w6qd5zl$IzQ{$D6J4;CW-sis}(|mW;1JB2yt>N<)YNo&~rsC zcxbs(BAQ>K(n>|wLJ0v=BcK$kM9ChSuwR4gC7uXUDa%SJjaDl!*Okk4<+@xsU#~3Z zg?3f)IujBsFIN&^7Lk}qQ6L7wX3f;T*cN=NF;I)4x_T_wR;gBLt3T!|NUQ%0Jq~uW9z#6t@8tJj4HutDjMB@J5Wg}HJ!O~67j8W>l*g^<(NsL8f}<~f?-;e(XE+76x5`|1C~Bt6PK zs=}QGhb`Mf=iOoNac^POHoxutId9jqijl6u`A2w4AjzGkWN=0Qj97!x9qPBdWlVfM z-+?>O7z6CMSQt37v0~yCO|=N>F()x0gv!U5`S|$2_2mjN5<()+!edrmULr+>W`(vk zYAiegr^k%M6Tf~b1PQcY1m6QCCW!c!eQV9=`c9uh&K-|D4)pSIRQ#rnN-efU^Iifwmf&oXg3 zMNTO(&mQt?3howR!M6;Pfl5PiL|f>t1t1#v?%Q|#yYIi{&*#Jx8m)Of-RddC%jy>Q z?XG5a1;^aqaahi+mvy+q*x;=`$;weV8vc*w_lq;!40@j*v40zy^h*hbD~23r+~YR7 z**5lu@?ZzP_p%LKB(&;_nvS)@IKGhyTb|?jmRrY-_ph;=+&Cz(k^*T`!URx>A#Rqm zT@D>Y!mx~QzE+1a-SFA|`-rn658^Hw5`}ycboMQ?uuT$s+imUKpS7lLwPo&(NIM_z zW8xqa@c1!S)h{L}!sWAD5MwW&XKx3~^cX0%Z@>3=shz;h*g4{CoHplXlV9(8 zHIJ!UHImwu93vW)wJ5bJZC(7LlR&@b_5$%l=r^w|)d=>C0Cibd*243uTrL+b*OgLM zE=yxs3pp9`sS%=(MVKDn`!(Ke^+RN>I1TBCbxcV_h<=T1Q;+R!Rfs9j)`+!+R>NXI zn)I8qJa#-{?q@7->j~S}Tl&QqGjHf7H($R;HyJnsq%~xoKpR_5TYuUnclH|w53*1E z!N4JV`H$Fp+>i-J>_0e7^K%&w!8Rk|E|cHT!46o%cPB@hBi|fYZxdsTMLvc}AX)R6 zYBCZSJIcnu0Q$uPL}4DQMBN4Ean*8c6gddu<1@I$GKB6iO=srNZ?3YwE!x|9ujB|< zKFTp($=xc%wq(72yQJ8ZS-ZvZ7VZw)%ukz(2rA+?Yi@$8w}+TB!-#_$pf1MC55m)T z3G&)+P})gI_W&6}cykdL{W98Hc12?-xa0pvKd_trgd6NVP3@OTv=;dggkR)GeoQMh zL~;teJ0+wjIeg(MCG=7$;=ZOS!<;i!8=>ElRW3%%eTzQ(9pLqH_3$SKq(nnuU0K#j zl)&ln#58B7lxfC+wqiztV`_T_9jP6T?An9ZH6EMOnnykp~%eTs+=eVtaV1aDv?B z>6S~c|51iqk)a<1KH%#A39AD50qYuZ0V1atR0@&-fi1tal@|1;lyj4 z$Oy3|Acbn6+F094D1yZkl4CzvzcTSa2`f|~H$!{)ugmJ=iP}iX{D#4og|#idm8*RY z7;|oUMzWtlxGoD;eIZ#&<@s{v>r3OhUXc)3SL14)=Tn`?vk}rGPwzf3%@dc)nO33b zil`!12qBUskck)ptrZPID}H5ci$*J;T0JIhGpv~JKm@<+$RNK*Kx*^3V;_LG{o56_@eQ`+Z<}(sFQjh9)gkTn`{wx{ z22Bgb6qF#o02%MB^OoJ~VCL_&Te(MeH@J-|97&Fkn7JIkUi~0KO8pdgyPb@Dfcx)= z-+!$SL%@%m57yT4c;s>T-juC_CO@#-AasHVpcT+SRgVhbEp{AXcBtf`yd#@U_#ay0 z(38Kfo=5D);l~khM{_u6hXARs4mYLpz%YH-Z0#mdC|9`ruJQ2Ca_^K8yKHYuVN61G z3k5Ttjc;T3YuhF*!Q=f|IpD%(k-o*grfHpKmcTDk=0D|`vk0dt@fac@uROf}$Ok(U zG_Y_Yw&F{vAQTmX8Nnhs!!%89VJ!tS+hf<7pv|q1szRO;504M-6Kq0V8^sFCrDEE6 zc$$eZQPx6RD*0(9=jaEm)<%@bG-u2VEe2C%P6?v-j@C++NDHpCWD!IH4`#HWx?1F z)NM46{QcJRgNXQlnR~Y$Tb3lx>u2sB5o=}UzMNZC*QIYYLv=R{V$c9W>H#!7jNk>q z@Fn0|%opM-@PfqSNT3lC7c~R)wW|75owN7OTr0xejR!OL@K~8ueW`P)b#!*F6%l_o z4|g+jb9ZyI>{(R8plrL6Y%U7D7&&~mzq@=NadxjiuVVhz0n${6uJ3ZSRl0pMXIQoM zg1eS!*P#2v>WIU1#)!Se$&Ha41Ut|W0?phS+lpV=whZO^`@8WjL;G}0@Ck}yA?-c` z{vvYS6sZXbqpxVAnBC7aSP}(|F0<|MlPT<0Z*?oq?q$zV)pmE{(4PXN8~@bbP?|*Y zg@F(J@4+A#hNQ7Cd`x=@3oqcjHiAGFVpfofcql2^0?T|)PHHM`VRuIULH^hwDXY+ z9oolJyW_f{J-6eY=}YO{a)WDp{+mG4&Wg;jFeP6#AL`LTE(_i zY0&`Gx5oVC;U@aQP{-jj@EeWb0eg!Zz8|srx2Bm(-$}e-{Dzf&2|uuP*%bLn<@_0> zXiMS@D@9!ZhiyihV70cVb*$WA>ww#pu~%@%@+)X6yp8bDw6GQBZcf~tBSPeEQXbz6 zmnY@(5AP7Mb&IWRlw#XKdCkOAT!<_hWRDPT@|KPiC*@|+S66BSl;^Cy6SE{u+ zm%6w6C~fLFAd~S-cLC_Djsssc85*%J^)KP@6tBM)O#zuIQX^%vP;Xs1vA^f7!S#%$ zh=u-fuf#eSTMfJ8^zdgV>4xPE4qBuNp;C!ah)GFz>Y?g{tn90#Z6$QjQATfHftB`7 z?KJKUj+Bp?j)iGhvuVZMKWtHgekywp%x{kGYO%j8C_Q@1!X2Iifrau z5J_y84Ve?V3RM?Ws~xmb+aa_q8sYk7rc4&ExoTiaCxUDqMoXCHH_Q)-kP=T@KPFP0Qx&8~kf+gAt?DH#nGZAP?>Nd;u0P^jgKS`Kdfc8lc(mo5Ib9q-vE<81)e##^nf z2b%uah#L(<$D%Lbx=YKqPg5yOQb?hai!J^fc)or5ByN`jJ4{%*Sd1!jC*H8Tjl+#i zlK}Eo5J_y}E3f1B`kC(ZhAQ`Rz^BW}_19pbi?*)wZ+L8%laF=&>F{ zy+n6yaHwzVh#TB9tn$Kp@*?(E(hTB^Bc$X8J;Ul!Yopcz2PU!bSl6o}U%=_L5L2YM zZ!0t-WavDk_xRYkssT}t8qjF!V90t9?#@I9#)!5>c0<#er0}4DAIvlFOZME-kyFfw z7VaM=-aak7S)TZE%@l=Yxko}o-~XH{6}{RF|Fk6EzRO&$g(-L*Z85&1D3>jpqAhj+ zFeI_~s&fTNJe5qj6y_!IaDQhCc`Lj=pQv{M%ElA}%emH^v`J;&6qU$~ zMJN!piAju##Au=8g9TKk+QBm0Ne&bWr!-M(B&?MmJlyl$Bt*$*5$;l;WIO$02GpPc zLxuM)W5Xswa}sJNOh4eR001BWNklZFBb(x^iRG1x;_<$Pn&clO&LI^?|el3%G_2(b_kh%vi}jQI~PmNA-Ez z4!=cgl5b}JjlMm!kJV1_T!|iSWj+bzmGJmQpj06Sb-%~p1AfCbeIbK?XzQ2gE(@MQ z)$be1w{;!6_oogkob@-7W{l<@P_wy{^mP;62V2!)uGo2@^|6&D1LlC`IZlS_MC@== zfx;ESglIwYmAu>|nn{znYe~&i5;YnhhAPB35fs~1O0&&L*M;r!ju0nmOiZT-=IzRQ zHJvUVbtNE3f|8+P#>tio_cPQo!(AXQ3+K}eWo5fwxvm%1>xHEX=VeC13GqX4LEOh$ z1g(~SHrK);6U>Qg-ONo4i^8Q6P5;+I2$SJGN(>UoWg|rI<7Q6`W1cnPXq)uQ&ux?8 zxtGdn(2k3C79z>arp3>-SkH~)x(qwgd%w$2mi=zuN31<|gBx_|Ue>om6R{{j8iK_i zm%pVAR=klDGe+F%9bTI8rQ6Cw ze+?hJ{inw*r3iWv_YvDG$ARYYT5o{%d-&UHq9bT1>m}?B?(a>rD5Rl<`<*tR?E-<< zrFWLvm|ZKZUkDI5zb)qP+GhHV@$j}C+DrCYbXNlD+H?PmxHfY+V5L}gt^v0XfQhKe zXCd(O7`e<4N+!j^G(`%DkH0&!ZY$~MkNiJ>{hptEe&w2GzW8uq-6~U1J~^GZTNV(Z zYNV#fT7(sg^ID{$s>~r$H8k%AHz@2diL#lGVoIbatd|Ru1kw_j<`XrqY+0zKaC!V- z{!%q_UM%w4X)<3&TfI;wvB5glKv*oec$A7q)Ivneue0%Xg}{s^L9Q^*f!}*L^Lp~^ zXIL}?9r;6Ad}JkNAwR8M9=f8m7Po(!0qQ4L`?Ujy4Y&=Md?M!9=IeaG4F>72O;bUp zh;G?Z2M;pV3@+s;E9!cL7Q0Ui)hwybpLTncPw7Up6(`WQ#5v&91vmiVgspm?>_(dy z^?vCCm=4sOW;0;@IUSyphJWVM>MN`Rwzc_7G&3+SkWSX3;ikQsq1xK4x9#u@TBt-~ zYmZ)`<8M>P`?c1@A;RgiL`Av&tOfW^t{=3oxG1|mX{7i5ZMSxug_;UJ89wTw5eFNp zlSfGT&7xVW?R?cL)Z%ely}aI^ofjJK?W`-~HJ)Q%!nJ35D7Fe)SuGx`RAQ)HRy)0) zPIp96l1{$;o+)CkP*N%}Y-mYr<%-tGGzY?*NYfkRo5_6rgBm<#ZZ$V4 zA@F$J2wS0)6;3B(95UC(C)@Td8&L~)OCk}G7~M53Sd3z|0O!G7;{(EyW|PU{wtz;o z7NS-^7;G6Ai%)5#wni+ZXy+mN_}MyR__6D%L4U~2*xNsTvpsW*WyjexJy0pnA{`hX z>Cm6*I;sn@KY9Ckj^zetRnr^nH%&7TBojj=N;Owb*#)#?Z*4Gd#gL-8lIXrV>@{hR zb=&0d>E-U1QZvqi8^mQ5n?)oD?(-^Qv4~R=rX+oK2n?&K!^*-it5Nk#BiQLd3$lJA z=;M33#P{|auC=#q_9SB&!*jPdftRsg5lvMkRxB5|H~Pr@os56quWJ{G7;Ip zc5ACk0Xxw?CFXe|6bnopQ6?g6E9>=&5J)1Z7E%<_G!w<+=!$P6s*aN#^SDe;Lg{ zAxw!7CaC2|>qZZ$>!H@R-H4S$)MFdL-adQVHr>_w#j0GYBC&FQ8_27$y;p+G%uJ6d zeQ-PKzScJCho)9Dl|_avdwGuS?V$c#M9E%X`HiBfK)%}FICv?HDsy1dfiBRBAzPO>l16WgO81QOGdsP0x%wK5T@Ay7l6UM-6jQ{V~tkuF)rcf=gW}9ud zCLEZ(eQk**JNVQSMAhRew_CfGwP?X^@ukr!=49DJ}BX<9M1vH}%rk$bo_msm5 z*P+V}Myz5+{^h+Du)G$}6wy|(S#h-);1y%-6& zkHR~zM-?n6c8rKrPUm|*N|7HuKCwQn{OK1fUtTNcxbV>%3xu60R6lUF)XIYS&(>sl z-LG0%b7iZ-rWU0kg<$WM?63tvd)&`pjYugQQj0|`sEUwHp@zstCW(^74DcjEiIx@X zyduK$KwFUPLU}hOf=^zQvS(uEK*v{+*8=_+GL=s_OZg1@qr5xBMspz2t#U z2S%v-p($v>JQ#|dLvA^UZb*(;;e`WR`qk2mlSQ8>7tazm8eX~!%Pm&KTv{eSA=>0@ zhctPV17%a9p&N2Ev97`tm2gs~32GYNXP{}aX-1DqY@*@{eE1C8F1>EOJl%hfxTX^a z>@TBP)MBy5iEgxxpS?ZC_uP&CeKpn{>W3AI-i|{XcJ`x{(X@fdbxgv;ci>%y`~)J| zgZtCB(c6R^$L}?*z6Ecg`|waw(tHbH$M#RFzj%M{*xv-2B2YFnqndYBlbxLpT0b=& zIyCu#?BO|o=0%+UZhfO77FSveWJ?GzJ)B6@4yA7CM2xmlDj^_qMCSrqCFjgp3T0BZ zi?XgOTdtI9CSj-+V><*3A*gJYhO=e@5e-6KH@3X7UMnfuYHy$rHIl?8^=VR)h`EJD zL9#7$^zkmV9oPt(i9smUV#&6wiknupS}4^*3zlNbtEC1sDj{0q%ieswaht3#$i>0% zqUodkxrV*PF^<^-_Qej3$z=B#O@_&*{gwf`8F?8Qll}T0D`doaRwJ#joc7<#DG-tzwy=TS2h+n= zwH0VB=GY!^^IY~&P6oV{+T#oD4cZK_Ux6F2&vE=}?5{~PiuFu2HR$6(dv;{{aTT_8 zsPqX#Gd#-%m-hxe-K&jzwW7>^>ebO|W$pqv_y)6Y%j(XjgCKjDEb$W|x(~WN79379 z7RaDlnX?^s3X}OQ<*G!np#BgzO^F|T_Y)|>{1-px-TMsAZ^8*`j_`)c8S z7L>^Q%azB+%$JwK7h1W-%2fla57-sZnyD$UU|EK$*xS@xnL{EjExS`eHp}FpD5p@F z1Ei=V@kvG%wh%bQ!2LOKeYa6HBBABfuoc>fFh$skP=mQ)nM4p3K4oE<`1`534M$M5~fz+D zqzV$08X^_t;Z-1Cu4FCD(?)o_AWtjXwO9g|HKXgw7KAlLYRzm_ky^~X%42O*t%Rb; zB&3>&1kOt&%`*Xre!vikCT~$l6>6&gzk0h zrQgW4*&ENXx433tj@WO8W<{znP3kTJEoSSB0@|7WMH{RXsz&FnmvK9GSmfNR+Mi20 z4mLx_*UkK3!X~6-G1WvoVEa&*s;8W+?KJ$DW>tDDf!+(i$Yonu->+P*SH66A;b$M7`0%0d{!(~%say$UF@rIC z=qkY`Ly98jNJE(Q4S;aBM~>H{bWx7;#O3%MtqmZakp%D`^%bOhP>EyB^%M zPy61nW5u}9OCAs+(%O5+wW(9rL%P>jWcV#YEtTcoqPjeO?&lpEfo9k_^?loY7%cIX zaHsGR79TJ6fwJkWrb>qv{1#}cn#^vBA6D~N<+68l$94YPi|E7W$RangI6i-iQ}04N zEwosU6|%PbrbBA5MS`+jY^O(OGav<`n%}R6KsqgE=+%kpZW4i&%7sWoWrmQcwb=H1 zEoe%llo0}}MnW)Mn<<>)nI%9B2~xDOv4|L|$@(O37J4p5Gp4IjrGh9`gB{e>N);jJ zmFwe`>vplG@N9LO?eL}uXbPm9SvDn9o2ay1t-dPS#?MjLjN9PeCx@}Och-)h$;}P+ z8BQ}{n){0DF2=g|D~;#cO<9mKnG!q&!K`KeACkt|JZB5%4cULIg zSiQBu^cbjqztMhcqrDfWo#y^r8kHwQ#}O?q)4D<~%K0SbXM*KGrVMFTEBh*J6T*Y? z7&1ECd}lcPMX%&g%NL$M;2N=8>^Df$EcfIcW>@!byJ4u_DKfV6PV|5+qJ&j=`fFwW z6qd86vu)T>AocjYDSDKH05)7VZf~%=kJx}~%~C9Xy9lIUC;nwNAHrx$NS38VZK9J- z3*X%~-hWupFP>OJ;^U9*`Th@H@#%LSc>VT)Fin)T@TyewlK^!i*UE>-D<3{wc>n&w z7w@k8{L2q~{$=Lfnz<5DcUw_WLX3ncY?mk2va+Z!C*c%K`MsKFK7O5;r$A8Unw3kg zge7uLvjxJ=@X`51*$S6xA)X|dpq`e<-7;}q12ro}?3C<}?-%~z{fWuX!;XemV-i2N zY=iDog{)|5E1dhM8H%v?$KFScSI39|@(jmlRNfe#JML?u8L)V=+hFLaufXzLKE=15 zq#dqt-h(#q;8=k+9jmsqD4uyOO$w9oBtFPja7&||ZsECc>PD!*F&Thk_v~^_=6AP= zhUEp^-7sX_BfsF#%Ax&MsqLs_WLbP zZ?KJdMjSp_&R$2m;009E9a5AkWiPmxWi1FHip4w^_stU}$wU!hc{p>L&soYo$+Ce=#Gl^U(Z zRoyM7+QGM+ujIT@%axjoxjNyyXw`I2iq5++AfXVl^p<&X{A_)6V|b3wKF1C?_TADx zzV@dEoCFKGAi?;k@j^4Y1|zX?m^MSP)AaAYA~|9^vky394?SSNZklG*6mtd7%$ zalgbK`W1E`?(*249Y`MZS1Ytvx6`zH>hZr#v3jRG>sVW~Vp}VBcZqEcNZGgjYxRXT z8Om|y@weD3+RNT6;JUFlK*#lp4sX{xWXJs`(A)=-){!^u*#tqfe?Q1vN74l*dTLm* zaQR%3Phm-w+O|m>t_|?A_gnXgb*;G5G+Z-UM=UNFBM$MfMc84gT7=+UiMFjiA+^|S zKP7T4c9!_3%c{ z1-mXLctU`>XZLfN`8H^7e&~rRq_A%;j;i`*9LAe=|K6S%aBZ9!vG5!x9tYf#3RrZH z;4`zeDsxu0SUjb*r=FgKnm5auRcvAu#NriO7Ie#kHOGmZlqtR@&I{}I1ee*{X#RFe6;79mk7*h;FeXd%fqg=;Z=k#iweVPhq4nY?9c zRX^le(Fg@4YGh7Ah_+Brk-p2KwYYq8_^6NjO+pX6FZ(kh$FX!uk5Bq(XBHnt25-JjK6H;MDdKCm=~ zhw9H4zue~e&0Om`vkMDD+cugwP1&OgG^IHzXES7kZ4=lck0PA!F`@T@!$`y{w@dF$ z1=_ps@3Viu!MScaU|+)hCeRcwD+CLlqE56Mj4%u^_%DXvt$*ZTz{WNMy~6raC4P4z z#X?rG14FG0SG>Z&lx~=G!&KWdyD@Xbx&V(j^^|t)y`zF8a}h|khh@(8LfJC2SpIhv zA(qH#f$x0pEvJ-7Q)CXdqM^Yww1h~SA}QG60;YtP$|;?YWhKUiaAJOS$7i3s z;)}~bp2qfV=!KZf<%l*XiAyK}#@Dr^pL3lMy%ms4NJxa#Vmx54o zMYqg#RZ=b_H(CYuXaK6iYN;E6*7%+dbR%mRD0DE`T+@ZL5tl@oHY7$`X4dAKB;p1#Skwr|Hu3E$ zYS_-l4do-Y_^I<9M-PWJVE?`}&3T%*_~F$i!=q8^JT$gJYrCd%#x@HP^9>wimP6aN zK}G!gs56@W@`6jNU*+^x$X8{1v;+=S{g|Sv8#}t|6UDPqWlsQL+4}5VqF-zAQ(GO> zLsQM}Z|YdpzG9=_AkFA2(vMHJvR`iu(NPVyp_1WVZ_i!b?)P{Zdy7*wpW0G(zA?kq zWTtLcGLcB4N=2ASvQZIo7HSfv$qu%ffv;!{#3@jV5SeY^Ax46nkr~iRl*GDKOZHOj z)V^krBv7NJ=oX9V>W2-Wz_xAFQi!3Fi}lI2Wh7bxUev-8=3)n~O0MKu*{ZM9Zkbw& z#aEu})OxH5SuC=QMYq5X%DQBUL?6KhewWtH$MI8!F<9A+yN=}sH;&nd??;@)G&n{A zf!!F~Wp$w0t~DccF!n}6(i!y`&L#PP{kmxi$`Z(7E?TEd7U%&qh z`x{78B-jdRwiU$DAbs|5t6LK$f7Zy{VhtC9a9x%B)57b|Y@4*@2JS|v_jX@yZ}+@^ z?Yk8zE(y2TXSjixR4puDkP0#*Qjtk0S(&Mnpb$^Sq17`Mg~)W55E0Afq8nOPW3rgc z=QIjZ{os?BakPqUDG?K@1zjSqG6s0y*=~h-~Mfo$mPQ$Pahts)lz4QL_)}% zPY*mk{+wB_EU!Q2e41?)1w~ik?zi6Z@KkubyrXJjUKYOl(QAJG`6GY+ix2$#-Nx%Q zF)uR@bL2clVoJRG%SSW3t5Tv*A%lfTsh$H|FO{-p^jdpl0()oor%@TClfEJTY3-oG6e#ZHFR0s9i}Yor;Apeb0EvmVaJKQ22W=0g}Pe7qZujTikzcnGsV-NaJ8M)PJ>Nd&o~Tci>QQ>B&+ zVIqaNyT*jbOrh3Dt(90Sb+VOL!HmcdgmqKPdQ>agjM4UgE|j7^*%j(qEseJ(q!zZi zk`cC=DP=QP!(7nh5e_QEGC@+0#t~S{g%B4?Z4(u9rPw?q)nR<|c78VYYGZ#He(q!M zFU1YmTU^3okGDI`;Clu$;XcT8V`Uj|2UU5H;T?B0p1*#YT9xyuzHARM&^}h<@O#8n zYGX^1Y+ zjiW))4?=v)663x87BApl!tOVIGiVlURWd{&rL+sg(Awhv^%>m3Xx#_MQ8=FAs2i;n1!RRSPo|YEl6y_ADF%m;0h`4)| zZJQRY)Xn0wmb?-)Q);1$Q*{H*(%kDyQYl-AAto zF+slYbS(t;1Iw!!)92G-PT(qp(~0Fg6WW2PkO)&m5aMZKnF6ALfDos|!|R2Q-rn)* zZegA#PIF*Rf}})<%7;yv6n=E~!0Y5~S)pDFdMVV$LS2iksEMBnMiJj4zx5mKT_kQ> zO6xniaf8dR=)glaIBv1GxUZQe;{GkZHz*+t^F{ad_5Z7HL+wDi(xeKK0x3XxRhcF= z)2eH`#@9`$?e|*!x}tw}f57oFR$7(xtEXA2Fu$s#W#4ukb;<4L<*PdmJe*nEJ-^W_ zvaenG-I3<;`Sx7LioglWAa$uo3+zu@#c8z@nx?YOZ#}L1y@BQ}?m1RF-VB&;hNc4R z)lSIoe0x*uFtGOP?IXL~J;U)UunkxD8rG`FcRxY?(eJ`6JUwpI&5niETDg9>Fx@Z2 zFtvQBAa+@4Y{T zUX;jzFS=oPFw&l5xxvA6?AJjv1Y?OMDk-#`q@B%2mga`$?fnrao-J{0M)Qq)9LgQa zdv?!pDX94xYIOxzeY-|XaU{enWrF34D8l6mDJ0Tdoaq#~B@D+_YQObZ@rHedYrS%V zy~TaoG?UUpJ?)l!d&d491*iSq4M_U;9s2^V<(dAX@PV28w}lj&!}LBg=`>scjSR5g zYg+^Z);}%2p-3E7Z3Tn7X$IoKW2zX5Mr&M1xa?A z9JTz#Tkzohxlo#8e^tu}v)LTG1~pobD=Hh?^-9??RV#VT5Cc&Y*ULs(GgXv%S;)Dt zt*g_7B!MY;I2l#uG?TSZimmi6)6Cm9fv3xrTm>eJ%bH~7pL}+dazA$JW#ci;#5_b_Zzt6A~OYwWcjsH;|2JsvYOtpJ` z0D6Jvxxw8kTm5CS@>S7PJMTKbnTVb*e&5P#IIM*ZtE_EcapPpbH3N&*FRiVN=&lp| zyXqkGV}Ht^D;%ok$2Q*GSW}~<1434Zw~F#@9obwY~!u& ztIBRLe_b?#!1ZdnDrZkP(Ast|9D36>p17FlDvXQsV?p2}YjC$6?pn<|>x%A?4!Ron2AxN5{kx(R6dH31+@17g?D@WS-1; z>7PNHHbYMvGaXK$^?LnM9D2m^67H8^zbTp(NCm^-aaAu=c_l7so`5`{DgQ%Q(c-sja$ z+p=(4W>djM%>Wdb=R{ZvTr=Cn&nO0$pW2cr9|f}+Z3(E8->Z8}REGX4>f$#8dx@`Q@HIfm{;X`;2H?1>LLJT18srC@8@v zP{w7p1G0w=ZwIUFfXj}xDhonJnNilB73=GuDGFN_w#~{6ao63QRoSmG8nU|YP{^S_ zkGQ=8`Z9r^^B<^7{VF)4PkMT%9K*EszVFUPmtU%@tMmPtBEF3R^DZZKXb4 z$=G^uR%CVwRtQp^MrRVyh>NJ#vI z%%6wMkIoZ63c{PMSe&qa$meJX(Z^2?09C7MiFm}o%SbN^c z#-W|r8ZeTEyq zw?>hnu0un9yEH2jgA3ul?IgoCL;EZH-QLD{X~(+)H@N=sS&a{nd ze6Z?uXBWu!U7dPgIooll=cEZnqXgUDk!X3PHQL~xYp`I^6LW+nPT-7Xb_(Z}tA$f#>8$Hw}2;=v0(r_4Pb!c^u{t>-xg>glDT)}O+uo<_`-n13jBi4x$gK+n; z@O~BYQ$*tChowdi5E^ZvF(R3b=RNter(NiGn}}d8{5%kYLF2#2o=4*=ltUzQ-AvheEGA#py-A9&4T92 zyQd4MPwwoHs|v3^e$D$2@40@y5hU2bv0!dvdHX<&Ghq&Ph*E?qm70|$+B>39Yq2N< zZH)2LXDW(r=2}o!Us=^c$(d~{E1GZ%8TT$6nN;F$jJ);UCAyXHSKooA%Fcwi+xV&h-;Ar+Dv1I_F|5<$uRtqWpTPgdm*mQkUdCJt>D5JG}7tLSwyd49HIMfIZ^AO`1iO$^A+2@GGN%y8o5u zG@YZmL2xiq+n~7Po?#1IzqBe&uPxYq@$Is){KgR4CLTjKwrjhRUk}-2>{&ru1Zhr(eUgFfS8xN~9PG!F;O_?-oB*EqHuFS-|ICdUAJr5g=N|nvyuZQly+= zPSj$jP^-FOrN#OnLW~nZA_Vg*m1zEJp%g0B2RP7D%pCzcMXRM!ubCoh+gBxV$_wi? z^Wnp4u?B0lMdW04o#udK_pGbp!LnP=wSE$Jw;6b^^Oc1;V^U8~OW)qtwvD6ghk#^X zN#D0gZw$!su$5z;;l2r)s0BCoxPORkO;UVQ%^HWO5Ka&lwbatlGVQhYQh&Hjx(2r0 z4US-nkw%S^uZZ?T(Lx=UJV~6d^K3=z>VI0Fd4-L3#E>EJEn^TCS?|+|%fA*j7>W}|3 z{`B3?c>KTq6(8Rz=Qn54w(^~y`~uP$C}f3sIq}ikSA2MP;ks4qv`HccEGt!Bsp0IA z5rA5eAZ)$?R1`!_ztxga3L(vw%m9TA*1S?mw%F}CbJ;TF%+t2AJ#K8(V!et)57QNi z(I)KyI~W@$GpcJfBSmXLHq(JoLpSnb6gW*tn%v!>P|22oQIe;yjTZK**kXkEp|KAo z^M8iQyYq>Ef13Ew6R;K=JJfi{HX!S6B>CrHu(kdi#$9a_z1uPS23N2SZ#yU5_`N9` znp?_feA0jK<=%|hFX5cYM(kHfQv_njNbp0A@+<72cAc(>{ze;2-FDDs3wYH;N1Zb& z)BPEAxbB~HxTE{CL85IxbV2Sa*0vUsPzzk%S0pK?Wl#{U^czEwn^n%+XGWZI^qm+q z>k;=Y(rjl@q6dz)gZ^U+k4CKYS@%IW4js~dyo@_w#r&AAUn(I9>3(Ol=A$@%?EPCe z58<%-1I03B4YQN*t(n4G58hA!-Isg~cmhjHE z!(0Elda-|-G1z9I?b<<}2i(B84Lcf>9rq27V=)-uy@Z0p-;j-u;jN1IxK^e)~X537KX-`QC~5k9B`T5l(MjbN{oy z=CW?Y5WNmYP)kMEl{zKPF<4AjwIm;AMG8V7Q!OQViPTV`Z02^AE1EO4WY#USdP>-` zZai(7ZM~3JrN&AKwkRRN1UklGE8?DsP}Pi6YictjLr`j}$TdMK=4MtSWwQff74_Y* zVDXtlAjH|?(R$LOpb)A#k8D)_ysYRn^DZR5GtDH0Q-!U=r*QwgxZnczf@Q!8W;hpvzVJq+JYmQ4kRl#e)g&9k^S?X1oTU z*<8LT$Vb95$zJC{(aP{!pf|MY@Up#<`*XM07jYy0TcRlb>W zilmA#b^jv?7IH;Ad4fn=Sv7-{WRV$)g2aTfQn4rn8Uje5pd{w*;4MK(o&pwCYPFC! z5+c;q2K6jdX?e}WhWKtlO{gltLvFqQ@&nsdx&LS;#7dG#nl|PskYeJ?5AS)rm`sSf zg{5SNA?mRD_N;BkkFp;kX_wl{W!$&%t)QC~P36D|w=14~*6LVOI?r+62+fQQu4g4Y z0@wi!nIYXNftEtLCH^@Y{$tx6w)1b=c3|5ht{K#$@97Qh8>5M!38s6`*--qj+hB|y z>hyvhQrAQ6`Hu6yrPbU2-SxEVp{~2^OB;-|>7T=7X2*^=_3Nisf)?TZ&+u$Xd)O-4 zN;JcYwCX|MD#La@x=)1Ks;TlE*Xyt+8TfT++MZnfmcZOn>-CeDcTtAH}_EuP)qgrx%=c@R0$R8$r5{9QOfmV zyjCG-KqmX2iX|LL!6LCpKue-%Mbu=7S_yIEr>ZJe5At_|+x5^_ zOOvXkq=ZmO$=znUp5cg9ZAxX(4THQ4Leaj0P1JD}sW&pSq1b&fJ|A&Zmi>md&Vo_>^f9VocN!tZkCoELg<0a*}w!b4$Ba)kA(w z0_B9F6e%_nr&?NBu|VThGg2!#*s6b352J*lrI2MJi46j&4Z6WXdFDs(eeBM18iF?I+;C~xQ^ss^wdtL20Jz%Y_&Up>zb>6Yn z{ayclG-Fh@Y({G?kRsg>IW*~5gm>@G2d$r6MilCGgBZ{s{*c%I=|APofBeUse*bp~ zpM1m=r=8zw=>fdX5tcL|<{L$=Y~^LA16mB#TA9Ro1nj<%(oQ(}bkHx`EW-6WU*i00ZmO1gAznNss#rI@AeRX zJA0^I9C3aW(vnJOIbffCMuWJ&PqR(->+!$&x32|hJ;GAL8MkhCXi&Sv2lVBiD^P( zAf$w9WWJwRUcX_Afw&}MNW>&ah{PC4OXStv8EW9^T6wiq-dr|^HCwgx`zqQC+}%5lIBAEl25jf$5%&$!j2b{AajM*%GSgyyZw$ts zh}wYF*l|efIk0Uv3P?ZA!AL#c zIpTQsH}pY7hJUT3R-VhhwC>t<$Ssx^aH>L_Y@0M+-H+Kz+G(nX8_z?1Ta&bMo3Cj& zV0R|cjcW}{e<&>{?GXS zfB)a{>3{jpx&NKtWx2n%m8Oyj?vD^dpw!H^u3Uch|8k0%bUGngC^7MLad)g>Mo1JP z#>jbzyn6e}XSwxfWYEq#F+dWF28n&u6o$bk! zwn~l0$1wyXDM=FNbY^)tv78n(nX85+K(IL2VOlJFV4RRRTeyA|p0>2F4%oM4F3YTr=>5^??9V}k>l9UvLi9(Rd91=@{HD*r#*6;9- z{>6XIXaD%$qXuF9;vI1cwu5IYFBXSF+Ad(@`+f2vjS(7$`3h~5s^YxR_(TUDqMdzl zM(QeI;34S`>oe>vt{Z}18BIILHc4fQbr+a{-8;|kMLxg(H`!p0%P4D$=Fu+h&HFM< zZ+8Yg)i9~w7TnR=Pa+Nw1|!uZUG_r7dOC=3y=2n+#NGWwh?d`WuaMWMHFUeC`>H~} z&i?2v_7Lhs>jG)4*5G9aOrId_h4~-&1F6|U?aVL8VQjKTSDyr1$l_b%; zL~Ai)wAf(+ra z(rMy5Z}0fDoH+gIPYHkWe^B1PgOY(l%^ts2K$(%yHgS!XB^9eiRrgiPw$09F3xdLK zKuTYAI{KWBIBD3)#;}gL!F^LSMInnaQAt6`M1t)B_7zY35MVDG{90+^y5Da)#|P*p zRGs3WH0{fnC?NA=y) zVY8YC8*IQHaDY}Nw7|XXf%bVub1+gF>OSCF)JYSh(IRgWY}#)(m)bIM`!wYSq!741 zDIsL0yTBBOFj)hxztoL_?!WzefBqTG9e1p+eQ$>B*H6<@?L{d_+dAk2!gIzq>RDipjb-M8Y&fm=T$&A))Dx<^B`qkKge2)8FEBdLTSqc=xCOH|wAL?_B=PzhV99 zUy^_FSFAt(oV2YlWwf+yRO6k>U=-f^lj6Q-qFtGF9`Z4`JtuI$sqDf2`}1v%IpDr2 zn%Nc06biL5Y7w9KdYoYAjcx!A-$%LYay$B*j?ce<>jq@Uej7Axdv$s>5tGFzZe_QB zI?d+4cJsZ{94j{9dfj?`q>U{HgSG1u-RnE9urj&?4A_@&Am-{(VYwG{6`uY&lWQad zdW)z(i_)jvxIrltkHR9JV4w}KLkkW#r47Q3hgxR8-Sy$`LbGm>?f>WP&AKf)t~IksOi=n&N-P8+Yb?u8JYJK2vUTSMBO}@@sAxD!;T$0cI@q= zFsimEN#CrgZsUa8)p_fqjh=DH?k?4(i%ed5nY};yI@_On7VDx7e(=7F>Xhp_+mxv) z&bj2$ug2Ort^W`k0;aBMPnR^y1xgJX4`;a$54VO8!yec3Z7y7nw#MP@I~*<{h)MHN z>H{WeN=*z};8zWyYGWiS6--qTLW6MzObr3*Nfo0~N#wT+x5PA216nx?)dcG-nuJuN z$;6_HLqau%`feJfZCk_yl$M4Nk2`2|?l;E@<$G^r5t! z7}UhAZA7SC^k^`tqM5{|Q7-N8@wr!?!R(*MP{$C{8xyvleJU=nQTD$2+dTNfE4=@| z{hyrv?Q1j-AH+kqJ_X(on-ni5_xOSE>WM)fLiT0ev4nxN|HsholEIl?aLNzHhTLNl&`}#~S6|MiR z`Fs29dYXMYm(#makjj%2S^#2&^o1^G$IRg4%4l&CFama#zpRMpFuG@?H7)NSmwtdF zHSiewPeL=sd8d+YNuF!2zbl1)hMJJBQ*j2n4o7a=0k+4HCKZl7$EIdu+e1~fr-tZ2 zTvzy&!R~Ca_3H1l`|9r_(uOoed{>#E2E zx*7+aP1!s5Tj-0Qhm!@XM@JmJ^(Obe_5ZT`!FLJw?nY55xu!`H96@~Ae($d=_yMD_ zS7>IyX)w}s%@5L0DTjJhCyr&m38Qm9rXu!(~o|CT0d)7;3sGly zysXEv21jb-gq`mQty;Jr&@}O9Av2aY-}iHg7XM_Sluqe$7T1GH>=5^9XsX5oWvd|A z5F;LDHco0nRfSejlV;8oU_>Vq%-$~5h0D}W-eC69%WS;(0`qHEkjbp851Iz+T;ziV zpAN}$fph{W7$eNjU#D4o2&*H4Z)utq-+I)v(T!YHC&x}guwZjqaG4JD9gAmXlI4oWR#(7qaV${b2 znl|xc1J;B9gg|@0Z+)Bgjkjp;KP0SH1Z^Hz!e(hO>;t0wLc=S&#k$^lo% zLy`-&RvsE*3!EwTNjUqN1GzJ2+EvjAr>eLhLQNl*GG>ui7bT}CKd@k4nl*rt(Fda# zFPxslN~~u?M%z`c_V?wYVNj7mK{JxBrlf|Ki_LpTEGUINcSz zk6OcASH(LW{m#2-<%_N+6Ax$u-9WW=NLAM4Szdw8Q9*Z&TWVby%RJYWzsw`Q*W$0~ zhJp6uP2xX_LpHXkH@4Wjbdl-p=Xm%Rf6n3G{1^P&Z=*+tNYlm>%yGaGoQL3|U2H|% zi%bO7Yjoi6r60^z(Hyq5yQdh38ikF}W8=qYmq!#pB|5(U3~5GBc>&YaVDfW|L?4j3 zUNtR*yRlVh`$SMGR9DILB%(UAg#w$~sK+^k(5EQ|%RePe4ax7X721&cP)=V6HChO! zrJy{q6qbN=cLma9Pf{)e0_ z8-g=fja~%sf#8HnEn@4`kwWr3;}M_E#~Pc)XAG}eR|;Aq8mK0xtd0c}Cag?!<)=2f z5{pp`Lk!W~v{74`qb!Ct9h?o(_jXW%#9&1t9F7)OF1&OfW9-JJ-(&28GaKjA7&Eb*2{%*m&gyPJj3Y zCvW_W<=bzwy7M8+dk>J~<7hUff^nvEdq`TG`%-2g?+Rq$HVzieas#7h6k|!oSkB-i z5h}624$UA?xrQp4VQ9CmAIVYO0A(l}kzTElhXz=BoF=!Kk`74sG<$Ka&g#pJ9>6VXo4q`%JvENi;UKV#Fo64&F0*a1%HUB9%-;=TuOnC=o? zr-;Sa33}-~dtdqk&VTh^FxkI=PkCpdFbjwQFon?CS3&yfk)}zC8!6IC>Jy6K&TJL?`~nq(eR-8@C%a z_V;jq@@LGS{TwGh_%0`J{1E+zj|r<&WVOUUdVpE2@X|&{{i)M+S}&Wzv>NS7D6Mo` z`jQ+6tHjPJn*4p$(O#p(4z~64-?Y8|Sf; z?2Abgf>_KRia4gB?jS`J@QXlW~&3S1$ zm0ic!@8XkPs&*qc<04I)>PWhUZ}dXoJ5B2^qZve5d5H`6(BiD2@rF9CL1u z`HdS)u3yDnx=wZZJk{lE%yu`C$p+p<=lecH7g0u{Z`6=@g>*^`;z816*T2%hoVdr? zw%LfOWjfnnzIT)5y$@m}tPrBfRq79_iVp#?El#SqgQc1xXDQXjCYNqprCqeV|KZ(e zKU>TL5~A?vwZT;e8!TeL1%nq&aZ96Ht$^Tdj96vsNjxA`+vwWR$M0EqAKhj7*an(H zb*nR|4>ZB!gO9>%{sz$$!7uh1tt_>qgHj@C(HF}V54grYXVuV(5<*Lxg8Mj;cwktg z;Oc^5ZiMM{%7y(srn_@O2-s?hm^ykmGIiYf>i9WvcO@vcu9-b?jh!cM5Ej47^8Jr_ z^!Cp={=w^;=$%to8zBH}10#S_pf29A_-u z7JrXRBYA-RRcQvXL%Y^2cxp>R5UCH{DCADTt3-QA{H&7A-R?$&oOFoCY+zX^zAyi)&aH16)i$#ID1A zHZ()R2^xd04g^h7?vno33!i<9NRg)eJI3`N&|}ZwG@j6u(86qrJHL}64evWuygx)>doz_B~62%IPl!vcW%*A<@A$fNWaSiNc}`xt{l_oA!yG$%DlSY zfLBi?Rf=}i(-Mg*d1K5V{rKuI#aj^}w4t{%3v0?jU*7Uv#&?&EQNsG(9P1|LABCKH zI%WE~&$D^+DVBG?%JRcIuv!uxJ)(K*EmpsH9ew+qsEuu-?GKU;_Y|k~mH1D2dSBCc z6ml2VXk!*qKg?L|1=e!QpAlB```-XfgC<|TEt+f>%f1sdg^}*Gn8kij3K-dykK!tX z$G-d-y9QVExej{<_u0~I9Mf>-i09(Et z(v%cxxeC#IKdeIMxb@M_7RQ&a(O$mJ?&Sm8?E}o^i(Gy723zOP!>sO>^9vt%|Fq%o z(6dtsi^j3=f$Lksg{gsL{u4y;jqu)b#e1g>Q)jq5t$6cZ%Y{wPlbaKqjfX&e3cB%N z>k3OZ#VwlXMrs+ND?lq)F<>hc6T@wL!M8pg`imj8C!0GQ+_*^7oO1WxDNXRGm}plm z&|1(YS)Q9HNVkd*?Q(#L{X@wXuaURqVq}6P0s$H>6l3ibV4ZQ#7G@9#MJ>u;hTyo*0Rj;DaVq}ZK89_4~`WuROTVgZD^GgWI%g= ztvbZUzTe}19h%uktr5kEMt5f!*Y(@TJXNA!SD)xg_s(?b#*2p`{Y1XAJ3WijHCRTt z&ypqxRSmB01+s3!i9hNX=@x1;)OB00WcPhkM zjJACL?g_6QS3G_08TS6+?=S(B=yk>6;=q!~6SRpoCqWeNJuNWxhN^OG?O){la>?TK z9S%>M$U#j!e$k5HElA^03&9yoQaHpDY;QG@9<(l;xx6H7p&7T74ZvQ*yCwmz8( z#CM|5_!Xj(G_8VHLq&|tq#*^G@fN8K>J8Qjm37z@;#G-}w7l=SB&|=p&};J8A~+Mh z&D6D}UI`mDoZFo--`&Aj(6(Z_v4^cHG&G3m=esacT6iCl00@G|X!MXUKe)hjf1j*X(UC;}oJpF@G{@utTFis-Prvl)_$_%J zEcj36DmtAX|6F4+Enf{Gz*?k zyc^P_=Ntvjl_|Q7uA(5Nkf$9Jg|)c+u>-8IJdOur+*V%~8QvFajO&ZiG46G^$6!lb zu8ZF|O^I6uX-*jmq@6sNo=MhU^!aF48AEJ-QsSi3h{P*s8xL9~M(3teCO59J^INa5 z{mM&hKK%^yb30(FVY$=iDDmJz+$}C9t&}*IC3Nw@r4uH*vW_#(SJwdjgk5%`Tn}f2 z$bwFOuSMC$lezSTjrF5_zB$cc@-NDkpXY0g$z?3x=Vvx~F$fxs3ru;Sr_<_2|E?jG zQvqunoZDyP+&S)Z%;KkSuzdYTaQ{Bq2275ptEBd))0(P`%9ZR>@wrR( z6|IuC@vWvU{}e5&>(;4XmAGGnrj4O^Ftv6kfaw+qnGS%*tHcRNTSU5})ZV40U_&MV!=$6bT;{jTh{iHD7GlFQg< z44F?1_;laKn%X_S>&IDaFh*F;;QDdaV>55EB22f0&^*mz>g88>=inM!moIW@ zXPfsJd7_X?AV8zFE zyN%sBB>#sZCXUaL7pPH7>w(G#RvHh8HEoElPlJ#4ydmy}g>(?hsnV)oR?5nN_!#2K z5QSzV5)WdbSg(jT1gAJ_Q5VgQf{*<`RXgEVQec{BmJz)TR1<^sP^Z8)lS#|=e9EP3 zSJ>X&i>|SDE>dsqMXv;yXycl;5Ti$jXsTh1p=qM$0%L7-+i0XaR4fLj^BHC~W9!lZ z{&UZ<`{ggPxO0ca&)?(l$3NxKPk+YAJMZ8h9bwuwhQh^m=QT4AjNeALz?9T+H7(vK zSWTI>yB|F7I{g6G@!Nu?*WP@~xe!e}7zvw{{3DOUb#h+;8sO;Pbvz`$G6a0|?4q{7 z_B>{Q>%J7q&m80IzdL{H-*+iQ665PDCkiOVeV0@JJmY$Tu2ai)eC= zzrW4KGtY404}On}|J9#y@U`D(=hiJI8yoSENftgOZjonUFnFH?uhI9WOVj_N7nz|j z*9n^$T>LEs%2HU&-w~NnV6|FB8&Q$u|FzhH&x2F?{L0C6K)a}GO+w@u;Wnik3#;X| zPKX}A>ja?UDuveaUDvNP59(f1W>hiLIrWt*%%6Og$jo%}Y(wn*)rtD{`~ zr+?1WRT&r|4>j%cV`QJ&U2Aa4Su7*mXGSymRIcYz^68#t*I#r0WbkZ!KgO51_32}K z#ozf`igpqD_8hfUzR%bp%^o+#=D$Ismeo##upn-QYqDGHw(v<)Vzd+1+*!N-e9GH& zG-F_aCOwzph-Qzo5)UMaDB5Vu+tyTjd$iBIz}sK_Q+EE%f6J|Z`E}Y`PxFgzkIT zv%GVB%8@EBY}e2VAGRx=+nh454V%{R)`Ny%0@vo2w@wzkb=2_t2Qzl2GyeK8aPHB& z;M;h*^cwp_k+ zz>Sw)U~@J@?Sy*&29wQ;Ed7#tQbnz9QZ{I*3<27?U*M}G>nXbpz<9Zik@oS`|!uEnh> z?>~a3b;(D51=hCskS3F&f;vVY!F}C!MaqILXRtjk3YQub@zIZ<+1Q|d@=4CU_&gi8 zpJVI#4cz&C>iMkyRJ0qUp|B0j_vN;GDMYAhT8TDMu(Yu~JE2cVtL+#syC4{!1=Gzd zKKSHTgzn%^zN)I~=y^O6Bs%9$Wzj)f^b_#lU8afYm{HackJFXHYTpI&GBf1v5j%EN{YcW+rkbafl_4m}DyLu~LBNBZl zN;>?PHI`WuIR_MMHz~}k!CSIw4j+D zt;4Ow_L-!?TJq$)EwBBA*YUP9jAzLIa^ET@;<9&SoCd*FuyIN79|ZhyZ-?3!Rr<&m zfDC$>?P&F%8AH5w9f%gFFtpKCUg9-P<){>7e+zl?DXQBqvi12F*uDA$@98$}#vHe4 zVcForl1*{U4Lr5!s4=X(p%S<-g*T7mj>Re{hfC#P9@ud3%(KflWQYJ16cF>{{ZBjyOFq1hKp1Q`Phle~|23BFo@-#%@%~@n(p;0un zh&6G?AjGh)Vrrr@f)ye7WG@}tUeV|`Hp#c@rqTYHoGVHy`Mxho_0+1^uxsv=F?MRT>InpkE#x7mF1 z2`+x+OFa7do80^6cX;@{*I2&&F74?unM_8PUj*rd(98><=bM_w0>wfP%HCyGgw-u2a)X|!N? zdGRpDY0S1~8FYNQFA$kA=Z5VvT7xS;s>8i~74134>C$S{ zdrwtW$pwtbADPM|oe+C=vK>Afy9^kYEi)d*PL|FHl4aVXen1L!63Yy~VgTO#pJHZ%fY< zvTR2uG@_lUfaa#x!fq>T5l6zJK-!w8!;W#%J@2us!F?7q)qt%fo;o(k9S?L9PVVA^ zXQQz(=xar~F|O>-85_%&7azH=#nSb>TM}FApY^PC_-u?@`@vXNI8y8XehNl%OjbZ!n@zTUMLrcyR3&7oWS${%^g+;_7YQ zavNNoPuSl8d4EOQHW&?Qyuo7S;(%K!MY6aMwpic6c8RWK~_!7-~Wd|)Zc zmUCR1TK)&Q&5M`rbMW9bmcfH>2ubU#(x!+V<{XIwD`3}c#yhC$zh*>J8inbb> zeS2q(Za4nYV3IV7GtVprXih)mtCGflKi0E}KvlIk*Al$xcn6xb2SxsI5Py1kDB*sY z3`TSpoIE*Xnu#7c*-$|3X%^24oG7?Rl%7z!I#%2Xclo6j`->x7CQx9@mxd^;9^LnB z?$o#{#+~nJ=A>Dor@x8{>V6l0OYGq4w5w~d{|K6jki2<}E-i8`1lm%skhF)LCZsP! z{C^OzKKh59%&7OzvH9`~9DMZ;*}Qs<`rI~ZRC0$pH?wg6Wzs_W$Zd!Da>}yRia?fH+Pyx`e(!T?3ESS&Llrui&IU= zAq_^qjX<>_Y#j(EAEh%at}H7+gKCxhQE2+kJm+M)M1>H;pLz`}#Q}!n`8LhYdG@dD zv-8X|oZfzsxAre{{^CAcyPGVQfz^YSwr%+6$Z*_xwk7)1oz=o_U2*rMYl;+MM$KGS4jb;XoavB`U2*O9Q&c+}NTW=)F0*<0I!&5e zoU1!N?1S%kyK@dh+*PzuAv(B94J+xOxrpG!$MCQUQVVr}Mq8{0BMu2IW_y>t7x&n{ zeVfxi`8p3?`w0)f`8OQ?;72Szx{Fz!La-x6l?+^A z`7G8^ZEiAs;wdJ#o`n5#NIi$PfzuW*OH3=M^-+5j`aXuFgIR0(p3rM%)kc5IB0Wx| zw{0C`GtNuEiDhC|Nogy?v93AK{;w9Afhhafq^a!%Oi3?0EOeSq&23P;&%NjjPR?S- zxZgOu8n> zgCS0kydi~2=dpalz(h-PU&W_B5TBtE54iXM$v1Fg4T|Hz-UU9q@(hn|J;#S%{5tZr zKjz7Q{VzEGJHN;5=5qnmZE4Vx}Jil$3Vz?ia9~~~JtYXyg&5u^B?2KmXBBF{5Csew^ zhX#m&ErLc{%GGj7Wd)1Ss7IoaF~NW_6@(S1hmUAa7oZMfZHnTjbWBx4+NEiep}P>& zq{Uwh;hKXENQitzH7akNRy01~8;?rBSYjE7uCJ^$7~?ROp06Xxr=UT#iRvsP(Fd@L z&F+00=ZT<5uvC@BSxfC4#yBQb#jJK*ytK;`pL+&pYnW}baqTwM<~dd;D{N(`Ylm~L z8w=&w@S(T)wASKWe{e8_&>ep3{xj0s33uZ|5$xbub}i}Zih5_4om)5Ae(42fx1ONd z+Qb_ntd_{C!K?2hbcyMCgOs}<{g~HM154H@N`Z^=01^*HI@^-ZrHOO{uj4P2a?Owt zb>E~T>=_*Eu}W;_Hh|Z*n@`r#r2pITqcYDmH0{5;@YKK0Y@|<>ufD-!1!gwY|1NPl zM6AaFA~yP~YlUhyl3b;@EjnCBQwK?gG>eZv^L`DsyM7It5OB_7tsB&X(i6?k`bnWD zmfwY-h);*7CNN!mA}_LSJfn}hbTxQ*xfzmPu*tn z>mBLer%R~!okF(K6G97ODjnVYc+``SJ z=LsWWvde4D0x`cEr2CXOI;z( zM8W&!mc(QRDh{Us(SWNev^nMYq>1YQn-0TD3;`QV+`LzbHl7xxO}uyMV-NxL z0b>H*TfBOjM!WH$8qbWYY8+NRMF-&t5?{1?rG*XpI~yZPit%Z(GmXS z7?Tzx`N)V+@Swy@wa9xdzfCOM6aDl$<2y~VWQI(c|F0kqmDn{nEg=O@AlYNLz8mhJ zk|qUBT}xB`!*k!zo^ZjjOWT9|V01qa#&S>YD!LSE$9X6|KM`krsWGNoRhODg?*nyhXxmtx(oXkr0wupj z-ImXP9URHrA)6AcyKM5s2nM`o`TiYF-~18F*S^Qe_x>KzYG&N?{+IGhL(c z?0RMzWZjT1-*+E4#P#ogGc==+2D1Z0XKFU4DSiFq=Q)G%*z5XBNppnDeQr2LCE0@x zwY>RX;W0eEnEV*f9OC-^(qqfdT}#sleyKeA2T!{K(ST7wOu#4GJ24?{cU!@1>|ifm zq`r0?^W-h`=2O@kH>h@ZY21vR%F+f;8s>*xFoXybOdH-FaA6ETQdG!FI+IID;?h^gaq>0L(> z46Sd_wk5bgXrmW{HpH_XZ5uGF7CWu5&M|X!jFM$7QxP^M!i^^`bMyJ9sJHgnz4ja% zSDt3s1e(PXYlUi3Q#(gh+cYMWrfCM6)wb=!^j1~XorPF;jpvSa{C+%Fdhf9&3jBzT z{$AU_>hy@?xBh|qfB*L!e)k7FdhK<>{ReoW+p=g=Gvt|T2WY`havDXcOrT0;n1d3I zm|r(;`+s<>JXGAD!4;Fqi1o1yfn^)wVs*rCx@%mPF~j35PX4FozEMm~(*H?}d2r9! zf(>vKvtftj3@+aXQLGqd8^UyI=n698@at(7myB94cdj)wKMn4&>5I#XVrv&yf?dL1 zpOLpAdTnbG=zSB7)=faSciDX5Ire}1Wj1c!X7lP5>YW(PDmrx@w&3Fgqf#g;?#DP0__RDQp$5)yD*Ts(iGOBBevX7q+FldS^9{nDM2M;;@ z$@h8qU;dKj_16gZJ|HaHI4LJPU*)Xe+6l0kMn15W7uThLS#k%7vE6&2HSvUz5ZsTQ zzVDBB97>##(0LdrQ}CEE9LqSCyw|52=QR*y*I?n-q#2;z7ABi%a+aQvKkn*i=Dsny ze;jsDwli3wMoTmAp=+x_eU$THaX(D|7{PReMaQ_|y#>60KMovz;GtDo0|bjPo>0$m zTU)rxmvA?3F}Zn@>gJPh{u1+Z+k|RLBQ9>Ix0>elxaDm`2x9TRB`8!*XoE&mG*WDK z6MJeDY-7NTCI}M~%eiQypoN%do14Bo7|>ReFXn(z!@`5JA=W_sq?gLh&HyGRzudZeDr|#fAJ$0@4SXT zJ)~I$8Un`FpaGvw+dJ#1T%4Dxs-_Kr58r*858wHSlP1J-69UE=L@Fv{Q9QwW+QvsA z)O#A=;9H5?_DQH!iIEMRL>t|ZwWF;@AFwR5p%cc~sFYE~#CRmAMxGq!h!vrYo@5Bh zsSn9iF1ia816FG6+%c7k+F5GjsIBMnxecCp@p*Qx-DKzbv&{Fevuu>r@)QxlO={+K zjjd~}(T-+5NNla8X_|qjfs#Lu`Te^2b=@_XKNF2|7g9tz(<;TYI$pB4^Dz&9_!}}QkE5B=$$xn6pBJ-MxskL+NIf&Nt&_CZVAsuv={^L-Ibn0#;OgWH@C;2I z-k+fvud_7uvGXed=FDKmd7q_o_Ip05etubf{jz%gB%1kJC#0UqQ`6~HuibWu z7JX76O{lQ?_+y&4f6mc&zRA(I{|fo=1Eg&UPB2=bHuR_9OV0w`07$e;jVuhbuW<`d zu@Vp&X#(iKW57R38Zi3ZrS{XE);^ zAeF!m?|Dvw;t<|=w4}oE#S4bN`uK=T^NKH?+hAVBt>M4B*Kp@p*{uUVco?;oe|BTS zf4uX6Eo1n~`5EWxDD3`X0sqSzC%kCiWpeiyoO}2tzFD$Z#RWcI2^K0_Q#nUfRXFEx z#&URgpZDKe zZr$M0v#)UO=Ce%pu5fyK%JOspKs~9cCpDAlBq}*W9G|Pzs;iTDCL(l)cFh_OGthhH zDS5N^p1Q6(w~6IgT$hLBGd<y?ua?(pz?KjG+mKj6`if6Vba?-P!W zF-nRm_85Mv=`d}psDqjD@uLeqmuY^IJXBr-++)&w8W~JgISB#ZM&I9O8E%OycdQ@7 z*b2VV>CIImFl{Qw`<|mmlopirERJsVUt$^H^81W6BDAe?auk?s36shU$P6n?dzz9? zycHUU%;?9soE{xwb0tgJFrS8|N!xK2tdZ^@#z4y&Qb2+>pq0YrCL1?zvh&Kz?7i|b z^Q#BA?Q>LBjYrWoI$6sCS?=hvW(An<^HrwFzt;&><7@o9#Oa_8=u81bhGqdiXbhES zTsO$q{a4bAd0SN5j%id?Of#F!y0T>4xQyj@m31_(uXW$dn);!ri*?V&?;rP^$I#4m z84CZd)>u|;?`rG}eW5?$Uo=HdtAI0c%XD(#fXRge>RZpS_1nM8;dj2x>EHbo@(*{= zGM>+6bVawj2a_Gz$%(T#d?WRa17cDou2k0}U#z((TC_tH8A6|C)SemFr{^C{(;(Q&#K2I#021`&^~+7$KLQ&y~1A8Yy@mF_Muj`>>XnVxo}T53(tMrgqGQ9^!JE0d|BN(hOJ) z_{oe9Z@kQ%r+yc^eZbTjj%3Qg)onKCbKdbvwK->Vvu1{{SSjxw1>SqKU~2*&op^TZ znsYPDPaifMx61Q7Gqx*5RXAz_KRXIMYCSV&I6M{3?O5g#c=OSMMug{gYAPcvReAlP zr+Vbsu9U+T&b2j{rW0N}Jmo*#Y58YYw%Mta)lzutq~(KS*q$m6R{^8&!nv9s9X9;u z4<8|H@Z8oM5#fVn;5#3+Y}U!VVCDJRWyi&N&A09y;XVAp!6w!zAD#sM(}znY7H&=r z-?`iJ-&~(^ZDYd!^WG7yZ~2qU+sq_z@5u94hst-&HNJA;5}(_=%*LI+rP2qqE5(Z< zjneoPRt$ktf|;=jp2=*^_TDzf$EUPy>?T1ax+U-dQ@MD0f8uCYg2fQ5fUYo76I_g* z=NBPrFdNbYYH78_)X`SP;0ZcGT2G)wO+3`4Ei^tJxYOYA+Tzo$KxjO{DwV0QPSSxc zi!)GrsI0O%ov^oCv$MO$?)A&;Kl3UFw_ZRd6ONBgXxoO+wp7&wS2^n1VkGf3V^}Sh zojF-nxMXc>=1a~xnzk7zLQ0Q1nKxT&JClN*&kgT$S`lHnT%Iw<%NlHv=)FKJY+t#? z#=&_`zwi>L@4nCdzx^Kf|MFX${OlL#@oB7YXNz$g2dIeRTcvUaYZjQwbRlzleha01 zqlq7v@=!0E6}T)Qm9h~-+*%ndDJ=q^J|IrI;52B*8oOfkI0~Aqp-H0Ig?ug7(ZzjY zXj8SCS`!`MlUu<|Xnb$HVYMU)L$ zT;;Rz`|*TU4x(R{W<2O}8A_ZK6}mtM0g+y4EotU-vc^mxu0rjZvXpRmWwL zCOHX-&;{&}ER+^Qd4Ln?e1!JcUzeuAOp=B=3+|)-Hte@Cqw)KUV;y!4Zagj`&G?@) zh7jVZ2<`Z?q=}-pR~_=~m`1W7n$s4zIC;nr8!Ms5kwSJx1AW?h6MOSH{L6oYx$y-) zcWILv`1U=|#LPcNYuh zZiY){07e3rrW1B2hMzoIF*CxI&6l#Ae0R z!T<5zBYu4UgfCy1BMzEIm^tB#dzQbyrz}I@>fCT;vdRB`=Mk^nTk-U!!)b*Ec-S<2 z`NE744Bx)LWMU0pyD-H7-@kXl^^Jb>D z;PQOM@9tOe!0K|v&Yt6sF75C?zjupUPn_o))gA7>`9qE$egvwt+MuCAt)p#PL=5$0 z%I5YK^Z9*F@0}1_1+)Yc4=#x+ezhVP17fjt6bsbTY3~Svw@cd7mR3E+PEl#1uUAzF zEkPZ|1cEWBMAN^}Dyl8PLufrdw1m(gL@zj|au_2x7ww6ivus$y#5y)ND>nCcm~U^g zG2dYO>MahQd4<`9OL%IQC&#Q-F_49uOqk3j)OAHw)jgkWnr9PF0UF;%Eyrxmu{w#X#w0;4Q>mcI>EBUMiFa|r@VCTi( zV)LonoPO;aJoxKxvH14?hkx%Em_^*YGn)Lss)@S-brM#)&L4%=092wl*V6iUI(s0D zDt!O~DaxPtL#m-(;Gq|=27wC*(Kjv8El&;_kcC7YwP)w_KbLis_6&A}<1yG@m8Pm- zwWXT6p}QyTIbhe$opx1<-5EOG(zBaB?Qk3nak>smY`?bk(f6g&HAGCBY9rlC=FieU zivoSm;|I9D!g?%caYjMKb6m}7o_Upn-}ySzD_`PVJ>~jDc;JPJZIH&}jN!`M^028m z44zBD651Fr?uGL;Gow^MC4yMPhdO|U2SK?TJy zsfFJ^*y4YE=K&v{!j(+}dPkXNSXk3r?C-LZ~pcBM7K7IF~f^IpUpjR3dl{aW~LJ zUg;(^ArO7;2Eh}fW+62}10GMHLe--|X}rft3>(`lTY_;^VyUd+>;&T+&RHsJaVD@m zwOl;6#qPmH>T_FElPT47&i0MZbN<%z7&GN`amwk@5uTQcifU%5YR7a^A<{4Im&+xj zD2?mP)w0=uNUsza^WZU$*FuT2?#gprPFvSCP1CHMlk!#O7cHGUlkH8WFFnuB=bqu< zU;Z(7|MqYB`2YHIj=uL}+LNPb2P}eAmPw_Us*V0|%i?!TVk8eyDi*a*JHnNGXedjK zaBFB<6YaRQmF|4?nXANhG;{I#AS!3DDSCN21e6o?0%oTn$;^>1*Wt$}+^}8>?aB!E zIGW;>(ZC^Wgd@9w@!FkmzS<_TU9cH zJPZ(2yVXMq5 zU*lj2pGZ3df_l_CsHe=IeV)k^PqFyI7kKcOe@XMhzs29VLv#E9=abJzTMZAx#leCk zq18x0gT>^CKXI`1eOR@#d(AkJtc4}DXOBIDBaNlB`%(&DVD=PH&0M@`Fyv+PvDyQhK|()YAXT}6%Z<^77|R=Kxmxjd_x zS*S%gZW~aCZ(*;3xwCwJ+py;hZ!ebImgt^o;*@)BTs*b`b|)21h5f1U-#@p($4!GZ z78{hgRgV1%%nr5|f~+`K!`vwU-L0C&2i`t9;p%*gZ(Vqfx8x%Kc7DqI-Y@w0%GrR&-tIz>zOmXoaW%xZN|3?CN@V73rJG(!lI@0r&B5KF3Xlv z`L6JFTNF7~_*1-ua}-ATja9C|7GYtxqo5ppEsWP~)-ti+j6x*}jYA2AZaGpd5n9ud zihe5C*jQ$LeT&}u5<2bC>Mqega~J(%r|5K-nPiU9@PK@h1BOo0LMMu}tx-}Tgx{1F zHeNaBDx*GKZ_{M`ZA&z=~F9$D*qL?`qGHhnX z*m8}!V&T{ty}$K7)*gN%+h6+{H$M3n?0@mAWY=zxW;rBwdJ3VK+G#F)$d+oNR3@H| zIrdPDtMttj+l2Fau7)+G?upj?du&M1tb&}%46H?HQjItrjX#v&=%pANmX)M%c^EfU z^D&khE|yV~DSd_qdls!ENg8pi3O8i5d_gh|LBU2EyTXY`e!w2WMf{JH=^VDO*i@hr zja*)#clUV~9=M;SH$KGTxr=D62;XGZ6kb_I2Lv2t4Anb?m@_3l&yb1vdL=aL9iT~O z9K!P^zD@T{>8+fRl+0QWi{9j-%Uq+6` zm0wc|32Hk1YlTA#R~-`KYUNjbkP4ujDh^&qZZ-e_AOJ~3K~&EO`H4m+tMUjj0msxx z^x3qf&qp7oGNbMpHcUm&LK(VRIffA9T#av2`QJ&Varn`?PG}ba%QTl!pQ!ZCOq;Jn zR=6r3aepdbEHN%_60{&}!CaiSf z%iAL+&heI{&16#eQFGIu@r4U)vdTwv)2i)l3|8l=qp{0Fpp$ztMif z&Q2k?OTuPP^6~3K`a<*2n&5h7yw@0EX_ZFkPG+%6u-Qxa(#;_syK=zK-o4H+cZ>>4 zH%-ApTM1qoS$4956TO6vwfrC7xWSK~U*T-K#n2kIR0=}SO9Zzjo_3?t=Ilbj&wu#_ z-*tSMcdoVB$>CV4Nii&Fg-j$bP9%?O&ADFAue^A`?oG!}pIhU_LCy`?Vdea3PCoDk z{_rc;S-JTnZ*T9AO2;_M>8x#X;^dIw_*>)$6NVW`I|iw-lN^zxXd#f=Z;%o~p^ylZ zlUqw(_?`0B7{9^FuVVE7oTD%fi^Jv7gn8&&bsd`|$;`7@=ZC%+8?A8&eB;@{nLb=wJ{LB41y_jitXeh8R#;r(2le`= zHt8IHH^<)oHg10XuekAhf6nOXui|cBqc|9Nzq!#7=u@50U=M}l2fL<04>j3Cl|>fe z;)ynoRpn`r<(h$V#PzVuSl>>c&B_c~Z5F3vit^PljS7_)^Q@Fx1CCj3>anv^QJ(4u znbP~g+uyY;EJ*L(W4=e_^C+4_{AP=zq6r}`lX^PpaWU`0`CY$Z^fpX+QGFEJ z(lY_j@6qYqOMBxqol9?E@bxc}Klu%^=bnN6eXneCfB3kd^pANscY!nyr9Ce~;IY%;GIVw7{Tp%v5xK83x(+JCJkg371 zb$1RW{HR|bnC5v_m$<;Iy!O$vxF9daHsM6vh7QT}$7fa=w=z7bM#8Ha4HX)Ah@j&+ zgbRHp#`@<5Av8rkA?vQ<-u7O0-tfJ2Hcqjac<=NZZOM%+=aqq>r~I1K%t2-gULFhf zZO-XLffOvJ&`Ts=-OgE(5}_T1v5c+b!;Oajx59t*a=EWuh!E4h&BpWV~@XMM_OiI8OE)pSeEf z>FtC|%aVz;jEv*zB6u#;J?jYs6Ut2(-_I8EaNZYpq= zKE_p}t4GN!UtGpOnv`eUmLjVcN!%!+1{0HpP?6TKhj29>GdJbwR-)aeeQcGr$KT4a z4}CXV-}PSB9(ssmdD%Awkf7Qy!Xl*3%V_-X6-Qh;Xv>@7HS4+Bio0 zu6t>ny$iRr48~xK9EuEESd;=Ky^FHoJbEgB+K)r>g5DG5$f<}%VC&dA&X++<<41a{ zaxVcQ$cgJ9KAyFFXoe>(!rU6^W&66nwSSv{T!cXJ6Dc_o|os}8U2vKRn8QeS` zb=*<(&P{29G3pN0-E3WjYtPHg(nPpAHvHzskS}d<?4IG}k)x*t*K^C&!I+mv zIV)Q6_(q?O0)#|MxIPg)wL8J#7#hd(2NSjn!){UV){O;@w-g9TJAqLl`0{qfUS`qK z@|Eog+Y`g(gN!$=w|V1gABkfjl@tYh`qqT)kwYhrPu?1EdtC6+DCd#oHt*V6BvFEv zf~}U|lQ(m|zH3OOZmpemV92Ts#TKwS29vdBn&EevL;0w1ce{{pK*y-_-?(r*o z3D=Tkj<2n9VQqzWZw1|5D9g~2jWdeLgh`%ZiwSu#Av?$zWfSr|^V8bauU$2Gw`A7% zQ_-?4E8S-qKO2c5QJR((q_Ra@K)0Q;)NZq}vB~i>XE=TLdColWM$SC;4%Y8}i0=Av zMAF7NL2e3)JTKp;g0!Vc(}c90RBo+cc9(xVRe#jds`x$*aeS%idFokQ6SfK0 zgq_6+AqdO=yqk;}qkdLqxT%Gy%)@c+2pr`Iw{Q+;ELgCegznihti9uLj(^YlIq}|i zv2^KvlEnqTE1=wP)$}FSWcV~0ZcSflO`V~Rt#_<%m&`i9dH40WCc1j4fB7CoJ1@Q- zj!Fl$wAOLq@3oX|J#OxODY7yk8k8Fi>6@3{IwtT_QdM8-O<0AXC>?ww1VX1ItE;4E z&XJzI8-3<9E@@$Qwo&;3!dir|eiTNQ`6~Ytv7u9Ts!Cims!C)y2P~q7V~RE9skJcM zE-OE@p-+cAM22c5w4Qe-DmfJ$G-6+^OjC|1wfds+`rxs%ZM9x|hba!@MD2GTjyW<_ zaJG-E>10=N64T6kK9P2w*6d*%;UlcXIzTv!FowzcY1I2Z!uFfqkLva~-&SmNH6Y8~ z&WeT9dEcT1tR#-HwHW0%)oF32lhW4Z=&pl)B3MZ!dzqlX($|hj?l|7pTPtyLBH(0Kpta=XfnmL)*_#w}631IN7I<`} zM@N;T{Z4Rx5f&23HxCL{(}ang&{3MVul0E6@dXyO_aEyVoak%Lbv3UH90tRBVz`zW z9$aek;d3io=%*MXFbZ12^5Cjul3DhxV^zcDY(kp$dGoy&dH8{cSUr7;#bc*AcK!mV zF5Jz=>AP4xc8vb=5<1b?3@rYXGnGgR5k6)W(n-Iu(*aoW^0YRAKsmo&Hf^=&wc2cK z9OL}O^W5{`8@cPTN4fCmTRHdeqnvo?Q8w?rpJZVLDHTO#F{bd#3<~3qP);7Gp3&98Xcgu3x{MAK2=Ptty%6T<+xWL0SJ(eddi$t%ZH$daS?i&G{Oqi5D&L*f zB9$gxU88r;-SqFjpWdmnxOPgmyNer)5Y8W28G12HyK@|OsCXhpRMFLN;Wx$#{6Q1B z^T!hhuS-+xbY!)mN-Ellu7-1f_|;4A3-eHik!7;tVdLsqc-*W`YszjK?;4b56E4Vf z2$GJZ-xDY;%CqiYTX3NP-N68=QtUt&<2PJ%+H_B!WZ|KQSbfWbEZuV-?bQ{OPB56# zS=sChPt**?qr$hFE`+1#UoEd!L)SzT$JLKBts9kfqja9UCIt|OqvGzAkE0Y@OmnBQ zc(rt|R$feVr!sBg74vY>baV9_{Ela&-v*u)j9&Q`!!Lh<;;GMLo__|nvyI3yzvd05 zJL_kRS0XJp`#~CRVvPW^xM}*QSno5|&T5j#=!_*+d8uy1>{`~^^T4YrTV}(nl3AXV zmGs16-t%Nedgw@*4bPZ^YrKm7 zM)-BD3yGqmrC--+rn<%-`zqMZ9c=;ECK;5os{GY;bfd*hs?wqi+Z z43aFHaQ*rXoG~P6>Q8$b4;k(5FxuT?G}<8>PRL9FMZq}po1!p&kj7fP_W*>S4o)Nj z?Uw?yI_OS|cB{?C+6J4aPSV@lBx$uV2tP9G{2ETMe%!~Evzh|5QYh_xx{AnXYufow zPH4EE_uItdDE%F-l~mQ5+YsNBmO9@iIvaF@(#Sk#@XE_v`Qtxj z`w#yBbNLm7N_>N>zU}AOLy>}TRU3_-afBTeVGHXR*>bt$bUfj(a;t^dsD&s2HJtd> z``+uQ48=H^v%@B{*6%b+hjFvmO3lsSYCMmUX@wuz=qfs0kgA-upR$QGaV(RFS9m_B z00W&X&llDX(eBVWb&{1w-^BW(Z=`?sS<=QGKS-FD9ffEKP@vc<7ptq&7|&7{fQ%GigFY=U4pcuvBu2m zp158p%hpAPbliqQpNQk5v=Q^FaU=s-?pPlPZKgOTO3*lCf1QT=r}0wQ{j{bSICPuT>VRt+gl>TLW zP#9V$44{Reop@WWh?Zl>@}#+uF^r64K|v;(~9ptvGG5JyZ#+I(_YVWJ}fU zC^3r_&igu^gnEmMa<0tj@67Xnt;y6Ok<)MJ8pHCUQkIcItK;H41neOk(X`yFktrR< zz+{*qL_)h;DyyJ;T_lsJAv!lz>JZ6n5NVA+?L!IDl_fg&-p%^M53}^Zee}KcX!)*GG=iUCEgxg)2uR5fWo^zCI{;>7c-2xU1LU z*?r4qS8-`U`ps7058p8G+<3y1w@e$sn_Q{N{kq-yX1}6z@5<#J_od z%mXV4A3D`$De-FnrE}y6{{7{B{^ZI5J?;2UF0Apdo+>!qhaWlD=6Jhwdt;>sSXDzlf!;fER@yK#Q?)+xVRBK)sWc>@(Fuj|ANO_d0HXGeph0F`U)SY?YgZe*sXwpF33OpiZzzZQdq9+)gq*dsR##bn z-}_KPbNhFH8++{*R(OBCN7+MDx_&ASutTp0X3wuZY}G z)t`sZ)DhzQrVbH@JK>rzuUF>04p`@3$Htwl2~)qGw?-+(#+W!=@z~4j&1Z~_aZ0Mn zn2O`$Fi)l`r$*~EvFuo8Q(4#JV#OGE%_#Or`G*jHCnmN7KAnwYwEzahQp5O-F;Y3IB^?k>cLBX+(px;Um!k<3$<=X>3eQQihLFNSKdI?HN{^CYX z;RI)Unne4(3s;ARkG-KfHox=A9v6ElpSwNe!>3mO#sB-QA^Q`@8`n}&3 zdAN>NtSt9vxB7mhUHg-&q!K8lNfL$Dx;*ApqQtD;GRDlfhnk*t<>}&m5_P>gPshi) zvgtSI`7pw%m7dx7+QhFeGlcrHxUbgJ8}key@Qc^F&U=T1cczpQAwlGV9E0q(>7PG? zF);epWyJmgqTKCX*+YV z#;Fgl-}MVVLPT&EK|FlQcq*-qbF)us2@1Ht`?bjw!mnQ{tU$LwOA!WgD@>!zDMP>6 z%355WUX@IyMN-tod4nPWBH*skghBt6J0vdwdEpoZ&WK)rcsI+gDf;C zDI`SGYxTz2WNb7UD^0kVChjB^oont8O<#_$Rc4H-mpgEf4tMtP!23R5*9%ipO% zS^Wu78N_8~D;obmRlaHi##LB($bHrnCl1L}&Mym2x`MQ=y{oV~wic#!6=YK7vk5nI z9opO+T%A4wA{DqolxlFcZ0iFAv56ka(?6}(iSv5VW#q>%aP1u*;o$f^Tv||A;TSs0 zJqrmZdkH%e_}0*}(Ux?S;M%C*nc;+c`(4%(&9lRd`&U|=S%q#Wc0zkhX)exi8i#v)h78SAZtx2$(K(^LGxl?jD``gG})FR*IJJub7npKjD*CvDuWT$&$`XxUaw3i zz#7MRTOgJabmA9?&%6Wf~mHI7FHtI~_zTrT4%^&bjHx>GoN}zErK#RyTzGNB z(^j+cUD^CIj8dqTb-HieqVtxw!od({C%C;`4!-;ahM)Lj+)K|Qirn{mDg7oXr*P4U zT4n0XbcDPxdwNx*WfT${9l`2C8bz1`pG8y~$U>Yj_!W;4u67-l^b}W4*yj$Yq)S-$JTLolIaYf{8A3V)NrQ45y`~Ugmx9pe#JN( zC}GI@>x>`&9wz4=q_1IFNp>Z4g{2UV6w8T@;L6aklRK7L@bV-_SlH}pc8h{`wTwn` zwkvpfsMybZd%HHtImjK~d7?{8LtjeL(v$i5Ma{Xrl$R%#dvnJ^0+$Cl69W$~x7jNU z?Uo>s{;TJnzT)G`@zgFnuxi*Y3ZCD~`0ispHadc?Nc@qnSWfpPZ&}kkxtD`&v*QY$ zA5A#lX>oVI#TRc4K_+C@(MkkAdOGEQd~(Q@al!dS^YSR;bVu`+wI1Kx8MD&Wr3-S& zqsuM+^vZN;tSind9BM^*SmamZ_GyFkV>)IPWb4> z7XR&623#H#tacP%-W$_L@{-_t9Q#-UxteTnj}&K%wi7Uj}ECrjg^ zKsbr8-mvZJHmmDvY_6}P6FED}P_F3=dMAvk2Aveo3=y~Q2Av##c*pVcbiIt6|Ho@Z z!@B=4vKbqwAq4t5-@3l7%dTG^wdAa>&+9btb$r-?wRYy<1n?${Qx1VdU}>$caN>g> z!W20-e)HcU_xDlg8RM`tAc9hWpr2jP38l^nO02}q90x1FN#jqyGtB6YDRwHZdJyib zG z%#av|6pqfr_pD!AKqd(Q03ZNKL_t)ra?jnQ>+2Z5z8%Lc;a6$+$ep=c^BLHz|Dkm3>=*IHmIgMCuypgM39*%M+wl!Wc6%M3A zE-fOR#IA0!vU!r$`HKuc@rR85^3#ZeZND{J2!t#ULgI`-sHv6;>sP%o9(0KC5}hmi zo29^SKr!V88{re}OCppR!LGBVz zyXe35{g_PA5f*{sSdy@kw79YB*jlo*rNk-73Wu?N6O_~vX$8kyiYHe4Y>zE%VMr4} zTT4cO!!We|40$00Evfm=ttIv|!%GK_(_KfZ1fzi^EB6T<m$RLZV4XW60Ef(ShzKIoL_K^jin)t2NR-g}(S-72_uS<+R|moRdYN#V$HOXe&~sptKl-nGKzk>jg3#yqr^($_F3 zU~GL^Z;vw;lLZnf`N0zlJiS}+>>l)W&bfsa&W*_n2N#=~V$IXk6dAN8Te;L9tu=Ta2@wL|a(B6PUeJ%>~bbOs=o{kT{N9B{6oDc%vkmi`q z+VZ&GmPLh?$!jZ|_`x5<7|Z^z{TepQkx5eNjbOZagV9Z+B3r6TMXc8Xs8qiN;0g;; zL^j~zV_Rdz<|3UGmcYDaSoRkq+7?h@Y6rRJwN?poc+NMaqR7HC0Sp`S&)SVQ|75<3MS-+l#3*o5F zT7Q10d^Yi~Kab;^@_8t4<>-{)=sed$Q@K%-+ms(Cqm4|iYKqk|fEa%$Z*Cf=g|6y3 z{%Z<#nxOs#3Ly-b9GmA9CihCJ)1mk9n^^qFM_KxjAE)&l--~?byHIa=0=7=$kVtGf zdr?jgmON+lKzU8*!cOCmm{OAknm{EY9%U{gK4m`O5N=8zUnhPodxWcGmJVi>^2fY7 z!F1D6Xd|JFg3Ry%5zCC~xw@|5Xuvk%?j*AsyYd++v6M3FBjD2+8#jeiI4!-u)=Wya zPdVhwCh3{u0fUc#5QGydXw!N?XoJ1~r$LpVcQYPyNy_N1V| zalD&wWdQ%|={-h8!M6sMgTj*IMv_Y*#O#qi7D8ggS)a61F% z{IWKs6sP+sFAp4T=rPem3z%P zK|yF;8(OibB%j$Hu|LVZD=VuQ7{`~lCwy(YAS8H9WEeW5!HDr=ICc-i_g5BKl zxoyKMgQ;=3+L7G5l=79`5#Jj6cAFc)zO{VmR?eqx6l8vKfnF-P&}s3^ZpPc|)(qZ@#$8O9x|Yp%^&JFqeGlM$V_N zPZ(LM5zdcZ*x+k>V}AeY4q(YG92A1D?izmi`61VbVRpgs&~g_f{K`w)9ApM56d9IV zF5&-rS@Zu~Yx6a=&iM=Hxp4jzXV0GYf9Fnf_UsuhTsX&>vuD`c+8|96gb=h^t;#q} zl4M4o)JHT!5H%e>(+3*fF|iJd|AMh>t@k4wmLdcLIq;}&Sfw;}!|c;h{WHeJdNka} zzcDtBi+M07pH1cDqP4(v+;ojFB--cK7=M@p*5YvVwl+BaV?Rdki6;>4mee=Xu?(FZZcc(|Fx3B+OSwEI@~uU4k|k@X9|AOe*TGu%r0@UDwE#f3S= zxww*#z)i3I8ZwnXzNW}PCk~~>Au0-sLy(?6#oZtMNxH|6`E zbl)kTgx=DSwRtk@aYvP5Q=QB!TTy9*`E5$n`UOyJLbT3-EdYVD72QMTUw*o+sE9xi7X}{bt#K!5TWl+r>Y@zRgD&Qx{b(%beBFu7TV2W$T z#ym>v8A>0TNI|P3ksUuJ#;a(nqPeO1XLH&{^?VNY)ys_E0AWP7)TT279HK&r8P6^O z3q}a`bdM|dzni^B-pjduhh9=n**nS2NlsQcoPd{yf}u6+=P)vGva48Cf}Zw1NT1r9 zu%8z!Ch+xb!)^fs3)TtNJCZYPh17zsP&_%9aCv`1f#CMU@a&#pf?zL)1r7HtX?lsI zp9r)Se0^`s&8#5LEiVilFYOiV7`QStobE^-UH3c1m$l-r_9r~GJ*1y1p5L=Pbzr%? zZxF&_o#4Apr=(KTQE)lS_{&=(#>TRf!542^ZjWeaMTWF)aiiyHapt zyv0HyIMqw|^sNK_^418XQY1(BjFRF~5Cv5A9$# z7kuJ+!8dnuawFI^jvqVM<5*9!m`ElT{^;cco;w&}tmex%3ZB}_xtYUG=6G}?<$F%| z&`FE5rAb;TtyYU9O-j!I-V?61c4pa8)h6$to8wS_9%GxH6X{?V8L!THH)(Z)H4gRl ztnoV7dFid|)uw#L_jh_0dw8kytUn9CQc8?5GkJ5RuWsiYMONUL<{cL-G=p)1baf5A zzQ$y4kL>n!L}sgXk%w%sNDI`C>nPeLy85$u zGKtFJ)ub`LZsJ{kHjl?Vnf1IkU_&Hi{{{U+9B*!~~L_u3gdJ<5Q!dMp5gv?r263LmaCJ~N} zwxU;#R4-^rM+y#%Wv!JkFtC(p?p@MsbYMX#);b!TrJpK}C7ONX55DND1f>OUSWY<8 zm8^FXj`sv@DR3xGbR<2Uu%Bo2(v(Cf7CP{jm4vRAobM~n^t_9!zLIRU6`6B%lqMAl zYvC{vyPQ^g0OIDE#>{E+Gy!`csXUcWl5ysbT^@& z2(C{YXZk5SBf&junh%~zIp0^DUC`XOs1XY8>ZWXVH7^cxj(1yFqd2=L_`r!a=NB|* z78Gw-PDrF+tE0Jhq0P?3q9vSax5%vFeWyA+yp(XVr+9p|#X?IUgyq529&H7=g%jO2 znSnQNwD`!mHf<$%`&Nt9mP86TztCbMRqPteTB1p{;!IcZ(ThEfw*_xnPq}Bo_f_ls zhpR1@*12f3v+B1sJ=dhm!hKz*)UWTP2j|^OIjghcG}ZrTNK4H3D7{>l5yvU14!Itr zRz6MX3pBCM+NL}<$+Xsz6cCJwBEI-q(CpPAlKH(Z{H@nb`??juN5+~!Nk-A z^8|9tJXqQ*CH%Th*Q;k9lqRS z+>~FPej4|hWjcdOHN6FiPW@D_%72@YGjyl@e}dc&A!2+VtS zR9qd~BxfFdjQfu*vyO-9OU^of^31%>>>8#{;xI3buQkLtS55`R;nn2xwUjNjw7;IR zZ7Q>Rn3s;Ga(p#%ns^<>U(|N~HZY&|+OjKJXAv%Jl=S`@jVU)lIIvoQ6^t)G&-U;A zI`%*O5o$ODt;&#7(3L6#%Y z+?-f8JCe45gTgOU>z6)&k^aMCzsN|WU}qxeXu(oTvNQJEY8R3+%`)^g!N6Fgbxf>a zwGG2uFffLtRHB4KNm;IyD;Qbf{dgM7da4o1aeZLvX+bXydq;fj4|4A|Zf`7D>_AUR zZjLP-0qsOoZKz4Vg!`lPZ3s>DO}Ke-!gZ5gJW3CTYhw&)n$Eb?s?**{|Hl04p@|m_ zNHy-V&_!>-25za7Zi`n`hkm%xAdy8^6xv$!C$y z*MHC#h@g8#)d!9W&iSKW!ytwz8_eu1&Kzu@sbn@N$ug)9uV46uibD8~Un#zdQFI-v z${LPXX-4!hu1fs3QKk{XPu&?%iS#?*gkTvXqv)HkaX5-cxSpphUa!oG#zrnm%A!|d>X1K{-6SjSd@)T^eE5r}Kw^H> z(ki3F3gYRMSWb+uD}wmiA1!=zecmaq&bO{$>g80Q>S>~_{|ezpCPN*>xDe*$b6$LS z7UxMTJ^i|k>ZAl!@zRwiqY?Xrb$~=`?KeaS2i78;MJ=tVsMUJ|wvH3vN0<^x+L6d)ny#R;M696#wjoUO zGK;O_=J9wvGN)x0uu~meFYj>edHEi$@qRnAvzJis_iUKr*A z=OkMABTiEst)zt#AQ9~6j_$36lCWfvO42q17PDnK*4xEr=7Itz&O9&A(09&jzMm@KC&#dBzqYg%8Y^b_bL8U+js%agl?wN!9m;OfAj zghVJyVZ9;T(+NsCtd%^qQy`@yLGaSRv6neo+A^?)o>25#f<$|dB|FA@R9I4q8=2td z2wJISk~`W`u#iF`eOt0+|IkX$xPA=!AY4<^Lr1;Wns71ZC|nawJuTrcb{iFcl*fGH z-@2?Oo*~rnP3fDL&$^s>`G`aOZmB=d^PItOOe-xnzbWb0tmFN1JL`}7R?6XwM6N7> zF=Ve?#vBY0)=o!Vn^v^N`n0@sfK-a2G+JE^SEa8~cvIZ;(R8-_u*}(C9n4!t>7YL_ zsLI7f2NF+}yuYdA8n8{cZ?jBQKAlVo+`ggR5%eFphvOf3KWq11LMV%!IHdA!IFwN3 zH04xA-9<*dqs{9~&iMu*BR4wp8fg5isUsgHv(7JsI^QO29oHnI&Nl?1MCDvslnvEl zXK?e<)pYG@XHC~})E3RxpNpEph!^_5ntaw}Rrye5T{e{UJpN5>CWJaB4uLM@b6%Q4 zeEk=ubuceDT-^PRtgEK-3UwYrn6j$ltg|JpS3pwu6NJKAF>5W8Nd^|baU+qmwoY;E z!+(csvW5AxkD;?1k(A}=JNNV}pJ0fB5Eg?(WBkZ&e0YF!-n~_skePBXM^Z(|Yh}b8 z#x~)CgJ+qz(kE(jop|hQoy0NDxkl_ET!@ciU$0ER^P*LbbGp(mb(znyV11Ft?bHFn zJJPZlF75Hu`A3)}Tii38aH6fT8uBdXuXY?p7@U*b7-g(?C2OhUxv}G1SMtDuM5hv) zJHEVa+0Jr0iQu_i%g6}6=%6h=@w4z^W6S~|LmSE-gCT<1je@DXFj#VrIiHj9Dj0U!duo;&M!^)%Uc6} z=W>wx!XIO>!tiR51(MOQ|?SJ+n%xJ zkp2?U`=&{!)M?}U7$4s^(I}}XOi{@SxbPQGuZK8MdNnZBjO%Qg>oP-dkxr;z$05eK z(m$=%dTt(K+9tgU@f82G-`Dkc9K1&a$8a=6OXUv=5nywHb$(XF?=V#esr_-u(vmJN zvG~~Ij4xkdf9K=4(SGThwMui4h}P@8XmlWqzJ_DM>)D7DUWKjU zTsfCe(uK8QqEu!f(LoKC3Xf>ivyKx@*e2ZHkW2&P1BX0zno}S7AvWLf1R`x?Mz-7s zoujp`j8+ki)M=%sWjDuwWKN^gLLZ_#s1yIvr)%P04^8>5%M|6P15p_q;!}3m`ty4Fn&PC8 z)ed25n+QZr@%j<7>94gGE%l-L5Rrnf%Zq6PU41k-#>MpxVD0RwGa)T`p0l&F%Z*#t zxqkB|`#U>~#v|1FNj5+H6WF&r;T^Qw!k_FagfBUP@7HeXwy9KD6fOawrUse|G9iqT zx~R@XWwb_gbFg)sb0D-|-zv0-MkJ}yHCwi`<>_j4P1ril#lO+@>ys&QE(b?7vMNgN z0x(WaEt5^BV_5HGkNS+@W{?#`Q_{!~q2bNQeg^ylX=Lb$N@!x;r z2EX*;EkK~8=EgYVx1JsG|2;QiMGLkkmiL}mNxEz?UAdR8Db&SQgJ&rzm3OltF zE2A;!$63=(%*H!^^s*zy#p}JM`Sc2k>itN-G+}Evuhqm1hl;9F@72IfsML_52An&L zt>b*AzWp+>7AFOZ51!-fPkn@q#~;Hb8e0rO_@QrUB!w-ig39x}Y8=6}5OW$-9O{iU zIQXB}L0(T>y(1mf*z5OkToW$l3(QRW&&1dA8RF_Pn({+UcFZfr&*M|if1PKYp4#Xu zN0eC{;?Cbhd(`uIB)TzAWpk~U7aXnwB3aHk3RBFC9E8(d>gjRLm0!8jU#)eOwm@6Q z)#K{FM2fQsVa>T0sGgHnIz@9F`{BDOE1Jl%GsB$b13Jy(%E8g>8&iSpW;mm z2|eZb#!k-INbmB-3AQ@$@Umu6<6WIOxYSL!Z@I;bq#oO20?B<5&hhq=|BQzGn_nk`l!09$d8kB?M{gfX#wZNi+C-*a)DQCI_EVKmQ zf2Pe7$Gsb{L^>W^PWjPuD|~Ht!sl-6`}`?rS;q%Yr~J&tHjBzHLD=YOe)iHD$J3Nw zdwvHfkW%5S@KD%C1kTWMb`S;8Ay z48{ntZ$lpr(=^a91Ko$|p`n>GFb&L^ZosDjvm4W38;pgqLAE7Zwk+9}CAm~8Nu{b% z?aQmTzq@5-M9d$Vac|sw_sJNWsPiiGX2!QfWW*O=eDTE>0kO4=L?PdI#U$UeV~kH; zXtL5yay~ROWx-D!sBzmwKw>onaNG1SzkKaBUR&+($%`vl?F)f2nqRnPn73~&VNABd zb>q|!|Hrj+oLp=3(F zb2BqoQUmp?u43elJ5VFFE)RWzk>0+5ToC2=y-eE4=Ry_bqQ!%yo2Osz+X%Y>E}xF~ z5O>vJ;W24@0uIme>3H4%*AH8S%dAk}Oqw!V4YN?$xrH4MKg71Ty_v9DMOd9{?S@n* z$RImZKuD2h{t1Zy03ZNKL_t(9Y03>VvdubSv4a&mT@kL>S^f02eh+##sACkn_eJ$F!FiC~vcRnA#|5waggmL$q@gzJ8Xc5n#>`#d;o;-l$H6w;C}huOB?z|8ww4D5Q{d+8wO5l*?tJ zsFFqhPy(GM=%j_(v73=^`+mgk1Ej`4l4kR1ClTDtyIZ%tC@WIf?!gFMMHKoita)Dl zy>++-!4}|zQm7z1p-)K9BJ0iM576FdKy=8WuY`|6YRe zAY{5?DJ#irIg`bm#IU0rFj)>+ZtILYZKwr`yC)-RkzhwzQ4IvvYG!Kyxj;t0Av>!T z&bK=(C)tE9u@ET3T@xYIKruTMPzofV*f$(88Y*5|i2;jAp&Er87!4T@CEJE1W0lN* zbGj68*OnoUuXRYZ#bPK2it9&1t{My2J|x*z5j4}xf8;$oMp@MGb?^~a(?`D|edp`Y6C|fa_UY{Y_BruXmxVoo5!#9)f;2I{jgZvVHRzerPfLd;Kt%H{6;*|kfy@Lha9i{H|(TmL!;U$KnEygpBU z8idn5Pj!kmn#3eTK}e}oVq|2P+Q=x?a)nY9Wru@kP4$|C)Zg_8VthQ`Iq0cKT>~sYf%ty+$+ zv}ndUJFG%vyW2!=iBT#WD7V)o4{i-O+v>2?)>vy$X^OVF>z2q4D9}JDko>@v6+)$X zVW|aL5i01UuFqS90b>-#3a+e5?%xt}F>Z5WtwmJ?2nlU0kZsmVWr`Ap>8jvI_Eo7$ z%}dK|(1M9jkl1WvRs=*c8*@rZ@IzNtxqVvliE~R}Qz}vtAZfeFfzVW=fD(ec=OTV$ ze~AyBTH*Y9f>MG|lI69UC=d)sS!9FpisJt|SmWatmU(`mK_mr{$_{ie7=$!nQUWCj z1Hn)3tFWi4dE#;tEi|E&XduB53JCJ}rGb)s|CJH%+%9;2X`R(hNc$V4RWd5hBlFXY$9*{?u`gQip z&_OhdIQ{qjUlDc?&vt;^^yRRhub7JUQ+!wC!{zml$aTqAW;0_2q;Y~&xr>(sseBrG zgQeQhG}fXFl(x=NyZtVL$qB5Hh&(DxPY3fhY*~jVJDbKz&^EKWDkof>6_uXA?ZVm~ zjviBV?UY^EBAm0h_C#E6-4vOiv+fzrO6mllL)s4~T)}+UA{@PqS>G^CDUjM?f{^iB zu4BhT-@?$;1ST;EG(wpSR#*a=Ep54(hx4Z^?k;r6ZzO{nwM&Bymgb;m8 z=%OHO{19JwR?b2A2l3(mc1a8naQ<^8^9=*;-zLiapnE5Td>Ta_+_hM@MPBggw^$D@ zxv(mJGDaih#x|r>9`!&AqDqBQsZ2R4Qz?}wmm|WkL>PuB1x8AS4&F}rsvAh8MtU+p z_}{-PA8?+S+05SBu3!^cLAokgw;uA}Lg<2jtOl#Pus)o%AOi)VMG7|H#K9Emu~_#G zPKd#>;m5XhSwvwg9P&Ss5 z6hsJ0La~|{I;mv1tcbPc<<$;pnzGnTK|?7NNFf*t1hE#Zn}Cvp=~BRR%T3P2mgN{O zwqhzOQ$%Nm0#a=`vYJ_7=Y|xoG+I0{-(WF`xztV>4HcCj3w%FY&VuN_x*8*c0FB`@ z7uI-vE#XWjVJX&Zs|G;8Sjkc`iet-w63kW)qH8W%}7ZRDoMQ}*-{QT z)<{`tYo>-mF2yPDJGMYW!}BZaXk*z@$t-{qQNYRdgkx(7fs_oD1b_J2C7xSuve2=t z#D*(J0uYMX5}a!rURljn8MX}x-g|VOrx(__*iO0J(M*@K<8QZALQ0Y3sY`7@F;|7> zmfQT}`4uiUW6n1drb{71L8jE-G+E}=<(T!vGFpmQHwk}xYLyd>7GGRw6BtQ7$X2Kh z3`;J?n!_t?A_XO-dH=Bm4y|=KxgK+7HRhU;QYJsseuGa@R{8h7EZa=p6y=N$#{e1c z*TX0ws)xv>JPB~}Zt0*S!plfoh{S59L!B8aHpa08WVt_Ecxj`Kp~GR2?xW`ZMo zt|V4xd=>LWwSE-Wg1jJ?poH0Cm#Q{P4xj&Lty>xB<)P3%$Tu1UK_1-0>qKD?Za7<; zLcP1?vSR%^W!QgK^m+B+invpgZua`k`C?beLRFK8p z48km2mN6i$A*hZ}y5m0NZao0>(Rv%Z*~v@zrB0yu?YJ{aQw4q+TOkGU7WnNJ;Me9 zODBj}pWQ<`w-+nRXlpp#O1Ruf*j0-tDM=}mY#EYt63dB3O3Rr1)EvWwR?M;WnDMe; zGRWlc{t-nf5Il9M&0-s5kR7$U)Yd$|+9AaIOKjkDGv=db7pVq<8%Aq@VS6Ru?b|Cn zG2i5ga|y9dv0BiuDUY6B=F68GyltkA6oMfsxp5-k*hz-bv@?ZsWPKc z7CGVPuP$@EY54C))@kYltp%+#JEiM`rq#@A~ySI@Xh=y(hgpE5LXH*AqWIdD9ODF1zR_;ESsw zTz+zv8y#$4rVUIA(L*5otFMd>fGxoFD}@cCa$)KPxsSHff+m7$5eHI+>rB0_{Pm3tRZ=Mf#g{KKFdH_b&N) zWFGap(9Zhu7Wp4k&SJetDF<3ueK`NO5T?5;d=QPz=)X}NJ2;nIJ9BxQ#nsOz27Fi8 zShqs-l&L}aeSS9ZAw=J@I0e2Pj1TA6fgNxdgP)4u#HB&sqFA>Xf~-Xd*NS-N$U zS~^LaFbMPbiMhpse7P~lErmoVNjNe_+GvoTcomW)!%vn?h>UK=hUkidOz*N?nddTh zx$Oe?lsk9tKXG4BDwN<8ey4rov@l(<|+|8YXM3sl!B_t?Bgd}mPQH+ z!-=Nmax0+{N^TgdGFr;C%b_Sh3d@mY&8ctztrUQM#?+3jPUTT5rVuAPlS?{#PZ2YG3VD( zG%3%mws>Ww$+k+BAKpF6Oj&^tj75^N(tPf+=9&4JT3PbB%ZnUek1fgn#4xXBIXlk z*SXkmiLK|QdH zgo4K}q&zhr6AI1oR);TLZXt~2Cl5?XWMj#@%B1iun9;4@yNo291|^ddkC|6lOeFlB*Y<}R2aHJeEPZ`ZNbEej!ZQt%sFMt1iG1)$u)StfyXR$rS zHDkbuu>4*K`oTAfS|1M4vx@X!`{DYmCf@)}QiCW3Y+P0IbxNlbBW0$@8f*G^ z?7<17P%JDi@fRQXQh>^sg2_`@}Kq7+z8{t7T>>7oBHO>ZNjZd&*iso;9in~a zHT1=c-7<8`kuP;Sx;f-PrPewHHdo>V-m_wzb?~=AL?+Pl9K~9Q*@;jHfx)tMNV0b%WHbucG9;NU zE3T}CJTy1T_2Xrf6r}n1P?d1ac*tB;vZW*$ixg8O!8^B)@X%bHN}x!zMhZb$W=i9g zm5_-c#rBF~sw{c)%qWlSsI#k9CNUXag=KfG#MNVpvXC4Y2`EX!os+|S-;NOuj+K%5 zdGZ3m?z-f<(U5W^*gF(5QBmABUgdjtj&jT75am#jq}hQFBPGRclOfxO6qBWZy*0&H zIp8~XjPcOcI^$7@an^HVxnVNkz-Y*1NwT}97>N|$vZcoN?;7FCdL?rq$s5V;;ea3rQZHHk2c-*6SX z9)1_qZF68WCr!^R9P&J9plBCxHz56ww|`hU3(!*Ld>D&vW+d1@61= zzJZ56`1RRk$9w0WRyF8b`+OF^SMi<0UA*`6_=hd{-((Q(L1|EV-1Fi=4#hGJ`rbG< z1fw^=_y;QZ{0!pLU8NT!yU2%BneSD{CPX6YMgZt@W03h?D4|hG5N+Q{>BhIvI{7-R zt%LNAAGBnGT9C^Kn~RKG>7uveRfyh(tFH7AqVL}3$HO9eJ6YYd%ZL;i1_%ME_WeLJ zOR>li4XR`74FrSguLxU&V-V~&NK?uzGD6nXd+q`KGCQN5ScRM%XKs29S&y=?P(~00 zV1&im{QCw9om$E=p<0#*86bsZcvL`|&}zoSi9rU2APlpB<-)R~7O=gRO_6U4BBW9T z))J?hG){;r3M(ZT!&D_?s**8lOvugSLj?H-FP&Tcb+??bcO+!*2%uB+*hoHr+n#@7 zo)0CMt%l52G9OuEL++!3lnRg}`KeGQACg8(ihH&yuwX>Ut&5pvB$2-b4l)FfqRQ?UYV@`*l>YQyZ1 z*c-+1{twA^`9PZ*j_wl>5v43vl zcMzPPie*pJ{&0p4wrC)8Wh<`k`Pbqzm$Hag0*gfJIPaq&VWctzPYA3v=-d@56C)-& zY=vx+Dnxelu#egrL!cCuH(gEjO>d(0*(d1=R&qIM>HW4gn-Cl4a^N$W{dR`2BCL~X z?zhF;8!J3q1vuHw&_~Us46{BlA&Cl73z`OTGYdzx{9A%a<($+W|t3Lfu-YK#;+> z!KzsQ4p%V{b+LZjW`bh!@pY$lh4$wBriyKK(4YU_DXl&~LWr(||7LB^PcD!9ZiCuX zl4kAGomA)e55u1St}zBp2afD z*i%$R4(RR$bS0$q@&cq*fRv~(J0jGz?*958u+-nJOOK}Cw_Uy>Y!S}O`^}^2pz?m> z)uCUvSc|Gg*r_XsN5@$=np8^?EFF`{R7b}cgOUPEKx_o_&6u?`1sT!Q5@RjxW(#8y zjE=kYoEXbeYB<(RNM*!g#}FHl#Y|P%VB6zIuoQQAd8NfdoUq(ZS?`$40FiG7kwTz^ zAW&Htt+UOTW6hM6)UXt5I!QjkHoZC#+Jezsjx~oCo1AZ_%(r1R&g5N?*IZV{EH3Q2 z)*M=Fb8IlwK(C>Qk&OS z+Fb4^F1E8Ha%FBrl2TxEW12Pz$5%VNxYS{}WjWt8q>0UTr*9$(oQ&|>sV`HCa-j%U z#NoqY$UuLj6FKW`X@8=m=*V*K(Ca!K>y@X9Y;}50!)a7t^#F-APbmHFkf`yV!cqt=aKqMk51}odO}qf`;c|9E7!~Kv6Ck+8u?_ zmQE*AfTAcGSTTb-2)=d6Y;3%PIwHAs$teUrzCrhck`E_^^geLUw60BWr>F1~oz2ST zM+UIDa_Mir^6!H@7NW0!y^*4&t?t2#{&$wFti~Fqrl$G9ANUa-c;G>N$C;mJs&i=!27Pna;V%|Z^$|>^uE2dHlvf5&9N9LFjnVHxL-;3 zX}fy%g^|dWICti^b-VG+#-1mIei*Mp=dp8ZLu9n**mdI3fcW;#pIs3 zl?p%g+EvDn6U;#nbZNUY!!!C4oy3_XKt@Dcw@|+0K9Unhk!Me0k^~W`p6uwBH}lgn z2$as^c&1La2$3Hh+q0-Nz=-CK2 z2v!u~{6XZKL{n?>jjKVf7?K~Km@BWjH6{>(c6pQwquV*vl%#Q!>qbkQZCEZP@TMB< z9?4E(3IdBjayd!)>g5I(Itg3rCF-)mi%ThU(s0wLMW?xSQ5u$0`1Hk94lgEXQtq1> z=M(4K>?{Y|KNB!pm0&Z)%2>(YoLuIk=a)zf+*Ge{Y*i5>`GH+k?%EP$C-vk<4L4)M zZy&wPKb>D+|5JfHF(t{>)I+w#qi+8|}X7cMUI zD~B&~XtBi|Gj+z~Fi&38{Meo$e(I_!<Blk6*Ct zt%dye+eVoi%8pAHh1IIfWUGI5ZFZ1+Eaofz_N|tK=xj#Qy({Ly>lgmBL3oO|Hlta5 zCp=d|AAeEax_oXTU*xYy-z5Q<+@DmrzK$iTmXSe-)nH6YyA@+}wgEMa6jmCHHej+N zV8J3p&>wzKW}QQ83rZ30-i_Qbhk0=YNU_LVck^TqWKj%qIpnw%LOABKaxuV~nqRwc zUDQ3;L2$W`tDrk5&{K%Ad(jW!7)DTp6Ww<{Y!NPh_w~|r7O_&m^aFRZ_u+R_85_Z* zo$SOBuXA)e7a)WDWS=MmtB@j7jND-AEP_&G;T(kQ?_BO`^BGh3ne3T3iXG79k$F&d z2j^QR{UlrnB5lFT;&3^|GSxAQOAD;5F0s10hB2C`RLT^vd}$y_5-u-X&X>6?%gakF zEibXYzD}xB%H>MtuOf15f>H>wxSI=$3#_iLvbMGiLQ;xK9DVH=U;XNH?Af!I8*jXk zcBjGe@-kr<5+`wne`%3ss|mtVDwP3fG#Xr9xXkL>3XR4(LP(-0?3OK10bwa*e0+l8 z;c8d$%QoZ)mX?=TT3TjxZH+Wds8lMPzi^%}fBB1yjEr*cz4v+wx1iljSh&2#(qe=4 zW{MD+aw*D}w`8BPPIu>h%HmR!g{1~7OHEoyLKrDRrH~?97IgUomEl-k?r?d2jg{pl zt(GQG78QjEob|P!Sa>N@Ix|IE3W*ijB*+(N0^2>3I8z)Au5(!HTm!OQ@2+q7?Zg+l z?zc-8OCW--kE*K=KcCw@Yx5Y%p$NOmtN&N@A#=D~*=_EM)9G{wf}qCQ6P9>*|6TSY_ChIr4orX zJbq!FGi}WkwTN?#l>4{UxM{S^6BlA$T}|0j7mNf75hy-!W`#%3E^~0a%<Dh@ZV`oI}eAzxw`34%@bw* z@U<4l+lKqL1eAk-MxyzJXV3HO@;X1ge}>OqZ16MtrnqaW%!g05dAX5t`*=t_3K1Co z_VhBpbm$`Q+CEH02JERTetQ2TuQoJ)alFC)dcYMU5kgAln=wE6<+B8V;_7;piW2G*lx=-z+kr>}*3Gk*O%gY*MYkZZ;A`Skrf zzCp+-yG8siIsDqADWyPb!}{7fl~S2fH6rO)+N~60G*W~N)gn|N!3cD!^GU8jDT%cP zV?4QTv#}+}--%L0va(9&*a<`{Mugt#s*^hzv&6=9pZTg=SGN+}Ns^$H>gE?xU=vGsy5luSzY%vWS2u^Kl6T=P#V&@yDOw$dQ*=T3R9q0;Z;>xZ#GIxa+Rl866n|;P~;Q z{Ka4VCA)TA!N|xkhYo!;&mXd7%NB0G{Z`)m=KC@WNUpSAymW~tp7;!h4n5Dx$_h#a z?A*D7x4h+Uz$sQ)YkKCHFY}qtJi#ru+|26gD$hN4i1qa)%H=9|-g!4~fBRcGa^xkR zdFG3pIB^246T&cJZf+}YdCNUqfBg-FK}aWV^XX51isxT=o<|<}9VShd(9kgzke@Vw~c2CBmyZc>+3O} zeC!pz@boF>FRoy7P&P$Nt15dx6UmfU&>6=lpqL5Qtu}N@5%W`5FflR7&ZxxEv;!7Of#!~h zGLK)3d3Gt`?X>`f;Z!R@NW+_|6^=FAEExmJaKlK%V$<-#Ld?GPl;N7;<<$-sTbc(Z zt2C70*~{xlVAn{%Lp!QGdU~Cgmo>9hL!+JWxo5h{gIntS=Bx8q1k)Ax&({v~#rcHad!@l|-yULx<*CI6Bcb3Y_Du8MW0y#< z)Rg2WudZ{UmGaToQ+{BVVX~t5(sF~vmgZ;nPqWxed2zLk6p}mVB)@)Bo&WmcI**-6 z_|7W=zP#Ar$a;gH+dsqg;}w4Eh(HLH>X?tyQ=~&v@E}S^b!wk zt@9t>G|9jJ;zhK{4s!U9ZyMs?tfl<*$u>7lMvRmtzx~=}0wwv4>*x5})5{!PZ!xX} z|Lgu5FRrBg<;j$HUy-tHDB$Ilm}eJT{M`O2&bAXibaIKZf;*=}{@bm?{NU#o`SMbS zH_wy^1JM^+$@QmhJM{aTm->|y(H&EZ`F(uFF?BOKMPB@8ekwjIj={xuK1`9X;(ZaP zlf`aNg`eLqkH3QE_KgHVK$0Zge8sSc%JB`PT3`{xI%Y@?VG>K+X`ywdn3gMwAPPZ4 zs#|p0ZG;S|R>OSt#gZhwFpx6mv#Yy=B}%*Z(3%`Wx0;!YjVCwB<&XhV?N+?=??Rr{ z$tLTy0XK7YsVl#P``Lx{lY?`?#d1mLE!R6i?`GugzWebvF7x*Yda(4v^(-b|2TiTf z7^2Y{v-jS{@SZCXRwA^;N|CDpbeAS=nlGzMgH0_e%q)^hW#K=Rl3lBoYiO=}TJd_YjWpu`Ml&`K)eB<`D0brs)2Cw1@K60zgUExDgLdye1xz4vnD$Psq# z+{KnHb6Bf6bLKpU5C18bE}iF*M;>9QT4P~hi5Fjdkt0W5VtRUp>FFtEXXj|OTD{;ITzCU97_HBS52(qw1 zmoA;>$dQ*he*8G2qoYhrOfWjSlO#!5US8mnpL~qR9{UtY(qU$1j#{lsyWQZ07rx4& zLoe_nKk{STefOJ5Q^Tp#uk-x#&vXC%4|MC{)1Uq{fBeUPOr=t0=gyr}Dizk(*Ld{N zzo%Xw>UL+g7WP~*0YadWeEc7d@IT)B z6g#$!vUU3i7Rlm5gGc}7Fz3#$@KZm157X1b2(i&3ffXpFxpZ-zqpvM8e_<5_Oi$O@ zcVLFe$to7XsT0dwxVSCku7oARG?%?uxmG!8*ig|?lkuDd88HI<}9bo*{lhP_d+ubGEj-7Qxy8C21na~7tI(7ppL_~LSKj6#m`qW(#?UU; zNGG>2GhCw@NrscmA5+^9sZwSuaCjA3i6xYlhPKp#fRPAB;{atfS_i05u%j+`_L5>T zHpH!%*VhshDI*n0m|Av@l(P+CR177n)yjhRl&=vErb-@GE!kRj@ereD2Z&F^Uae16OrJ##gy;70?x;p*PAWA zYsUy%hXSq{Ei)d5SR=&TTs1tz?$L;A>lNA-mfMD@s^!P_ z)cE+h1&*&LOqLa=8VS2=C2k%qb2N;(WwgRl+cFjj4o-wjM1p57clgdL%Dmo4m??$a zIypowklZm@BheNx>>F0>s7a2kTAGRGbfe9Mw&oXShZ$87*N>K&ss<#+u&W+$&9LHy zWzA}$87@gaa%zQl%+}ab4cJ{PV};H9h?U^s9VI?Dzs^F-vTexn(sG-Lisatu8qX{= zxoKjkdxF{h+e_@KDn4@|=B|lSH}ZQ?2KZyypm(m_`toI9e;9yc&^vc6j$+7KrOo$BngEvKL4yh$uVSV~iq1k*E^v*)s~0fFr4 zZsbNslY7y58?kaR-K#ezXuWGD`#iYry(i4r2$x4b&xNPE_G!bt-KKc3dCeE#2EY!2 z`#NcAohhZmSM6c^rmF~RWrVR{O;b*uJjq8s@)17usZTRCHN`^@zKb9Tu@**0$9eF<2RL}}CaTpcjYgB_pMQ?O z{L2sU{`dbm`}XZ)W@d)RAAg*up87mjU3Gv5AAFFVJ9iR>A&ZL({L?>unt%GIj}rtc z_bas+BLTzo^cLRz?r&%B-n~?-Rod+~ue|aK?|=VaAf@2phu_0>*Bzu*tI=pQIDGgJ z?|=UX`0$56#N6C8+qYkVQUOYdu9flF@e_RTgMUpJMtt{oe-{T2-bAHRWqo~}Lx&FW z_kaH=jmCN&Q#0V?nI+!;XJ4eb8uOm-y@7k)d?mxfW!iDVp%>2a-rxN^fBGj+Gd?-Q zZMSX*1W97}^rv3s^0Tz%aP-}n7DF+N`BxfjmxHy=L4%uJQ3$r|g8lzs68d-rYO(T{$W=bk%F zy;dyFq!Ncg+gJG^^miEt7_CVK1X55^l6P&b z@#K8OC(g$_G$*rIuiB!m0SukkAdNyu!QE3eMuL#X&UP45imS&WDxqW{wwU}FUf;k% zp>5$Ule;{FWQ}k1DdO_SNMDw@-@dY{O~0YZPg?7~$-2X9yyz)De?A{B`8@RZ*Nu4x zrD9nIl~Z_1ulwsNtfqIYu`%QmO`C}{VKF*orMXTu9Ku*l((WJws8`BFl@daLPEuN} z4(p8uLzOa7Da=;H;ts8Lhg8Q@R0Y2@S&hjo?s2tFxMK(H!-tWrHiPs&7*H3&$)A3u z)wjNGs6tQRbzuu|7V^!LR&mSyum^VO6v5)cWv(K?@+ZEl=Gf|WYktd$`H1qS9`1Wsq zH*bIYJG=0sBcsgD&T{F}B_4hBQG^f}G++AsX^x**V@nD$hQ9hNv9yo`7(^yy{3`ocL* zpIl{pw1!ZU;d&Wu;o|uQ3yTeAXGht;cbffsr-|b@b8@HGe%$wy0<;x;;i(h6@RhUN z|E{a~mUryMrttXVukw!{dxfd#qkQLkt|Lti%~p%Odv@{AcU(=mR6;5E(le*{ zrjxOv>uNy024>I@hNy{c*wGPIl5BDjAh^(usVK!V5@SdcLpUUel%yFaw1uD= z8k*~tuP(-1JFb{-8;p<`sWEBHcqBR7R4jIyjJ04iR6KJjWh7LLC7R=FDPv;+N+`DE z%HPXtnjO;>rpuNWPHUQJ!gVz`wx(H0Eosuhq$Q@6AWjU2mzunFx=P%EPhChT1(Foa z#kOT<-GI?dl>>$%$mKrlr#Ip+x zR$|Fb6CtPbs09{Kf#T-z3a_okG_;{s$`tF5pO3k!u6X=n%woqK(xbR?xXg#nFLPwM z$<0&4AVdD<#47tnL!=cPTZ_4UBFfI6-z536AW4$$>ZJe9mn&}Eqacs`RFp#wk2V{Z z-v_}I6Q*jiyC-_)ifgKSZel`6gv^ei z*4kiFi-__FK+;kh8X~Hcky4VTmN-sXU1?!WN_D706e&_|>2x}@)>g9(U6Jh?9>@YG zk!CwO35H69v$Lpb8Po1;IFP^siB0JW&2Hi8DxTJRCHzc<>ag7v`W~!H4o+m|4L3-* zN2140KAZ1TG2IN`vI$&2Y!S|P8~A6@6j`X7`o5h^+;lxrZ3vO?kadcI6atjR+B8>) zGhaw4B}hppP3SZ`#A!_2>5wLI<{MIIBzO(Yzxv9E-w=z9-u*7-FCHsvy&081^Yh_c zdiB+#Xq|HN&9`=yR=3dz;J|_X?A*DHOP7|obm=mn2}4PxQl?rR!cSokGBL3QAp}cH zi>$3RSXo(N$BrHB+_|fZ+kLh1v2pIb_bnJBF(!+HYx8rFhlhvzI_%oo8YfO1qh23o z_wL<MpQZ~qkM&#kjKzXm`l3iz%^4zhLI2p{?ISNY9f{}jLaE1%$x ze*X)+`syX3C?E*4=mHy4wsGwEu?4O>ILrMH9AI*+#?(}e`yaTPJ^Lm&^p*20EHpsE zSiQpSckg0u%NXNhRVvjI&wlYNlhbt`c<@bZ+cwVhWSw_Du%BzMo8>FdpC#_}FViz% zFv!{$2+=zZ)^CqR!R)uuH){7H_rXTGeEmwU*4gob)>w?mVn}9Ic8L%gt+UBcwnUQc zXcc6qH(8^xr84Ec*CKZ9BM3700$*fym9bn{Wa^g6VncZ0u*elW_gjdb+W`4dhe9e; zkSld=W0tEw55`*0&ns7c-L;6@hZCE@7U2H%X!h#B)t(dQsg;;=ozmPDj1G@7pR~Ey z*4f5aqe!&nSi^FnVKLgE(L@He4k;Q&aSJfx{Fkq;(dyXl!4B7r zmxxo#pT4%l`BqGVMJae`(eUes*EqbKbSG#Br>fK=#qS-RXQ7j1r#=dJbuH!hj<$H_ zat9$LRtk1iBOcf>%m+_h=JE6EteF&)U@_5r_;iaW&c*2bC~Sn{XZK8UtkLHGdu^Up zoMNn?oxl?pV*ctxlf~E|b4~Q>(TM4a;&+ZN^V-TfiPl(QIkJ%QpI=zx{0aopkPDFR zSj8serN3-nltV5R$2}j1d+uNT=hhpO{p%acKCuCpEsWm|*C5!LP?I;|Gv zQi)2ff>&VE6*YRbJ-=cFj3GFFsolXZS73Ffdi;H}A4N$KS zks3qNi3d&=+U+JFsn_dWcwdl&VVNMXNEx6_O1qg5Mgf(`#WT$XP~N&Ll@d{ug|kWH zjEA+glq60V9w`%5dQlD>8L1>u6rtmkv^zgATzA7Z{?jkLjfWq(jxBSeT)Mc%$Nu3k z|Mk~C#fSdq3pAT4O7xb$q?Gy2|7<5`yOS_8J3_4%b}hW+l45kULMKURwG$K&M%gl` zOPx+kbG=Qq8ZkUl?skw;6f!YgXMLrC&H_T^<>)D*{XFk7vQ?No3`8ao(lm=lIX+Ibb1!LFM)tWq z(3K%V^!kR?28;4ysQ3z?0;`=Y%w?G%6`%qTD!2NY9(O(1jrC)5x#q5ZD#F>#U<+{n zdNi};aX+?<#Gk6(o@aDY8CTla^a1%d}O%-!H_xzOc+%JLPlp39(MtH&V)c zl#L+3^1zNE_SDM!!RclG?tB9!;Y7=FylL1~77STUqt#)x)uOH~KfWcR1N_#jD|~Ua zL##C)J{7avHcTjswTey}qlDz!=0>=Byvpysa*2j_*xk*)G!VM{sS=l4z_q~*t-KF#A78>CnsJ0Ej$EoFZ#Ae4}#fU^ACy;IyX zHOj9XKF=Q>UBqg^XV1rc=0eP5C88ui=Z*K^WSJk|J;gtqUFFw~%yS`*d1X1}Bd0rD zJ6>Y8BFRLeWlJ^WM|V!L(uw&`FJ9o8h4ufRxHpfs<2VmHf3!p1;c#%b)?&)=&smDXkPikF{eryokpkl04T8bIJI`vZ zXtXk#?W{8Q0vPoBtSm2MZBDz}4lcoheo?Z%xk8pTeOOS2Q4S)%BErGgBn~w-gP7al z6N8u`BPsw_#w0S;YgGqg>JF!32vZThZHV7(u;XyStt=4nNZ5uARAO5QJG%(|yYPGz zu8N;nhaHEbX5acP`V?h}k61;|@1SiqbQaVGk znX$1|;;bV{Gy;oIUaC?@sw7D&CMzOW-AQGhsxD?@BWQ8Ay^4&#jyA{Q9rg2YRZWf@tPu(r0! z#>NIylhc(gZ~O+&KKm?(?NJyeiGmsqOsv zizG?HL~jzUqtUvln8v+(53;!UBxlc_WntGsWg{HtW^wTvTU!HWXXj}(Gp488JoVH? zu3cRVb>K`hex7O`5F+Qs^)yuU>iO)kQYfH<|1<{E0a*_gm`&7O$_+olIyq zLuMQYO2FYe<~eX^md*8?%{=G%uU+OBf9Xm7?WdmR`Z37_SzClij_w`001BWNklYXm|&yranDutV$l7FbH;#DHG(U}NK9Gdylqjm zPm6diM3i(6@kT36=}Hs{#(0Lbp(IX%vrssTa26?2aGp@341zRJLeIb!r9dPJ$-#q^ zGt-n;`ys9KkZ45w@wa?*>e3}-qQJTmgsSMH5C(@DGOf-4Dbg8)7RbcMHLP?+wK=Tl zX?;@)9oN@Z>S4+>Iac=N1dS4+@Ripx37suWvpG3XcE(d#mE zAmR1(1`~q~9@^MoZd!BCt~QH(3ECl?CC9NRP54VkCiup3hRGdwb_9o8lA~##rL_UM z67(DlN{LZ|yL+0y-JIa65wx{rUt5wOIW?vEqw5KKIs$~o8pF=E;(t0e&x`9@w1r|~ z7rd#{;=$bsi4#12qa;&4b5u`he)RAp56`q%FAa*6UZQ#Pe8Pc_;!D>X+%p-%=SjsQ zJ0>~SO?i5;&&jEjzjeIBsmX+UrW0OT$w`&Q8j#xY@Xj84x*316xXyu2lYekZ(@7Mk zXEiS`mn2%#O#~pAYe@drQ@eO}xldsYt=W`A-2m4>D8H1q&cR|KSln{VXU;D$r}@#t zQ#?G|WTmt;Wx`ydIo#14?rDDS%7A@szZjK(@7&qrU{CY%a!yBQbnk-cRPfe$#gjKn zcC~!`&a(7$A>y4<%Ex#87R=%}o<^Zf%rF&kIUcIV8Nl)O>$Jy>(1YRgdWp}+>wl|p zZ+Cw?=Cj`J8;xbW?|47%|7B5n6G!8DhSC^JX~=Vnb1@2whmSGn2mPExCA3;inyrR6 znZ)3npeS-yS2x($*q}ExNxR)bDal}vv$C|p*7_RryY`VJUVsy&twm8(2NESb?&)@$ zboVX_onXqsQ_vc{We{l27=!6+jM=HydA?A$f)m@oZUd)@TTSfMRU|Le@z>S=LR3cc z!vT3X$1t%#guNZE_WWD)SvW_MHR&EdO83AXq*C4oCOEaZ$UK{nRYdz>jzW4HS&ImH zvK_r{kAA=J3HCO~#aLLN`n`&24FS9BGrJuU$G@?Uc!C*6V6A=1*?M}o@kMa|{rB;k zzxf+H_Sj=Q@W7jS>q8HbXpd<9L7zt-eUz79evw8a*ZA_6zd}(I+}TCwFt?$Xw;mtVfY$3AkJ$*C@-^(rA-_z+RXIa&?PTi$Yj zuYBbkzy7Hwc+VqulVyrO{?d6~e|?R1E5trU;heWm9cNmpNxfkhzt@Jidl8+rCNP1{ zd!U<|L@y>Rzy zfU`NMjAX}NHg+F`D_8x>u99TbHUiJ~<17eKQVTr!cGpc!$@G&H4fY_3Z3(ttJWYG`(4 zEjII%Mt%)zZZT0PW~Y1p+m{ZL_i;F;Q_Y$A9(j?|-*UXAH=r0Ktf~^HBvShj5K2p$ zI^jeo<)rYT(gl)4YLtdODY#VQgr#(n)HtS_iietAzt(bxT2Nl%kK|ytz+l06Gqe^7 z_st~!fanBo-4V4PlK1bE7$JgpwnAvQqu1t+UI(n@@0`l2FTAhY^jVCY3sEg#f2YCz zP7|!vN1bFcgEKoip>NBZ=cA*e^XX)TpeQX#;>e`ro|$$)cFXBG z|8C&;p+gx~YVsmSN<|_phr2BfcUm}Od2rT|YJYfqWVgaf;n!6y170k3AB}iu9zWc= zv4dGr6r^c-o1`*ce={afd=rMX-bTHCz3*|_I9_+0u^jKy)r14}=XIERsXrTkUhf0I zSTLofEDeJ}9@eV$e2nuF(IoMShy;=}lO#z(quD@)jBOym8a6jJSy^7e8AGStBFi$$ zvZUYNWNGOpS(edhHbO!Y<>R^{$aBxQ3gI&dmL(+JHtFmfTirG+-2$n-*+9TMhXElg zWzKC3svDh)5rQRZN}%nSTX#F0c9jzpLuNLXs>{^fN6BU;s_jH;L0Jk!AWt}faUm&y3Wy&Jg`>#ZI_p)yh4;=BYLtPkBldR4 z=bV@D3K!a}lB|!O=0@t{GhB=>%J@5uZJcS19^DAoyJs&S`p}2?g`fLb{@FkKr(C&m ziSPQZ?_yqrvxn@B7%ba~FfW2zH4@CDqkRQ<#E8B^*9_ zn0xLy#UK6Amswq1=Yt>oAcqeh@(NMREl*}Hal8^P6bX_e)(TN$&G6p zeBh(^lB6kL{QL|2>wo(=E_b~D{Ri27nNtvzq|W221nKR`Ev~Ags<_8qil660Voq&Cvsgsk zM8UbxzNIL<>e(3(+IrU0xtPGkCmu05dZLFuev0DRuOhZKeXdGx;i(s6^+-X$dmO$6)bXnBuM|w66=eB`m4DQ?6r$SIx z-xrj#SS2aDGq{}xF-EXt9lgX+6qeQ8G1-8;D9BX8WF`y;Ow&Dj%J7FuijwIEpaSSWX%>*!D`>| z(!g+Uufesgg0J7S?CBJgg&}p81CtYUvxGuej1`<)v;5(r;k)PItK5%^b#()Rs5;ls0r*D=V=xX}1WM`UkY^sTr0*PRw5PaiSNu~zOWC>ro zK43?t(P^I)&0U?0c0(g=2}<+)at>H_H4~m+D!DNzIWw2>-0CJLr<%-W(wk10k{8!u zvoIX&YF=F{d2yxWT?-j6Zmx5<*<`*MvjkeMuE7_tZ}6_&4OWVrr*0PP>q;{1$WYud zk)WhTW9SR`?bkLq+)dckko@stj+BC(O^YyaY$~OlCOA`8SqMu9!UX$q2`K_&d=^0+ zH80;}Z;XFsEm}a7#@6@Ny7tl368gmFb#ppXi-9`6x7KM_eGjkiqxEOh*UA|4`pw!H zhl}G%)3g$FZAWjn8%KRCb(09^Lb_{b$@|`yq%6zIKOhPkl0>1kM(Yfn_&%+3WDTFj zHO@Q0MxL{}vdZSh3f+k*TCKJ>y+g9Py29$}3VZh+KuC#{8m%Qss>%C(2E`^Aug>-+ zZ#kw=B=b|ai3zy5=%t0xq|E_BL-f573?-%UydA66(Wm|({*Fv)4R$*?Erzu#q8CFI zIBEgUL!HQoR+O&}R~y6#>=@j58{767)R@iPJD5Cn2(2>^K1g|43J?XQ^+B+GA6|-3 zMwNy~ z+Tz}B@zfUxb(`Cev-`d8eJ}m3KA-=+&+;q3@+m&`sZXJG!uTc zQW~ALkW$lVG?0>tVU7KCI!%m`mBi}Uok#eIpZLps<};t>%U^z+-~avp8a|6+=gu8` z-}ik#4?Xl9p$&r&NfjQ;hOk9AZ$~>nzmq@vXFp1>*Wt-0zsk@2%+FNsl4Tk1d*35` z@Pi+s+v&2owMmvGq-nE~k}9eAu^;=3%*;&l_~VcBGe7gchlOpKnwsVZfA9zRfggB3 zjkF0kx)T{c{O8|9;^0eAZ?@^-apM>{p9!Xo1c23O11!ym)`sS)T!O< z-#5*lJawMWe(nW-1TrP_b5p$M`;PIxKXaTk@v6c*4$ttBkKE7aK6jQ+|NCe8jeqy` z;P_+MxpRsS{@_XW?w$1V+@N{bv9raG{gpFF<(QgkBBkUkczBA1z1{&$NR726n_DG!9^b)F{rz`y`O*sAUV{UNCixft{7Yns zLTdpi|GjH=XZ|GZ=f57%x=!F+AQT$Bk!Q`;yCNVI2$_yJpGoQKX|4T1sTlRvB}jR# zRS2OG!aLH$C?1}H(n#eaeTW2<)YV2OMD*l4HdIEk>mYh&o=vBCVWmVX$H2f^0jFmrH@9*w^f$R{qQT*IgGM9a%B^)? zSd*x%O{xT!whS|w;!vyP@mm|rCJ7HswV7!eWT|*!MR4)vCQ~;IS8~g(Ex`{R(mYu< z`GYHKyw7RA^FTt{$arB>^7Cg0+|@1k`l{pA^_)MmAlPz!US2DBWRK#5d%JWS5?2`h z;KC;V__>_-EjXUMWoSvq_wI&gH#S%^hQEHtG~cnKgO>2}YRTVvYMr~H_6Pjq=T^DZ_Xo=-ZWO$4U&?`Y&KIt)aALZ}Po11+ zPrCtFK64@Gu`64&GsRb~ZqaQd{OnsS|M0~tD5v@FkI(Y99UY`n{O5}s{LaNb(+$Nl zH*=N?_?>ra{@JsOtk{CTb>|M=y|W8S@Zws||M0{*pS@i0jirL~n}!b@&`dWA9=p21 zhYw8h!w05lXNtla{@UZ~9PD^=ji(lKPR}deIw$zzty`SvwE4-CbL?w0aKd7OtvkYJ zowU~a1uh*}>xDu!Y2!FUXlvo6>ZK@#4!Ds{sG6t$_#SJ_=;1c1uInX^qbQ1zw9#7W z%G_&wUmf3Lx7%~S*>x=OJyozFjdh~Nv_22p^%)uYdJ)ctaWlqe4|L9(^A$x|(ZZ<8 zS4tzb3{G{9yx%8DG8&Br&JE`?&j)NSZ?d>_6JZ@wlT)Ngij;z_)h({wxIvaCbh{HM zm7)@F+U2aHKPVXFhBWcCvM34^Uh>bxEZOWVo98ZgF@THW5<)zem?S66U0sqoc8!Zf z%a;*2H(I~?5&_OR7gN3tiNB~{3sD0TwVs9_wGQVu1vdse3Rj7NzeS(Ul#n)=d-y&U zzUMnotp-X;QYC#(MjRqYRU>I1K}zQ(DLCgno^io$1aBi(OZysa9P82|#uirG5dEI+ z^RRnWj|e9NFDWivi58xDjcZwqc_9*+(%L*y8$UJX!5BlDq?|Z$g1hcINtP*^%{KSm zdx{T#_`{qz^DtS~WO{mn)2APx-EM~{1gF`xYj-tvB|X7tHd_=$&Y3f3n4FqK2+6LU zySVq>`6A3nsyWP?^yGe6(u&2K%x$3O7^XC6L8nn6(v39m{NyBE6b z*g1*PV66B0oSW%#=doFi9^J`~`8I}l;&x0qZ=%yf%qH;15Vz@f%>oPv0 z_N=N?yC=4Rb8i4!|NZUmQ;O)s=bx8OawDOuK z3k}7|=_W6%T7F9?B=0|va%IEvt{sZ^FSPjTYR>1cZSv-s1~aWT z7uF5`;)M;Yki2(6QCi8pa}9p#_zdgL@-xp})DW&4?+|%QD zE8`c>-(n+oJUrV($#6i7`%+ljbv1u1kxASR4mZx@m{@uwN1R(`n%M}wB0<_%>`X>%JTHq;jF+I?|fwpSetv+MS4?! zBuPlqlt!vaGKF)3!C(*^kW)kyNC?)g6^or&ogcJACs+R&KXvUuwz7hgZe z?!5=-^}4|?M4+{YUt8Oxzqv`X*+3~DE!7H(lMYi949=ayU3xv3i+P%pJ4aEuC5Y|V zzR_<8fi_n>>JX0GVdMP>C#X`sj%pk?{a}tcfNHI*mOq>D<;B)LrIM-3UXmdt*sc>vL=$}4UjJ0 z_fjo`a4A9<|4zd9=o~1aFmYE1Z#ItX5K@nBvnb>5xCo?_J{_!796o%IBX|6G^;?Fp z6>odn8Js(VwT4Ec!6!cPi5l_o?-1k89y)Z0Pk!=~)pO(gf}fn2P z&z#5T1ePKmB-RY)FfwdKS&(Hd9(dr*yy;D+10fhL@Hp25(}2^beVsu* zKuSqb`c#1T-g_^nPMxaeD-x8v$ZHG0+c75%&6zWYIP>s+Z<1yOP6^7=@UcI48W*KZ zp}3G0##zhJJ9qLoe{w#oBojRSjJGv1ehx}w&`Pm$p~FZ2+-ZLZ!k~!}E-Ym^47x93 z{8kIj6;TjIQ93V46~fzcIv>nCE){Dn)(R?=v)-F{*WPJ%?d|d_|K=%n?L3Q8iq|jP z;?5KEy!{<_c-uDP-*FVzY~5PZKXV#Kj&Q0a+u#vwjssyCx@tnm_avB|H*v29Y$$?mWTfQ;#9@vPuvj0(0uZT6C4& zt6!5_Bj$Q0N)+U#?6uTQu(o8X*6uf(fVqJi>1{5r`8oYO5l3zW$#n&#~ z;&7{pQwb@OpSUyOturbA_se~pbL>boA6jT}r9a@SxB5Id)ga3>ws1^0;3w{C)0US1 zdO1f+$2kM8a9x1YJrA70NnGG(z2I+@_3`xD;3H|6QYErfIERPp17r}_O$>-@%r zW!|&U!#PN$;`s6B*@osPPc}I|oq+WctKFTHzjntwfA`s| z{ND97j!$KvH5r1BA8qlGg9)FzoFlEJnMyu#V3H@6Hu&t7Ro=O?ODY8p!S~Fk{M7Ll zKlf^%rCT`(ins6S@@JQFK6`bE3kPR7)K%4CwqEMERsS7Jr04N@JwZ>s-gb3e^zW!0 zw8!zb{;X3HQC<+Dv?5Itl2nppsb_nzBw1F`;@D@N7p$&saP8U!Krk~sOV&uiLS78Ge(fr) zMw@nL0<1$Q>rK;w_IPV+(=)Ov@E1aO698ioX^NhlWHW1^HwU<|_Z#QXHIvuTi6D%3 z$fX7aSQvA-4!<4SNM^YmPF59e>v0HKeen2yWS8F%j*(t(gX3HD88)=W!VJ?#4kM%s z9@;t}Z?I97qRN0WY*GZtt@oD1MWlh!Ss(AUCRK7Zl|)3Yam0_;qGH0dxAAbI+GL3z z0k8&~^Cwv!a;Wxt&Z`INeZ+Cp7sdE>w0DWpN+G<2%Ae9a#?;4Ne?M1?tp{~x+EokE zSQG3({X0oH^e(hDyCd*z)gvLqHiZ;H672%hBPtY&_v+F-7)t1(nkCkYL`~MRiy31^ z4g$`3N1?Lt?_ga>)2Sq;FyULp{#@|33{lXWBhpRjGhPxCh8B4|JPf~)2~iq6t4zhT z+MwpCzmK2Os8$=kgD)b)-y2P85n)V7^ne6w9Hp`B+t=eqe&o$OeCALUso^beIlw1= z{2})3og@!=spD9O1U?W*H|)bJcl;*fYU8fHWjN8+HVFJ&46a5gMq$U{zRi953ek#KA{!m9wdb*T zC%XocDJ{s9U}r<1grtu}O3iE|VXG_|l!7$TI0JI9fnvapOmLtl*|HKTVLI^HyZxj@Pb~iPgoJ=^_(VW?p^5Bf*THhb)-m}of7|Z$1B4DoI z!5s;A^-}JhOZfgh8J9QvfMZ`fVJ_7?x4Z>7gz*UvPR^vvWsVOY$XG2(tS#8lR_w_n z7dCU&OM@+aB%HVJO6lo@x6db>oRO>yN@lWz{f&&P{gUOP#7T{`g5%Sg-CfE3GnxnH zG+Tv_bN;rSP5Ks=OTTZ3+CEWXOAtoHbsP7A_-y=NU9BJ6ia1#R9ZOV$kGC1G-Pk@{ zFZFh}t6T3UmipMnVHkU-?cm1miJHmPcH{e2|EzJ8rJyV=gM7eXkW&-|d7hK!dBwzn zPnMJ>DLNTOUvSQ$YyL5QA1Ya0+vMW8S6EqIW`2G*Q?ouAQ0ZWKd5N{v6=vslkV=gW z@LDOP^unV--!raKdI!76U>jr6Ns64DL}d-E9MW3{!_bknsc^VaqBLH_u#Ji>jHLRT z!TSALj0~XOh`$y?;yB*GINW%ph)lNuee*tJW}M!kgEV%`gxGY$6Ib<521jA%ReXdz z<|4!*lTsjcaD1{LgH$R>bj2jpk^GGi{&vJ1+SQKK3ooG)pSec~fzU$7Zca?N# z`$ZA|jxYB3J2G~Wp|n+8x5(rU-z&CPzgLunzjh)>sUzYWin5?63m<`@)^9vDmSss% z6k#l)QXe}!BV>%L#$}A5EQiiw(W5-JWkR530&_I}J*>4Oi#bMhao?ACfmHDd!~>NhGM=zjG3#CLbjXZiVM2><{f07*naR1_(V!I&t$ z8rF;NQ~!2#M%+1q8B48wH^k}6Q?+!U2#FsgyLNT?;D_$v$NtJ&_{)F!3?KREz3iN8 zQ5439H7eLvy6=B_O@XPTbs<)1@G_5D1ZRfdGOo<{-Z7=DAG7ebqrtvBeEpI4F3Zw8 z--Tolk@>aOVhVpqk}5bj2F-;xN2n2azo-!*I)DTkyLXY@aRQkp!5JVNjH)*l!@q)H zcdW3;Dyl%NuPn$^kTe8=cOE(%)Yc$l>-4r&TXi`KI}W!k9TvC4ecSs~Va}cOhx=9! z*Y5aGR8}BliE)BdDRwsmOGUxCbwgPNw-u;F(MU3~X2R;)I;*Se9BeCgHQ|ZXO^lFe zDJYE(l_r!X1xjUE-N@P7DER(;O}>0{jkD_;7%Na|gWhD1#amag8!MF3($6hz<@n*l znw7H8XRd8g5d0*Z@pjjyq#-Ouc&*04Zo+r()I7Di#j_jUfz&z?GCx_G4ocz3OUFV( z^W(?bteY+V%cZsIuqbd8R?t*}u9OUnB~kDf4mCL3mHb~XT?cE?1`1_~5uuyP3sVXl z4^F3i_+Z9AdGQ8M-C9RWi4nFs{IxQHEggk*w33wn?qrjHarOqEyS#x!QVNN74vi+0 zK6UhZ;SkdC(Zda-DEO_5%RX9z6d@d?M3)6w;^vP z7vuX)WG-EhkVffVq+9j+k#>*o(e+aQ9owpV=GWVdb)$(}EcIui#(;|Pb?^rJ`FNdb zy?v8XZ@*rDeC*qmIz0oby*loR#yIl4px@u}Ne0T2q8LyNa;&vzEyR_OW1#q5$VLU{Wbuk|28%h(-g12vpxvnh~-YXc{9zz3P6Pmr*Ih@Y-zyyA52( zf#7S0&s{O9jC~YGAe1it8iPY@3tNX9-uWhdmKK?1Oq@J|Y<93^>7``SRh#D!nS!0F z5MD~-yg|9={S3die5I*>>aRQ}BPl?ndOXG_nzK0OP6ZSeoLv5oC%&2va()mok zZY=3QY;PQ)$ECjY1sb2%$5CJCL%3o451MY=$e8K}oBDf-N>u}3SlBhm$rB44J26kI zl~iwEpBFo>+Nlw$`W(qIM}qn@f{n8fL%cG^V2vBa88`e*O;Rqa0K5uo4S7)_m1J_V z$@Fy7dzF?oCR2`%*H&}xTPe$sXPn`@MBR&L?!D=Ns2K54X-Zi}$&Bw#U=c!BP6^|< zBBi3t3ml1I3uBGU@c2BqNGGHVsw9bZ5-A<3J455{Q@B<)3?`WCL=sccoS|8g zGuFqC9a`}C$N>se8VF-aHI@KYyROZd3o~BZ_+z`b!H&U&N4LTLY4=%qR0znCtn}vC z-_DQ@G9^(?a;tFUrKO=HOL@Vq!aERN?-xvHLBkmuiDb6hV$~=v-C9ExIUCk;alHgB zxl}^xU?Kr6N_KYyxk$L&FDUy3JuP@?qu_eKnLs( zmdCDmY3+2T_`;PHURde#+WLU2{elCX1`Tc4+m%cx&1Ww75J{a(@alTWvnyM?x<26L zwVcD91`~-Q(UR}om-5uDf{UvLB_$iB;mO4<&ad_P&(~MzB!ZcAxN}FGscV7i64&^w zzV}2JSI0SO>v@~|vBZOXq_yMEQ88`ZCuaX44oQ~z7;Z8z@vd)0+S-|Anz zo^{b2z_Piy&duvrSy{Tl`uZ|uf50I3IINVW*~}11AeA1`b{XSPQdXI?Y+iEh<|3Ca zp2rp?2M!#j*KK2z!{nA*ON$IPwwRcnq|x+IGnDc|8lM@nWO?xhgS_wuJv+1+4svDh zcHZm3#Dw1~tTzu3$_|mJZpy@v8LcF!p~?VKL$ineUS((yHY`^mTd+5) zUk}loak$u_7^`20t2pU5>eE@AaWv*8Ir!o4rLnMsA|D`~Aj$NI+L91^(pVoYAlf8~ zAf1U_B}sz7`RqIfuL8C{Zkd#_I@OgSfAV$_Zl6u!NvYOa`HT*dg5WlW&pD(53= z1ay4v;%}t{MFEr387EFGaP+QSbh}9xyUJ-H!uU1~>zjSDq=k?MQ+RU}=e$(No0I@9_8Ep@1=z4g zY7hO*-b5%`<7BT zu5Fbp*^<*!4O%imA!w$G3mcY;OB+l#B&ANd*e}sS@btBMnyOYp}x z2FxXr`HtpG%YCqpuPhH}E6LmEdUUdk>*u~fk#_j4#RiFh-7UvgmvYW-=DgOoT-z#n z?_7ri9fi=6`F6tD<$~Y2SaPT%k;?Mq;wH-me(%aEds`_#dT@%aPUt0$j+Xq~Yn$W- zPWBSMbaRb0x|QZ?e5E(1Lw%z8vfd`Cqw`+T3J#4dI)Zy#T>TM@_ z7|np%`0BswFoH4WRya)Qnb)PITP!bMXLDU~mg`q8ap1@ijvP7WeR_;zkZ*DM(q)XW%*`&4=>(-!i0YGKjbUwV zgI8aAk!HKi%O)LmUc5pZQKlC1wPK*BLCjCL5 zMyrihqp{ws1tBbgBsfb6Yza;THLg{leJB$_RNV^@K3KF@BaH@1jtLPWV_HepY#6tT z*>^<6JWxY?DScKhYD}T4Ns8+mJvGFS?=`+CW834V3H3f>8x>%KCmRq5ADljfFhWRgvVlM-iK;O=^>^@UGOB}xLm&eaErbXsIRAYj z5sm-qDk`mIusxN5(W9EXI+JCsB}tNMPQ6sok|dhmM3Z()RZ$`0y!kl*l}JRXe6Vdh zl%%_$G8-pY_3sfSkl`yKgvQ#T^w`x1n@gsCoiy;Azffni7>#*4=-DqM|Yt>c1oE(Dkw9rHMjii+74tgUXKQ;EQmTZl?Q*5|CO`s5|K%4bFP!&jbpsI*kpUL9jWqmc1>t-6 z>IRU~kxYd7b+x&uv4LXjZ@hNgUdCY=gX0Zg|MdIxQi}q?we}nfCr`6;*FLZ%NJ(2K zG&H=rX4onntEFM7pJR}m>@=8fW;kn+3c50((~x}Q);br~a%MYC&Tm;R4N8u68=RhM zkvTm$qmK&BylkIMq`qp+IQbiQx3C;)NBvzyA6FoMYAI{N}k8Eb#a4*~$0p?BW8mKcB)(BjM321D?2^(@YItU0Uav z)jof2|0I9$&@>I@!>;wT;?9YbudfXFS12EEzwJEtWBvHMqI2$cY>oBn4xVP4Sgmd>PHX*{7#nN-{`kE&x*o4LKK?q)I2{B= zG-lN1Yy7?adkD&b#X`-u!8>JbZ1h=MU&YxHfh5ldSX-cVLbp3jd!k7*Ymj9bO36w% z;^VhU+N~@wty?TDF7x{Nmnn0@{ih$I+v|9No`vg+x43@wDpQkFOmwGEQjlZ`NsgH`7&R4$C207D!b%Tc zzxPIa(g^GroCCzKAA5(ZYE~3($W)H(2JxnJ3-?E1c>}lr8;pDfUTWuzL7~|3 z?uWVWr$32nDb{YTvAVv-{LCyZ`K&l|MjCO;bAwi9w=DgIetR;N@Z(V@(1#iq~*si$9%d#8^ ziX5K}y@*Aax4IRzi}`YI8`Jn=rSwd2Wa6-(5{B>N{G1?1nR#OjX_{b+Pi3dH59|$& za1Iy}5NfBk8Z%m#Y}UU`eTS~s8z*k{66=i<#^Ib(sc&N∾}9BuSEOZKI{~RyY2c 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
j`e@Xmt?s*n~l3Ngh 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 SLad&HJi|_)?_bqhju#0Y9-B-gXfoCyT$!q zc#Hq--~1tAqnNmwWHjD;Tx0Q@jt-G5Hz>50AOpGJoiwN=A{K`+(xjzF{dWzdFo=p{ zgds{JQ&kyCft(H2ibQT@oH+biB(IHilpIBJHybJM3ZBhkMNtM-0>gTRZ4T(y8~VP- z)-@p%q2N-&4Li}9rx)ieo}4hbb%*17uh35B())m9K369vRMUyzRw*LVl9JFvQG`oe zA<9`wk;xcq@JiTeQpuDMN!k%(;FrJr2LIhReucY-bMQUHLb3)GBMeEzP_ie-0e_JQ zalq#_>&1f2@{E(m7kul3NBs8tkMQj+-hK5AoVA=^ob!htJfXwz_7@I#EeeeDv7~UA7$EI;3tV=;%4?HY8JV;4H6Ij>F`~E!-9(u3}#$rM~R)ULui0gI>%m6C#SosvkN z28qxqU9(wrKu<}LR01j%+UbOTwdC;5E#7|h7Vp0O4RS7=ou2T~hwpR$qla|sHOgu# z=V zMejYUmFRTGP`Fqu8Dd5mN4N206-gmewT{EdoTgRueZOneFuFojFq-O(;2X%Y?>tk+@kGbHCD7PVGVnVSu=K8jF zm((#y1PL-Ir^(t7Dw$^`UmcTc7<~B|xA$c)O1&Rw*xB)%Ej(}cHy%?9$F(xT=h_$e z59`9W9!K8XJmVW*e~W3`^7&_x?|txuFPnzr+c!u<#MYXa9AQYDpPWJ}Ob=&NT1)g! zd8vIL0%s2&^X&eobiG2g2lTGt-1oeHf5rX9hK`ml6^b*g))x}3HlkXkl##V4B^V-R zGGk&it7*-*o-A;G@w=F1 z6XQfeyhL=};+)}palx?3XaWyDd%&ZI_tBF%ufF<4T-#FD7FQHq-!W{~_%uj^k~U0S z#V`!y97Ns8Xo|{cEm&i<(0j#{P?<5RSO__hLgb6Dy~02Lhri0}^NC=QttIf4vq-a= zo>CwUYtp)>Pdy7-J>$1Ne8jq%bNBX3!j6(6ww>~LP(0WezBp-V ztBkf8V`_AAq~-ZoCgv$Q<4QvdOf_gN4tLRo5VDj2CQ&>?6}oQ4XFq(v{YMwn?UXu+ zpo=k@5(5t&o$$R6pK><9YxfQ~YFlgyoUK-LF``sOQ(KxL;p~`w*v9lm0NFk_S{kBL z>KO6{AL5QjdJC0#yJtnoI;afFsuu(>FG1}x<8t}hCEh;&+LiaO*+)H1neazV@}h!!P~v&v56T{Uf?& z%D4ag`}{xu^0#>O-Uke8kJAGsUeFx&98M?XRIynusOpxw)`X46=O}=y70sx4l?N}) zKGxx^q0*L=BO!W<;^GXQ6_aU;9s#0l8~R-6`hkAEARA5YJy``(XLh^#;uN}< zIxdwmN(Zd1$th7tq(QWqlZLjoq!92a5mI8_)(k_G$lj31m1t(G9LClkq=PsOsA7o0 zf=VPWW#=ImRLtmTsM;BQFXa4I3vlNw9kZk)B`5?bKhZ)%rd1&(;pi1che*y=76NNf z&QMA~M}txtqYc@%eB~E@o^O8hzu;f|&;JX$n(_8K_xSvW@3DOHkcE)R5prU4@t8h% zoYg#OEXfzn&dx*@wODe9C>2rK&~Jpr;o#m~a_m4`nrX}Ya3TyB7adjQXp~6JdSw8! z>t3E6%q1$Cp`EwfynBa9Ww?0yl>7HT;pFKPd@xjX&C$&{hd1uwUartaLvi%OQfll* z#kPc@t*q2MXN7KCS~q98ToQdjr-VkB6=KR%l_SK64rT12mHcVcb#g@Pw@s`jc^J3u;&Fep(zFkC*+#aFa$T4p$pOk)8y1IHPu!T!L)oLxL_7HfyFK@Q;7>t2{bi@ZN(9>ZYc0 z6pQuftj3Oq5L@~9r zQ;ePGLy=N4V}%Bbl*md-x=uH1T+~q1*lapBgpueM�OPr82A4z;Jd!>{bNdaencP zVePs5>N_-tGnC3iKTwKDe&?L2(R6X3p3De2yURp0GHjl)$jskV>YD9qaQm9zR;} ztxrz)tsg$*JlEX2c^lVgHr*O)9k!~;b<1}?Ibpq6^N)Z1OML0gdpH8;=O-*4pR+o7 z%-OROjA=Q%2hK%UFPR)2NCp6hRpO+lxPcg0K7GcI-v69Wo~@Z49&_jJ4W>sHn>8tU zRu@Y?`0SLk0q)+r#l4$zW)sb7F>rseBv8@JD!QmyW>3-5z^&BQ`P{irAQbEPxTcRA z*ovRX)E7KbmqvvmrEy#AD$hHWmz&e)9nIY_dy&!WPUwrA+v|2e?U;5SwDtk_(&OIu zjuAfBOPBIFyX&^>7M%SH5(hO$Y0lcky0>?I-y`3Gxw?6i% zbdiaelTbyh_VoqeT0Bw4y_8 zA~8yoGvi(o;@_#8<^zL>AS z{Wb^Fia+?B-{I$f>8q4}!S}xN9TsO7#Lx>NbWWtCc(~~qhMx6u!(=*RGMh>luTr?i zVQVLoFC}u;xOqdX6KiEDA+b7HuyHGq0VYzC!B!5_SdL9A5p<(Rp-)4~39T~A^HUyw z{yF`6MJnRpx6PcxJ4dv$8Kwl%5YbuEZs-B+9E2ccHd*0ni*XJg0wnnk4GNs8vD1nW z0)7-fAQw`~n5-!}V~QGUs1nE8Q-(sU=9o!~v5~lpq}7_Z@KghmKEqr(p?gu&%h`ST z{L=Bfjze6-p?$l3?6{6YKY2{0L?;_%7}lETEv}B(I!OdpZzIFo^UBXv+}vA8_MB~% zr9368f}wzDAY_*^os3uyWMJa z&Gx$8-*Qa3FPaI3cV-peU1fYReCx62Sy=GejTWnG9xi*-{WIrZ&AS$Q${<7 z0#b;=9&r3B6vfX?9sm5F9PvN>tKaA3>myRi!ZGb?6nQ+qqcRmq zXZjABgSl{HCW+V^Et#sSF=Qgzn^8C3U@C=E(wQGh#*$H{V5$kkff55b7EA+;HdJF> zv966U+7u~G=vEuz@`Bm%9d6w^WU>x?@@Pr7SrGbx`Mo>bx%V0-7PL;}99b>b4}_Z_l}PbA~dS)D5i9I(~Tnlus{uZr{AgJFgsbJhkKq zA1|NMXG1%y$jWlM3FKCztdUZ-D|2iNriFnacEmjFHvL>Cq{Ml}j8gA~9n}k9Z6Wq@ z9(dk?-Oc776Lr1*{JL{{{n-7-*I)Z_W7@4#$zIfA`}lHqJ_63pYu+Bm6}x?q-tEvS z&)Jm>$`t9`FPF+MTyM76I>6&D{z|xmQ7J1xT`P2P7+o-0QHr4iA)^jMB87qVW?=0- z-b+_^%0f^d3!)xT3Pib1r!=O9lnrJwAsR&taaVkwQj)Z^GD5-*s2~gk6oqRmrpB?} z^rRr1dRj{~t60cJv)Dxbzd!vxjkQ$Y{xht0v~A7pSMTu)Uwn&qzWhZ#e)^QZ{EJWd z_@f_i@$e}&MSL0v-9Q*TDxRU7!;bpNih|Z72P&dGqcpp%Rnd^>!DxnlKo^Y?Iz%Xi z&4h>@=#t@P?N5e?mtx;H`Il6hs^85^K5vSY~^4b$s zk*0>6MbBLua7a`*^;l=6L)leQ=bNSLzvN8LiN5pr^JkodHRQzVqwmqJI%!UF6_d*0 zL!t!F;qi>3HLOG>%~mx=J0YnClJ}&X#lcIWKvl)U#d3qznr1e^6@$;7Twpq%GM!C9 zX(|gTh$j2_lQa6{MWv;Sbfc5$l%|>AKv!;8w>FuyPzwFVL-2&Imy!-+(5|9sYPwC2 z(vmJOB-*-VNF9AY;B1gauX=)Um3-%wLXFgLR#Y^F8Y>jKb>h*PW%kkyQJ)JN(h!I# z(wBs~5T_Q*B_`}eNG~_P>WZ`ZTx#i>?S2ID>bb7k{&mLGC`ln}MU0x19rTt-8>w6( zX+)BETk3V*-Q{sg32=jw}AJ2j{HFJk1T=Ma9RfLZbu=PSyiY zR+`%r&#YasIRBW=EBboM+3A91zog5SJ{f{`touZ4HD+Y zxnk2&&m1Zs&6ug6ZQ4ca$QkEalvS7l+9*sl;nB%M{^cKkz{@Yc#KFOl@N_nFn#mMY zA^M1GGCBnOX27H2^)GXD`yOT8ll_9PzuEHPFTTTX{=s*N9-3T;Mzf5H;tDDyC<=pO zC_z|OR7)45)chNRDoW@Xt*}XilteCEYpiMTvBMU~N}{T{WZ~{C0h1%M_9nWu=q{3- zK}APn3bm=&_yL~+Wt};^c@w`GXs1(h_B{Rcl&lQ3(`=UKF7k)OC}4MrITFAdHyXV4m}Wj^@r9A=X=PZXhCldhO}S(EFTegZ?o4a)W&y@=^XP^IuZDq`6`TH?k_UR9 zFg6nWn#Z4h$_F1kVjV5FU%AQAtYS84Fq0XsWO^SsUv2p8Y)LaeD#riSW7_=%Vdp6BopAf!Wz=K$ z?sIlK6_q{P-AB1Rtu#c%LWtwJ_hepo<8SZw{?G0`ads36w-~Vb2-iaH6Ut|dPUzZ* z!bmERB%Qel35qxl>ySiUY7B`xXURx;fl>~I$l{^(=x`dT$<0EoQVNtDplIn53?0RQ z(+*`6{m>DIo}>%TOcDPvqLsrcO+pdTq^ibe;S%*(vHbKtAHDZ6-~Ro7&ul)!&1d|* zul*eUYl`W-MOTH-9-MK0dO^Qj)319L{W%wpSCpYA`6vo2CWAuMj_g>&MaFB5xP1_G z!bXGM?%W9yVI34YXG!0qDY+2xhLWwM(n=X?diiNrn-e9wm;yvJ;QNXik@v`i1? zxR7v7O;b1c&@*%!*@zLDP8-^)Wp;SL?0C-kvokOniy@gz9wG`&-PV+paIQjGg{=%# zGs*=APtJgG7HzL}x2?d|8v7!@3GJ2w!#_K-e8@TjitK8#46RY8EqQU;BnTB0u`AGg|!ABI#EU{ zisU1CrtVlPQ@*3|Z8ehF&C5L!_yUuq|jvK7iHZMp*hI%E){mw1pW{ z3Nc5NsW8f-Tg|V&`xbxyYj1K`48!y`%q($vN?P?)el3(~DN+(-V~AOitwzhmzJ$GJvmz%G?LQ3GAA!|pKM|>zrGHFAk^8>kLDqHidKmUM_Kl+5PzIx2h z-ag>1H(w@)4mUd@X^YbdmponHNz`){c=q{y9^AiR6Aja&DYM2<+nVZNO643{E3EHW ztp>ABEzLXKmn!9$XhODJ?#5)SLXE=Z}%~5i?dhlew^)#-n+!lA3vtu z0*>Oc9*KP~e(ywAfbIo$YCmT@FUnVMYm1)Slh7bL@V`l|h+82?+wC zG^ATuOjMB+Z5+rYL5YNoXLGS;v+P;)fsGen(8`iZCYDI?V{=%_WFwSXN@tQ%#H^{T z#T6utt)w0osHPDx}f6(VhDM<<{Z%64Iwtsz=z zx=`3Wc|zMxP)ad$1GB@H)CGnt`qf&Eb#y?q29q;GNTigpN+@f5OsFWO12JY&l1PTL zjuaDd2p*VPIHy3}dIQt1T*9d`wsbq?Ix>6GzF3J{8PZ z{~I60iNh6&f~6jvjBFWR~P zwZ|0AB|?Cd3??dEm9dpbY8so;GkeKxNzZy4G zKq?ATwdfE;dCOR|vdrcUolm6bIlOZR-A?#_-}@dff9o&#hgHSRI|*wQ+8m&rB}7F} z&GFk`;rOkeA#E0-lB6}dsVN%Xy!R5n{LZU<^x%|>&Qp}Zl#GfATeVX5MZr{>N zgPQ4N&e_=+D2*R_DOaG-`zU^(*SMan!% z(dZILsZe5J6+7ync&rS+`Q1*d(Ev zJXr?Zbk1a6qqQb)eXXL2d7zJ-P@L`0-xti!{mnHa-j!>wX9`voQn`woJDVMjZvDRN zKI3(~-3ub@o$Ez**B`%VOnVimE$4hr_ z@XG5iQE;4{osgqqRy&RkYRvHruaGW91(m94TZ^t8!^-2Dn!$HiXIZZX?6zoMiL>II zLt7COSYDj7IPXNoD`$qyhGFnn2PMs!Ol#V@;cRgMeWpE_Q?*mtSxtBD7#^+A%upqg zizXD0%0gYE%=ncpSuz@0k#ib}mnC(9lIV=G3Y5lag)$A+wGwFaKq;(|p0e9FChJn~eFv4Kq`y|w3 zR-=o-M332syky^ZY!;`&;@}fVe}!Zkyg0_C6nqp%9mdWbr1?ObipfEXsw~r{CB#7_ zev4?YS56{4DJ4=&44uasp>NBi~14lcVQi!NjC=p3Js!_v~j8cUZBlkah%I#If!QI<9mcoe*uE`0EV{JYgQY9B|1rh{NJ&Aql87M7Euw#&(G*sF`des*i?sH;nu+>atZw~%bh8TRbBa*pz! zWK1ZKlr%rpLMcZ!xVjc8Xf5hmsdzbQ2}B)W5boeqz#2o@Qn6(zzp5%xDJ%urrp4JB z#%3k&1I|{=ZXNUb>#wt1T(CTCamonqa~4H8Q`f{zCOL&0n-=TFQHsTfvDvmNXj3!0 z*%IG*hu{2*k8r@>{rZ==mlN%+23JqW^)c<8n^d!7bPy&ORn_D?kn_k%?N{6Yl0a?0 zsx7lhu?mWWBFBu)iI4*-W+qKdESV5jgmuPFC(@Wzl9WM}NK9Iym_?CdW=N5~@30kw z9wyC%q1%AU1m6=$C?$N~E7PN`;^62uDQsA+78KM@mOPap%mM|hHfZfgDiXU6Z7Px< z=myW>&3iPnLvrjeLt(S&b_D%Gd#-U#(FKjsMVdm3WLkYuq<+9EH8R3Tgx1xLJoI=h zO;z~X7vA7&ue~H0&56V6irmy#+o12f!fJWJ=JW}+DD31=*oORu<>^yC`s9Rv`{4ur z2TBLXl4KK7CS{SUv-oyPL& zCr`P1G-sMRDh9NIFch9$oN+$D;qeV_+&p4xBU9IMcreFMNZpFFM^E|Vzj(ld72JO5 zfSdCPe&hLzA3fwxKUs5;G-`T8ba3n5O|ntcE}`|P9G5a7Z`i~QDMXCcSDe)6aA-SM z3u7()a0xJ%pee4FF2eJ>w~^ms!VU+vkN3P@b?xtq9NFE^3+%4jzUV!x6wjUT^0nRB z1=z;p##3I4!2USft9FF~2|~E)r9byMu5J}}i^=ZJ1CTKu{JAI1r5oKkaFdp~GWe{C zx*?gG!)d{4SZ#WqK09OG7j#Z&5GhiLVU21@Qdn3}46&eVp_eM9psbUHIwfLElrfE5 zRW&*b4=P1iATdSA?^R;xBcXV_Uo&fF*ve8(YoP zGwkW<`?=I5Gb6$;rU&!P%BpjEwGZS>Hqa+4Gb}tJGTg%4?6dD%SC-w5W=d@Zu}WPF zL4{Jh)UuY!Pk#OjKKb-3t}ZXQy;)ew?49vujGNI3@|!VCiOuGMi_OG#I}&2V4z6jQ zrVY9tTzy6avr5_H7^xIE%qw5NzG1%Iv(!px#_eIxysW(c>|H9A+uH?eLaTuo1Iv1# z)WYRv!|kgVm>H$6SdLgLRH?+K<2sK)|Y@LnVet42`R+ z4W_W)-6H1QsdHZG+*Ph?EqK#h?een4?>1+%a0NB9N($olXcHtfFPW!=)<}+-oLAP} zj&+$?vuA*tHChwK6qv>h8iEJ+1|cShf!YblQKuPkjdV~^G!0mTF*M>Zk*0tZMU(jb zBhIv8tr22kSr>2Eh|YnVG|)nDHnb#ATp=h_CD)Ag2aZ|rYZ#2OW@1oODrE(NP^A$F z5Js%aSeiL+Zfge=&s>SEtjht7Bi0v)W?m@~6@q!A;`IJ|y#EIu@Z|X=>|b+tb4#r= z)3p$m{J>8fgGM=ff1V}fanRJQINR?2(}#9%xBdGYQ^e_cr222b8fdvNjExYEoY3xY zPwq>EYS!=jd}_)vdi96|Q@|u*R!>2+^Z`91^4Rg8SG)XgfroZI5P!q=fuFuVzkkRv zJqS0d3S#hi4KO4&fYm_jN>?JF)nQw;tLh=@<1DG~vPNf8wZMr38Y zc!ww}a|;BC)M~7Gb%6ksye#AuL?b`^<3Hrpi)+TVQ1&-m-@K;e%G2lXaCNoe?p5Zn zyG2T)ii84RzF?VGZf<6N`m0a)%P$U;wBf^H;^VIuzP`TYZ(k_4o9CqQis5og zXe;}}j{V&o%O+6AK+#Go&d&-?E6H19u=6nLe!Hvs_?e%yooy$)&F(u33E zn0+VbLGAgN-AnpFtw8~KojH7K=%Z0VHh{O_ueH}Qy?!-_vN}G{Y5{czsp1Vtr51vDp()0|5&}~lurWbd37e6+ z7Lu8F@LR)*@%rYLYK`<|W898xFRs`;nRxQ#9m;#pDQlrt<8Zs@=K3Y27Sa$-4M!nP zym;}7yM1BWcI7Qo)|@GJN2wKUfq7lo->!U4B@r;GUcwmz+jPZ#*;8sGNCO(RLpB5# zSQs}G)(Xt$->3e#CF=Smds&)!`-}Re|vB&>*Ss1l8jJ8 zC)ie}KcQd}(CD4@P5nXcja`ORp|yraVa*vKU~6G_v&TYZo@ZWubxp%d;MG8Fg|#U`0;nLWgb>-p$UHB!n20eFf>J|6Tocr3tD0Yn+6t<{1MmtV ziYt&=BaDMz$IvLtLRCdoC~Kvv5ly{;!61a-%_`A@iq@3cVF#i5ylg0CSx~Z*lm}Rr zTdrR%RD`GRMpr^sTxHD~>*0WgKnTJQ|L}YK$7jg9ud=WIZVbdUuXEv}@lu>~Bdr(qf0EMCHrRKjE`q z7uI=3HIQ|{)L~z%CQJmCfNCUXXQs(Ea=9%|OV)d^^Yt}h91w$#zW;qbp6~dVKmCl_ z3jb9IeDse-F0a0i#zZ?3&ljKLRuir4s4u?Y)i3^xVizu`V)dxN zl-Z3G#SXXP|X=eq#U`##d(dZbGp{0QVFzWre0qo`vsnjGzzlp z!3ug%*26+R%uJWhDMO&V_>>pF{3Sp8`N#Y(Kl_6JKSla23kAM7}&I*V9ur7Z-d{Mt*(W*zFQ^J8~5QOItbIeZ_jWr&wXBuc{U&K-`M>ZLWe5dhih_X*f3YRY_W3+pKWvYdK_fFbvrxyjfdMj z-tIqWUmm!gJLoreKrflSEepZ%c>3qZug`5C?$-z+thrz^;J4)i!~XtlW8S|`qo?Sr z+Lwj8Td6USV&ISsn_qc1X;}!h5Njpd0=Ktl&LmX|$yGK)Xa-XZh(fGh)@#xnEUyt$ z^D?V7mf~G^tvUVGI8CH6Vb|uAS_zsCwA?&kX-Z1!_l!E;Fm$D&`DWpEE=)I(VR*^7 z8M(ZC!uH7}AG~)(&hPR1`i@+iqp1f1qlp77>KoC8qv^DQCh5o=BgvD z7+DNGR76(h#SKerh&7Brqmr1=@wh4z%!FuxFieaw@#R-vBN!K(Et_v$vCa!21ull< zE5O|WYN3fijkLi?VW3*=SrJ2$5L!eeQnHg!r>?zj0*ORZ#~0OF8PY_I!hR{#yFFn$ zpfORbvALMo-|o=nMU9eIWPoIWq}jpi2+|Cb(wm!FS1_WnJFf0^Q!5PRz-?Js7gxhcJ0-oY zNcGkIL;v8fw*`tP|8kZQeY;P1)9&8eyoq!DhZ++=ig2h-n%;__sSrZ$D6yd zrSo$--)1}8?kw}kBR|>)Ju<ZYptX(I15ZObQoA}z0pyVb62-!q-7*qWfMof`@`SkH$VRw|Kg{gkXz%w zITU{QAHmf}gt&j(g+goeyZx0K%>^%eBYR^tP)T{MCEXI-AszWL6c1{Tx z0@_y0jJvx76=51LDZ82Bazj$(umAGL)Y2G#@F5LlE;CP`eZa-j=iD5wNl`Hz3b5U7 z$yO+cgvoSfB8$UKmGyl$oG)x z5{Rt(Ylx9NA5bD~6WHV(Uwr-vKmDtZ`JaFGYyR&~U-5cry!Zb5eDs~~vKa$v%k2#}yM3qf6hxG}bCDdX$<-VP9)g@TW<412v~Rj&w6lGk9HJSe89J}zSAljJ z3DX7Rv~~VCTX)pD@ap=OAq_lv z`kcByASn58%Umk?Zbxb6+=pQxL?Ko@JGYijyAhD0J$vZCr-VcpBdrvyI(zcw>4r86 zd0D8<7}9{~f$hZ=Pu_jTm!E#dn1t1Q?|5=besuB!_GbQ-skE0N^XKi2&E zsW8TbYGS|Mfi#!#&e<`1&49|fc=@YkcU~%nhJkfmnRFtKBTp|jXxebGnYhcDwyvnU z^R5)EI2*)TjAG*KxT;%NM-- zw&bHsAWNQK*Z1#(Plh*_LRKt7}JOj z!7=^=?AOY?%uM6Rw0Xki=27`9q5uFO07*naRFW?bUr|dVrCz0K1#%@N7fLDXLhF^s zRw@PWT_~*)tDs4dCeEm#4j;%}RkJks(Jy|%pZ#Bf|D^usY~K3-*<4`i@k4DH)`sj~ z^YS;pqnmPRe^k3;aJL$1`?+g_s}GNNj< z=2biq@$1)4ojJ6Ydm~w5XwINxtx!;Gp2-MiE8q|@)S-lWoGF6a- zzV8eQdKSZ-e5TohzaQH^{_b(`d;a~oUA#Y`H>2Fs0r_8kT4xvJvEBWO{QLmU?1G^U zmc_gN!u=D3zJrI+_9+s+r)6*-cyFi4uvO8QD~ETKQG^Ml#YmeHDJx~~v>*^`{;JkVBx}xLg zB>2v4a)L!zbE(H>Ub03FlgPN)kcPpty88n!zq;l{dFh?9(Xo-6@OMmCR}3+@4CG

    8WiypromYDyY$s;*W&+gYmr42>+a1Lli0w!@Zbn%LdFBIh0J4u+((=3U9PR%-QtS(9 z;}eI?;E(_+v`W+s;Y!JQCO6jxHxv`$laK$755D`6la0@nby*pLhZ{qTOhGxwimEck zL*PW-?uSmcZ`$3v z6#3nZNvF_4S@yy*E7PVChJs1Of{I(IDjA%vx4b zQsOw$OgP-W_W344L|AtVEd~Y>5*ua%XwO(Sq157wUp4AtSl%PGvWC@V!fQjdAR^53 z%FWF+ESZbvPk4R(nt%22=lso=*Zi}e{eu7O`|t9d=g&wnvd@JVuU_%WjZ=J^G~ zbcs$%u7!(X%d)>=wF1jRE(`l*Chzxzm`G{#Bn6%&H;J_DJtkQpIh8BgnO&ysC8aJT z3os}@dHst2{?Gq4|J~g!fAohx;NsnPN$G+Zh4pY?y}Rb?&p+cYe*SCz`A>hvkH4NN z+DK{S!wDyw;Z~FY3 zg5S53paZQFZz$9ZUw*onR32rXlr7>s&sCo4F8LrvyW(ZFLnCT%IruPB<;< zr69w#*K2R68plK_1sz;EEg#m?%1%R{B%+K0DF#xE4C9t{S$O^Ono?I%8aNNR+}!T??8Pfy-o67d62;KZXVT{$tcipN0nNED zx%W4Z{K?tp_pAH=5I=Ox@ZH<~ZpJiBAXsAFH`=Z8{96r4)g^^%I}0`Q2J_d&N!1l4-d0={O`@0%b5wAX#<{ZnxpNyMv!;)6=&5dJEO+BdXo&U#%L!UlE z6Y++vu0&^p5~q>SR$n;Q#$mp3l{|&K9!TRQYt6J=$;>oUD0_&Jki4tC7Q8%a5eZ%? zs38(l>_Ls7A-V>AtJGyiYh#ea#gN!F;}=WilV5zs|M2rq`Ctruu-UMP@~Tw6+THOQ z&}u{=S7U!T5L=}d_jA=e<4aXsOxw_EwCWUT)|$(1`<+OLO2N7xHgdmCf>ClNh|_|# zlG#^(CdCvSf}~Jhzvj@JN4eW^h>^?f)?IN>HbY{wz2f5OGsZE|Vx*Wjb(AV)K2UZ$ z(83r3^Wx2*hufWZ;5n3=+Axaz!)C1r5rY7etIP zO$?!cCWnw&qs}v=L};)sOOH#m2eFlwGhv*FLETReqtkj;mxpf(Qx_$&7CEdLZ(FFu zl(1T9mNC5lAqAzFZK(NT>>XKF}>sr}v6(xXF z%%Us8^kd2UnFR>VoB(+cq$oy36$S;1fn3cgU20<-B3MRsL|5&r+v@nW0@*6I3Y+B3 z8IkC`z8yoT5B^1^w2uj$F$ef93z=naCVrQ`QDuJ}FuvT5|OchF5C}m~$$qk0FdGZbt z3S||>?dT=V!5i&TR6c!q!|lBAd4BV1wS&h(P@Y+do{wFIh81l)-zhlhz8-XyQNwo z$_BNDX=GhzBus24$I`}-nAhl)o(fc#ogPA*cn0A5}Cc(F9@x^QPAnBa%kQds;4(Uh%Njh%FLogD9lb zlW?^{FF8vz+Un))Q3i@thU(m@>ry1)-_*yggCtsWCVjTQ_m)zNz?I3&Gf zN^6AB7>AKT6WUhRx}d{^NWfC0sL<9%i{3_8&4|O`36fzVM)eAVDXUd9CQ=-c;R=zA z;YkqV}Vh_9gFyuXtzhzLC8(zE~PB*G!9%izKvQ zq;$#E<(9Urv~_hAy4w64F{&wnnb{grE4ei;asKY56t7whsVhtdf=n)uP(2A`REJ6R z|D?cTnQ5G$%h^iPehoeOGi;)h{^ymvxT2ZW4C;Lltw@Iom}h>c;M9=8tC*SUj2pq% z6$+Fdv>pSZbI&BFFCKs%%JaY97MOn1 zw#WC!f8X@C_pf+#R!1j&T8W(C0%~Z4wl+%1AkGmfs*nu{%}Jfj@u`G_C|qtvZf@_OR;(JO zHZG=-@$$k|uX-b!*}__Vkv7E0vSvh-aT3H5xh#~BiINC|FJP?oW2}bJn5L1OGu9ds zm4^85T|Bd*C?zOkx}?@Zu8Nd`#)zsn4m#bJ^Ci{>VGE~hDkS{)NCBd_jeUfkaCY|4~h-Z0%bj@RVeCmiRtJoFEz zlGdAk;N-wgzv6jmOuo_XcQU4dSwn*&LC_>HiTlrL2$3q#0>m!L(G{8R{p=}g(zBYJ zyT1Eu?!8|;_t8AGJHCIL?eAzzI^S}wrI%5~{o)vrny3vlI=A+^EYvj;gCNl{k1hG) zEa3Eai2I+lR&mpJ3lkmDXzno(gLk|X&vcvA@q|*saDadXmlFBS{-VY zLZlJcOdgQs+8Z8CxOkG7F1N@hzhPbu&JZySClLgZfOd8SGpFpkn4XZPElq_*LswV~ zh-Okqy`=2ebKIY&(Jx?D96q*WR~r=E z*I2>@7(h#<&*Gl6wDzV7Z(U5<*u|jR8tw%?kzb zdkCDPI4GtO)8b9HVweuTz=@#2v&0KfZFQdbs9maiaF!8sYO5F>FTAdFWkkmTGZ=^q z>J&Trr-y;5Jo?-H*Zo{QRb67kOgX(y3)+W1P9&geq$sRrg#RFa`(|KzzR&a5+k({d ze;@nX$mt}H24`7`lcVl|>dA2(UHL=1`)$r25WbBzC;GQiox||#0?GN9k4^})<3Vs7 z^xO{Ujb4GeZ`7SrFr_pxy%V_DJZ1mom%RSu6Mpi^3v4mMIAIAcb7hm1>qF)Gkcm;5 zf^n4sAHDmG-56ME^9)oJLMdK~UHx=5Ms!jJNqq%1(^eQlVi>oe=J;vrK}!mUYH*rj|lT2@QdHHf(Sy^&fizB@x-n&*SB4nTWJn)hBv5R1-1EB9L}*>UHHAQKjk~-f=7?#ZtV1Gp zwujuDl1GD6ddV?*XwC;g9GsN;lqHn=HKH~Qr|%kufkwcpXPr0W$WjWTo(UH`^Q1IV zxMY0t4nrIu!VuM=E26|!S+aLxiKn#I6B$johWS<+NF19gPe>^rjHBG93 zra+Y7Nzzu4>N4A5++ZaWrVSyDJ!k`K1)U<}#mL>wwJ(B`Git1}5Q0#sL`#UOLkOxO z(?H3UD$*-ON+UY;+@TWEil)SNn%Es?hSr#d4NpJ%fcW~F{ml(VW*j%CrpUEasGe<) z+b!ECPhG7GWtx1hsJa55nG#|`w0Z?@ZH!5&Hu|$Cy4oTsohnbQECfb|DRMZ>DBcxl ze)$j;Vo0PkG3S|~AUPFgjPd1ez4Tf4bkPtvTaQbFrAXi41XI z97o>&@Y~q3I75LpqHf4*rqz|!WlC#n9;go^)`VQECx|o3RVi3A*v+l&2a*fnxik(g<+x&1e9XAix^Z&El!IVU2vw9j7VU- z*b<{+tvV;~vO4s`T+@Wou%QA8nkTlJ2?OH6>&egE&(Fuck5e(**_{eb&)FFY&wSs} z$I1QYxMZ{U1ihIBeQbOF*@N$qw|{;d^U>$W*JHc*&{3ane7|}=I=Q1Wvr}sNO(?AAR;AjC;4DYS3n%@zIc7hUNYsvX>Ye@C)Nk6pdXCW@hln>}7>&9*Y5m%& zJ3-t51)!{ZYU%1>$(3+gA3vxErT#GY)o5vcfUTFa{R!4_nRuf{F-TE5c}Sy3U=XKW zifS$^YK>_-VS~D0rb3CXB;#1y#r2j)!HP%mtzTC=-Mv08ed79JwBv*--Pt!{ij-p1 zweaolzQbpqeF36uwp%t&FW8P3R9h))?zrthkU$Cvq0(}Jnvr3HNb_#n=GpG0ELaJo zqzobXiq;|~LOIOHCK6DWW(226Q6Z>fRh#*_xLb)n9gx%S*SZt0W@rT+0#Re{9&R-A zmA)?}l`0ug?fl9R)JtVoPu?SKCw8x2F^$T6aO`i9uDB*p5OQ1j>cva0_6LSrS6?%! z-4DFYCme%pPAlq@KRJ5Y{~tfpz0gCuf3F|41`*|1)-aGfVWkXMPZw(~R&gFM7W^2YP)aP^xQ~_%qw4z-B z&zzM)0Fz9~LS*QyG>t_n?bwVY!jMK%3M{!}Tmz(Gz-pz`zz_%0c0;j-EtM98DJn@b z)tov{N0*~9Rhk4gS6kM@%4QsqXp}iq%1Rm&LsROY4C3mBDHp7IqvPi48Pnwz;mgmt zef1h?)`dVuD0>8N9((f6dyJcH=Y<`qb@jjmBc?zpP^$amNFZHqT-w=;X}bjr1g#87 zDVEsh9f}Lcq;Vjxi+8c(@Sj#Hh+?%cw>=>Zejl?!6hg+c(~Dzcy&eEbmGvoHzB`ZPJs=2HxH{u#Y7ntt4Nj2Zey zr_k!;AG>jJ)*0(_+4uYK-}B7q;~?~H!R=$a$J^LxLHsbd?IPL7Q9Cs@E_k@kpF%SYf80-TBB8O zlxo@t5(%O8GBecN2!pZWT&n%aOEn{xJ1CK5nY;6If_)XILT-HmO7h?ui6p6%V`fT^ z*{J9WP@RU!sD#agW&;~BX-<(tqZAj)OgN;V3Y7KW_@O3Uiqz$NO~tjZwL=`t198jV zTm{|)LCc7ELz&_?lLaA#=0yJ@w3<2W_B^@zAyi1?hB!Ki->k6iXVx+kMxmC%VwE7i zTHYU4$MO}UE*?lq@_Rw6vE~E0Dmg4fQRE2XZ?2UsA#$*phIU!kfm#a)#1uP$`-D-j zQfTVG1?GWg91^W%)?A3qvsD@dBchVY0a|gHNml2%t%G)nO?B)pnRYm$zqbTRYuvm%psxZ?c7Y)6EE{l~$7jCeEYLjqi#Pqyz1=ZjI=A&e>6`q}Kj4_h zEn`3@xvzlqjK9E{Z0r5M#hlj83+l8>mp0m5^N6 zqqK??XE%X>)l9h9z@ed8h}((WR#YNQJ;Nt45o2nCh#Ii1%V3XFVh%IQuClp$ z!W05BY<$U)v;XEYpfu*gp3TK2?|kb6;xHi=`0A_Ae14h|E-rZX{3+vj#aatCuhcrz zOo&79Mj!lrt1b~O6v8mj=7pfCb0@FtZ}-eY>N3?C>vGa{JvdEcT`^N6H9}G}8*^L9 ztrAN121{vJ8ystzT^Q!+vv+7Yv)ivsgEwP^;Mo6MDrUyTHjsi)N@dP_XFrL;_VPJT z-+7lbOtj{3fv_&*<@VHT5ybhb+gc&``?3~VD72b5)Z80RZ+yGnuQ7~?X}jfc_u3Tz zX`Wf9QL;b7#%W-?xnvxYGXa@mRTz_Eq7aOzlS4UF2rA@xWfPT63e0(>L=RG>-|Yh) zl%$ZrR!9T2R-*RcwHj+tG*ql=Pk1zp>>@q{$EBJ&X1gV}+enPb)fQ!7T@U`OjDfV- zGRBF#?8sIq)%~%FP)V+E_=u#+IJ&TN|90=y?gP@}gm0%n_B`x6{^4`_7;0IEWtI*_ z>vQugFg-K9_j%{v{rg_s&V9v0+oQidf5r2N7vsSoZ${DQtMfPQju?t_TcKaEs+8)K zM|L{N9(bPp{qO=jI^nn29ci*KgVm_J#U(anL$g9@5f#UnTu9)Lzw?|=e(*jq5B!sV z`j7eR&%WTxzxkYh`e%Q_pZ@W8czykfzsQ*sVJa>hV3N>w49ps<2uI1%Gz8+9s0F9a zu;gXmb?%rKS7aHYV(QdSrIb#z?<92kMVkr5k(Pzy_$DdO}| z)x>3RrLw=iW$vAyLzrpm6S3CHFh-VT^?S4R$8GC@NQk{`W5i&cSpY(iUh?U9CRJi^ z^|VQZd0x1^nH>YR9w^aRXdQx)DRXAVsLM)Gmt_sAlu|hyR#GYqL+E%S&-OO+CV{rD z>~le5V3-mu`$8df@e6{XI?z%gSa(z=glRyE^+qbA1{`a9nw_EFJb`hD4jJ(@fG=7E z52%k>(TYF5zyJUs07*naRG~q2Jnaw!GbJAml)GD&bw%O?@p*SJ4jXASR|S&B^EUA8 zm2h>f(9}6?@57igpK#_IPE-4v{E$8P?y>FL?C$;0-}ji}dkCN^XmaW@Ju1El9V6WL ze-`M`v#lpOI5TL~gD2cCD*Zw7AUV)SKDjeZH*27)O?7HTl0 zG}cm>U%VtC!j zTt0j1)v0~&3zm^G@2OT9h6|oO-!M*z?bBzT)hn48214k3%yS_OinD(PNP)aml6tR# zHAq9Cl}?p6Z3ua#W$$+&1afJ#-NEN}jI@@iZG|Ge$<{NGvN-&!Hcw(K?0oT!pur(& zrB&9P`Tl#)*f-~s-tG3NLKys*Q;?2>_pD^1QS(Y{M%+Fj4Fej?t6dsU^XzIZt=~Tl zS>1mqkc(sMNro+r5?4wKh%Q)m1;1mNK8D0JZ8+?ARGa;7tCfZlbY%1N8PA@-AgFA>2#Ba<-qN?|a*K z=ULRZeRmr3GFz#^#1SQ}0xifTod*V!JywG4MysU(!|A+CrmMLZH?Ae znz|y4itE{%d76I=jxDw3VEjWZTudA9EUZGSy*Ww)8VZt??Q}&h3$3~gs7`{G3dIPc zU}5yNiohVF^GPb`B9xA|4Pr#=4_ubi%DY4rX@=}q|2;+z< z)YYlBbTg2qE%ScwtzibO70R-($9iVJV?2xX^zZQ=@@beeo#{lxSud9a)Tz&av`N^SeHyHl96e}O?ZBmu1sNndw{7RNEM=v% z+=E*?1tb!TM5MF=RBWEvFLzjtY_2BOTtGbg(fXWK6%vs@sF6QBj12!DZ*SHmNs?UY zeWIJWdqi$k)hKiqKypBwgLC-I|Nkra!X3l_=tfsp;IuIYB(-Hbe&FT@9ODmnrhA$AZOx5ek`Z)dPL7bCknH@kkB@zNb$ zPyA)G)!hPcZ}EQl8f(#}0 z!8$s%`Gz><14QAlB=@b!@!TmGyR@LgSpk|k<>HUO`yJcX=>5!gZVWY+owIFx|NT2Y zJ)P*)JK0ZFX+tRjanctOI&@eb6UXDT-|ym0QbD|WWZjSwJy_ocA(%Its$J)+VctuS zz0aZbPM1K532hq|5+xdC2|R7g=CDT0f$g~x_nCL^-|^|w+0~}%pkeD z!z34WIY17M+g&ncL`K*UO|%#giA3C|ON5+?Cod$>SEG-{vI|fHAt-TQ2qs=}twv6X zoD#7-@aA1&*vjeXq7o8L&U4JYFS*UPTm1C({4^&cqN(~O&|V(PWv;*SpO=?RymW|O zJ@&Zo-uHdW-`*t=?!N0=cHbKF-p>XPw&WxZ#sH0KLiT=avob02yQ<6xSlbs8OGemNX1WR;Lmf3*T zdMBA@dC#Xt>l^E7rD>&gWqkbNi^1nF&i|@|6cXCJ(5I%voQQ!5hZu0V4)Ww_ob)|; zp_q}Eg>ra92@&hY{_UR8lu#mL7+ErTzc|LJ8>2NWIL35@;1aGwk&sA9aCCm{^=(CC=x3ghUK`XR1gUVnCV`>~~X=4H}6O6OZS}n~JMK$%Sm| z>LOnFlNY{3?gPz>ce&vuU;3e!wp@MD&F|F3U zm(#sETP7CR1eFO><5G?@L^C}G$`CHCgK`O`?e<+)hkjq(x&-Q%MeEM)-saxcFY{){ zi|_c48#9Urp=a&r=DsDzfDWHCttp4Yj<^_YGsbAxn2JicTxN=qQUW>}+GWBlGC5>w z>@2y^d#ATSSqij>nDVfDAp96OAD_U2D=vWx#2AcLvAUskut~?vDTp?VSPHa8T{l-p zlr#Hf;g_E`Y!ild*L3d{G+<3w+s2#2fl)V}pFYyJMyng$yvdOeiBVaPjU_~|is~R| zm)Pv1^Wn`K2*RKK_$OjfN>83$%!bT>%A2ktx+x8B)C_`5VQ~f`%J~j7?U?c9WuE*5X}%7#GDyzqw2s2 zwCAIP;>>2FovV47xDO3sc(9*~XEUQqZihJOze1!xRgz`WK9P4jS3n$oZp(h>lEK)N z#!j@bVVX#yh-Kok_x08yVZUJ2XxqxRooTiZLPT<*`WZ<+Z;pU)y* zCDyCIz4v`DzvEkh?Dh2xyVthg`Yc_Yx$%;i`Vw-!8tgtQ|Jv>wwgFGc&xh&$4%@|D z-i`TUka-`kYsq!gJG=Xf3J{(er+@s+;kS>Z?~CIEO=%W59*_L``+wofAJ6>o{ZGXI zPSEqp)6*v&p1$L-Pp(OP-Z-88}mO2`4TM(@g!lasn@cSVpPQ>kotXYQP(QVOv-el8|gu^Ju9K4A){?Mw{L z{!l0Vm<}bV@pS$|lECxv3%z?sDwhB)gh>RhMDZ+-T)HoVf@V4cu_+W`2|>^xl=MI; z2_+F?;o-2SwTccUE*U!+N}KhaHt)4Ta%o0FMuM@7j5_-zHp~~QNt?EHWq%l$MY<|z zhY&~!+8R827@ZnLg9`#$O6(-lANEj3xr{erquJ9u8rUR=C^!49a*2x zltX5bz;f7A*Nuvhcf|?UqjTvV9v?x4)9IO*7k2vt5(3+HrXE+qqw@@n?$l6Xu3B|o zSBFpSGHp8|I%v;x({9F+7gtPjPzXxr>AAW%%I6s{?J~Na>C2vwJLA0aT%8)Pk4D}X z+WE*3VVoPEN9Wy#?_7pdmAb9u?B6XzS(4K_sSWayX`>N{2+5&hA<#o7k-oHPvb?%7 z&J8Ia*#8edAP4W2=1r&wu3O=}1@}2z5`28RrN{j8-X< zASPBC1;|l2_l>3}-k0o@96IRRh6Se<5)o_&8oFoCa$vN9O2;%(9$^1?;Iy9UCa&Ks zfn6>%G14&Cs;(}*Sz;hAk$N8Pq_P9l+twUfaOu>%K$my^&)fE}29o z1XmVODh$sO*R>)SxmW-OQIan-8lCuiI8#7QdD2J?tQuAlOFlplnl|!S2r07U1xZff z5`)2roVSgbBRLheSw>n?LghvY5+%dvoQ@l(^@%SZKQV^#;ln$uWKUzw4tWxc-dSRH zSVvJLXXuJDh`}41LI9<6I(i^yeQ+L?Fd-e$gifUo<;%w>4}eo7Pd)V%{de6q(1n=i zeYHGs#bI*xdgjw&WZCV>IXkZ+3xPq%#n~%DAm+r-PANO5O^ewxE5Se_);pa}lt>d_ zfS2IXyD~RS-fil7;iyqUgdUMBL^T@GvmrSmQG7Ac0U?tQ3w_;Kf&q!Q508YmupQ4( zmCa_hC=7-%n<$LuXsl+uMSO$7?e&!ty32%KGN1SFU1$93`Ty#;*WdNuH0E?U5Tl<8mqC7I``YeuA70r0M~n%437L=PfdLce9z}>!oZ6^XI$kPeDNaQ+$K5B# z#`o%&Kx@W7{qsMOXQ{sRL2C`RfX2WQl+nC2TGwYjJ#8fO=e6YG9pzfREWA}jj2sSF zZUix+EgW{)*$6^r+g87vvN(qF@xj?rCeN#?m)U!DW|SCxv$QOk)(7?YJkM`q7ZW2z ziU>_RHacH^{gsrn;|`M%#W+2G_Dprov{ulj2Gl ztuw4L)S+ZC73y|obi;C@4~$_9yDrC~GrY7DcNqXbgi5lkHNHlb}p zs#g)ZLYi4r4Ky|yfoP5A6p{w;rd_xlAB@U5)tf605V1K>N!*V{#3KD@l=7k$5r7QSV7 zxj8RvaW#mp7soiAw%i%qN89tgyLBlaS*5ib zDnh6*S|^&ZMdyjrDc2{-v#249V{pV+mWB1KNJ$VD?>JT=C#Q-riD)$T%fi!nrEQf# zC74hAu{xVUESX@+Hf(Au+cn^iW;BNDLTA7KtwR*0sn9|tSimqw@3iwuuNAQim6tJw z%s>w;ra5LrMk3~d)#llgT!<1mJnRq=wpK}p9k~?W72-JCyzI%lJhLuNfm396#SLOc zOimu&T0_Uo6tJN~*;)fL-hFt-`M5H4P+Mora+IV%N)d)PzLAVEyzFw_nbzigOCpn3 zwmWUfoFv@_qM$Msu$ugp@!BHt{}VbW+T;=8i-|qjzuR%lk~W!m=-< zW#>|_3aa9&W6?2oq{#BPM@C?r8eN3_1nV;f#6jv23q~{}w9XdILGyV^s+gjEpuJ*! zlDAuc;Y962CoX#kB_>92r=Lwuk>RF9}n9wBQTTh4exX-j#cK$ry+~(!W zUaUpmwta19%*g$PhyQmS^Rf5^vu`+O`ryq#jSCeMUxLJyohW+l?h-tiv~t z*#lx-D}>0BGo`rpe5BA(blV&@6C;+4?Nm9uDNyH4nG|5!y>bDg7b)M=P7w)w3gyEt#s^lpMLy-&!7Gm&ejQ<=nS@6i9i!!0W28W6t%%x zE2UMo^O0IBDNY4Ro!qj)p;>Edl{Ayg8u7gU~SsX#`RVXftvEA#pxGVPd3M$Yro?ZOWqg+T9ss z3-nqUqqBe5QR0sCd4=fkIGL>*?dp$i?oD3J$J-A+*OLfc6uS3IT-=r18D2K`ax;E$ zj53HKwC;T=uY=DQzt8H_>tkLYcL`Ac)$ek)-1|l0>o4HNPWKv4Iz35lL>CJHd{H-x>udnPbwo#A)rNQy@nNNTEOr*o(150|~;in(SOLQ8Q5UE>d z_x)e6|J`3f{ld?G|Nrp#*Z+y%{iom3k4OILpMPQb=P&T56&cYV(iB*?=2?Q|WbUms zQa&KbHKI)+#WdwYyFa`Z=kD7(4U!0B=)`vz1oiIp*?1+R^|=++0$Gyb#(TPmZ=R(+nX8vcXwT^x?E#QUcr7iOHR4tsA3tdTX>XrsGU=69Oq3 zQVL6Qd}RnmYY=xnvDfO8rj*4y)k7j==e*h-7D_6Z_%3*@1DlycN0%ExB5{|T1)?dT zl-Z=#(9!9&W5GF5>rez=r1rZ#+LU44>9mNxTbIdlF5dhm6Tf>A(wGkq3Fk><^3RG4 z?2#?tk1Mid ztoe31q>B(i^lX6$ZBs_=v~44nge2(4&Y=65iF42nfxO$#z|=_dZ==jic-tK7tc74o zlqn@>9t@ZSnl*xqDp)UMl4qhPvSKm=T(XMc8hqVGynH^L@m-L5 zAGE%U;ma z#te8f+p+mQNaAv&QGJ7;LordhcA^eKPxLUE76`1z3fizx-ABrleI0=!bMYijB4+Ob zZiQQo&IVLaVib6`nVeH@R zY3It?R}kmTCPZfrF{7kRjLL{EFYV9PWDZCP8`Z^W^pe>ho{`pssg&&_S#2ms9YdF_ggm;lbs+)p4()bM~te zhj>F?t6pWnRRJv*vIgo!$VOy#)B9#MS-v*7(L1#|AAy>&+wVAiIeK8399P`CGDbt6 zT;^T1yCR!T-1Bg;oe*Xdm?>2|AxEcQEDQa-(&~m}Wl6r~4sHR_o!h*N%kHWd+KLMyVdjIr3^?x`+t&l$KA(>98uY%hyS;xq*Vu*dSvmgtg&4usm52An zu4Qs~LtYYTdF0^{9_=mf-oNGJKm4z3hqwII-~L286w2WpAKw3#|I7Y2^pAfJ*-Jk< zsX2OeEYXGafB)u@QVK(remuEkVGQ1tpIrfFgfJ;_B8aPegy0P_GCW&1%qTe_!OIs> zJ(HGp1>G7Y3ROXRgI%OVp|#mOlEhW9`j~)U$Hz)cUJ^E&5QYlsO+Pwps*lVp+%QxH zWcVb<)kAVnQi9#XBRZO+y3I-diGh*=s$TjJIU#F>AdGJGpaeP=7Y_SE?E`CdcD@&) z2xW1i|LNmsqY_jYz0uZ{KB{xJ8noJ|44(h#2nY|4j}B&6r*#^$(>;XXowhl0jV;2g z>Z(tAv&r5to0K48muJg7h#A^F!)%Etjt5OC6H0Png#ufwD^s z5@m5-*tFjf3A8YXVi0yO%CN1QXF;SBl5^s0r|#EhIHpe9B&<%v#WPGP7_AP}nm0Gt zpjMsyu-+u+jeI_5)D+Q5_tf*;g$Kv1qM(twRnFBjPhx>{U$NF*;VcY#NRA!siL-W2 z3`}0$L%9l!+|O(NOwe=hhhEy<&-I(_*LMHfm;)tg@IW;umpzUF#BQ0#yVuL$+x^Z} zI#I$kQ2my(y#~$GZl2vmsAh71!s|iJj3g1$j?RX{AQ!T6|NL^HBDckgi{s}8X}Evy z-u8OS@5X#>`z^bF>zL-+40M5Kfo96kK-7V@Mu_Gd(!&THG)CXl;-u}U2clgQQQSAG zIm3zOK*uN{U@G2_D3O#CjDZCABbJiWy$u(PDT@axF+#6{Q7awgF+T7Vd;@Q4Xy5#A zH^yWNaUa`S^+rf*4hd7CntB6JNc6T|bMh%pv6pq;y5LQEK{CCaIjeZ{>YV#NNFYce zMWt$GS$5>z&S|U0M%g9ulCj#!`@%3tleJ}J$6o93O==&`>>??8LyZVFsj$*;InseL zdZXmR>2&7J+db>~$fu9b1UX~x4-`4D?DkH>7&@)i2}gh>?@7fQp<*0}F2oWj%fj(^ z@(%PUwBcE1iJ-M2<};#igAzSUE-8>E_BjM02BnS8`sIn<8^_b;*+^+5fe;HJ2XFRG zg;Wx8C^EQ3b*8>{hv{F;TshIjtqH?>5L6~z;Drt{xSaQ9mDB^Wc=mLcBby9rH`-W< zlBS&bC1YrmywK=aQ-2QCv#Px{G`heI6V7Mi5DPO1;_2u#{f5@c)*4%@yiLY;7RYJu zngjp;q(y#}dwe&u!ScKPfQ$lnLHFTCbmQu5-@Uj~>?N|U;=s(1zQ zGQ^*;yV~A)))(>HtKj#mF{j-WAdnaT-oEs1XMJ&aFPyWy`u7r?&Yx!wNT2d>4(EDt z_vVjscgJsmtl4e1b9dQa+r6?CHOkTW^7EOhEA?^D_T@x<_lbwMKTy7VhpLjxjuV;_t$^J^6-Hr7Rur@7i^w&lQF5Hh7uBlh9e2vV2B3|yJeyGGd)7d%aulB{u!>< zBLWs8IR$!e6m6J!08+N@de&VDDY1?fXoLZyZ!~oUE(s8HI1Vhq=qtT7QZxGSze5bd zwl+}p2CVK>M!gOOgKn<5Jhs7*?oRGfE;K{?aMEdv?bH~}Q~jkl0Dg$`gg(CAlcrYn z=<1VQ94x4+jIC0EWSt_rN$=tcY9YAVS>2olC`6$>ohY+=e)NqxR<`2_oq+t&JUg)L zcGTL)+4*hj=%kc9tuxHAqG5v`iNSZ6ROcQICa<0)=N>g3m^pY~rc=lLush;ek4vc`OE^IOk{E zHY6o}`suIu_2aM9)m5z4$bV6y(k2R7$~J+Y2$QWF^QnwP@F zd|=q5W=pW!@35r&_kZ&@PJDlSqN}mn?a`!c>uF{(p)8rWL~_W4ooAy%QwaVPTpC74 zcS^Hu4BAld#ILh)E=D@RCB-G7)~IKto=!a3Y#eSI+M%^69212Qlk=OJH>c(h2oe|~ zY*IyqfyT= zA|R2^r=usNCW8y&f1e@dYGpcDB+|8EX5?I0d*kAOF5BTGLN_0;_QrblEcH)2<9q2C zV=_QrX69wK-Q1K<=}YW(`~3cOf9&;`%SP6w=Y0|P-PtLaI6O}81PLw&-1~$V!7E?C z|6R9iOe`P0^pQk8wzi8V+8AQ*?kcYOEVUl1cC z71Hnt*|gF%OlqX)L1e$w6q}Ry8}!lX?Zj3q+Kg6a7b(Fresx2yi=TjY^0KGal_0*L zKI{vh+6k==9gye`xgwmll|`VNcfp6~0an$GzBXFh=yhYgl%LGA6}>sfsHviH61Xwx zjI=swx(viJA+#wu=(40Dm#5u8GCH-vx9XYPR1$~7BPNN%eUy+{fIsgftyjxO9{H6D(rL z)Qa|I0-PuIQvMYXbAH`~tCINc`Zl#i93Mst6AOknI9T;&r!XKE9(Fsv`|&4^$Is|U z#2CFPkBAbzzp*2O5cLB#Z zo7bkQjoHAgyl|Z_e1dNU=0~@AEiW9{o$YJ8ul$gF+wL;vFehLSPGcomkmyV&CIQom z5U&C1?M(gmYv_D!pt@uwUmoYLh%jE*URH#g|KiGTs?4m))qTx-as4@5$8>FHo9qO7 zyFRgNFfVewa1Yz>GNbMqFBxmDe*NCgxMf@~?|;kg-#Vsp!F1A1Aq$S}ohFf3533+0#&boRGM5>Dq6=i2CNr(35rWxwo5xuD%> zQi)q-i~u^&G1a?hXm6~el2e{^;e!zjDMHrB=-x{prZ85v=QANft%KS-@v?TBNQ}v)UbQ>AKW&2^y~(>X$*~&6izy`2&CP<(VJ9yy4yZPdq%nVHXx+ zS=haQPaI#6o+s=ykb=&}CnN7NNT8V#a`&!zg%l#aDK?Btg-1ovR>`~FB<`L3NzVy>%8tfIzoJrkq9SGSIZKFh%7SwWrW zWuAcw1SAZ{x5nrcDKZd?sJP~{G3l13yAQ*V7@Q7l$wQ^aUKV=Y2r)1^ULsVdj6z+e zPz`c&9zwN-4Ty2^rie*k?jYdX^MVdy5Co?TV+t;KIHJB7PVBll4TqnqMo5MIoA)gH zM9vEze)GL|+Q)-)cCMRePC_AN58}7BVF6loxI{{x_0-Lu^AVKwcp~kc2Um#1;`-NX zZEWWgrs_o2I9AFOG{JU0)4P(y9cfGp5^ZKZeDl>)B&*{F$8gEROV)-q2$Bgqykk^^ zzMg1bR#aTs>`|3CK!*`Spk3m#F?_L_PA{7CHh*h=zMR*$pI>BH?~Z*PFy7m~^j}V5 ze^r-DLRefEUAPDaOox1dh1><7PNp6HeChwE|_Cg=ce-BZ_0fj z>EAl9(-$wBN;%iy_C-M?kbVWb2@2GOQc zog^o$&yUV`EtR+|F14ykKI~y@SPa0R=(rNy4|54>RVAh5Fo5h;oKy;9DAH%yH3Z83 zz_y-&iLo4zX!H=!*6Afe_bgi&m2+#T4q{S98{`A1B}Q|hf;c)Ke)Ap2&qvIZ<>8TC z3IwUx4$7{u)rN_X%EH6@4~+9O8%A%6ij$~?-kooB!1L+Zs{#QsVd58UN_01#pPwBD z6b4IJ=y*~HovMn-10iB$baSk(_8HbVwlaxlKkE$Q_rXc-&uwLl=FPCCgpjGVvaV-- zJ)W^pdB12&6FUTM8K|8;QKjanxRIGrkS=a8t{R@MqVN+N|cPGOe_HlfnW)dKv*InEuM9kgoMOCFAQC&-C=J_ z3g}Gi48-}y5hNKozoQgmJ)coBd3PWMyT+ANCw?7bHCpE@HM;-uTI9qPY;p5J#3^QXt>O` z=`rqNFnRU+)t5~5x{d9sCi&uZw~4;@tM@_W%K+GqO~JTAv+ut2wI96y&imK5g47pd zzFHd+*NeOu++{+pi^B|5ua4`^f#2EPjuBFXTJh4rh4uaZ#O|{U_hWv2MVFJ{GU&Y> z@NHY0Y4-qWHNMv!f0V-i{x5&zAD=(-o5P>@;qZ>{4-32H!2bIOLU|yNNHKWXDgozb zSQ0rTG!CRkFWK%DI}bD_#`)yHZ8NMJIl|}_IS(Xw167>&D~b~0&O6;}1sto@ww1aK zOpL`GpX1V{vuQyce7>zGv{r1AM~C1LhT1$6SIR=~UV^yXn}B%0EFO^OoMG<#gJdKc zwhpJBl7a=JjWMydiQU5^`@@4nAGVdTooO9}z{l;0wjLS1lS<~WJMefo&_-p94P_v) z6MFOosTm?29nM-Xnm{m2y!op4&MpS;>d#78!9pTMbEoj^^h7r9Kspbo%L?jiKT_NWO(o)#%4+M{p z>7&uBA=wpo2+47;-Ano3|K{oOYh7E!Q`eYQSx=lH~Ms1aDi71J*z) znO$}4U78qHhs#))+YlRIUe5n!kSZC&v#_s&)+<-*-1WS)OP6A(FNAlt_jcADA!B&p z@0hUr;PrZi*Zac7fy=B2SRq??whY4UUcBnVHIh7`BWKNC$wwF z$8BY|t+eyTXo|+j787+_Nebn0PtJ)Hgyqe_8*kMZl89L+=5?7_+Kn89!(qo5o%88L zo1`C0Ij|IW)-eaP1@>uS^a{PZEVaPaH&Ra?@L=TR>E_Ndp?rRjva4Z zDP_m$^qJ$+6TRa>W|$DUC7~nHt@AbmgE#VOJ`QV2%Z(I;@bKW1rFY-N3Rs^?W1}NvkDD-h zOyt8GzKesu+i$!#Ujr{e>+1mZGCyDY+c}IUgTyP4!<;kya*W8$f4xW|T#R4O@%id> zf}{zhxQ%%^=H}z&+wWh-eD(h2_1Z4ITpaEXzU`jxvjSW*t@G<%*xmkD0qYI`XW)`4 zHtpsY%H3U`r^{ulf4`HMck24{y&ZNN^O`2Oyuwu75P0aB|0(~-e@+Mf;prp)^6M8K z(kGT6e8|E>T6oxH9+v}kG(_Q9h2PiAZaJVqi5BTJqC_4J51iW!l*AZSNy|*#Z%Q8y z$j-}@%~ORABMQQbWbewBtumsQZPb+AvJi4$t!K1$+SXjbs5y!8`E+7by;9eNpyZTD zIUuq_$3~2qu8n8`;tW`$3jz=m(Zm@FhTk7BEIG?T2${nVZ&?nH{P4qfeE#_pyN5l? zVNXo(@ehBb$AZY2xGTK>@Rr~IAOAo_8JnTDvTe=zUAwU!k1VAi0hSo3R*_iH2)#PJ zlSyPbEDQ|9XstRCHQm)&f_f8@xV#)@)G;T@B>(PnVj7AzBS?ZJA_^sY_pK_k@xcN7 z5<9w8x((t|93G+GeASwl>;`e}&m9Z;_U&7i-JW;ff6oB6TB*-R@}=CUhMqT;$2Y{C zm+QCcK>yY%i3Ka(fTt%YC3{IyJE;iE{y;oua#Gs5as1_pof~q&;I)k}PO~v?&C~YsVqZ533zXi+9ROAjLo|kL(}bVB(9g zgyE#)?TphJ3Q>|%i&b?M9}&dHR8_gn&x=3dI!!MnYVLx*=})eX@?ZBuc4=gYIMrM! zE)5zcw8UoL8%#*QXDpF4$Gik(GK13T#F-mon`OLv+d2BpPG95^?z6Ek?BeA-gczM7 z>2fW%gu%sm-9EE9M@0maM7Kzim2n?XUTrT6)D0{4bs%}Wf4my=g)Lv(*?+^B1|(A+ zM`vs&+OuH{GDcVy5XbN#;%ZOBDXB~&IVM67QZDqMr0yF+F)wpJZ%2}zu#zZcVJVpw zGO1+Frz3Ti-QRt9Pj8KLtt3gLrLf;WU~}_E8LaDx6a;ccTEiqWQp38#0R-Xj_APZA zd|6i_fgOg9#(FvtB$7`namlm>_4(P^0J>MsgxP#%jToIlrdeaREHqiz*0WQzX<)xg zj1Fmu4D(9WJ_WvP9f@AfclbkK8|%!*51LeZ7e?=>c2paq+QjaIS)h&TcwZ4}?S$xf z-;ftliKL|vmQ3!MHjL+|XU2bSHQ^XiR!5`u4JV&~2K_tajYE4%$dDtlr% zP+Mj9ZXxGLuLCrZ4-1CFO0;@HqU;XT=O_9Y>>nR_vtJ03h`Ydc{>-|bNjYFKvW-eV zb!^wM(?$o!ntD-zoD;!}v^&uHcBOR;(P3=+{lOVq+L2xzK47hrQlJX7)`=k#<8Wr^ z4*T5$%bQ0&=rjLger6|Q`aZe(!%OI6+~)Ir40ZorkinSc;VAKX;4Nsp`>wliq^x zK%I~DnmP{dCSM#hZNK_e?t{_GJ$-F^XLnmIZUOE!@b#Z(Zh|*G@OS#2pLpaC<(Yr9 zFZ`i@;qSjxqMkSygd$WE`ldW<;Q7N}65hQ4wGR4O_K)!-gaXj;U2u*JGZT zrpv=`GI3Nh4<2H`HbqR39mFn}MqiwD_+iz9m*wHW@%$%F&!2ho_((Yvp4Ri#QEPX~ zuG1QMczi_LAjRl-vWo;`8>HRBvsIXsU!owQ)Z+<5IDI*DZYPdko?K5|oynlh5?3mo zh0vy0R(8u9mi>;D5+x_lfZ{YPssqHk*+)+7bEMgY_jcmkLMDcS%`C1&ZxILy%CdOi zJ(OG)Bno1QZiC!9QUW0bf4|8r!S@#v^cJ+vnRy99uYusp+5KW#zX*UG;wG2oxqz2Q ziy(!m<~1>Wlh*1INM3Zc-8;PUJuk+;v%4z0+}nQrx>kSq*T&=)kYB&%-nYKQ>|Xt? z+#8sSJ6I&lEbnCjxh@%oKjRm>i%)-X#;@!y$G*0GZFe2u-!`V1P_z+RM`aK#dMPyf zMr)`MntCHw@a*4E!+N7fAr|i(Z|X9q`QWgsR-H<)lm!`$p~A9{DIi^XY(E z=e%}e+|kD7-Q00dmV+xvJx#T=9;nvQ(a9;2QlZt(R*#frPg!=PqU_(iq4&+@oxA_d zOdA#jMkhxg?g=H6Rq3_TMt2&aP-w%O)S?xB{q+;VAOyksK)bT871P01=e_O5xw@>Y zf|shzn+@AA*3Iu@j6$ok>ZMNM)h5xtiEr)!MsI8v<^=`SN(qJ2^VtKnx+13RmpzC5 zj$i-u$r)R6^h(jW(d>C9Kr%7=SiKEOi7>p<5k(xXwB*S->zL82*1b7IKtdpeNZB38 zrI41z_j@tBpv1mFj)(;I4{y*I$z~+k6GYH97%7oU;GsMq)VT>SNP*?BpAf&ySUSB` zECx&-ooxn%b!AnjJ=8j!b07$zEQAjG-@IcxK4T#fB(Wr)(_0^W|L#5K(+SFsMGK=l z?O05nMB0wdilDtSdMAvIn3Bv@5k-s`jM^L)6HB2i3n509T6vc@QuFh1cX*q(7uUko zpWJ-u&EEn9^n#c3S$XxtSO0U3|L(J*a2w&y?)uhzc9pBT>-{m`3Ucq? zPtQ-n;n5qXoX&1871v$!*YAE$KD*RcO;H#^vyNBFWJ`19lS0~mpgfvO1XF3 z*PC}|%PYG}y!yiS?*Geiin9%f3GWHK3Geyq_=ew?@AyCCFMO&iztojJd|}+o*n&We zAGT zPLad%z~gV;^Zj4^CA*#Q>B|YJ#;)x6?(x8vFCQ7RIVvrXOGf*k95Ut0j&(aT))ODz zKT@|wKb@gf@*&ZBBBsdy%iOy)IkF{JdY}8gL;%RFI(@o1oSR-|%=98N$xJf+|G%I& znNc=0&5#_jZ>Op<6F@}li|fI60LZNBAw{)Bg>|1o0^zX(f!H2v`(>>#MS3xpx@#LX zcuM-RE)J;hQubz|KBzpb89j7DRhpP<(l3@qgR)$&=wNM7b*Cx$z?=?XMiues zPEJTrVg-Ftrl*PZx_EjCUno{!TQ?4enUtTPb}s9J1|`Ns&kHFYocO#u5xLX3cpaz- zUcF8(%oS`E`H@5zkDzLB zmH?TAG>?VpnC=~gz9F(}E!hrxhaqa8o89Zu(N=Q{KMlrgxH{+)QR<>9)&vwH-iyX_C`c8B}V8Plba;ZrR< ztI(U*b4vGlVYRxi+80^4notg2o7lrp8M470S)EcUm@ywS8cv86wxX16W%=V9(=?$u zaeWCKkBM!GUScDaFq)k9MecgJ&{`qe%<1!iWmyoNu`cww(q%(5aXKCdX=XXUfEaU_ zK>S`*6_(2j(;*PT6Ixc*tsnx2IkT$JUyJuIq>UsAtgv+>C8KQSMD;1Sr0Ltm%biqN zUS6>nu-97}lMoW?`bG>B>$+0bDo*5hqCEfmzo7i5zrjWT#(Jgpg<2ai214?tTJS}TGwQk2tHwdeD3Kfm(~gyn zPKg+ji}R>cNXC?y=7e=6A2Qoo3BhYyMV0yK2^ f{Rs@A(I>>p`)3t<3XDFDf8M_ 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 O0000 Date: Sat, 28 Jul 2018 11:31:37 +0200 Subject: [PATCH 13/37] fix NPE --- app/src/main/java/info/nightscout/androidaps/db/BgReading.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/db/BgReading.java b/app/src/main/java/info/nightscout/androidaps/db/BgReading.java index 5ddb7a80b2..5fb4093c21 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/BgReading.java +++ b/app/src/main/java/info/nightscout/androidaps/db/BgReading.java @@ -142,7 +142,7 @@ public class BgReading implements DataPointWithLabelInterface { return false; if (raw != other.raw) return false; - if (!direction.equals(other.direction)) + if (!Objects.equals(direction, other.direction)) return false; if (!Objects.equals(_id, other._id)) return false; From e462ae9c55957414dd0c18f168b4a3bd8d7299f4 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 28 Jul 2018 13:27:54 +0200 Subject: [PATCH 14/37] gource example --- gource/sample.bat | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 gource/sample.bat diff --git a/gource/sample.bat b/gource/sample.bat new file mode 100644 index 0000000000..48033f0651 --- /dev/null +++ b/gource/sample.bat @@ -0,0 +1,2 @@ +gource -1024x768 --stop-position 1.0 --highlight-all-users --hide-filenames --seconds-per-day 0.08 --max-file-lag 0.1 --output-framerate 60 --output-ppm-stream output.ppm -logo c:\github\androidaps\logo\notif_icon.png c:\github\androidaps +"c:\program files\ffmpeg\bin\ffmpeg" -y -r 60 -f image2pipe -vcodec ppm -i output.ppm -vcodec libx264 -preset ultrafast -pix_fmt yuv420p -crf 1 -threads 0 -bf 0 aaps.mp4 \ No newline at end of file From b8a41e5f5b5cdee65173810cf916c61f9d2b10aa Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 28 Jul 2018 13:55:16 +0200 Subject: [PATCH 15/37] ALARM logging --- .../java/info/nightscout/androidaps/Config.java | 1 + .../java/info/nightscout/androidaps/Constants.java | 1 + .../androidaps/Services/AlarmSoundService.java | 14 ++++++++++---- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index 04f40669e7..3612ee8898 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -39,6 +39,7 @@ public class Config { public static final boolean logBgSource = true; public static final boolean logOverview = true; public static final boolean logNotification = true; + public static final boolean logAlarm = false; // DanaR specific public static final boolean logDanaBTComm = true; diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index 6b2f3d4ac1..0b9c0a408e 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -75,4 +75,5 @@ public class Constants { public static final String BGSOURCE = "BGSOURCE"; public static final String OVERVIEW = "OVERVIEW"; public static final String NOTIFICATION = "NOTIFICATION"; + public static final String ALARM = "ALARM"; } diff --git a/app/src/main/java/info/nightscout/androidaps/Services/AlarmSoundService.java b/app/src/main/java/info/nightscout/androidaps/Services/AlarmSoundService.java index f453b04d36..87fd77ca04 100644 --- a/app/src/main/java/info/nightscout/androidaps/Services/AlarmSoundService.java +++ b/app/src/main/java/info/nightscout/androidaps/Services/AlarmSoundService.java @@ -13,11 +13,13 @@ import org.slf4j.LoggerFactory; import java.io.IOException; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; public class AlarmSoundService extends Service { - private static Logger log = LoggerFactory.getLogger(AlarmSoundService.class); + private static Logger log = LoggerFactory.getLogger(Constants.ALARM); MediaPlayer player; int resourceId = R.raw.error; @@ -34,13 +36,15 @@ public class AlarmSoundService extends Service { @Override public void onCreate() { super.onCreate(); - log.debug("onCreate"); + if (Config.logAlarm) + log.debug("onCreate"); } public int onStartCommand(Intent intent, int flags, int startId) { if (player != null && player.isPlaying()) player.stop(); - log.debug("onStartCommand"); + if (Config.logAlarm) + log.debug("onStartCommand"); if (intent != null && intent.hasExtra("soundid")) resourceId = intent.getIntExtra("soundid", R.raw.error); @@ -55,7 +59,7 @@ public class AlarmSoundService extends Service { log.error("Unhandled exception", e); } player.setLooping(true); // Set looping - AudioManager manager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE); + AudioManager manager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE); if (manager == null || !manager.isMusicActive()) { player.setVolume(100, 100); } @@ -74,5 +78,7 @@ public class AlarmSoundService extends Service { public void onDestroy() { player.stop(); player.release(); + if (Config.logAlarm) + log.debug("onDestroy"); } } From a7efa317be097e784734e72d48a9791698b1d801 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 28 Jul 2018 16:26:36 +0200 Subject: [PATCH 16/37] DATA logging & refactor --- .../info/nightscout/androidaps/Config.java | 4 + .../info/nightscout/androidaps/Constants.java | 4 + .../nightscout/androidaps/MainActivity.java | 4 +- .../androidaps/Services/DataService.java | 123 ++++-------------- .../ConfigBuilder/ConfigBuilderPlugin.java | 9 -- .../androidaps/plugins/Food/FoodService.java | 22 +++- .../NSClientInternal/data/NSDeviceStatus.java | 44 ++++++- .../data/NSSettingsStatus.java | 78 ++++++++++- .../plugins/Treatments/Treatment.java | 2 - .../plugins/Treatments/TreatmentService.java | 68 ++++++---- .../Treatments/TreatmentsFragment.java | 2 - .../plugins/Treatments/TreatmentsPlugin.java | 16 ++- .../fragments/ProfileViewerDialog.java | 2 - .../fragments/TreatmentsBolusFragment.java | 2 - .../TreatmentsExtendedBolusesFragment.java | 2 - 15 files changed, 222 insertions(+), 160 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index 3612ee8898..4ee5371cd1 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -40,6 +40,10 @@ public class Config { public static final boolean logOverview = true; public static final boolean logNotification = true; public static final boolean logAlarm = false; + public static final boolean logDataService = true; + public static final boolean logDataNS = true; + public static final boolean logDataFood = true; + public static final boolean logDataTreatments = true; // DanaR specific public static final boolean logDanaBTComm = true; diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index 0b9c0a408e..6e54954cc6 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -76,4 +76,8 @@ public class Constants { public static final String OVERVIEW = "OVERVIEW"; public static final String NOTIFICATION = "NOTIFICATION"; public static final String ALARM = "ALARM"; + public static final String DATASERVICE = "DATASERVICE"; + public static final String DATANS = "DATANS"; + public static final String DATAFOOD = "DATAFOOD"; + public static final String DATATREATMENTS = "DATATREATMENTS"; } diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.java b/app/src/main/java/info/nightscout/androidaps/MainActivity.java index ea8948abdd..1742f3349f 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.java @@ -44,8 +44,8 @@ import info.nightscout.androidaps.events.EventFeatureRunning; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.events.EventRefreshGui; import info.nightscout.androidaps.interfaces.PluginBase; -import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Food.FoodPlugin; +import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSettingsStatus; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.androidaps.setupwizard.SetupWizardActivity; import info.nightscout.androidaps.tabs.TabPageAdapter; @@ -400,7 +400,7 @@ public class MainActivity extends AppCompatActivity { builder.setIcon(R.mipmap.blueowl); String message = "Build: " + BuildConfig.BUILDVERSION + "\n"; message += "Flavor: " + BuildConfig.FLAVOR + BuildConfig.BUILD_TYPE + "\n"; - message += MainApp.gs(R.string.configbuilder_nightscoutversion_label) + " " + ConfigBuilderPlugin.nightscoutVersionName; + message += MainApp.gs(R.string.configbuilder_nightscoutversion_label) + " " + NSSettingsStatus.getInstance().nightscoutVersionName; if (MainApp.engineeringMode) message += "\n" + MainApp.gs(R.string.engineering_mode_enabled); message += MainApp.gs(R.string.about_link_urls); diff --git a/app/src/main/java/info/nightscout/androidaps/Services/DataService.java b/app/src/main/java/info/nightscout/androidaps/Services/DataService.java index a254f9bf5f..6efc770246 100644 --- a/app/src/main/java/info/nightscout/androidaps/Services/DataService.java +++ b/app/src/main/java/info/nightscout/androidaps/Services/DataService.java @@ -2,7 +2,6 @@ package info.nightscout.androidaps.Services; import android.app.IntentService; import android.content.Intent; -import android.content.pm.PackageManager; import android.os.Bundle; import android.provider.Telephony; @@ -13,18 +12,15 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.events.EventNsFood; import info.nightscout.androidaps.events.EventNsTreatment; -import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; -import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSDeviceStatus; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSMbg; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSettingsStatus; -import info.nightscout.androidaps.plugins.Overview.OverviewPlugin; -import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.ProfileNS.NSProfilePlugin; @@ -43,7 +39,7 @@ import info.nightscout.utils.SP; public class DataService extends IntentService { - private static Logger log = LoggerFactory.getLogger(DataService.class); + private Logger log = LoggerFactory.getLogger(Constants.DATASERVICE); public DataService() { super("DataService"); @@ -52,8 +48,10 @@ public class DataService extends IntentService { @Override protected void onHandleIntent(final Intent intent) { - if (Config.logFunctionCalls) + if (Config.logDataService) { + log.debug("onHandleIntent " + intent); log.debug("onHandleIntent " + BundleLogger.log(intent.getExtras())); + } boolean acceptNSData = !SP.getBoolean(R.string.key_ns_upload_only, false); Bundle bundles = intent.getExtras(); @@ -78,15 +76,23 @@ public class DataService extends IntentService { } else if (Intents.ACTION_NEW_PROFILE.equals(action)) { // always handle Profile if NSProfile is enabled without looking at nsUploadOnly NSProfilePlugin.getPlugin().handleNewData(intent); + } else if (Intents.ACTION_NEW_DEVICESTATUS.equals(action)) { + NSDeviceStatus.getInstance().handleNewData(intent); + } else if (Intents.ACTION_NEW_STATUS.equals(action)) { + NSSettingsStatus.getInstance().handleNewData(intent); + } else if (Intents.ACTION_NEW_FOOD.equals(action)) { + EventNsFood evt = new EventNsFood(EventNsFood.ADD, bundles); + MainApp.bus().post(evt); + } else if (Intents.ACTION_CHANGED_FOOD.equals(action)) { + EventNsFood evt = new EventNsFood(EventNsFood.UPDATE, bundles); + MainApp.bus().post(evt); + } else if (Intents.ACTION_REMOVED_FOOD.equals(action)) { + EventNsFood evt = new EventNsFood(EventNsFood.REMOVE, bundles); + MainApp.bus().post(evt); } else if (acceptNSData && (Intents.ACTION_NEW_TREATMENT.equals(action) || Intents.ACTION_CHANGED_TREATMENT.equals(action) || Intents.ACTION_REMOVED_TREATMENT.equals(action) || - Intents.ACTION_NEW_STATUS.equals(action) || - Intents.ACTION_NEW_DEVICESTATUS.equals(action) || - Intents.ACTION_NEW_FOOD.equals(action) || - Intents.ACTION_CHANGED_FOOD.equals(action) || - Intents.ACTION_REMOVED_FOOD.equals(action) || Intents.ACTION_NEW_CAL.equals(action) || Intents.ACTION_NEW_MBG.equals(action)) ) { @@ -95,7 +101,7 @@ public class DataService extends IntentService { SmsCommunicatorPlugin.getPlugin().handleNewData(intent); } - if (Config.logFunctionCalls) + if (Config.logDataService) log.debug("onHandleIntent exit " + intent); DataReceiver.completeWakefulIntent(intent); } @@ -122,79 +128,6 @@ public class DataService extends IntentService { log.debug("Got intent: " + intent.getAction()); - if (intent.getAction().equals(Intents.ACTION_NEW_STATUS)) { - if (bundles.containsKey("nsclientversioncode")) { - ConfigBuilderPlugin.nightscoutVersionCode = bundles.getInt("nightscoutversioncode"); // for ver 1.2.3 contains 10203 - ConfigBuilderPlugin.nightscoutVersionName = bundles.getString("nightscoutversionname"); - ConfigBuilderPlugin.nsClientVersionCode = bundles.getInt("nsclientversioncode"); // for ver 1.17 contains 117 - ConfigBuilderPlugin.nsClientVersionName = bundles.getString("nsclientversionname"); - log.debug("Got versions: NSClient: " + ConfigBuilderPlugin.nsClientVersionName + " Nightscout: " + ConfigBuilderPlugin.nightscoutVersionName); - try { - if (ConfigBuilderPlugin.nsClientVersionCode < MainApp.instance().getPackageManager().getPackageInfo(MainApp.instance().getPackageName(), 0).versionCode) { - Notification notification = new Notification(Notification.OLD_NSCLIENT, MainApp.gs(R.string.unsupportedclientver), Notification.URGENT); - MainApp.bus().post(new EventNewNotification(notification)); - } else { - MainApp.bus().post(new EventDismissNotification(Notification.OLD_NSCLIENT)); - } - } catch (PackageManager.NameNotFoundException e) { - log.error("Unhandled exception", e); - } - if (ConfigBuilderPlugin.nightscoutVersionCode < Config.SUPPORTEDNSVERSION) { - Notification notification = new Notification(Notification.OLD_NS, MainApp.gs(R.string.unsupportednsversion), Notification.NORMAL); - MainApp.bus().post(new EventNewNotification(notification)); - } else { - MainApp.bus().post(new EventDismissNotification(Notification.OLD_NS)); - } - } else { - Notification notification = new Notification(Notification.OLD_NSCLIENT, MainApp.gs(R.string.unsupportedclientver), Notification.URGENT); - MainApp.bus().post(new EventNewNotification(notification)); - } - if (bundles.containsKey("status")) { - try { - JSONObject statusJson = new JSONObject(bundles.getString("status")); - NSSettingsStatus.getInstance().setData(statusJson); - if (Config.logIncommingData) - log.debug("Received status: " + statusJson.toString()); - Double targetHigh = NSSettingsStatus.getInstance().getThreshold("bgTargetTop"); - Double targetlow = NSSettingsStatus.getInstance().getThreshold("bgTargetBottom"); - if (targetHigh != null) - OverviewPlugin.bgTargetHigh = targetHigh; - if (targetlow != null) - OverviewPlugin.bgTargetLow = targetlow; - } catch (JSONException e) { - log.error("Unhandled exception", e); - } - } - } - if (intent.getAction().equals(Intents.ACTION_NEW_DEVICESTATUS)) { - try { - if (bundles.containsKey("devicestatus")) { - JSONObject devicestatusJson = new JSONObject(bundles.getString("devicestatus")); - NSDeviceStatus.getInstance().setData(devicestatusJson); - if (devicestatusJson.has("pump")) { - // Objectives 0 - ObjectivesPlugin.pumpStatusIsAvailableInNS = true; - ObjectivesPlugin.saveProgress(); - } - } - if (bundles.containsKey("devicestatuses")) { - String devicestatusesstring = bundles.getString("devicestatuses"); - JSONArray jsonArray = new JSONArray(devicestatusesstring); - for (int i = 0; i < jsonArray.length(); i++) { - JSONObject devicestatusJson = jsonArray.getJSONObject(i); - NSDeviceStatus.getInstance().setData(devicestatusJson); - if (devicestatusJson.has("pump")) { - // Objectives 0 - ObjectivesPlugin.pumpStatusIsAvailableInNS = true; - ObjectivesPlugin.saveProgress(); - } - } - } - } catch (Exception e) { - log.error("Unhandled exception", e); - } - } - if (intent.getAction().equals(Intents.ACTION_NEW_TREATMENT) || intent.getAction().equals(Intents.ACTION_CHANGED_TREATMENT)) { try { if (bundles.containsKey("treatment")) { @@ -219,7 +152,7 @@ public class DataService extends IntentService { if (bundles.containsKey("treatment")) { String trstring = bundles.getString("treatment"); JSONObject json = new JSONObject(trstring); - handleTreatmentFromNS(json); + handleRemovedTreatmentFromNS(json); } if (bundles.containsKey("treatments")) { @@ -227,7 +160,7 @@ public class DataService extends IntentService { JSONArray jsonArray = new JSONArray(trstring); for (int i = 0; i < jsonArray.length(); i++) { JSONObject json = jsonArray.getJSONObject(i); - handleTreatmentFromNS(json); + handleRemovedTreatmentFromNS(json); } } } catch (JSONException e) { @@ -255,21 +188,9 @@ public class DataService extends IntentService { log.error("Unhandled exception", e); } } - - if (intent.getAction().equals(Intents.ACTION_NEW_FOOD) - || intent.getAction().equals(Intents.ACTION_CHANGED_FOOD)) { - int mode = Intents.ACTION_NEW_FOOD.equals(intent.getAction()) ? EventNsFood.ADD : EventNsFood.UPDATE; - EventNsFood evt = new EventNsFood(mode, bundles); - MainApp.bus().post(evt); - } - - if (intent.getAction().equals(Intents.ACTION_REMOVED_FOOD)) { - EventNsFood evt = new EventNsFood(EventNsFood.REMOVE, bundles); - MainApp.bus().post(evt); - } } - private void handleTreatmentFromNS(JSONObject json) { + private void handleRemovedTreatmentFromNS(JSONObject json) { // new DB model EventNsTreatment evtTreatment = new EventNsTreatment(EventNsTreatment.REMOVE, json); MainApp.bus().post(evtTreatment); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java index 886eeb3db7..eb35a3cc60 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java @@ -70,15 +70,9 @@ public class ConfigBuilderPlugin extends PluginBase { private static ProfileInterface activeProfile; private static TreatmentsInterface activeTreatments; private static APSInterface activeAPS; - private static LoopPlugin activeLoop; private static InsulinInterface activeInsulin; private static SensitivityInterface activeSensitivity; - static public String nightscoutVersionName = ""; - static public Integer nightscoutVersionCode = 0; - static public String nsClientVersionName = ""; - static public Integer nsClientVersionCode = 0; - private static ArrayList pluginList; private static CommandQueue commandQueue = new CommandQueue(); @@ -337,9 +331,6 @@ public class ConfigBuilderPlugin extends PluginBase { } this.setFragmentVisiblities(((PluginBase) activePump).getName(), pluginsInCategory, PluginType.PUMP); - // PluginType.LOOP - activeLoop = this.determineActivePlugin(PluginType.LOOP); - // PluginType.TREATMENT activeTreatments = this.determineActivePlugin(PluginType.TREATMENT); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Food/FoodService.java b/app/src/main/java/info/nightscout/androidaps/plugins/Food/FoodService.java index 44b96850ae..f1e4159248 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Food/FoodService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Food/FoodService.java @@ -27,6 +27,8 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.db.ICallback; @@ -39,7 +41,7 @@ import info.nightscout.androidaps.events.EventNsFood; */ public class FoodService extends OrmLiteBaseService { - private static Logger log = LoggerFactory.getLogger(FoodService.class); + private Logger log = LoggerFactory.getLogger(Constants.DATAFOOD); private static final ScheduledExecutorService foodEventWorker = Executors.newSingleThreadScheduledExecutor(); private static ScheduledFuture scheduledFoodEventPost = null; @@ -110,7 +112,8 @@ public class FoodService extends OrmLiteBaseService { public void onCreate() { super.onCreate(); try { - log.info("onCreate"); + if (Config.logDataFood) + log.info("onCreate"); TableUtils.createTableIfNotExists(this.getConnectionSource(), Food.class); } catch (SQLException e) { log.error("Can't create database", e); @@ -122,7 +125,8 @@ public class FoodService extends OrmLiteBaseService { if (oldVersion == 7 && newVersion == 8) { log.debug("Upgrading database from v7 to v8"); } else { - log.info("onUpgrade"); + if (Config.logDataFood) + log.info("onUpgrade"); // this.resetFood(); } } @@ -161,7 +165,8 @@ public class FoodService extends OrmLiteBaseService { class PostRunnable implements Runnable { public void run() { - log.debug("Firing EventFoodChange"); + if (Config.logDataFood) + log.debug("Firing EventFoodChange"); MainApp.bus().post(event); callback.setPost(null); } @@ -271,7 +276,8 @@ public class FoodService extends OrmLiteBaseService { public void deleteByNSId(String _id) throws SQLException { Food stored = this.findByNSId(_id); if (stored != null) { - log.debug("FOOD: Removing Food record from database: " + stored.toString()); + if (Config.logDataFood) + log.debug("Removing Food record from database: " + stored.toString()); this.delete(stored); } } @@ -324,7 +330,8 @@ public class FoodService extends OrmLiteBaseService { public void createOrUpdate(Food food) { try { this.getDao().createOrUpdate(food); - log.debug("FOOD: Created or Updated: " + food.toString()); + if (Config.logDataFood) + log.debug("Created or Updated: " + food.toString()); } catch (SQLException e) { log.error("Unable to createOrUpdate Food", e); } @@ -334,7 +341,8 @@ public class FoodService extends OrmLiteBaseService { public void create(Food food) { try { this.getDao().create(food); - log.debug("FOOD: New record: " + food.toString()); + if (Config.logDataFood) + log.debug("New record: " + food.toString()); } catch (SQLException e) { log.error("Unable to create Food", e); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSDeviceStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSDeviceStatus.java index 29d1b33467..e39f717af2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSDeviceStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSDeviceStatus.java @@ -1,8 +1,11 @@ package info.nightscout.androidaps.plugins.NSClientInternal.data; +import android.content.Intent; +import android.os.Bundle; import android.text.Html; import android.text.Spanned; +import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.slf4j.Logger; @@ -12,8 +15,12 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin; import info.nightscout.androidaps.plugins.Loop.APSResult; +import info.nightscout.utils.BundleLogger; import info.nightscout.utils.DateUtil; import info.nightscout.utils.Round; import info.nightscout.utils.SP; @@ -73,7 +80,7 @@ import info.nightscout.utils.SP; } */ public class NSDeviceStatus { - private static Logger log = LoggerFactory.getLogger(NSDeviceStatus.class); + private Logger log = LoggerFactory.getLogger(Constants.DATANS); private static NSDeviceStatus instance = null; @@ -88,6 +95,41 @@ public class NSDeviceStatus { public NSDeviceStatus() { } + public void handleNewData(Intent intent) { + Bundle bundle = intent.getExtras(); + if (bundle == null) return; + + if (Config.logDataNS) + log.debug("Got NS devicestatus: " + BundleLogger.log(bundle)); + + try { + if (bundle.containsKey("devicestatus")) { + JSONObject devicestatusJson = new JSONObject(bundle.getString("devicestatus")); + setData(devicestatusJson); + if (devicestatusJson.has("pump")) { + // Objectives 0 + ObjectivesPlugin.pumpStatusIsAvailableInNS = true; + ObjectivesPlugin.saveProgress(); + } + } + if (bundle.containsKey("devicestatuses")) { + String devicestatusesstring = bundle.getString("devicestatuses"); + JSONArray jsonArray = new JSONArray(devicestatusesstring); + for (int i = 0; i < jsonArray.length(); i++) { + JSONObject devicestatusJson = jsonArray.getJSONObject(i); + setData(devicestatusJson); + if (devicestatusJson.has("pump")) { + // Objectives 0 + ObjectivesPlugin.pumpStatusIsAvailableInNS = true; + ObjectivesPlugin.saveProgress(); + } + } + } + } catch (Exception e) { + log.error("Unhandled exception", e); + } + } + public NSDeviceStatus setData(JSONObject obj) { this.data = obj; updatePumpData(obj); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSettingsStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSettingsStatus.java index 8d09a05146..d5d52fd68a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSettingsStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSettingsStatus.java @@ -1,5 +1,8 @@ package info.nightscout.androidaps.plugins.NSClientInternal.data; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.os.Bundle; import android.support.annotation.Nullable; import org.json.JSONException; @@ -10,6 +13,16 @@ import org.slf4j.LoggerFactory; import java.util.Date; import java.util.Objects; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.R; +import info.nightscout.androidaps.plugins.Overview.OverviewPlugin; +import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; +import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; +import info.nightscout.androidaps.plugins.Overview.notifications.Notification; +import info.nightscout.utils.BundleLogger; + /* { "status": "ok", @@ -101,7 +114,7 @@ import java.util.Objects; } */ public class NSSettingsStatus { - private static Logger log = LoggerFactory.getLogger(NSSettingsStatus.class); + private Logger log = LoggerFactory.getLogger(Constants.DATANS); private static NSSettingsStatus instance = null; @@ -111,6 +124,8 @@ public class NSSettingsStatus { return instance; } + public String nightscoutVersionName = ""; + private JSONObject data = null; public NSSettingsStatus() { @@ -121,6 +136,59 @@ public class NSSettingsStatus { return this; } + public void handleNewData(Intent intent) { + Bundle bundle = intent.getExtras(); + if (bundle == null) return; + + if (Config.logDataNS) + log.debug("Got NS status: " + BundleLogger.log(bundle)); + + if (bundle.containsKey("nsclientversioncode")) { + + Integer nightscoutVersionCode = bundle.getInt("nightscoutversioncode"); + nightscoutVersionName = bundle.getString("nightscoutversionname"); + Integer nsClientVersionCode = bundle.getInt("nsclientversioncode"); + String nsClientVersionName = bundle.getString("nsclientversionname"); + if (Config.logDataNS) + log.debug("Got versions: NSClient: " + nsClientVersionName + " Nightscout: " + nightscoutVersionName); + try { + if (nsClientVersionCode < MainApp.instance().getPackageManager().getPackageInfo(MainApp.instance().getPackageName(), 0).versionCode) { + Notification notification = new Notification(Notification.OLD_NSCLIENT, MainApp.gs(R.string.unsupportedclientver), Notification.URGENT); + MainApp.bus().post(new EventNewNotification(notification)); + } else { + MainApp.bus().post(new EventDismissNotification(Notification.OLD_NSCLIENT)); + } + } catch (PackageManager.NameNotFoundException e) { + log.error("Unhandled exception", e); + } + if (nightscoutVersionCode < Config.SUPPORTEDNSVERSION) { + Notification notification = new Notification(Notification.OLD_NS, MainApp.gs(R.string.unsupportednsversion), Notification.NORMAL); + MainApp.bus().post(new EventNewNotification(notification)); + } else { + MainApp.bus().post(new EventDismissNotification(Notification.OLD_NS)); + } + } else { + Notification notification = new Notification(Notification.OLD_NSCLIENT, MainApp.gs(R.string.unsupportedclientver), Notification.URGENT); + MainApp.bus().post(new EventNewNotification(notification)); + } + if (bundle.containsKey("status")) { + try { + JSONObject statusJson = new JSONObject(bundle.getString("status")); + setData(statusJson); + if (Config.logDataNS) + log.debug("Received status: " + statusJson.toString()); + Double targetHigh = getThreshold("bgTargetTop"); + Double targetlow = getThreshold("bgTargetBottom"); + if (targetHigh != null) + OverviewPlugin.bgTargetHigh = targetHigh; + if (targetlow != null) + OverviewPlugin.bgTargetLow = targetlow; + } catch (JSONException e) { + log.error("Unhandled exception", e); + } + } + } + public String getName() { return getStringOrNull("name"); } @@ -134,7 +202,7 @@ public class NSSettingsStatus { } public Date getServerTime() { - return getDateOrNull("versionNum"); + return getDateOrNull("serverTime"); } public boolean getApiEnabled() { @@ -202,13 +270,11 @@ public class NSSettingsStatus { if (settingsO.has("thresholds")) { JSONObject tObject = settingsO.getJSONObject("thresholds"); if (tObject.has(what)) { - Double result = tObject.getDouble(what); - return result; + return tObject.getDouble(what); } } if (settingsO.has("alarmTimeagoWarnMins") && Objects.equals(what, "alarmTimeagoWarnMins")) { - Double result = settingsO.getDouble(what); - return result; + return settingsO.getDouble(what); } } } catch (JSONException e) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/Treatment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/Treatment.java index 73423c0eab..401d808e60 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/Treatment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/Treatment.java @@ -29,8 +29,6 @@ import info.nightscout.utils.JsonHelper; @DatabaseTable(tableName = Treatment.TABLE_TREATMENTS) public class Treatment implements DataPointWithLabelInterface { - private static Logger log = LoggerFactory.getLogger(Treatment.class); - public static final String TABLE_TREATMENTS = "Treatments"; @DatabaseField(id = true) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentService.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentService.java index e701986e89..b219522102 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentService.java @@ -29,6 +29,8 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.db.ICallback; @@ -46,7 +48,7 @@ import info.nightscout.utils.JsonHelper; */ public class TreatmentService extends OrmLiteBaseService { - private static Logger log = LoggerFactory.getLogger(TreatmentService.class); + private static Logger log = LoggerFactory.getLogger(Constants.DATATREATMENTS); private static final ScheduledExecutorService treatmentEventWorker = Executors.newSingleThreadScheduledExecutor(); private static ScheduledFuture scheduledTreatmentEventPost = null; @@ -102,7 +104,8 @@ public class TreatmentService extends OrmLiteBaseService { public void onCreate() { super.onCreate(); try { - log.info("onCreate"); + if (Config.logDataTreatments) + log.info("onCreate"); TableUtils.createTableIfNotExists(this.getConnectionSource(), Treatment.class); } catch (SQLException e) { log.error("Can't create database", e); @@ -121,7 +124,8 @@ public class TreatmentService extends OrmLiteBaseService { throw new RuntimeException(e); } } else { - log.info("onUpgrade"); + if (Config.logDataTreatments) + log.info("onUpgrade"); // this.resetFood(); } } @@ -161,10 +165,14 @@ public class TreatmentService extends OrmLiteBaseService { class PostRunnable implements Runnable { public void run() { - log.debug("Firing EventFoodChange"); + if (Config.logDataTreatments) + log.debug("Firing EventReloadTreatmentData"); MainApp.bus().post(event); - if (DatabaseHelper.earliestDataChange != null) + if (DatabaseHelper.earliestDataChange != null) { + if (Config.logDataTreatments) + log.debug("Firing EventNewHistoryData"); MainApp.bus().post(new EventNewHistoryData(DatabaseHelper.earliestDataChange)); + } DatabaseHelper.earliestDataChange = null; callback.setPost(null); } @@ -252,13 +260,14 @@ public class TreatmentService extends OrmLiteBaseService { if (existingTreatment != null) { boolean equalRePumpHistory = existingTreatment.equalsRePumpHistory(treatment); boolean sameSource = existingTreatment.source == treatment.source; - if(!equalRePumpHistory) { + if (!equalRePumpHistory) { // another treatment exists. Update it with the treatment coming from the pump - log.debug("TREATMENT: Pump record already found in database: " + existingTreatment.toString() + " wanting to add " + treatment.toString()); + if (Config.logDataTreatments) + log.debug("Pump record already found in database: " + existingTreatment.toString() + " wanting to add " + treatment.toString()); long oldDate = existingTreatment.date; //preserve carbs - if(existingTreatment.isValid && existingTreatment.carbs > 0 && treatment.carbs == 0){ + if (existingTreatment.isValid && existingTreatment.carbs > 0 && treatment.carbs == 0) { treatment.carbs = existingTreatment.carbs; } @@ -278,13 +287,14 @@ public class TreatmentService extends OrmLiteBaseService { boolean equalRePumpHistory = existingTreatment.equalsRePumpHistory(treatment); boolean sameSource = existingTreatment.source == treatment.source; long oldDate = existingTreatment.date; - log.debug("TREATMENT: Pump record already found in database: " + existingTreatment.toString() + " wanting to add " + treatment.toString()); + if (Config.logDataTreatments) + log.debug("Pump record already found in database: " + existingTreatment.toString() + " wanting to add " + treatment.toString()); //preserve carbs - if(existingTreatment.isValid && existingTreatment.carbs > 0 && treatment.carbs == 0){ + if (existingTreatment.isValid && existingTreatment.carbs > 0 && treatment.carbs == 0) { treatment.carbs = existingTreatment.carbs; } - + getDao().delete(existingTreatment); // need to delete/create because date may change too existingTreatment.copyFrom(treatment); getDao().create(existingTreatment); @@ -294,7 +304,8 @@ public class TreatmentService extends OrmLiteBaseService { return new UpdateReturn(equalRePumpHistory || sameSource, false); } getDao().create(treatment); - log.debug("TREATMENT: New record from: " + Source.getString(treatment.source) + " " + treatment.toString()); + if (Config.logDataTreatments) + log.debug("New record from: " + Source.getString(treatment.source) + " " + treatment.toString()); DatabaseHelper.updateEarliestDataChange(treatment.date); scheduleTreatmentChange(treatment); return new UpdateReturn(true, true); @@ -308,7 +319,8 @@ public class TreatmentService extends OrmLiteBaseService { getDao().delete(old); // need to delete/create because date may change too old.copyFrom(treatment); getDao().create(old); - log.debug("TREATMENT: Updating record by date from: " + Source.getString(treatment.source) + " " + old.toString()); + if (Config.logDataTreatments) + log.debug("Updating record by date from: " + Source.getString(treatment.source) + " " + old.toString()); if (historyChange) { DatabaseHelper.updateEarliestDataChange(oldDate); DatabaseHelper.updateEarliestDataChange(old.date); @@ -328,7 +340,8 @@ public class TreatmentService extends OrmLiteBaseService { getDao().delete(old); // need to delete/create because date may change too old.copyFrom(treatment); getDao().create(old); - log.debug("TREATMENT: Updating record by _id from: " + Source.getString(treatment.source) + " " + old.toString()); + if (Config.logDataTreatments) + log.debug("Updating record by _id from: " + Source.getString(treatment.source) + " " + old.toString()); if (historyChange) { DatabaseHelper.updateEarliestDataChange(oldDate); DatabaseHelper.updateEarliestDataChange(old.date); @@ -339,14 +352,16 @@ public class TreatmentService extends OrmLiteBaseService { } } getDao().create(treatment); - log.debug("TREATMENT: New record from: " + Source.getString(treatment.source) + " " + treatment.toString()); + if (Config.logDataTreatments) + log.debug("New record from: " + Source.getString(treatment.source) + " " + treatment.toString()); DatabaseHelper.updateEarliestDataChange(treatment.date); scheduleTreatmentChange(treatment); return new UpdateReturn(true, true); } if (treatment.source == Source.USER) { getDao().create(treatment); - log.debug("TREATMENT: New record from: " + Source.getString(treatment.source) + " " + treatment.toString()); + if (Config.logDataTreatments) + log.debug("New record from: " + Source.getString(treatment.source) + " " + treatment.toString()); DatabaseHelper.updateEarliestDataChange(treatment.date); scheduleTreatmentChange(treatment); return new UpdateReturn(true, true); @@ -357,8 +372,10 @@ public class TreatmentService extends OrmLiteBaseService { return new UpdateReturn(false, false); } - /** Returns the record for the given id, null if none, throws RuntimeException - * if multiple records with the same pump id exist. */ + /** + * Returns the record for the given id, null if none, throws RuntimeException + * if multiple records with the same pump id exist. + */ @Nullable public Treatment getPumpRecordById(long pumpId) { try { @@ -368,9 +385,12 @@ public class TreatmentService extends OrmLiteBaseService { PreparedQuery preparedQuery = queryBuilder.prepare(); List result = getDao().query(preparedQuery); switch (result.size()) { - case 0: return null; - case 1: return result.get(0); - default: throw new RuntimeException("Multiple records with the same pump id found: " + result.toString()); + case 0: + return null; + case 1: + return result.get(0); + default: + throw new RuntimeException("Multiple records with the same pump id found: " + result.toString()); } } catch (SQLException e) { throw new RuntimeException(e); @@ -393,7 +413,8 @@ public class TreatmentService extends OrmLiteBaseService { private void deleteByNSId(String _id) { Treatment stored = findByNSId(_id); if (stored != null) { - log.debug("TREATMENT: Removing Treatment record from database: " + stored.toString()); + if (Config.logDataTreatments) + log.debug("Removing Treatment record from database: " + stored.toString()); delete(stored); DatabaseHelper.updateEarliestDataChange(stored.date); scheduleTreatmentChange(null); @@ -480,10 +501,11 @@ public class TreatmentService extends OrmLiteBaseService { } public class UpdateReturn { - public UpdateReturn(boolean success, boolean newRecord){ + public UpdateReturn(boolean success, boolean newRecord) { this.success = success; this.newRecord = newRecord; } + boolean newRecord; boolean success; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsFragment.java index ea75dfad6a..550522313d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsFragment.java @@ -27,8 +27,6 @@ import info.nightscout.androidaps.plugins.Treatments.fragments.TreatmentsTempora import info.nightscout.utils.FabricPrivacy; public class TreatmentsFragment extends SubscriberFragment implements View.OnClickListener { - private static Logger log = LoggerFactory.getLogger(TreatmentsFragment.class); - TextView treatmentsTab; TextView extendedBolusesTab; TextView tempBasalsTab; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java index b701f66afc..0a1ed1c2d7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java @@ -13,6 +13,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -55,7 +56,7 @@ import info.nightscout.utils.T; * Created by mike on 05.08.2016. */ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface { - private static Logger log = LoggerFactory.getLogger(TreatmentsPlugin.class); + private Logger log = LoggerFactory.getLogger(Constants.DATATREATMENTS); private static TreatmentsPlugin treatmentsPlugin; @@ -109,6 +110,8 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface } private void initializeTreatmentData() { + if (Config.logDataTreatments) + log.debug("initializeTreatmentData"); double dia = Constants.defaultDIA; if (MainApp.getConfigBuilder() != null && MainApp.getConfigBuilder().getProfile() != null) dia = MainApp.getConfigBuilder().getProfile().getDia(); @@ -120,6 +123,8 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface } private void initializeTempBasalData() { + if (Config.logDataTreatments) + log.debug("initializeTempBasalData"); double dia = Constants.defaultDIA; if (MainApp.getConfigBuilder() != null && MainApp.getConfigBuilder().getProfile() != null) dia = MainApp.getConfigBuilder().getProfile().getDia(); @@ -132,6 +137,8 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface } private void initializeExtendedBolusData() { + if (Config.logDataTreatments) + log.debug("initializeExtendedBolusData"); double dia = Constants.defaultDIA; if (MainApp.getConfigBuilder() != null && MainApp.getConfigBuilder().getProfile() != null) dia = MainApp.getConfigBuilder().getProfile().getDia(); @@ -144,6 +151,8 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface } private void initializeTempTargetData() { + if (Config.logDataTreatments) + log.debug("initializeTempTargetData"); synchronized (tempTargets) { long fromMills = System.currentTimeMillis() - 60 * 60 * 1000L * 24; tempTargets.reset().add(MainApp.getDbHelper().getTemptargetsDataFromTime(fromMills, false)); @@ -151,6 +160,8 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface } private void initializeProfileSwitchData() { + if (Config.logDataTreatments) + log.debug("initializeProfileSwitchData"); synchronized (profiles) { profiles.reset().add(MainApp.getDbHelper().getProfileSwitchData(false)); } @@ -294,6 +305,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface last = t.date; } } + if (Config.logDataTreatments) log.debug("Last bolus time: " + new Date(last).toLocaleString()); return last; } @@ -322,6 +334,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface @Subscribe public void onStatusEvent(final EventReloadTreatmentData ev) { + if (Config.logDataTreatments) log.debug("EventReloadTreatmentData"); initializeTreatmentData(); initializeExtendedBolusData(); @@ -332,6 +345,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface @Subscribe @SuppressWarnings("unused") public void onStatusEvent(final EventReloadTempBasalData ev) { + if (Config.logDataTreatments) log.debug("EventReloadTempBasalData"); initializeTempBasalData(); updateTotalIOBTempBasals(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/ProfileViewerDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/ProfileViewerDialog.java index 5f758c8a06..c2263d81b5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/ProfileViewerDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/ProfileViewerDialog.java @@ -31,8 +31,6 @@ public class ProfileViewerDialog extends DialogFragment { private long time; - private static Logger log = LoggerFactory.getLogger(ProfileViewDialog.class); - @BindView(R.id.profileview_noprofile) TextView noProfile; @BindView(R.id.profileview_invalidprofile) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsBolusFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsBolusFragment.java index 0faceb2382..ee62733596 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsBolusFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsBolusFragment.java @@ -46,8 +46,6 @@ import info.nightscout.utils.SP; import static info.nightscout.utils.DateUtil.now; public class TreatmentsBolusFragment extends SubscriberFragment implements View.OnClickListener { - private static Logger log = LoggerFactory.getLogger(TreatmentsBolusFragment.class); - RecyclerView recyclerView; LinearLayoutManager llm; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsExtendedBolusesFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsExtendedBolusesFragment.java index 05e18bfdc3..389965c6fd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsExtendedBolusesFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsExtendedBolusesFragment.java @@ -39,8 +39,6 @@ import info.nightscout.utils.NSUpload; public class TreatmentsExtendedBolusesFragment extends SubscriberFragment { - private static Logger log = LoggerFactory.getLogger(TreatmentsExtendedBolusesFragment.class); - RecyclerView recyclerView; LinearLayoutManager llm; From cfff357e6b6fc70fbaed44286a30fa94c6b497d0 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 28 Jul 2018 17:58:52 +0200 Subject: [PATCH 17/37] NSCLIENT logging --- .../info/nightscout/androidaps/Config.java | 2 +- .../info/nightscout/androidaps/Constants.java | 2 +- .../NSClientInternal/NSClientFragment.java | 2 - .../NSClientInternal/NSClientPlugin.java | 43 ++++++------ .../plugins/NSClientInternal/UploadQueue.java | 70 +++++++++---------- .../NSClientInternal/acks/NSAddAck.java | 16 +++-- .../NSClientInternal/acks/NSUpdateAck.java | 6 +- .../broadcasts/BroadcastAckAlarm.java | 1 - .../broadcasts/BroadcastAlarm.java | 2 - .../broadcasts/BroadcastAnnouncement.java | 2 - .../broadcasts/BroadcastCals.java | 2 - .../broadcasts/BroadcastClearAlarm.java | 2 - .../broadcasts/BroadcastDeviceStatus.java | 48 ------------- .../broadcasts/BroadcastFood.java | 2 - .../broadcasts/BroadcastMbgs.java | 2 - .../broadcasts/BroadcastProfile.java | 2 - .../broadcasts/BroadcastQueueStatus.java | 35 ---------- .../broadcasts/BroadcastSgvs.java | 23 ------ .../broadcasts/BroadcastStatus.java | 3 +- .../broadcasts/BroadcastTreatment.java | 47 +------------ .../broadcasts/BroadcastUrgentAlarm.java | 2 - .../NSClientInternal/data/DbLogger.java | 21 +++--- .../NSClientInternal/data/NSAlarm.java | 4 +- .../plugins/NSClientInternal/data/NSCal.java | 6 +- .../NSClientInternal/data/NSDeviceStatus.java | 4 +- .../plugins/NSClientInternal/data/NSMbg.java | 6 +- .../data/NSSettingsStatus.java | 8 +-- .../plugins/NSClientInternal/data/NSSgv.java | 4 +- .../NSClientInternal/data/NSTreatment.java | 4 +- .../receivers/AckAlarmReceiver.java | 7 +- .../receivers/DBAccessReceiver.java | 10 ++- .../services/NSClientService.java | 53 +++++++------- 32 files changed, 146 insertions(+), 295 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastQueueStatus.java diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index 4ee5371cd1..8096ba1486 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -41,9 +41,9 @@ public class Config { public static final boolean logNotification = true; public static final boolean logAlarm = false; public static final boolean logDataService = true; - public static final boolean logDataNS = true; public static final boolean logDataFood = true; public static final boolean logDataTreatments = true; + public static final boolean logNsclient = true; // DanaR specific public static final boolean logDanaBTComm = true; diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index 6e54954cc6..df98eef47e 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -77,7 +77,7 @@ public class Constants { public static final String NOTIFICATION = "NOTIFICATION"; public static final String ALARM = "ALARM"; public static final String DATASERVICE = "DATASERVICE"; - public static final String DATANS = "DATANS"; public static final String DATAFOOD = "DATAFOOD"; public static final String DATATREATMENTS = "DATATREATMENTS"; + public static final String NSCLIENT = "NSCLIENT"; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientFragment.java index 3bff1c9be3..64e2091eb8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientFragment.java @@ -34,8 +34,6 @@ import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.SP; public class NSClientFragment extends SubscriberFragment implements View.OnClickListener, CompoundButton.OnCheckedChangeListener { - private static Logger log = LoggerFactory.getLogger(NSClientFragment.class); - private TextView logTextView; private TextView queueTextView; private TextView urlTextView; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientPlugin.java index 6949cdc8b1..f08e4e8e23 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientPlugin.java @@ -37,7 +37,7 @@ import info.nightscout.utils.SP; import info.nightscout.utils.ToastUtils; public class NSClientPlugin extends PluginBase { - private static Logger log = LoggerFactory.getLogger(NSClientPlugin.class); + private Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); static NSClientPlugin nsClientPlugin; @@ -53,8 +53,8 @@ public class NSClientPlugin extends PluginBase { private final List listLog = new ArrayList<>(); Spanned textLog = Html.fromHtml(""); - public boolean paused = false; - boolean autoscroll = true; + public boolean paused; + boolean autoscroll; public String status = ""; @@ -132,12 +132,14 @@ public class NSClientPlugin extends PluginBase { private ServiceConnection mConnection = new ServiceConnection() { public void onServiceDisconnected(ComponentName name) { - log.debug("Service is disconnected"); + if (Config.logNsclient) + log.debug("Service is disconnected"); nsClientService = null; } public void onServiceConnected(ComponentName name, IBinder service) { - log.debug("Service is connected"); + if (Config.logNsclient) + log.debug("Service is connected"); NSClientService.LocalBinder mLocalBinder = (NSClientService.LocalBinder) service; if (mLocalBinder != null) // is null when running in roboelectric nsClientService = mLocalBinder.getServiceInstance(); @@ -155,7 +157,8 @@ public class NSClientPlugin extends PluginBase { @Subscribe public void onStatusEvent(final EventNSClientNewLog ev) { addToLog(ev); - log.debug(ev.action + " " + ev.logText); + if (Config.logNsclient) + log.debug(ev.action + " " + ev.logText); } @Subscribe @@ -165,30 +168,24 @@ public class NSClientPlugin extends PluginBase { } synchronized void clearLog() { - handler.post(new Runnable() { - @Override - public void run() { - synchronized (listLog) { - listLog.clear(); - } - MainApp.bus().post(new EventNSClientUpdateGUI()); + handler.post(() -> { + synchronized (listLog) { + listLog.clear(); } + MainApp.bus().post(new EventNSClientUpdateGUI()); }); } private synchronized void addToLog(final EventNSClientNewLog ev) { - handler.post(new Runnable() { - @Override - public void run() { - synchronized (listLog) { - listLog.add(ev); - // remove the first line if log is too large - if (listLog.size() >= Constants.MAX_LOG_LINES) { - listLog.remove(0); - } + handler.post(() -> { + synchronized (listLog) { + listLog.add(ev); + // remove the first line if log is too large + if (listLog.size() >= Constants.MAX_LOG_LINES) { + listLog.remove(0); } - MainApp.bus().post(new EventNSClientUpdateGUI()); } + MainApp.bus().post(new EventNSClientUpdateGUI()); }); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/UploadQueue.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/UploadQueue.java index 17cc1dced3..3b516a2ec7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/UploadQueue.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/UploadQueue.java @@ -13,6 +13,8 @@ import org.slf4j.LoggerFactory; import java.sql.SQLException; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.db.DbRequest; @@ -22,7 +24,7 @@ import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientServ * Created by mike on 21.02.2016. */ public class UploadQueue { - private static Logger log = LoggerFactory.getLogger(UploadQueue.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); public static String status() { return "QUEUE: " + MainApp.getDbHelper().size(DatabaseHelper.DATABASE_DBREQUESTS); @@ -43,15 +45,13 @@ public class UploadQueue { public static void add(final DbRequest dbr) { startService(); if (NSClientService.handler != null) { - NSClientService.handler.post(new Runnable() { - @Override - public void run() { - log.debug("QUEUE adding: " + dbr.data); - MainApp.getDbHelper().create(dbr); - NSClientPlugin plugin = NSClientPlugin.getPlugin(); - if (plugin != null) { - plugin.resend("newdata"); - } + NSClientService.handler.post(() -> { + if (Config.logNsclient) + log.debug("Adding to queue: " + dbr.data); + MainApp.getDbHelper().create(dbr); + NSClientPlugin plugin = NSClientPlugin.getPlugin(); + if (plugin != null) { + plugin.resend("newdata"); } }); } @@ -60,13 +60,12 @@ public class UploadQueue { public static void clearQueue() { startService(); if (NSClientService.handler != null) { - NSClientService.handler.post(new Runnable() { - @Override - public void run() { - log.debug("QUEUE ClearQueue"); - MainApp.getDbHelper().deleteAllDbRequests(); + NSClientService.handler.post(() -> { + if (Config.logNsclient) + log.debug("ClearQueue"); + MainApp.getDbHelper().deleteAllDbRequests(); + if (Config.logNsclient) log.debug(status()); - } }); } } @@ -74,22 +73,20 @@ public class UploadQueue { public static void removeID(final JSONObject record) { startService(); if (NSClientService.handler != null) { - NSClientService.handler.post(new Runnable() { - @Override - public void run() { - try { - String id; - if (record.has("NSCLIENT_ID")) { - id = record.getString("NSCLIENT_ID"); - } else { - return; - } - if (MainApp.getDbHelper().deleteDbRequest(id) == 1) { - log.debug("Removed item from UploadQueue. " + UploadQueue.status()); - } - } catch (JSONException e) { - log.error("Unhandled exception", e); + NSClientService.handler.post(() -> { + try { + String id; + if (record.has("NSCLIENT_ID")) { + id = record.getString("NSCLIENT_ID"); + } else { + return; } + if (MainApp.getDbHelper().deleteDbRequest(id) == 1) { + if (Config.logNsclient) + log.debug("Removed item from UploadQueue. " + UploadQueue.status()); + } + } catch (JSONException e) { + log.error("Unhandled exception", e); } }); } @@ -100,18 +97,17 @@ public class UploadQueue { return; startService(); if (NSClientService.handler != null) { - NSClientService.handler.post(new Runnable() { - @Override - public void run() { - MainApp.getDbHelper().deleteDbRequestbyMongoId(action, _id); - } + NSClientService.handler.post(() -> { + MainApp.getDbHelper().deleteDbRequestbyMongoId(action, _id); + if (Config.logNsclient) + log.debug("Removing " + _id + " from UploadQueue. " + UploadQueue.status()); }); } } public String textList() { String result = ""; - CloseableIterator iterator = null; + CloseableIterator iterator; try { iterator = MainApp.getDbHelper().getDbRequestInterator(); try { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java index e90dce3bec..d4cf775356 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java @@ -1,11 +1,12 @@ package info.nightscout.androidaps.plugins.NSClientInternal.acks; import org.json.JSONArray; -import org.json.JSONException; import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.events.Event; import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientRestart; @@ -15,17 +16,18 @@ import io.socket.client.Ack; * Created by mike on 29.12.2015. */ public class NSAddAck extends Event implements Ack { - private static Logger log = LoggerFactory.getLogger(NSAddAck.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); public String _id = null; public String nsClientID = null; public JSONObject json = null; - public void call(Object...args) { + + public void call(Object... args) { // Regular response try { JSONArray responsearray = (JSONArray) (args[0]); JSONObject response = null; - if (responsearray.length()>0) { - response = responsearray.getJSONObject(0); + if (responsearray.length() > 0) { + response = responsearray.getJSONObject(0); _id = response.getString("_id"); json = response; if (response.has("NSCLIENT_ID")) { @@ -35,6 +37,7 @@ public class NSAddAck extends Event implements Ack { MainApp.bus().post(this); return; } catch (Exception e) { + log.error("Unhandled exception", e); } // Check for not authorized try { @@ -45,7 +48,8 @@ public class NSAddAck extends Event implements Ack { MainApp.bus().post(new EventNSClientRestart()); return; } - log.debug("DBACCESS " + response.getString("result")); + if (Config.logNsclient) + log.debug("DBACCESS " + response.getString("result")); } return; } catch (Exception e) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSUpdateAck.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSUpdateAck.java index 2bf520da64..7081318c01 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSUpdateAck.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSUpdateAck.java @@ -5,6 +5,7 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.events.Event; import io.socket.client.Ack; @@ -13,9 +14,9 @@ import io.socket.client.Ack; * Created by mike on 21.02.2016. */ public class NSUpdateAck extends Event implements Ack { - private static Logger log = LoggerFactory.getLogger(NSUpdateAck.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); public boolean result = false; - public String _id = null; + public String _id; public String action; public void call(Object...args) { JSONObject response = (JSONObject)args[0]; @@ -29,6 +30,7 @@ public class NSUpdateAck extends Event implements Ack { } MainApp.bus().post(this); } catch (JSONException e) { + log.error("Unhandled exception", e); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastAckAlarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastAckAlarm.java index 216fa3d19a..fb8ef4c7ac 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastAckAlarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastAckAlarm.java @@ -22,7 +22,6 @@ import info.nightscout.utils.SP; */ public class BroadcastAckAlarm { - private static Logger log = LoggerFactory.getLogger(BroadcastAckAlarm.class); public static void handleClearAlarm(NSAlarm originalAlarm, Context context, long silenceTimeInMsec) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastAlarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastAlarm.java index 0fee6600bd..992a3d92b1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastAlarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastAlarm.java @@ -21,8 +21,6 @@ import info.nightscout.utils.SP; * Created by mike on 26.06.2016. */ public class BroadcastAlarm { - private static Logger log = LoggerFactory.getLogger(BroadcastAlarm.class); - public static void handleAlarm(JSONObject alarm, Context context) { Bundle bundle = new Bundle(); bundle.putString("data", alarm.toString()); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastAnnouncement.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastAnnouncement.java index 9b133c2551..03a56fad60 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastAnnouncement.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastAnnouncement.java @@ -22,8 +22,6 @@ import info.nightscout.utils.SP; * Created by mike on 26.06.2016. */ public class BroadcastAnnouncement { - private static Logger log = LoggerFactory.getLogger(BroadcastAnnouncement.class); - public static void handleAnnouncement(JSONObject announcement, Context context) { Bundle bundle = new Bundle(); bundle.putString("data", announcement.toString()); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastCals.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastCals.java index 7580a00088..ddbbd359d8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastCals.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastCals.java @@ -21,8 +21,6 @@ import info.nightscout.utils.SP; * Created by mike on 26.06.2016. */ public class BroadcastCals { - private static Logger log = LoggerFactory.getLogger(BroadcastCals.class); - public static void handleNewCal(JSONArray cals, Context context, boolean isDelta) { Bundle bundle = new Bundle(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastClearAlarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastClearAlarm.java index 23406837a7..b310a8ff53 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastClearAlarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastClearAlarm.java @@ -21,8 +21,6 @@ import info.nightscout.utils.SP; * Created by mike on 26.06.2016. */ public class BroadcastClearAlarm { - private static Logger log = LoggerFactory.getLogger(BroadcastClearAlarm.class); - public static void handleClearAlarm(JSONObject clearalarm, Context context) { Bundle bundle = new Bundle(); bundle.putString("data", clearalarm.toString()); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastDeviceStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastDeviceStatus.java index 59f5ab136c..b58702feb9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastDeviceStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastDeviceStatus.java @@ -20,27 +20,6 @@ import info.nightscout.utils.SP; public class BroadcastDeviceStatus { - private static Logger log = LoggerFactory.getLogger(BroadcastDeviceStatus.class); - - public static void handleNewDeviceStatus(JSONObject status, Context context, boolean isDelta) { - Bundle bundle = new Bundle(); - bundle.putString("devicestatus", status.toString()); - bundle.putBoolean("delta", isDelta); - Intent intent = new Intent(Intents.ACTION_NEW_DEVICESTATUS); - intent.putExtras(bundle); - intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); - LocalBroadcastManager.getInstance(MainApp.instance()).sendBroadcast(intent); - - if(SP.getBoolean(R.string.key_nsclient_localbroadcasts, true)) { - bundle = new Bundle(); - bundle.putString("devicestatus", status.toString()); - bundle.putBoolean("delta", isDelta); - intent = new Intent(Intents.ACTION_NEW_DEVICESTATUS); - intent.putExtras(bundle); - intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); - context.sendBroadcast(intent); - } - } public static void handleNewDeviceStatus(JSONArray statuses, Context context, boolean isDelta) { List splitted = BroadcastTreatment.splitArray(statuses); @@ -67,31 +46,4 @@ public class BroadcastDeviceStatus { } } } - - public static void handleNewFoods(JSONArray foods, Context context, boolean isDelta) { - - List splitted = BroadcastTreatment.splitArray(foods); - for (JSONArray part: splitted) { - Bundle bundle = new Bundle(); - bundle.putString("foods", part.toString()); - bundle.putBoolean("delta", isDelta); - Intent intent = new Intent(Intents.ACTION_NEW_FOOD); - intent.putExtras(bundle); - intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); - LocalBroadcastManager.getInstance(MainApp.instance()).sendBroadcast(intent); - } - - if(SP.getBoolean(R.string.key_nsclient_localbroadcasts, true)) { - splitted = BroadcastTreatment.splitArray(foods); - for (JSONArray part : splitted) { - Bundle bundle = new Bundle(); - bundle.putString("foods", part.toString()); - bundle.putBoolean("delta", isDelta); - Intent intent = new Intent(Intents.ACTION_NEW_FOOD); - intent.putExtras(bundle); - intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); - context.sendBroadcast(intent); - } - } - } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastFood.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastFood.java index dbb3385fbb..a3b258abb5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastFood.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastFood.java @@ -24,8 +24,6 @@ import info.nightscout.utils.SP; * Created by mike on 20.02.2016. */ public class BroadcastFood { - private static Logger log = LoggerFactory.getLogger(BroadcastFood.class); - public static void handleNewFood(JSONArray foods, Context context, boolean isDelta) { List splitted = BroadcastTreatment.splitArray(foods); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastMbgs.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastMbgs.java index a715747791..6602d51eb4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastMbgs.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastMbgs.java @@ -21,8 +21,6 @@ import info.nightscout.utils.SP; * Created by mike on 26.06.2016. */ public class BroadcastMbgs { - private static Logger log = LoggerFactory.getLogger(BroadcastMbgs.class); - public static void handleNewMbg(JSONArray mbgs, Context context, boolean isDelta) { Bundle bundle = new Bundle(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastProfile.java index 3802b09657..e10dac3d61 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastProfile.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastProfile.java @@ -22,8 +22,6 @@ import info.nightscout.utils.SP; * Created by mike on 20.02.2016. */ public class BroadcastProfile { - private static Logger log = LoggerFactory.getLogger(BroadcastProfile.class); - public static void handleNewTreatment(ProfileStore profile, Context context, boolean isDelta) { Bundle bundle = new Bundle(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastQueueStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastQueueStatus.java deleted file mode 100644 index abc49be18a..0000000000 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastQueueStatus.java +++ /dev/null @@ -1,35 +0,0 @@ -package info.nightscout.androidaps.plugins.NSClientInternal.broadcasts; - -import android.content.Context; -import android.content.Intent; -import android.os.Bundle; -import android.os.PowerManager; - -import info.nightscout.androidaps.R; -import info.nightscout.androidaps.Services.Intents; -import info.nightscout.utils.SP; - -/** - * Created by mike on 28.02.2016. - */ -public class BroadcastQueueStatus { - public static void handleNewStatus(int size, Context context) { - - if(!SP.getBoolean(R.string.key_nsclient_localbroadcasts, true)) return; - - PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE); - PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, - "sendQueue"); - wakeLock.acquire(); - try { - Bundle bundle = new Bundle(); - bundle.putInt("size", size); - Intent intent = new Intent(Intents.ACTION_QUEUE_STATUS); - intent.putExtras(bundle); - intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); - context.sendBroadcast(intent); - } finally { - wakeLock.release(); - } - } -} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastSgvs.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastSgvs.java index 65a90f3b74..cbb119c189 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastSgvs.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastSgvs.java @@ -22,29 +22,6 @@ import info.nightscout.utils.SP; * Created by mike on 22.02.2016. */ public class BroadcastSgvs { - private static Logger log = LoggerFactory.getLogger(BroadcastSgvs.class); - - public static void handleNewSgv(JSONObject sgv, Context context, boolean isDelta) { - - Bundle bundle = new Bundle(); - bundle.putString("sgv", sgv.toString()); - bundle.putBoolean("delta", isDelta); - Intent intent = new Intent(Intents.ACTION_NEW_SGV); - intent.putExtras(bundle); - intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); - LocalBroadcastManager.getInstance(MainApp.instance()).sendBroadcast(intent); - - if(SP.getBoolean(R.string.key_nsclient_localbroadcasts, true)) { - bundle = new Bundle(); - bundle.putString("sgv", sgv.toString()); - bundle.putBoolean("delta", isDelta); - intent = new Intent(Intents.ACTION_NEW_SGV); - intent.putExtras(bundle); - intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); - context.sendBroadcast(intent); - } - } - public static void handleNewSgv(JSONArray sgvs, Context context, boolean isDelta) { List splitted = BroadcastTreatment.splitArray(sgvs); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastStatus.java index a2b6e64aec..4d736cf2d8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastStatus.java @@ -12,6 +12,7 @@ import org.slf4j.LoggerFactory; import java.util.List; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.Services.Intents; @@ -23,7 +24,7 @@ import info.nightscout.utils.SP; * Created by mike on 24.02.2016. */ public class BroadcastStatus { - private static Logger log = LoggerFactory.getLogger(BroadcastStatus.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); public static void handleNewStatus(NSSettingsStatus status, Context context, boolean isDelta) { LocalBroadcastManager.getInstance(MainApp.instance()) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastTreatment.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastTreatment.java index 94b83c56bd..3da560b9d0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastTreatment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastTreatment.java @@ -13,6 +13,7 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.Services.Intents; @@ -22,7 +23,7 @@ import info.nightscout.utils.SP; * Created by mike on 20.02.2016. */ public class BroadcastTreatment { - private static Logger log = LoggerFactory.getLogger(BroadcastTreatment.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); public static void handleNewTreatment(JSONObject treatment, boolean isDelta, boolean isLocalBypass) { @@ -73,28 +74,6 @@ public class BroadcastTreatment { } } - public void handleChangedTreatment(JSONObject treatment, boolean isDelta) { - - Bundle bundle = new Bundle(); - bundle.putString("treatment", treatment.toString()); - bundle.putBoolean("delta", isDelta); - Intent intent = new Intent(Intents.ACTION_CHANGED_TREATMENT); - intent.putExtras(bundle); - intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); - LocalBroadcastManager.getInstance(MainApp.instance()).sendBroadcast(intent); - - - if (SP.getBoolean(R.string.key_nsclient_localbroadcasts, true)) { - bundle = new Bundle(); - bundle.putString("treatment", treatment.toString()); - bundle.putBoolean("delta", isDelta); - intent = new Intent(Intents.ACTION_CHANGED_TREATMENT); - intent.putExtras(bundle); - intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); - MainApp.instance().getApplicationContext().sendBroadcast(intent); - } - } - public static void handleChangedTreatment(JSONArray treatments, boolean isDelta) { List splitted = splitArray(treatments); @@ -122,28 +101,6 @@ public class BroadcastTreatment { } } - public static void handleRemovedTreatment(JSONObject treatment, boolean isDelta) { - - Bundle bundle = new Bundle(); - bundle.putString("treatment", treatment.toString()); - bundle.putBoolean("delta", isDelta); - Intent intent = new Intent(Intents.ACTION_REMOVED_TREATMENT); - intent.putExtras(bundle); - intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); - LocalBroadcastManager.getInstance(MainApp.instance()).sendBroadcast(intent); - - - if (SP.getBoolean(R.string.key_nsclient_localbroadcasts, true)) { - bundle = new Bundle(); - bundle.putString("treatment", treatment.toString()); - bundle.putBoolean("delta", isDelta); - intent = new Intent(Intents.ACTION_REMOVED_TREATMENT); - intent.putExtras(bundle); - intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); - MainApp.instance().getApplicationContext().sendBroadcast(intent); - } - } - public static void handleRemovedTreatment(JSONArray treatments, boolean isDelta) { Bundle bundle = new Bundle(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastUrgentAlarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastUrgentAlarm.java index c332be03af..0cdffb563e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastUrgentAlarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastUrgentAlarm.java @@ -21,8 +21,6 @@ import info.nightscout.utils.SP; * Created by mike on 26.06.2016. */ public class BroadcastUrgentAlarm { - private static Logger log = LoggerFactory.getLogger(BroadcastUrgentAlarm.class); - public static void handleUrgentAlarm(JSONObject urgentalarm, Context context) { Bundle bundle = new Bundle(); bundle.putString("data", urgentalarm.toString()); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java index 2723fc0748..4c237d91c9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java @@ -9,6 +9,7 @@ import org.slf4j.LoggerFactory; import java.util.List; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.utils.ToastUtils; @@ -17,23 +18,27 @@ import info.nightscout.utils.ToastUtils; * Created by mike on 02.07.2016. */ public class DbLogger { - private static Logger log = LoggerFactory.getLogger(DbLogger.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); public static void dbAdd(Intent intent, String data) { List q = MainApp.instance().getApplicationContext().getPackageManager().queryBroadcastReceivers(intent, 0); if (q.size() < 1) { - ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(),MainApp.gs(R.string.nsclientnotinstalled)); + ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.nsclientnotinstalled)); log.error("DBADD No receivers"); - } else if (Config.logNSUpload) - log.debug("DBADD dbAdd " + q.size() + " receivers " + data); + } else if (Config.logNSUpload) { + if (Config.logNsclient) + log.debug("DBADD dbAdd " + q.size() + " receivers " + data); + } } - public static void dbRemove(Intent intent, String data) { + public static void dbRemove(Intent intent, String data) { List q = MainApp.instance().getApplicationContext().getPackageManager().queryBroadcastReceivers(intent, 0); if (q.size() < 1) { - ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(),MainApp.gs(R.string.nsclientnotinstalled)); + ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.nsclientnotinstalled)); log.error("DBREMOVE No receivers"); - } else if (Config.logNSUpload) - log.debug("DBREMOVE dbRemove " + q.size() + " receivers " + data); + } else if (Config.logNSUpload) { + if (Config.logNsclient) + log.debug("DBREMOVE dbRemove " + q.size() + " receivers " + data); + } } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSAlarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSAlarm.java index 1c28b790d7..3506c3aa1b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSAlarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSAlarm.java @@ -5,12 +5,14 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 11.06.2017. */ public class NSAlarm { - private static Logger log = LoggerFactory.getLogger(NSAlarm.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); JSONObject data; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSCal.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSCal.java index 93d46fa18e..bb50d6ce75 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSCal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSCal.java @@ -5,8 +5,10 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; + public class NSCal { - private static Logger log = LoggerFactory.getLogger(NSCal.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); public long date; public double slope; public double intercept; @@ -20,7 +22,7 @@ public class NSCal { scale = json.getDouble("scale"); } catch (JSONException e) { log.error("Unhandled exception", e); - log.debug("Data: " + json.toString()); + log.error("Data: " + json.toString()); } } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSDeviceStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSDeviceStatus.java index e39f717af2..9d1ef6439f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSDeviceStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSDeviceStatus.java @@ -80,7 +80,7 @@ import info.nightscout.utils.SP; } */ public class NSDeviceStatus { - private Logger log = LoggerFactory.getLogger(Constants.DATANS); + private Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); private static NSDeviceStatus instance = null; @@ -99,7 +99,7 @@ public class NSDeviceStatus { Bundle bundle = intent.getExtras(); if (bundle == null) return; - if (Config.logDataNS) + if (Config.logNsclient) log.debug("Got NS devicestatus: " + BundleLogger.log(bundle)); try { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSMbg.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSMbg.java index 353dd49b74..92ac6de937 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSMbg.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSMbg.java @@ -5,8 +5,10 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; + public class NSMbg { - private static Logger log = LoggerFactory.getLogger(NSMbg.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); public long date; public double mbg; public String json; @@ -18,7 +20,7 @@ public class NSMbg { this.json = json.toString(); } catch (JSONException e) { log.error("Unhandled exception", e); - log.debug("Data: " + json.toString()); + log.error("Data: " + json.toString()); } } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSettingsStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSettingsStatus.java index d5d52fd68a..2a45b1a1a1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSettingsStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSettingsStatus.java @@ -114,7 +114,7 @@ import info.nightscout.utils.BundleLogger; } */ public class NSSettingsStatus { - private Logger log = LoggerFactory.getLogger(Constants.DATANS); + private Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); private static NSSettingsStatus instance = null; @@ -140,7 +140,7 @@ public class NSSettingsStatus { Bundle bundle = intent.getExtras(); if (bundle == null) return; - if (Config.logDataNS) + if (Config.logNsclient) log.debug("Got NS status: " + BundleLogger.log(bundle)); if (bundle.containsKey("nsclientversioncode")) { @@ -149,7 +149,7 @@ public class NSSettingsStatus { nightscoutVersionName = bundle.getString("nightscoutversionname"); Integer nsClientVersionCode = bundle.getInt("nsclientversioncode"); String nsClientVersionName = bundle.getString("nsclientversionname"); - if (Config.logDataNS) + if (Config.logNsclient) log.debug("Got versions: NSClient: " + nsClientVersionName + " Nightscout: " + nightscoutVersionName); try { if (nsClientVersionCode < MainApp.instance().getPackageManager().getPackageInfo(MainApp.instance().getPackageName(), 0).versionCode) { @@ -175,7 +175,7 @@ public class NSSettingsStatus { try { JSONObject statusJson = new JSONObject(bundle.getString("status")); setData(statusJson); - if (Config.logDataNS) + if (Config.logNsclient) log.debug("Received status: " + statusJson.toString()); Double targetHigh = getThreshold("bgTargetTop"); Double targetlow = getThreshold("bgTargetBottom"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSgv.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSgv.java index 50336a5f52..c9b8605e9e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSgv.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSgv.java @@ -5,12 +5,14 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; + /** * * {"mgdl":105,"mills":1455136282375,"device":"xDrip-BluetoothWixel","direction":"Flat","filtered":98272,"unfiltered":98272,"noise":1,"rssi":100} */ public class NSSgv { - private static Logger log = LoggerFactory.getLogger(NSSgv.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); private JSONObject data; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSTreatment.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSTreatment.java index a9f960edd0..a494024928 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSTreatment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSTreatment.java @@ -7,8 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; +import info.nightscout.androidaps.Constants; + public class NSTreatment { - private static Logger log = LoggerFactory.getLogger(NSTreatment.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); private JSONObject data; private String action = null; // "update", "remove" or null (add) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/AckAlarmReceiver.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/AckAlarmReceiver.java index 2aae41538a..6145a57b50 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/AckAlarmReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/AckAlarmReceiver.java @@ -9,6 +9,8 @@ import android.os.PowerManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.interfaces.PluginBase; @@ -19,7 +21,7 @@ import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientServ import info.nightscout.utils.SP; public class AckAlarmReceiver extends BroadcastReceiver { - private static Logger log = LoggerFactory.getLogger(AckAlarmReceiver.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); @Override @@ -32,7 +34,8 @@ public class AckAlarmReceiver extends BroadcastReceiver { return; } if (SP.getBoolean(R.string.key_ns_noupload, false)) { - log.debug("Upload disabled. Message dropped"); + if (Config.logNsclient) + log.debug("Upload disabled. Message dropped"); return; } wakeLock.acquire(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/DBAccessReceiver.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/DBAccessReceiver.java index 332ccc2ea3..996e62b306 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/DBAccessReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/DBAccessReceiver.java @@ -11,6 +11,7 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.db.DbRequest; @@ -22,7 +23,7 @@ import info.nightscout.utils.DateUtil; import info.nightscout.utils.SP; public class DBAccessReceiver extends BroadcastReceiver { - private static Logger log = LoggerFactory.getLogger(DBAccessReceiver.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); @Override @@ -43,18 +44,21 @@ public class DBAccessReceiver extends BroadcastReceiver { try { collection = bundles.getString("collection"); } catch (Exception e) { + log.error("Unhandled exception", e); } try { _id = bundles.getString("_id"); } catch (Exception e) { + log.error("Unhandled exception", e); } try { data = new JSONObject(bundles.getString("data")); } catch (Exception e) { + log.error("Unhandled exception", e); } if (data == null && !action.equals("dbRemove") || _id == null && action.equals("dbRemove")) { - log.debug("DBACCESS no data inside record"); + log.error("DBACCESS no data inside record"); return; } @@ -70,7 +74,7 @@ public class DBAccessReceiver extends BroadcastReceiver { } if (!isAllowedCollection(collection)) { - log.debug("DBACCESS wrong collection specified"); + log.error("DBACCESS wrong collection specified"); return; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java index fab9a181c4..a97069f015 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java @@ -26,6 +26,7 @@ import java.sql.SQLException; import java.util.Date; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.ProfileStore; @@ -70,7 +71,7 @@ import io.socket.client.Socket; import io.socket.emitter.Emitter; public class NSClientService extends Service { - private static Logger log = LoggerFactory.getLogger(NSClientService.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); static public PowerManager.WakeLock mWakeLock; private IBinder mBinder = new NSClientService.LocalBinder(); @@ -156,13 +157,13 @@ public class NSClientService extends Service { @Subscribe public void onStatusEvent(EventAppExit event) { - if (Config.logFunctionCalls) + if (Config.logNsclient) log.debug("EventAppExit received"); destroy(); stopSelf(); - if (Config.logFunctionCalls) + if (Config.logNsclient) log.debug("EventAppExit finished"); } @@ -250,7 +251,8 @@ public class NSClientService extends Service { private Emitter.Listener onDisconnect = new Emitter.Listener() { @Override public void call(Object... args) { - log.debug("disconnect reason: {}", args); + if (Config.logNsclient) + log.debug("disconnect reason: {}", args); MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "disconnect event")); } }; @@ -326,8 +328,7 @@ public class NSClientService extends Service { private Emitter.Listener onPing = new Emitter.Listener() { @Override public void call(final Object... args) { - if (Config.detailedLog) - MainApp.bus().post(new EventNSClientNewLog("PING", "received")); + MainApp.bus().post(new EventNSClientNewLog("PING", "received")); // send data if there is something waiting resend("Ping received"); } @@ -352,6 +353,7 @@ public class NSClientService extends Service { data = (JSONObject) args[0]; } catch (Exception e) { FabricPrivacy.log("Wrong Announcement from NS: " + args[0]); + log.error("Unhandled exception", e); return; } if (Config.detailedLog) @@ -359,9 +361,11 @@ public class NSClientService extends Service { MainApp.bus().post(new EventNSClientNewLog("ANNOUNCEMENT", JsonHelper.safeGetString(data, "message", "received"))); } catch (Exception e) { FabricPrivacy.logException(e); + log.error("Unhandled exception", e); } BroadcastAnnouncement.handleAnnouncement(data, getApplicationContext()); - log.debug(data.toString()); + if (Config.logNsclient) + log.debug(data.toString()); } }; @@ -381,17 +385,18 @@ public class NSClientService extends Service { */ @Override public void call(final Object... args) { - if (Config.detailedLog) - MainApp.bus().post(new EventNSClientNewLog("ALARM", "received")); + MainApp.bus().post(new EventNSClientNewLog("ALARM", "received")); JSONObject data; try { data = (JSONObject) args[0]; } catch (Exception e) { FabricPrivacy.log("Wrong alarm from NS: " + args[0]); + log.error("Unhandled exception", e); return; } BroadcastAlarm.handleAlarm(data, getApplicationContext()); - log.debug(data.toString()); + if (Config.logNsclient) + log.debug(data.toString()); } }; @@ -416,12 +421,13 @@ public class NSClientService extends Service { data = (JSONObject) args[0]; } catch (Exception e) { FabricPrivacy.log("Wrong Urgent alarm from NS: " + args[0]); + log.error("Unhandled exception", e); return; } - if (Config.detailedLog) - MainApp.bus().post(new EventNSClientNewLog("URGENTALARM", "received")); + MainApp.bus().post(new EventNSClientNewLog("URGENTALARM", "received")); BroadcastUrgentAlarm.handleUrgentAlarm(data, getApplicationContext()); - log.debug(data.toString()); + if (Config.logNsclient) + log.debug(data.toString()); } }; @@ -441,12 +447,13 @@ public class NSClientService extends Service { data = (JSONObject) args[0]; } catch (Exception e) { FabricPrivacy.log("Wrong Urgent alarm from NS: " + args[0]); + log.error("Unhandled exception", e); return; } - if (Config.detailedLog) - MainApp.bus().post(new EventNSClientNewLog("CLEARALARM", "received")); + MainApp.bus().post(new EventNSClientNewLog("CLEARALARM", "received")); BroadcastClearAlarm.handleClearAlarm(data, getApplicationContext()); - log.debug(data.toString()); + if (Config.logNsclient) + log.debug(data.toString()); } }; @@ -743,17 +750,6 @@ public class NSClientService extends Service { } } - private boolean isCurrent(NSTreatment treatment) { - long now = (new Date()).getTime(); - long minPast = now - nsHours * 60L * 60 * 1000; - if (treatment.getMills() == null) { - log.debug("treatment.getMills() == null " + treatment.getData().toString()); - return false; - } - if (treatment.getMills() > minPast) return true; - return false; - } - public void resend(final String reason) { if (UploadQueue.size() == 0) return; @@ -766,7 +762,8 @@ public class NSClientService extends Service { if (mSocket == null || !mSocket.connected()) return; if (lastResendTime > System.currentTimeMillis() - 10 * 1000L) { - log.debug("Skipping resend by lastResendTime: " + ((System.currentTimeMillis() - lastResendTime) / 1000L) + " sec"); + if (Config.logNsclient) + log.debug("Skipping resend by lastResendTime: " + ((System.currentTimeMillis() - lastResendTime) / 1000L) + " sec"); return; } lastResendTime = System.currentTimeMillis(); From 8a66b4db2ec66fc0f6c07decdfe8508aaa80dbcb Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 28 Jul 2018 18:07:06 +0200 Subject: [PATCH 18/37] OBJECTIVES logging --- .../java/info/nightscout/androidaps/Config.java | 1 + .../info/nightscout/androidaps/Constants.java | 1 + .../ObjectivesFragment.java | 16 ---------------- .../ConstraintsObjectives/ObjectivesPlugin.java | 7 ++++--- 4 files changed, 6 insertions(+), 19 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index 8096ba1486..d419b67411 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -44,6 +44,7 @@ public class Config { public static final boolean logDataFood = true; public static final boolean logDataTreatments = true; public static final boolean logNsclient = true; + public static final boolean logObjectives = false; // DanaR specific public static final boolean logDanaBTComm = true; diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index df98eef47e..6cb7519ccb 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -80,4 +80,5 @@ public class Constants { public static final String DATAFOOD = "DATAFOOD"; public static final String DATATREATMENTS = "DATATREATMENTS"; public static final String NSCLIENT = "NSCLIENT"; + public static final String OBJECTIVES = "OBJECTIVES"; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesFragment.java index 2f896ba91b..3e33b9e926 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesFragment.java @@ -1,18 +1,15 @@ package info.nightscout.androidaps.plugins.ConstraintsObjectives; -import android.animation.LayoutTransition; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.support.annotation.NonNull; -import android.support.v4.content.ContextCompat; import android.support.v7.widget.CardView; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.LinearSmoothScroller; import android.support.v7.widget.RecyclerView; import android.text.Html; -import android.util.DisplayMetrics; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -21,28 +18,15 @@ import android.widget.CheckBox; import android.widget.LinearLayout; import android.widget.TextView; - -import com.squareup.otto.Subscribe; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.util.Date; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.events.EventConfigBuilderChange; -import info.nightscout.androidaps.events.EventNewBG; -import info.nightscout.androidaps.events.EventProfileSwitchChange; -import info.nightscout.androidaps.events.EventTreatmentChange; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; -import info.nightscout.androidaps.plugins.ConstraintsObjectives.events.EventObjectivesSaved; import info.nightscout.androidaps.plugins.ConstraintsObjectives.objectives.Objective; import info.nightscout.utils.FabricPrivacy; public class ObjectivesFragment extends SubscriberFragment { - private static Logger log = LoggerFactory.getLogger(ObjectivesFragment.class); - RecyclerView recyclerView; CheckBox enableFake; TextView reset; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java index a67f694eb8..10ec7e1fb0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.List; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.interfaces.Constraint; @@ -32,7 +33,7 @@ import info.nightscout.utils.SP; * Created by mike on 05.08.2016. */ public class ObjectivesPlugin extends PluginBase implements ConstraintsInterface { - private static Logger log = LoggerFactory.getLogger(ObjectivesPlugin.class); + private static Logger log = LoggerFactory.getLogger(Constants.OBJECTIVES); private static ObjectivesPlugin objectivesPlugin; @@ -94,7 +95,7 @@ public class ObjectivesPlugin extends PluginBase implements ConstraintsInterface SP.putBoolean("Objectives" + "bgIsAvailableInNS", bgIsAvailableInNS); SP.putBoolean("Objectives" + "pumpStatusIsAvailableInNS", pumpStatusIsAvailableInNS); SP.putString("Objectives" + "manualEnacts", Integer.toString(manualEnacts)); - if (Config.logPrefsChange) + if (Config.logObjectives) log.debug("Objectives stored"); MainApp.bus().post(new EventObjectivesSaved()); } @@ -107,7 +108,7 @@ public class ObjectivesPlugin extends PluginBase implements ConstraintsInterface } catch (Exception e) { log.error("Unhandled exception", e); } - if (Config.logPrefsChange) + if (Config.logObjectives) log.debug("Objectives loaded"); } From 6e902cb9cafc72f428bb2572eb645b5ff8f38a84 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 28 Jul 2018 23:38:39 +0200 Subject: [PATCH 19/37] PUMP logging --- .../info/nightscout/androidaps/Config.java | 9 +- .../info/nightscout/androidaps/Constants.java | 5 +- .../DetailedBolusInfoStorage.java | 10 +- .../plugins/PumpCombo/ComboPlugin.java | 103 +++++++---- .../PumpDanaR/AbstractDanaRPlugin.java | 17 +- .../plugins/PumpDanaR/DanaRFragment.java | 34 ++-- .../plugins/PumpDanaR/DanaRPlugin.java | 45 ++--- .../plugins/PumpDanaR/DanaRPump.java | 6 +- .../PumpDanaR/Dialogs/ProfileViewDialog.java | 2 - .../plugins/PumpDanaR/SerialIOThread.java | 27 +-- .../activities/DanaRHistoryActivity.java | 121 +++++-------- .../activities/DanaRNSHistorySync.java | 46 +++-- .../activities/DanaRUserOptionsActivity.java | 26 +-- .../plugins/PumpDanaR/comm/MessageBase.java | 5 +- .../PumpDanaR/comm/MessageHashTable.java | 2 - .../PumpDanaR/comm/MessageOriginalNames.java | 8 +- .../PumpDanaR/comm/MsgBolusProgress.java | 9 +- .../plugins/PumpDanaR/comm/MsgBolusStart.java | 11 +- .../comm/MsgBolusStartWithSpeed.java | 11 +- .../plugins/PumpDanaR/comm/MsgBolusStop.java | 10 +- .../plugins/PumpDanaR/comm/MsgCheckValue.java | 12 +- .../plugins/PumpDanaR/comm/MsgError.java | 7 +- .../PumpDanaR/comm/MsgHistoryAlarm.java | 7 +- .../plugins/PumpDanaR/comm/MsgHistoryAll.java | 6 +- .../PumpDanaR/comm/MsgHistoryAllDone.java | 7 +- .../PumpDanaR/comm/MsgHistoryBasalHour.java | 7 +- .../PumpDanaR/comm/MsgHistoryBolus.java | 8 +- .../PumpDanaR/comm/MsgHistoryCarbo.java | 7 +- .../comm/MsgHistoryDailyInsulin.java | 7 +- .../PumpDanaR/comm/MsgHistoryDone.java | 7 +- .../PumpDanaR/comm/MsgHistoryError.java | 8 +- .../PumpDanaR/comm/MsgHistoryGlucose.java | 8 +- .../plugins/PumpDanaR/comm/MsgHistoryNew.java | 8 +- .../PumpDanaR/comm/MsgHistoryNewDone.java | 7 +- .../PumpDanaR/comm/MsgHistoryRefill.java | 10 +- .../PumpDanaR/comm/MsgHistorySuspend.java | 8 +- .../comm/MsgInitConnStatusBasic.java | 18 +- .../comm/MsgInitConnStatusBolus.java | 11 +- .../comm/MsgInitConnStatusOption.java | 7 +- .../PumpDanaR/comm/MsgInitConnStatusTime.java | 13 +- .../PumpDanaR/comm/MsgPCCommStart.java | 8 +- .../plugins/PumpDanaR/comm/MsgPCCommStop.java | 7 +- .../comm/MsgSetActivateBasalProfile.java | 12 +- .../PumpDanaR/comm/MsgSetBasalProfile.java | 14 +- .../PumpDanaR/comm/MsgSetCarbsEntry.java | 12 +- .../comm/MsgSetExtendedBolusStart.java | 13 +- .../comm/MsgSetExtendedBolusStop.java | 12 +- .../comm/MsgSetSingleBasalProfile.java | 12 +- .../PumpDanaR/comm/MsgSetTempBasalStart.java | 10 +- .../PumpDanaR/comm/MsgSetTempBasalStop.java | 10 +- .../plugins/PumpDanaR/comm/MsgSetTime.java | 8 +- .../PumpDanaR/comm/MsgSetUserOptions.java | 15 +- .../comm/MsgSettingActiveProfile.java | 7 +- .../PumpDanaR/comm/MsgSettingBasal.java | 7 +- .../comm/MsgSettingBasalProfileAll.java | 11 +- .../PumpDanaR/comm/MsgSettingGlucose.java | 7 +- .../PumpDanaR/comm/MsgSettingMaxValues.java | 7 +- .../PumpDanaR/comm/MsgSettingMeal.java | 7 +- .../comm/MsgSettingProfileRatios.java | 7 +- .../comm/MsgSettingProfileRatiosAll.java | 7 +- .../PumpDanaR/comm/MsgSettingPumpTime.java | 7 +- .../comm/MsgSettingShippingInfo.java | 7 +- .../PumpDanaR/comm/MsgSettingUserOptions.java | 7 +- .../plugins/PumpDanaR/comm/MsgStatus.java | 7 +- .../PumpDanaR/comm/MsgStatusBasic.java | 7 +- .../comm/MsgStatusBolusExtended.java | 7 +- .../PumpDanaR/comm/MsgStatusProfile.java | 7 +- .../PumpDanaR/comm/MsgStatusTempBasal.java | 7 +- .../events/EventDanaRBolusStart.java | 9 - .../events/EventDanaRSyncStatus.java | 5 +- .../AbstractDanaRExecutionService.java | 11 +- .../services/DanaRExecutionService.java | 33 ++-- .../PumpDanaRKorean/DanaRKoreanPlugin.java | 47 ++--- .../PumpDanaRKorean/SerialIOThread.java | 29 +-- .../PumpDanaRKorean/comm/MsgCheckValue_k.java | 12 +- .../comm/MsgInitConnStatusBasic_k.java | 9 +- .../comm/MsgInitConnStatusBolus_k.java | 13 +- .../comm/MsgInitConnStatusTime_k.java | 9 +- .../comm/MsgSettingBasalProfileAll_k.java | 7 +- .../comm/MsgSettingBasal_k.java | 7 +- .../comm/MsgStatusBasic_k.java | 7 +- .../PumpDanaRKorean/comm/MsgStatus_k.java | 7 +- .../services/DanaRKoreanExecutionService.java | 77 ++++---- .../plugins/PumpDanaRS/DanaRSPlugin.java | 53 +++--- .../activities/BLEScanActivity.java | 3 - .../activities/PairingProgressDialog.java | 68 +++---- .../comm/DanaRSMessageHashTable.java | 8 +- ..._Packet_APS_Basal_Set_Temporary_Basal.java | 20 ++- .../DanaRS_Packet_APS_History_Events.java | 66 ++++--- .../DanaRS_Packet_APS_Set_Event_History.java | 14 +- .../DanaRS_Packet_Basal_Get_Basal_Rate.java | 13 +- ...S_Packet_Basal_Get_Profile_Basal_Rate.java | 10 +- ...anaRS_Packet_Basal_Get_Profile_Number.java | 10 +- ...acket_Basal_Get_Temporary_Basal_State.java | 10 +- .../DanaRS_Packet_Basal_Set_Basal_Rate.java | 7 +- ...cket_Basal_Set_Cancel_Temporary_Basal.java | 11 +- ...S_Packet_Basal_Set_Profile_Basal_Rate.java | 10 +- ...anaRS_Packet_Basal_Set_Profile_Number.java | 64 +++---- .../DanaRS_Packet_Basal_Set_Suspend_Off.java | 10 +- .../DanaRS_Packet_Basal_Set_Suspend_On.java | 10 +- ...naRS_Packet_Basal_Set_Temporary_Basal.java | 10 +- .../DanaRS_Packet_Bolus_Get_Bolus_Option.java | 13 +- .../DanaRS_Packet_Bolus_Get_CIR_CF_Array.java | 12 +- ...ket_Bolus_Get_Calculation_Information.java | 12 +- ..._Carbohydrate_Calculation_Information.java | 12 +- .../DanaRS_Packet_Bolus_Get_Dual_Bolus.java | 10 +- ...anaRS_Packet_Bolus_Get_Extended_Bolus.java | 12 +- ...Packet_Bolus_Get_Extended_Bolus_State.java | 12 +- ..._Bolus_Get_Extended_Menu_Option_State.java | 12 +- ...DanaRS_Packet_Bolus_Get_Initial_Bolus.java | 10 +- ...cket_Bolus_Get_Step_Bolus_Information.java | 10 +- .../DanaRS_Packet_Bolus_Set_Bolus_Option.java | 10 +- .../DanaRS_Packet_Bolus_Set_CIR_CF_Array.java | 10 +- .../DanaRS_Packet_Bolus_Set_Dual_Bolus.java | 10 +- ...anaRS_Packet_Bolus_Set_Extended_Bolus.java | 11 +- ...acket_Bolus_Set_Extended_Bolus_Cancel.java | 10 +- ...DanaRS_Packet_Bolus_Set_Initial_Bolus.java | 11 +- ...aRS_Packet_Bolus_Set_Step_Bolus_Start.java | 9 +- ...naRS_Packet_Bolus_Set_Step_Bolus_Stop.java | 7 +- .../DanaRS_Packet_Etc_Keep_Connection.java | 7 +- .../DanaRS_Packet_Etc_Set_History_Save.java | 7 +- ...DanaRS_Packet_General_Delivery_Status.java | 11 +- ...S_Packet_General_Get_More_Information.java | 70 ++++---- .../DanaRS_Packet_General_Get_Password.java | 12 +- .../DanaRS_Packet_General_Get_Pump_Check.java | 7 +- ...cket_General_Get_Shipping_Information.java | 61 ++++--- ...cket_General_Get_Today_Delivery_Total.java | 62 +++---- ...ket_General_Get_User_Time_Change_Flag.java | 10 +- ...et_General_Initial_Screen_Information.java | 12 +- ...acket_General_Set_History_Upload_Mode.java | 10 +- ...neral_Set_User_Time_Change_Flag_Clear.java | 11 +- .../comm/DanaRS_Packet_History_.java | 20 ++- .../comm/DanaRS_Packet_History_Alarm.java | 13 +- .../DanaRS_Packet_History_All_History.java | 13 +- .../comm/DanaRS_Packet_History_Basal.java | 13 +- .../DanaRS_Packet_History_Blood_Glucose.java | 13 +- .../comm/DanaRS_Packet_History_Bolus.java | 37 ++-- .../DanaRS_Packet_History_Carbohydrate.java | 37 ++-- .../comm/DanaRS_Packet_History_Daily.java | 13 +- .../comm/DanaRS_Packet_History_Prime.java | 13 +- .../comm/DanaRS_Packet_History_Refill.java | 37 ++-- .../comm/DanaRS_Packet_History_Suspend.java | 13 +- .../comm/DanaRS_Packet_History_Temporary.java | 13 +- .../comm/DanaRS_Packet_Notify_Alarm.java | 12 +- ...anaRS_Packet_Notify_Delivery_Complete.java | 14 +- ...S_Packet_Notify_Delivery_Rate_Display.java | 12 +- ...naRS_Packet_Notify_Missed_Bolus_Alarm.java | 11 +- .../DanaRS_Packet_Option_Get_Pump_Time.java | 10 +- .../DanaRS_Packet_Option_Get_User_Option.java | 166 +++++++++--------- .../DanaRS_Packet_Option_Set_Pump_Time.java | 11 +- .../DanaRS_Packet_Option_Set_User_Option.java | 27 +-- .../comm/DanaRS_Packet_Review_Bolus_Avg.java | 11 +- .../plugins/PumpDanaRS/services/BLEComm.java | 135 ++++++++------ .../PumpDanaRS/services/DanaRSService.java | 45 +++-- .../plugins/PumpDanaRv2/DanaRv2Plugin.java | 35 ++-- .../plugins/PumpDanaRv2/SerialIOThread.java | 28 +-- .../PumpDanaRv2/comm/MessageHashTable_v2.java | 5 - .../PumpDanaRv2/comm/MsgCheckValue_v2.java | 14 +- .../PumpDanaRv2/comm/MsgHistoryEvents_v2.java | 59 +++++-- .../comm/MsgSetAPSTempBasalStart_v2.java | 18 +- .../comm/MsgSetHistoryEntry_v2.java | 10 +- .../PumpDanaRv2/comm/MsgStatusAPS_v2.java | 7 +- .../comm/MsgStatusBolusExtended_v2.java | 10 +- .../comm/MsgStatusTempBasal_v2.java | 10 +- .../services/DanaRv2ExecutionService.java | 47 ++--- .../androidaps/queue/CommandQueue.java | 4 +- .../androidaps/queue/QueueThread.java | 5 +- .../androidaps/queue/commands/Command.java | 2 +- .../queue/commands/CommandBolus.java | 4 +- .../commands/CommandCancelExtendedBolus.java | 2 +- .../commands/CommandCancelTempBasal.java | 4 +- .../queue/commands/CommandExtendedBolus.java | 2 +- .../queue/commands/CommandLoadEvents.java | 2 +- .../queue/commands/CommandLoadHistory.java | 4 +- .../queue/commands/CommandLoadTDDs.java | 2 +- .../queue/commands/CommandReadStatus.java | 4 +- .../queue/commands/CommandSMBBolus.java | 7 +- .../queue/commands/CommandSetProfile.java | 2 +- .../commands/CommandSetUserSettings.java | 2 +- .../commands/CommandTempBasalAbsolute.java | 11 +- .../commands/CommandTempBasalPercent.java | 10 +- 181 files changed, 1819 insertions(+), 1261 deletions(-) delete mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/events/EventDanaRBolusStart.java diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index d419b67411..3ee273207a 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -27,11 +27,9 @@ public class Config { public static final boolean logFunctionCalls = true; public static final boolean logIncommingData = true; public static final boolean logAPSResult = true; - public static final boolean logPumpComm = true; public static final boolean logPrefsChange = true; public static final boolean logConfigBuilder = true; public static final boolean logNSUpload = true; - public static final boolean logPumpActions = true; public static final boolean logCongigBuilderActions = true; public static final boolean logAutosensData = false; public static final boolean logEvents = false; @@ -45,9 +43,8 @@ public class Config { public static final boolean logDataTreatments = true; public static final boolean logNsclient = true; public static final boolean logObjectives = false; + public static final boolean logPump = true; + public static boolean logPumpComm = true; + public static final boolean logPumpBtComm = false; - // DanaR specific - public static final boolean logDanaBTComm = true; - public static boolean logDanaMessageDetail = true; - public static final boolean logDanaSerialEngine = true; } diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index 6cb7519ccb..bb6d8d5655 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -71,7 +71,6 @@ public class Constants { // logging public static final String AUTOSENS = "AUTOSENS"; public static final String EVENTS = "EVENTS"; - public static final String QUEUE = "QUEUE"; public static final String BGSOURCE = "BGSOURCE"; public static final String OVERVIEW = "OVERVIEW"; public static final String NOTIFICATION = "NOTIFICATION"; @@ -81,4 +80,8 @@ public class Constants { public static final String DATATREATMENTS = "DATATREATMENTS"; public static final String NSCLIENT = "NSCLIENT"; public static final String OBJECTIVES = "OBJECTIVES"; + public static final String PUMP = "PUMP"; + public static final String PUMPQUEUE = "PUMPQUEUE"; + public static final String PUMPCOMM = "PUMPCOMM"; + public static final String PUMPBTCOMM = "PUMPBTCOMM"; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/DetailedBolusInfoStorage.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/DetailedBolusInfoStorage.java index 7a4e99b584..d469faa568 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/DetailedBolusInfoStorage.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/DetailedBolusInfoStorage.java @@ -9,6 +9,8 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.DetailedBolusInfo; /** @@ -16,7 +18,7 @@ import info.nightscout.androidaps.data.DetailedBolusInfo; */ public class DetailedBolusInfoStorage { - private static Logger log = LoggerFactory.getLogger(DetailedBolusInfoStorage.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMP); private static List store = new ArrayList<>(); public static synchronized void add(DetailedBolusInfo detailedBolusInfo) { @@ -29,7 +31,8 @@ public class DetailedBolusInfoStorage { DetailedBolusInfo found = null; for (int i = 0; i < store.size(); i++) { long infoTime = store.get(i).date; - log.debug("Existing bolus info: " + store.get(i)); + if (Config.logPump) + log.debug("Existing bolus info: " + store.get(i)); if (bolustime > infoTime - 60 * 1000 && bolustime < infoTime + 60 * 1000) { found = store.get(i); break; @@ -42,7 +45,8 @@ public class DetailedBolusInfoStorage { for (int i = 0; i < store.size(); i++) { long infoTime = store.get(i).date; if (bolustime > infoTime - 60 * 1000 && bolustime < infoTime + 60 * 1000) { - log.debug("Removing bolus info: " + store.get(i)); + if (Config.logPump) + log.debug("Removing bolus info: " + store.get(i)); store.remove(i); break; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java index a16ffbda05..7361f15850 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java @@ -22,6 +22,8 @@ import java.util.HashSet; import java.util.List; import info.nightscout.androidaps.BuildConfig; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -31,8 +33,6 @@ import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.db.Source; import info.nightscout.androidaps.db.TDD; import info.nightscout.androidaps.db.TemporaryBasal; -import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; -import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.events.EventInitializationChanged; import info.nightscout.androidaps.events.EventRefreshOverview; import info.nightscout.androidaps.interfaces.Constraint; @@ -42,6 +42,7 @@ import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; @@ -60,6 +61,7 @@ import info.nightscout.androidaps.plugins.PumpCombo.ruffyscripter.history.Bolus; import info.nightscout.androidaps.plugins.PumpCombo.ruffyscripter.history.PumpHistory; import info.nightscout.androidaps.plugins.PumpCombo.ruffyscripter.history.PumpHistoryRequest; import info.nightscout.androidaps.plugins.PumpCombo.ruffyscripter.history.Tdd; +import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; import info.nightscout.utils.FabricPrivacy; @@ -69,7 +71,7 @@ import info.nightscout.utils.SP; * Created by mike on 05.08.2016. */ public class ComboPlugin extends PluginBase implements PumpInterface, ConstraintsInterface { - private static final Logger log = LoggerFactory.getLogger(ComboPlugin.class); + private static final Logger log = LoggerFactory.getLogger(Constants.PUMP); static final String COMBO_TBRS_SET = "combo_tbrs_set"; static final String COMBO_BOLUSES_DELIVERED = "combo_boluses_delivered"; @@ -198,7 +200,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint @Override public void switchAllowed(ConfigBuilderFragment.PluginViewHolder.PluginSwitcher pluginSwitcher, FragmentActivity context) { boolean allowHardwarePump = SP.getBoolean("allow_hardware_pump", false); - if (allowHardwarePump || context == null){ + if (allowHardwarePump || context == null) { pluginSwitcher.invoke(); } else { AlertDialog.Builder builder = new AlertDialog.Builder(context); @@ -207,13 +209,15 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint public void onClick(DialogInterface dialog, int id) { pluginSwitcher.invoke(); SP.putBoolean("allow_hardware_pump", true); - log.debug("First time HW pump allowed!"); + if (Config.logPump) + log.debug("First time HW pump allowed!"); } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.cancel(); - log.debug("User does not allow switching to HW pump!"); + if (Config.logPump) + log.debug("User does not allow switching to HW pump!"); } }); builder.create().show(); @@ -260,7 +264,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint @Override public void disconnect(String reason) { - log.debug("Disconnect called with reason: " + reason); + if (Config.logPump) + log.debug("Disconnect called with reason: " + reason); ruffyScripter.disconnect(); } @@ -359,7 +364,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint */ @Override public synchronized void getPumpStatus() { - log.debug("getPumpStatus called"); + if (Config.logPump) + log.debug("getPumpStatus called"); if (!pump.initialized) { initializePump(); } else { @@ -371,10 +377,12 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint private synchronized void initializePump() { long maxWait = System.currentTimeMillis() + 15 * 1000; while (!ruffyScripter.isPumpAvailable()) { - log.debug("Waiting for ruffy service to come up ..."); + if (Config.logPump) + log.debug("Waiting for ruffy service to come up ..."); SystemClock.sleep(100); if (System.currentTimeMillis() > maxWait) { - log.debug("ruffy service unavailable, wtf"); + if (Config.logPump) + log.debug("ruffy service unavailable, wtf"); return; } } @@ -393,7 +401,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint // note that since the history is checked upon every connect, the above already updated // the DB with any changed history records if (pumpHistoryChanged) { - log.debug("Pump history has changed and was imported"); + if (Config.logPump) + log.debug("Pump history has changed and was imported"); pumpHistoryChanged = false; } @@ -542,7 +551,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint // within the last 1-2 minutes if (Math.abs(previousBolus.amount - detailedBolusInfo.insulin) < 0.01 && previousBolus.timestamp + 60 * 1000 > System.currentTimeMillis()) { - log.debug("Bolu request rejected, same bolus was successfully delivered very recently"); + if (Config.logPump) + log.debug("Bolus request rejected, same bolus was successfully delivered very recently"); return new PumpEnactResult().success(false).enacted(false) .comment(MainApp.gs(R.string.bolus_frequency_exceeded)); } @@ -562,7 +572,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint return new PumpEnactResult().success(false).enacted(false) .comment(MainApp.gs(R.string.combo_error_no_connection_no_bolus_delivered)); } - log.debug("Waiting for pump clock to advance for the next unused bolus record timestamp"); + if (Config.logPump) + log.debug("Waiting for pump clock to advance for the next unused bolus record timestamp"); SystemClock.sleep(2000); timeCheckResult = runCommand(null, 0, ruffyScripter::readPumpState); waitLoops++; @@ -573,7 +584,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION) .putCustomAttribute("version", BuildConfig.VERSION) .putCustomAttribute("waitTimeSecs", String.valueOf(waitDuration))); - log.debug("Waited " + waitDuration + "s for pump to switch to a fresh minute before bolusing"); + if (Config.logPump) + log.debug("Waited " + waitDuration + "s for pump to switch to a fresh minute before bolusing"); } if (cancelBolus) { @@ -735,11 +747,13 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint */ @Override public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes, Profile profile, boolean force) { - log.debug("setTempBasalAbsolute called with a rate of " + absoluteRate + " for " + durationInMinutes + " min."); + if (Config.logPump) + log.debug("setTempBasalAbsolute called with a rate of " + absoluteRate + " for " + durationInMinutes + " min."); int unroundedPercentage = Double.valueOf(absoluteRate / getBaseBasalRate() * 100).intValue(); int roundedPercentage = (int) (Math.round(absoluteRate / getBaseBasalRate() * 10) * 10); if (unroundedPercentage != roundedPercentage) { - log.debug("Rounded requested rate " + unroundedPercentage + "% -> " + roundedPercentage + "%"); + if (Config.logPump) + log.debug("Rounded requested rate " + unroundedPercentage + "% -> " + roundedPercentage + "%"); } return setTempBasalPercent(roundedPercentage, durationInMinutes); @@ -757,7 +771,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint } private PumpEnactResult setTempBasalPercent(Integer percent, final Integer durationInMinutes) { - log.debug("setTempBasalPercent called with " + percent + "% for " + durationInMinutes + "min"); + if (Config.logPump) + log.debug("setTempBasalPercent called with " + percent + "% for " + durationInMinutes + "min"); if (pumpHistoryChanged && percent > 110) { return new PumpEnactResult().success(false).enacted(false) @@ -767,13 +782,15 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint int adjustedPercent = percent; if (adjustedPercent > pumpDescription.maxTempPercent) { - log.debug("Reducing requested TBR to the maximum support by the pump: " + percent + " -> " + pumpDescription.maxTempPercent); + if (Config.logPump) + log.debug("Reducing requested TBR to the maximum support by the pump: " + percent + " -> " + pumpDescription.maxTempPercent); adjustedPercent = pumpDescription.maxTempPercent; } if (adjustedPercent % 10 != 0) { Long rounded = Math.round(adjustedPercent / 10d) * 10; - log.debug("Rounded requested percentage:" + adjustedPercent + " -> " + rounded); + if (Config.logPump) + log.debug("Rounded requested percentage:" + adjustedPercent + " -> " + rounded); adjustedPercent = rounded.intValue(); } @@ -822,7 +839,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint */ @Override public PumpEnactResult cancelTempBasal(boolean enforceNew) { - log.debug("cancelTempBasal called"); + if (Config.logPump) + log.debug("cancelTempBasal called"); final TemporaryBasal activeTemp = TreatmentsPlugin.getPlugin().getTempBasalFromHistory(System.currentTimeMillis()); if (enforceNew) { CommandResult stateResult = runCommand(MainApp.gs(R.string.combo_pump_action_refreshing), 2, ruffyScripter::readPumpState); @@ -832,7 +850,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint if (!stateResult.state.tbrActive) { return new PumpEnactResult().success(true).enacted(false); } - log.debug("cancelTempBasal: hard-cancelling TBR since force requested"); + if (Config.logPump) + log.debug("cancelTempBasal: hard-cancelling TBR since force requested"); CommandResult cancelResult = runCommand(MainApp.gs(R.string.combo_pump_action_cancelling_tbr), 2, ruffyScripter::cancelTbr); if (!cancelResult.success) { return new PumpEnactResult().success(false).enacted(false); @@ -853,7 +872,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint // Let fake neutral temp keep run (see below) // Note that since this runs on the queue a connection is opened regardless, but this // case doesn't occur all that often, so it's not worth optimizing (1.3k SetTBR vs 4 cancelTBR). - log.debug("cancelTempBasal: skipping changing tbr since it already is at " + activeTemp.percentRate + "% and running for another " + activeTemp.getPlannedRemainingMinutes() + " mins."); + if (Config.logPump) + log.debug("cancelTempBasal: skipping changing tbr since it already is at " + activeTemp.percentRate + "% and running for another " + activeTemp.getPlannedRemainingMinutes() + " mins."); return new PumpEnactResult().success(true).enacted(true) .comment("cancelTempBasal skipping changing tbr since it already is at " + activeTemp.percentRate + "% and running for another " @@ -862,7 +882,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint // Set a fake neutral temp to avoid TBR cancel alert. Decide 90% vs 110% based on // on whether the TBR we're cancelling is above or below 100%. final int percentage = (activeTemp.percentRate > 100) ? 110 : 90; - log.debug("cancelTempBasal: changing TBR to " + percentage + "% for 15 mins."); + if (Config.logPump) + log.debug("cancelTempBasal: changing TBR to " + percentage + "% for 15 mins."); return setTempBasalPercent(percentage, 15); } } @@ -901,7 +922,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint if (!commandResult.success && retries > 0) { for (int retryAttempts = 1; !commandResult.success && retryAttempts <= retries; retryAttempts++) { - log.debug("Command was not successful, retries requested, doing retry #" + retryAttempts); + if (Config.logPump) + log.debug("Command was not successful, retries requested, doing retry #" + retryAttempts); commandResult = commandExecution.execute(); } } @@ -982,7 +1004,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint long now = System.currentTimeMillis(); TemporaryBasal aapsTbr = TreatmentsPlugin.getPlugin().getTempBasalFromHistory(now); if (aapsTbr == null || aapsTbr.percentRate != 0) { - log.debug("Creating 15m zero temp since pump is suspended"); + if (Config.logPump) + log.debug("Creating 15m zero temp since pump is suspended"); TemporaryBasal newTempBasal = new TemporaryBasal() .date(now) .percent(0) @@ -1042,11 +1065,13 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint if (state.pumpTime == 0) { // time couldn't be read (e.g. a warning is displayed on the menu , hiding the time field) } else if (Math.abs(state.pumpTime - System.currentTimeMillis()) >= 10 * 60 * 1000) { - log.debug("Pump clock needs update, pump time: " + state.pumpTime + " (" + new Date(state.pumpTime) + ")"); + if (Config.logPump) + log.debug("Pump clock needs update, pump time: " + state.pumpTime + " (" + new Date(state.pumpTime) + ")"); Notification notification = new Notification(Notification.COMBO_PUMP_ALARM, MainApp.gs(R.string.combo_notification_check_time_date), Notification.URGENT); MainApp.bus().post(new EventNewNotification(notification)); } else if (Math.abs(state.pumpTime - System.currentTimeMillis()) >= 3 * 60 * 1000) { - log.debug("Pump clock needs update, pump time: " + state.pumpTime + " (" + new Date(state.pumpTime) + ")"); + if (Config.logPump) + log.debug("Pump clock needs update, pump time: " + state.pumpTime + " (" + new Date(state.pumpTime) + ")"); Notification notification = new Notification(Notification.COMBO_PUMP_ALARM, MainApp.gs(R.string.combo_notification_check_time_date), Notification.NORMAL); MainApp.bus().post(new EventNewNotification(notification)); } @@ -1108,7 +1133,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint long now = System.currentTimeMillis(); TemporaryBasal aapsTbr = TreatmentsPlugin.getPlugin().getTempBasalFromHistory(now); if (aapsTbr == null && state.tbrActive && state.tbrRemainingDuration > 2) { - log.debug("Creating temp basal from pump TBR"); + if (Config.logPump) + log.debug("Creating temp basal from pump TBR"); FabricPrivacy.getInstance().logCustom(new CustomEvent("ComboTbrMismatch") .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION) .putCustomAttribute("version", BuildConfig.VERSION) @@ -1120,7 +1146,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint .source(Source.USER); TreatmentsPlugin.getPlugin().addToHistoryTempBasal(newTempBasal); } else if (aapsTbr != null && aapsTbr.getPlannedRemainingMinutes() > 2 && !state.tbrActive) { - log.debug("Ending AAPS-TBR since pump has no TBR active"); + if (Config.logPump) + log.debug("Ending AAPS-TBR since pump has no TBR active"); FabricPrivacy.getInstance().logCustom(new CustomEvent("ComboTbrMismatch") .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION) .putCustomAttribute("version", BuildConfig.VERSION) @@ -1133,7 +1160,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint } else if (aapsTbr != null && state.tbrActive && (aapsTbr.percentRate != state.tbrPercent || Math.abs(aapsTbr.getPlannedRemainingMinutes() - state.tbrRemainingDuration) > 2)) { - log.debug("AAPSs and pump-TBR differ; ending AAPS-TBR and creating new TBR based on pump TBR"); + if (Config.logPump) + log.debug("AAPSs and pump-TBR differ; ending AAPS-TBR and creating new TBR based on pump TBR"); FabricPrivacy.getInstance().logCustom(new CustomEvent("ComboTbrMismatch") .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION) .putCustomAttribute("version", BuildConfig.VERSION) @@ -1218,7 +1246,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint // no history, nothing to check or complain about if (quickInfoResult.history == null || quickInfoResult.history.bolusHistory.isEmpty()) { - log.debug("Setting 'pumpHistoryChanged' false"); + if (Config.logPump) + log.debug("Setting 'pumpHistoryChanged' false"); pumpHistoryChanged = false; return null; } @@ -1227,13 +1256,15 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint List initialPumpBolusHistory = quickInfoResult.history.bolusHistory; if (recentBoluses.size() == 1 && initialPumpBolusHistory.size() >= 1 && recentBoluses.get(0).equals(quickInfoResult.history.bolusHistory.get(0))) { - log.debug("Setting 'pumpHistoryChanged' false"); + if (Config.logPump) + log.debug("Setting 'pumpHistoryChanged' false"); pumpHistoryChanged = false; return null; } else if (recentBoluses.size() == 2 && initialPumpBolusHistory.size() >= 2 && recentBoluses.get(0).equals(quickInfoResult.history.bolusHistory.get(0)) && recentBoluses.get(1).equals(quickInfoResult.history.bolusHistory.get(1))) { - log.debug("Setting 'pumpHistoryChanged' false"); + if (Config.logPump) + log.debug("Setting 'pumpHistoryChanged' false"); pumpHistoryChanged = false; return null; } @@ -1253,7 +1284,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint // for. HashSet bolusSet = new HashSet<>(historyResult.history.bolusHistory); if (bolusSet.size() != historyResult.history.bolusHistory.size()) { - log.debug("Bolus with same amount within the same minute imported. Only one will make it to the DB."); + if (Config.logPump) + log.debug("Bolus with same amount within the same minute imported. Only one will make it to the DB."); FabricPrivacy.getInstance().logCustom(new CustomEvent("ComboBolusToDbError") .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION) .putCustomAttribute("version", BuildConfig.VERSION) @@ -1266,7 +1298,8 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint pumpHistoryChanged = updateDbFromPumpHistory(historyResult.history); if (pumpHistoryChanged) { - log.debug("Setting 'pumpHistoryChanged' true"); + if (Config.logPump) + log.debug("Setting 'pumpHistoryChanged' true"); } List updatedPumpBolusHistory = historyResult.history.bolusHistory; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java index 1f51979126..434630d14a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java @@ -5,11 +5,13 @@ import android.support.annotation.Nullable; import org.json.JSONException; import org.json.JSONObject; import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.BuildConfig; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; @@ -43,7 +45,7 @@ import info.nightscout.utils.SP; */ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInterface, DanaRInterface, ConstraintsInterface, ProfileInterface { - protected Logger log; + protected Logger log = LoggerFactory.getLogger(Constants.PUMP); protected AbstractDanaRExecutionService sExecutionService; @@ -133,7 +135,8 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte Double profileValue = profile.getBasalTimeFromMidnight(h * basalIncrement); if (profileValue == null) return true; if (Math.abs(pumpValue - profileValue) > getPumpDescription().basalStep) { - log.debug("Diff found. Hour: " + h + " Pump: " + pumpValue + " Profile: " + profileValue); + if (Config.logPump) + log.debug("Diff found. Hour: " + h + " Pump: " + pumpValue + " Profile: " + profileValue); return false; } } @@ -183,7 +186,7 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalPercent: Correct value already set"); return result; } @@ -197,7 +200,7 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalPercent: OK"); return result; } @@ -225,7 +228,7 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte result.absolute = pump.extendedBolusAbsoluteRate; result.isPercent = false; result.isTempCancel = false; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setExtendedBolus: Correct extended bolus already set. Current: " + pump.extendedBolusAmount + " Asked: " + insulin); return result; } @@ -240,7 +243,7 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte if (!SP.getBoolean("danar_useextended", false)) result.bolusDelivered = pump.extendedBolusAmount; result.isPercent = false; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setExtendedBolus: OK"); return result; } @@ -263,7 +266,7 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte if (!pump.isExtendedInProgress) { result.success = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPumpActions) + if (Config.logPump) log.debug("cancelExtendedBolus: OK"); return result; } else { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java index 7288602d65..bbb363cc9d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java @@ -23,6 +23,8 @@ import org.slf4j.LoggerFactory; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.TDDStatsActivity; @@ -46,7 +48,7 @@ import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.SetWarnColor; public class DanaRFragment extends SubscriberFragment { - private static Logger log = LoggerFactory.getLogger(DanaRFragment.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMP); private Handler loopHandler = new Handler(); private Runnable refreshLoop = new Runnable() { @@ -113,18 +115,12 @@ public class DanaRFragment extends SubscriberFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - try { - View view = inflater.inflate(R.layout.danar_fragment, container, false); - unbinder = ButterKnife.bind(this, view); + View view = inflater.inflate(R.layout.danar_fragment, container, false); + unbinder = ButterKnife.bind(this, view); - pumpStatusView.setBackgroundColor(MainApp.gc(R.color.colorInitializingBorder)); + pumpStatusView.setBackgroundColor(MainApp.gc(R.color.colorInitializingBorder)); - return view; - } catch (Exception e) { - FabricPrivacy.logException(e); - } - - return null; + return view; } @OnClick(R.id.danar_history) @@ -145,11 +141,14 @@ public class DanaRFragment extends SubscriberFragment { } @OnClick(R.id.danar_user_options) - void onUserOptionsClick() { startActivity(new Intent(getContext(), DanaRUserOptionsActivity.class)); } + void onUserOptionsClick() { + startActivity(new Intent(getContext(), DanaRUserOptionsActivity.class)); + } @OnClick(R.id.danar_btconnection) void onBtConnectionClick() { - log.debug("Clicked connect to pump"); + if (Config.logPump) + log.debug("Clicked connect to pump"); DanaRPump.getInstance().lastConnection = 0; ConfigBuilderPlugin.getCommandQueue().readStatus("Clicked connect to pump", null); } @@ -162,10 +161,11 @@ public class DanaRFragment extends SubscriberFragment { activity.runOnUiThread( new Runnable() { @Override - public void run() { - synchronized(DanaRFragment.this){ + public void run() { + synchronized (DanaRFragment.this) { - if(btConnectionView == null || pumpStatusView == null || pumpStatusLayout == null ) return; + if (btConnectionView == null || pumpStatusView == null || pumpStatusLayout == null) + return; if (c.sStatus == EventPumpStatusChanged.CONNECTING) btConnectionView.setText("{fa-bluetooth-b spin} " + c.sSecondsElapsed + "s"); @@ -216,7 +216,7 @@ public class DanaRFragment extends SubscriberFragment { @SuppressLint("SetTextI18n") @Override public void run() { - synchronized(DanaRFragment.this) { + synchronized (DanaRFragment.this) { if (!isBound()) return; DanaRPump pump = DanaRPump.getInstance(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java index 144107779d..b600417a3a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java @@ -49,7 +49,6 @@ public class DanaRPlugin extends AbstractDanaRPlugin { public DanaRPlugin() { super(); - log = LoggerFactory.getLogger(DanaRPlugin.class); useExtendedBoluses = SP.getBoolean("danar_useextended", false); pumpDescription.isBolusCapable = true; @@ -85,7 +84,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { @Override public void switchAllowed(ConfigBuilderFragment.PluginViewHolder.PluginSwitcher pluginSwitcher, FragmentActivity context) { boolean allowHardwarePump = SP.getBoolean("allow_hardware_pump", false); - if (allowHardwarePump || context == null){ + if (allowHardwarePump || context == null) { pluginSwitcher.invoke(); } else { AlertDialog.Builder builder = new AlertDialog.Builder(context); @@ -94,13 +93,15 @@ public class DanaRPlugin extends AbstractDanaRPlugin { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.invoke(); SP.putBoolean("allow_hardware_pump", true); - log.debug("First time HW pump allowed!"); + if (Config.logPump) + log.debug("First time HW pump allowed!"); } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.cancel(); - log.debug("User does not allow switching to HW pump!"); + if (Config.logPump) + log.debug("User does not allow switching to HW pump!"); } }); builder.create().show(); @@ -127,12 +128,14 @@ public class DanaRPlugin extends AbstractDanaRPlugin { private ServiceConnection mConnection = new ServiceConnection() { public void onServiceDisconnected(ComponentName name) { - log.debug("Service is disconnected"); + if (Config.logPump) + log.debug("Service is disconnected"); sExecutionService = null; } public void onServiceConnected(ComponentName name, IBinder service) { - log.debug("Service is connected"); + if (Config.logPump) + log.debug("Service is connected"); DanaRExecutionService.LocalBinder mLocalBinder = (DanaRExecutionService.LocalBinder) service; sExecutionService = mLocalBinder.getServiceInstance(); } @@ -195,7 +198,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { result.comment = String.format(MainApp.gs(R.string.boluserrorcode), detailedBolusInfo.insulin, t.insulin, MsgBolusStartWithSpeed.errorCode); else result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPumpActions) + if (Config.logPump) log.debug("deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered); detailedBolusInfo.insulin = t.insulin; detailedBolusInfo.date = System.currentTimeMillis(); @@ -237,13 +240,13 @@ public class DanaRPlugin extends AbstractDanaRPlugin { if (doTempOff) { // If extended in progress if (activeExtended != null && useExtendedBoluses) { - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Stopping extended bolus (doTempOff)"); return cancelExtendedBolus(); } // If temp in progress if (activeTemp != null) { - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Stopping temp basal (doTempOff)"); return cancelRealTempBasal(); } @@ -252,7 +255,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { result.percent = 100; result.isPercent = true; result.isTempCancel = true; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: doTempOff OK"); return result; } @@ -264,12 +267,12 @@ public class DanaRPlugin extends AbstractDanaRPlugin { if (percentRate > getPumpDescription().maxTempPercent) { percentRate = getPumpDescription().maxTempPercent; } - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Calculated percent rate: " + percentRate); // If extended in progress if (activeExtended != null && useExtendedBoluses) { - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Stopping extended bolus (doLowTemp || doHighTemp)"); result = cancelExtendedBolus(); if (!result.success) { @@ -280,7 +283,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { // Check if some temp is already in progress if (activeTemp != null) { // Correct basal already set ? - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: currently running: " + activeTemp.toString()); if (activeTemp.percentRate == percentRate) { if (enforceNew) { @@ -292,21 +295,21 @@ public class DanaRPlugin extends AbstractDanaRPlugin { result.duration = activeTemp.getPlannedRemainingMinutes(); result.isPercent = true; result.isTempCancel = false; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)"); return result; } } } // Convert duration from minutes to hours - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Setting temp basal " + percentRate + "% for " + durationInMinutes + " mins (doLowTemp || doHighTemp)"); return setTempBasalPercent(percentRate, durationInMinutes, profile, false); } if (doExtendedTemp) { // Check if some temp is already in progress if (activeTemp != null) { - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Stopping temp basal (doExtendedTemp)"); result = cancelRealTempBasal(); // Check for proper result @@ -325,7 +328,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { extendedRateToSet = Round.roundTo(extendedRateToSet, pumpDescription.extendedBolusStep * 2); // *2 because of halfhours // What is current rate of extended bolusing in u/h? - if (Config.logPumpActions) { + if (Config.logPump) { log.debug("setTempBasalAbsolute: Extended bolus in progress: " + (activeExtended != null) + " rate: " + pump.extendedBolusAbsoluteRate + "U/h duration remaining: " + pump.extendedBolusRemainingMinutes + "min"); log.debug("setTempBasalAbsolute: Rate to set: " + extendedRateToSet + "U/h"); } @@ -339,21 +342,21 @@ public class DanaRPlugin extends AbstractDanaRPlugin { result.duration = pump.extendedBolusRemainingMinutes; result.isPercent = false; result.isTempCancel = false; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Correct extended already set"); return result; } // Now set new extended, no need to to stop previous (if running) because it's replaced Double extendedAmount = extendedRateToSet / 2 * durationInHalfHours; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Setting extended: " + extendedAmount + "U halfhours: " + durationInHalfHours); result = setExtendedBolus(extendedAmount, durationInMinutes); if (!result.success) { log.error("setTempBasalAbsolute: Failed to set extended bolus"); return result; } - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Extended bolus set ok"); result.absolute = result.absolute + getBaseBasalRate(); return result; @@ -392,7 +395,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { result.success = true; result.isTempCancel = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPumpActions) + if (Config.logPump) log.debug("cancelRealTempBasal: OK"); return result; } else { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPump.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPump.java index d9bc947b84..f5c7f7f652 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPump.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPump.java @@ -20,7 +20,7 @@ import info.nightscout.utils.SP; * Created by mike on 04.07.2016. */ public class DanaRPump { - private static Logger log = LoggerFactory.getLogger(DanaRPump.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMP); private static DanaRPump instance = null; @@ -236,13 +236,13 @@ public class DanaRPump { return PROFILE_PREFIX + (activeProfile + 1); } - public static double[] buildDanaRProfileRecord(Profile nsProfile) { + public double[] buildDanaRProfileRecord(Profile nsProfile) { double[] record = new double[24]; for (Integer hour = 0; hour < 24; hour++) { //Some values get truncated to the next lower one. // -> round them to two decimals and make sure we are a small delta larger (that will get truncated) double value = Math.round(100d * nsProfile.getBasalTimeFromMidnight((Integer) (hour * 60 * 60)))/100d + 0.00001; - if (Config.logDanaMessageDetail) + if (Config.logPump) log.debug("NS basal value for " + hour + ":00 is " + value); record[hour] = value; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/Dialogs/ProfileViewDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/Dialogs/ProfileViewDialog.java index d8157281bd..24728f2cf6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/Dialogs/ProfileViewDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/Dialogs/ProfileViewDialog.java @@ -33,8 +33,6 @@ import info.nightscout.utils.DecimalFormatter; * Created by mike on 10.07.2016. */ public class ProfileViewDialog extends DialogFragment { - private static Logger log = LoggerFactory.getLogger(ProfileViewDialog.class); - private TextView noProfile; private TextView units; private TextView dia; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/SerialIOThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/SerialIOThread.java index 2f377a566a..295393cc1a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/SerialIOThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/SerialIOThread.java @@ -11,6 +11,7 @@ import java.io.InputStream; import java.io.OutputStream; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageHashTable; import info.nightscout.androidaps.plugins.PumpDanaR.services.AbstractSerialIOThread; @@ -20,7 +21,7 @@ import info.nightscout.utils.CRC; * Created by mike on 17.07.2016. */ public class SerialIOThread extends AbstractSerialIOThread { - private static Logger log = LoggerFactory.getLogger(SerialIOThread.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPBTCOMM); private InputStream mInputStream = null; private OutputStream mOutputStream = null; @@ -71,7 +72,7 @@ public class SerialIOThread extends AbstractSerialIOThread { message = MessageHashTable.findMessage(command); } - if (Config.logDanaMessageDetail) + if (Config.logPumpBtComm) log.debug("<<<<< " + message.getMessageName() + " " + message.toHexString(extractedBuff)); // process the message content @@ -83,7 +84,7 @@ public class SerialIOThread extends AbstractSerialIOThread { } } } catch (Exception e) { - if (Config.logDanaSerialEngine && e.getMessage().indexOf("bt socket closed") < 0) + if (e.getMessage().indexOf("bt socket closed") < 0) log.error("Thread exception: ", e); mKeepRunning = false; } @@ -147,7 +148,7 @@ public class SerialIOThread extends AbstractSerialIOThread { processedMessage = message; byte[] messageBytes = message.getRawMessageBytes(); - if (Config.logDanaSerialEngine) + if (Config.logPumpBtComm) log.debug(">>>>> " + message.getMessageName() + " " + message.toHexString(messageBytes)); try { @@ -169,7 +170,8 @@ public class SerialIOThread extends AbstractSerialIOThread { log.warn("Reply not received " + message.getMessageName()); if (message.getCommand() == 0xF0F1) { DanaRPump.getInstance().isNewPump = false; - log.debug("Old firmware detected"); + if (Config.logPumpComm) + log.debug("Old firmware detected"); } } } @@ -180,24 +182,29 @@ public class SerialIOThread extends AbstractSerialIOThread { try { mInputStream.close(); } catch (Exception e) { - if (Config.logDanaSerialEngine) log.debug(e.getMessage()); + if (Config.logPumpBtComm) + log.debug(e.getMessage()); } try { mOutputStream.close(); } catch (Exception e) { - if (Config.logDanaSerialEngine) log.debug(e.getMessage()); + if (Config.logPumpBtComm) + log.debug(e.getMessage()); } try { mRfCommSocket.close(); } catch (Exception e) { - if (Config.logDanaSerialEngine) log.debug(e.getMessage()); + if (Config.logPumpBtComm) + log.debug(e.getMessage()); } try { System.runFinalization(); } catch (Exception e) { - if (Config.logDanaSerialEngine) log.debug(e.getMessage()); + if (Config.logPumpBtComm) + log.debug(e.getMessage()); } - if (Config.logDanaSerialEngine) log.debug("Disconnected: " + reason); + if (Config.logPumpBtComm) + log.debug("Disconnected: " + reason); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRHistoryActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRHistoryActivity.java index 97c5569b4b..154c08ee95 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRHistoryActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRHistoryActivity.java @@ -24,6 +24,7 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; +import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -42,12 +43,9 @@ import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.ToastUtils; public class DanaRHistoryActivity extends Activity { - private static Logger log = LoggerFactory.getLogger(DanaRHistoryActivity.class); - - private boolean mBounded; + private static Logger log = LoggerFactory.getLogger(Constants.PUMP); private Handler mHandler; - private static HandlerThread mHandlerThread; static Profile profile = null; @@ -65,7 +63,7 @@ public class DanaRHistoryActivity extends Activity { public byte type; String name; - public TypeList(byte type, String name) { + TypeList(byte type, String name) { this.type = type; this.name = name; } @@ -78,7 +76,7 @@ public class DanaRHistoryActivity extends Activity { public DanaRHistoryActivity() { super(); - mHandlerThread = new HandlerThread(DanaRHistoryActivity.class.getSimpleName()); + HandlerThread mHandlerThread = new HandlerThread(DanaRHistoryActivity.class.getSimpleName()); mHandlerThread.start(); this.mHandler = new Handler(mHandlerThread.getLooper()); } @@ -116,8 +114,8 @@ public class DanaRHistoryActivity extends Activity { statusView.setVisibility(View.GONE); - boolean isKorean = MainApp.getSpecificPlugin(DanaRKoreanPlugin.class) != null && MainApp.getSpecificPlugin(DanaRKoreanPlugin.class).isEnabled(PluginType.PUMP); - boolean isRS = MainApp.getSpecificPlugin(DanaRSPlugin.class) != null && MainApp.getSpecificPlugin(DanaRSPlugin.class).isEnabled(PluginType.PUMP); + boolean isKorean = DanaRKoreanPlugin.getPlugin().isEnabled(PluginType.PUMP); + boolean isRS = DanaRSPlugin.getPlugin().isEnabled(PluginType.PUMP); // Types @@ -141,10 +139,30 @@ public class DanaRHistoryActivity extends Activity { R.layout.spinner_centered, typeList); historyTypeSpinner.setAdapter(spinnerAdapter); - reloadButton.setOnClickListener(new View.OnClickListener() { + reloadButton.setOnClickListener(v -> { + final TypeList selected = (TypeList) historyTypeSpinner.getSelectedItem(); + runOnUiThread(() -> { + reloadButton.setVisibility(View.GONE); + syncButton.setVisibility(View.GONE); + statusView.setVisibility(View.VISIBLE); + }); + clearCardView(); + ConfigBuilderPlugin.getCommandQueue().loadHistory(selected.type, new Callback() { + @Override + public void run() { + loadDataFromDB(selected.type); + runOnUiThread(() -> { + reloadButton.setVisibility(View.VISIBLE); + syncButton.setVisibility(View.VISIBLE); + statusView.setVisibility(View.GONE); + }); + } + }); + }); + + syncButton.setOnClickListener(v -> mHandler.post(new Runnable() { @Override - public void onClick(View v) { - final TypeList selected = (TypeList) historyTypeSpinner.getSelectedItem(); + public void run() { runOnUiThread(new Runnable() { @Override public void run() { @@ -153,52 +171,18 @@ public class DanaRHistoryActivity extends Activity { statusView.setVisibility(View.VISIBLE); } }); - clearCardView(); - ConfigBuilderPlugin.getCommandQueue().loadHistory(selected.type, new Callback() { + DanaRNSHistorySync sync = new DanaRNSHistorySync(historyList); + sync.sync(DanaRNSHistorySync.SYNC_ALL); + runOnUiThread(new Runnable() { @Override public void run() { - loadDataFromDB(selected.type); - runOnUiThread(new Runnable() { - @Override - public void run() { - reloadButton.setVisibility(View.VISIBLE); - syncButton.setVisibility(View.VISIBLE); - statusView.setVisibility(View.GONE); - } - }); + reloadButton.setVisibility(View.VISIBLE); + syncButton.setVisibility(View.VISIBLE); + statusView.setVisibility(View.GONE); } }); } - }); - - syncButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - mHandler.post(new Runnable() { - @Override - public void run() { - runOnUiThread(new Runnable() { - @Override - public void run() { - reloadButton.setVisibility(View.GONE); - syncButton.setVisibility(View.GONE); - statusView.setVisibility(View.VISIBLE); - } - }); - DanaRNSHistorySync sync = new DanaRNSHistorySync(historyList); - sync.sync(DanaRNSHistorySync.SYNC_ALL); - runOnUiThread(new Runnable() { - @Override - public void run() { - reloadButton.setVisibility(View.VISIBLE); - syncButton.setVisibility(View.VISIBLE); - statusView.setVisibility(View.GONE); - } - }); - } - }); - } - }); + })); historyTypeSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override @@ -324,7 +308,7 @@ public class DanaRHistoryActivity extends Activity { super.onAttachedToRecyclerView(recyclerView); } - public static class HistoryViewHolder extends RecyclerView.ViewHolder { + static class HistoryViewHolder extends RecyclerView.ViewHolder { CardView cv; TextView time; TextView value; @@ -355,45 +339,26 @@ public class DanaRHistoryActivity extends Activity { private void loadDataFromDB(byte type) { historyList = MainApp.getDbHelper().getDanaRHistoryRecordsByType(type); - runOnUiThread(new Runnable() { - @Override - public void run() { - recyclerView.swapAdapter(new RecyclerViewAdapter(historyList), false); - } - }); + runOnUiThread(() -> recyclerView.swapAdapter(new RecyclerViewAdapter(historyList), false)); } private void clearCardView() { historyList = new ArrayList<>(); - runOnUiThread(new Runnable() { - @Override - public void run() { - recyclerView.swapAdapter(new RecyclerViewAdapter(historyList), false); - } - }); + runOnUiThread(() -> recyclerView.swapAdapter(new RecyclerViewAdapter(historyList), false)); } @Subscribe public void onStatusEvent(final EventDanaRSyncStatus s) { - log.debug("EventDanaRSyncStatus: " + s.message); + if (Config.logPump) + log.debug("EventDanaRSyncStatus: " + s.message); runOnUiThread( - new Runnable() { - @Override - public void run() { - statusView.setText(s.message); - } - }); + () -> statusView.setText(s.message)); } @Subscribe public void onStatusEvent(final EventPumpStatusChanged s) { runOnUiThread( - new Runnable() { - @Override - public void run() { - statusView.setText(s.textStatus()); - } - } + () -> statusView.setText(s.textStatus()) ); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java index d505443c1d..0967952240 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java @@ -8,24 +8,24 @@ import org.slf4j.LoggerFactory; import java.util.Calendar; import java.util.List; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.db.DanaRHistoryRecord; -import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; -import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus; import info.nightscout.utils.DateUtil; import info.nightscout.utils.NSUpload; -import info.nightscout.utils.ToastUtils; /** * Created by mike on 20.07.2016. */ public class DanaRNSHistorySync { - private static Logger log = LoggerFactory.getLogger(DanaRNSHistorySync.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMP); private List historyRecords; public final static int SYNC_BOLUS = 0b00000001; @@ -50,7 +50,8 @@ public class DanaRNSHistorySync { long records = historyRecords.size(); long processing = 0; long uploaded = 0; - log.debug("Database contains " + records + " records"); + if (Config.logPump) + log.debug("Database contains " + records + " records"); EventDanaRSyncStatus ev = new EventDanaRSyncStatus(); for (DanaRHistoryRecord record : historyRecords) { processing++; @@ -63,7 +64,8 @@ public class DanaRNSHistorySync { if ((what & SYNC_BOLUS) == 0) break; switch (record.bolusType) { case "S": - log.debug("Syncing standard bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate)); + if (Config.logPump) + log.debug("Syncing standard bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "Meal Bolus"); nsrec.put("insulin", record.recordValue); @@ -75,7 +77,8 @@ public class DanaRNSHistorySync { break; case "E": if (record.recordDuration > 0) { - log.debug("Syncing extended bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate)); + if (Config.logPump) + log.debug("Syncing extended bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", CareportalEvent.COMBOBOLUS); nsrec.put("insulin", 0); @@ -91,11 +94,13 @@ public class DanaRNSHistorySync { uploaded++; ev.message += MainApp.gs(R.string.danar_ebolus); } else { - log.debug("NOT Syncing extended bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate) + " zero duration"); + if (Config.logPump) + log.debug("NOT Syncing extended bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate) + " zero duration"); } break; case "DS": - log.debug("Syncing dual(S) bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate)); + if (Config.logPump) + log.debug("Syncing dual(S) bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", CareportalEvent.COMBOBOLUS); nsrec.put("insulin", record.recordValue); @@ -108,7 +113,8 @@ public class DanaRNSHistorySync { ev.message += MainApp.gs(R.string.danar_dsbolus); break; case "DE": - log.debug("Syncing dual(E) bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate)); + if (Config.logPump) + log.debug("Syncing dual(E) bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", CareportalEvent.COMBOBOLUS); nsrec.put("duration", record.recordDuration); @@ -124,13 +130,14 @@ public class DanaRNSHistorySync { ev.message += MainApp.gs(R.string.danar_debolus); break; default: - log.debug("Unknown bolus record"); + log.error("Unknown bolus record"); break; } break; case RecordTypes.RECORD_TYPE_ERROR: if ((what & SYNC_ERROR) == 0) break; - log.debug("Syncing error record " + DateUtil.toISOString(record.recordDate)); + if (Config.logPump) + log.debug("Syncing error record " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "Note"); nsrec.put("notes", "Error"); @@ -142,7 +149,8 @@ public class DanaRNSHistorySync { break; case RecordTypes.RECORD_TYPE_REFILL: if ((what & SYNC_REFILL) == 0) break; - log.debug("Syncing refill record " + record.recordValue + " " + DateUtil.toISOString(record.recordDate)); + if (Config.logPump) + log.debug("Syncing refill record " + record.recordValue + " " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "Insulin Change"); nsrec.put("notes", "Refill " + record.recordValue + "U"); @@ -154,7 +162,8 @@ public class DanaRNSHistorySync { break; case RecordTypes.RECORD_TYPE_BASALHOUR: if ((what & SYNC_BASALHOURS) == 0) break; - log.debug("Syncing basal hour record " + record.recordValue + " " + DateUtil.toISOString(record.recordDate)); + if (Config.logPump) + log.debug("Syncing basal hour record " + record.recordValue + " " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", CareportalEvent.TEMPBASAL); nsrec.put("absolute", record.recordValue); @@ -170,7 +179,8 @@ public class DanaRNSHistorySync { break; case RecordTypes.RECORD_TYPE_GLUCOSE: if ((what & SYNC_GLUCOSE) == 0) break; - log.debug("Syncing glucose record " + record.recordValue + " " + DateUtil.toISOString(record.recordDate)); + if (Config.logPump) + log.debug("Syncing glucose record " + record.recordValue + " " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "BG Check"); nsrec.put("glucose", Profile.fromMgdlToUnits(record.recordValue, MainApp.getConfigBuilder().getProfileUnits())); @@ -183,7 +193,8 @@ public class DanaRNSHistorySync { break; case RecordTypes.RECORD_TYPE_CARBO: if ((what & SYNC_CARBO) == 0) break; - log.debug("Syncing carbo record " + record.recordValue + "g " + DateUtil.toISOString(record.recordDate)); + if (Config.logPump) + log.debug("Syncing carbo record " + record.recordValue + "g " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "Meal Bolus"); nsrec.put("carbs", record.recordValue); @@ -195,7 +206,8 @@ public class DanaRNSHistorySync { break; case RecordTypes.RECORD_TYPE_ALARM: if ((what & SYNC_ALARM) == 0) break; - log.debug("Syncing alarm record " + record.recordAlarm + " " + DateUtil.toISOString(record.recordDate)); + if (Config.logPump) + log.debug("Syncing alarm record " + record.recordAlarm + " " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "Note"); nsrec.put("notes", "Alarm: " + record.recordAlarm); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRUserOptionsActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRUserOptionsActivity.java index bd6a315319..f0af9c863a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRUserOptionsActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRUserOptionsActivity.java @@ -14,6 +14,7 @@ import org.slf4j.LoggerFactory; import java.text.DecimalFormat; +import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -30,7 +31,7 @@ import info.nightscout.utils.NumberPicker; */ public class DanaRUserOptionsActivity extends Activity { - private static Logger log = LoggerFactory.getLogger(DanaRUserOptionsActivity.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMP); Switch timeFormat; Switch buttonScroll; @@ -85,14 +86,15 @@ public class DanaRUserOptionsActivity extends Activity { DanaRPump pump = DanaRPump.getInstance(); //used for debugging - log.debug("UserOptionsLoaded:" + (System.currentTimeMillis() - pump.lastConnection) / 1000 + " s ago" - + "\ntimeDisplayType:" + pump.timeDisplayType - + "\nbuttonScroll:" + pump.buttonScrollOnOff - + "\ntimeDisplayType:" + pump.timeDisplayType - + "\nlcdOnTimeSec:" + pump.lcdOnTimeSec - + "\nbacklight:" + pump.backlightOnTimeSec - + "\npumpUnits:" + pump.units - + "\nlowReservoir:" + pump.lowReservoirRate); + if (Config.logPump) + log.debug("UserOptionsLoaded:" + (System.currentTimeMillis() - pump.lastConnection) / 1000 + " s ago" + + "\ntimeDisplayType:" + pump.timeDisplayType + + "\nbuttonScroll:" + pump.buttonScrollOnOff + + "\ntimeDisplayType:" + pump.timeDisplayType + + "\nlcdOnTimeSec:" + pump.lcdOnTimeSec + + "\nbacklight:" + pump.backlightOnTimeSec + + "\npumpUnits:" + pump.units + + "\nlowReservoir:" + pump.lowReservoirRate); screenTimeout.setParams((double) pump.lcdOnTimeSec, 5d, 240d, 5d, new DecimalFormat("1"), false); backlightTimeout.setParams((double) pump.backlightOnTimeSec, 1d, 60d, 1d, new DecimalFormat("1"), false); @@ -122,7 +124,7 @@ public class DanaRUserOptionsActivity extends Activity { break; } if (pump.lastSettingsRead == 0) - log.debug("No settings loaded from pump!"); + log.error("No settings loaded from pump!"); else setData(); } @@ -175,13 +177,13 @@ public class DanaRUserOptionsActivity extends Activity { // step is 5 seconds - int screenTimeoutValue = !screenTimeout.getText().isEmpty() ? (Integer.parseInt(screenTimeout.getText().toString()) / 5) * 5: 5; + int screenTimeoutValue = !screenTimeout.getText().isEmpty() ? (Integer.parseInt(screenTimeout.getText().toString()) / 5) * 5 : 5; if (screenTimeoutValue > 4 && screenTimeoutValue < 241) { pump.lcdOnTimeSec = screenTimeoutValue; } else { pump.lcdOnTimeSec = 5; } - int backlightTimeoutValue = !backlightTimeout.getText().isEmpty() ? Integer.parseInt(backlightTimeout.getText().toString()): 1; + int backlightTimeoutValue = !backlightTimeout.getText().isEmpty() ? Integer.parseInt(backlightTimeout.getText().toString()) : 1; if (backlightTimeoutValue > 0 && backlightTimeoutValue < 61) { pump.backlightOnTimeSec = backlightTimeoutValue; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageBase.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageBase.java index 2e6c02458e..31da5c9f21 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageBase.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageBase.java @@ -13,6 +13,7 @@ import java.util.Date; import java.util.GregorianCalendar; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.utils.CRC; /* @@ -22,7 +23,7 @@ import info.nightscout.utils.CRC; */ public class MessageBase { - private static Logger log = LoggerFactory.getLogger(MessageBase.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); protected byte[] buffer = new byte[512]; private int position = 6; @@ -95,7 +96,7 @@ public class MessageBase { } public void handleMessage(byte[] bytes) { - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (bytes.length > 6) { int command = (bytes[5] & 0xFF) | ((bytes[4] << 8) & 0xFF00); log.debug("UNPROCESSED MSG: " + getMessageName() + " Command: " + String.format("%04X", command) + " Data: " + toHexString(bytes)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageHashTable.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageHashTable.java index 4b90b8f02d..e7f1adca07 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageHashTable.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageHashTable.java @@ -9,8 +9,6 @@ import java.util.HashMap; * Created by mike on 28.05.2016. */ public class MessageHashTable { - private static Logger log = LoggerFactory.getLogger(MessageHashTable.class); - public static HashMap messages = null; static { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageOriginalNames.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageOriginalNames.java index 3712945094..1c656060f0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageOriginalNames.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageOriginalNames.java @@ -5,13 +5,15 @@ import org.slf4j.LoggerFactory; import java.util.HashMap; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 28.05.2016. */ public class MessageOriginalNames { - private static Logger log = LoggerFactory.getLogger(MessageOriginalNames.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); - public static HashMap messageNames; + private static HashMap messageNames; static { messageNames = new HashMap<>(); @@ -162,7 +164,7 @@ public class MessageOriginalNames { if (messageNames.containsKey(command)) return messageNames.get(command); else { - log.debug("Unknown command: " + String.format("%04X", command)); + log.error("Unknown command: " + String.format("%04X", command)); return "UNKNOWN_COMMAND"; } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusProgress.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusProgress.java index cb01a7d901..dbff4ec3dc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusProgress.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusProgress.java @@ -4,13 +4,14 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; +import info.nightscout.androidaps.plugins.Treatments.Treatment; public class MsgBolusProgress extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgBolusProgress.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private static Treatment t; private static double amount; @@ -27,6 +28,8 @@ public class MsgBolusProgress extends MessageBase { this.amount = amount; this.t = t; lastReceive = System.currentTimeMillis(); + if (Config.logPumpComm) + log.debug("New message: amount: " + amount + " treatment: " + t.toString()); } @Override @@ -40,7 +43,7 @@ public class MsgBolusProgress extends MessageBase { bolusingEvent.t = t; bolusingEvent.percent = Math.min((int) (done / amount * 100), 100); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Bolus remaining: " + progress + " delivered: " + done); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java index 7586edf825..7932db46a3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java @@ -4,12 +4,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.interfaces.Constraint; -import info.nightscout.utils.HardLimits; public class MsgBolusStart extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgBolusStart.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public static int errorCode; @@ -25,7 +25,7 @@ public class MsgBolusStart extends MessageBase { AddParamInt((int) (amount * 100)); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Bolus start : " + amount); } @@ -34,9 +34,10 @@ public class MsgBolusStart extends MessageBase { errorCode = intFromBuff(bytes, 0, 1); if (errorCode != 2) { failed = true; - log.debug("Messsage response: " + errorCode + " FAILED!!"); + if (Config.logPumpComm) + log.debug("Messsage response: " + errorCode + " FAILED!!"); } else { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Messsage response: " + errorCode + " OK"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStartWithSpeed.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStartWithSpeed.java index dd4251a350..5f2a368a58 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStartWithSpeed.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStartWithSpeed.java @@ -4,12 +4,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.interfaces.Constraint; -import info.nightscout.utils.HardLimits; public class MsgBolusStartWithSpeed extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgBolusStartWithSpeed.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public static int errorCode; @@ -26,7 +26,7 @@ public class MsgBolusStartWithSpeed extends MessageBase { AddParamInt((int) (amount * 100)); AddParamByte((byte) speed); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Bolus start : " + amount + " speed: " + speed); } @@ -35,9 +35,10 @@ public class MsgBolusStartWithSpeed extends MessageBase { errorCode = intFromBuff(bytes, 0, 1); if (errorCode != 2) { failed = true; - log.debug("Messsage response: " + errorCode + " FAILED!!"); + if (Config.logPumpComm) + log.debug("Messsage response: " + errorCode + " FAILED!!"); } else { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Messsage response: " + errorCode + " OK"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStop.java index 5c677b813e..d03a12ea84 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStop.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStop.java @@ -3,13 +3,15 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; +import info.nightscout.androidaps.plugins.Treatments.Treatment; public class MsgBolusStop extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgBolusStop.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private static Treatment t; private static Double amount; @@ -26,10 +28,14 @@ public class MsgBolusStop extends MessageBase { this.t = t; this.amount = amount; forced = false; + if (Config.logPumpComm) + log.debug("Bolus stop: amount: " + amount + " treatment: " + t.toString()); } @Override public void handleMessage(byte[] bytes) { + if (Config.logPumpComm) + log.debug("Messsage received"); EventOverviewBolusProgress bolusingEvent = EventOverviewBolusProgress.getInstance(); stopped = true; if (!forced) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgCheckValue.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgCheckValue.java index 3f0c306940..a8171774b6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgCheckValue.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgCheckValue.java @@ -4,20 +4,21 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; -import info.nightscout.utils.ToastUtils; /** * Created by mike on 30.06.2016. */ public class MsgCheckValue extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgCheckValue.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgCheckValue() { SetCommand(0xF0F1); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -25,7 +26,8 @@ public class MsgCheckValue extends MessageBase { DanaRPump pump = DanaRPump.getInstance(); pump.isNewPump = true; - log.debug("New firmware confirmed"); + if (Config.logPumpComm) + log.debug("New firmware confirmed"); pump.model = intFromBuff(bytes, 0, 1); pump.protocol = intFromBuff(bytes, 1, 1); @@ -35,7 +37,7 @@ public class MsgCheckValue extends MessageBase { log.debug("Wrong model selected"); } - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Model: " + String.format("%02X ", pump.model)); log.debug("Protocol: " + String.format("%02X ", pump.protocol)); log.debug("Product Code: " + String.format("%02X ", pump.productCode)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java index e42327c3b0..dcd6a4c819 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java @@ -4,16 +4,19 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; import info.nightscout.utils.NSUpload; public class MsgError extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgError.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgError() { SetCommand(0x0601); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -47,7 +50,7 @@ public class MsgError extends MessageBase { bolusingEvent.status = errorString; MainApp.bus().post(bolusingEvent); } - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Error detected: " + errorString); NSUpload.uploadError(errorString); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAlarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAlarm.java index 24ea6d0f37..686bb3eb85 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAlarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAlarm.java @@ -3,13 +3,18 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 20.07.2016. */ public class MsgHistoryAlarm extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(MsgHistoryAlarm.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgHistoryAlarm() { SetCommand(0x3105); + if (Config.logPumpComm) + log.debug("New message"); } // Handle message taken from MsgHistoryAll } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAll.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAll.java index 4e4bc759f5..e9da6ef92a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAll.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAll.java @@ -5,16 +5,20 @@ import org.slf4j.LoggerFactory; import java.util.Date; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.db.DanaRHistoryRecord; import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus; import info.nightscout.utils.DateUtil; public class MsgHistoryAll extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgHistoryAll.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgHistoryAll() { SetCommand(0x41F2); + if (Config.logPumpComm) + log.debug("New message"); } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAllDone.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAllDone.java index 6ce3325715..c4c27da436 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAllDone.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAllDone.java @@ -4,20 +4,23 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; public class MsgHistoryAllDone extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgHistoryAllDone.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public static boolean received = false; public MsgHistoryAllDone() { SetCommand(0x41F1); received = false; + if (Config.logPumpComm) + log.debug("New message"); } @Override public void handleMessage(byte[] bytes) { received = true; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("History all done received"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBasalHour.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBasalHour.java index 3fd97135f0..d288914395 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBasalHour.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBasalHour.java @@ -3,13 +3,18 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 20.07.2016. */ public class MsgHistoryBasalHour extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(MsgHistoryBasalHour.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgHistoryBasalHour() { SetCommand(0x310A); + if (Config.logPumpComm) + log.debug("New message"); } // Handle message taken from MsgHistoryAll } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBolus.java index b213ba52fd..d89891e652 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBolus.java @@ -3,13 +3,19 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 20.07.2016. */ public class MsgHistoryBolus extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(MsgHistoryBolus.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + public MsgHistoryBolus() { SetCommand(0x3101); + if (Config.logPumpComm) + log.debug("New message"); } // Handle message taken from MsgHistoryAll } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryCarbo.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryCarbo.java index 115dc73e02..5114b190c6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryCarbo.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryCarbo.java @@ -3,13 +3,18 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 20.07.2016. */ public class MsgHistoryCarbo extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(MsgHistoryCarbo.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgHistoryCarbo() { SetCommand(0x3107); + if (Config.logPumpComm) + log.debug("New message"); } // Handle message taken from MsgHistoryAll } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDailyInsulin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDailyInsulin.java index 77933c40da..51765af0d1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDailyInsulin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDailyInsulin.java @@ -3,13 +3,18 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 20.07.2016. */ public class MsgHistoryDailyInsulin extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(MsgHistoryDailyInsulin.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgHistoryDailyInsulin() { SetCommand(0x3102); + if (Config.logPumpComm) + log.debug("New message"); } // Handle message taken from MsgHistoryAll } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDone.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDone.java index 04d3cb3faf..a507bef445 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDone.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDone.java @@ -4,23 +4,26 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; /** * Created by mike on 20.07.2016. */ public class MsgHistoryDone extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgHistoryDone.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public static boolean received = false; public MsgHistoryDone() { SetCommand(0x31F1); received = false; + if (Config.logPumpComm) + log.debug("New message"); } @Override public void handleMessage(byte[] bytes) { received = true; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("History done received"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryError.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryError.java index 3358a88fea..5c57a4f9f3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryError.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryError.java @@ -3,13 +3,19 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 20.07.2016. */ public class MsgHistoryError extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(MsgHistoryError.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + public MsgHistoryError() { SetCommand(0x3106); + if (Config.logPumpComm) + log.debug("New message"); } // Handle message taken from MsgHistoryAll } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryGlucose.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryGlucose.java index f07b91e9d8..2eeee09057 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryGlucose.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryGlucose.java @@ -3,13 +3,19 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 20.07.2016. */ public class MsgHistoryGlucose extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(MsgHistoryGlucose.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + public MsgHistoryGlucose() { SetCommand(0x3104); + if (Config.logPumpComm) + log.debug("New message"); } // Handle message taken from MsgHistoryAll } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNew.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNew.java index 5de685f65b..7213ddef9d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNew.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNew.java @@ -3,13 +3,19 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 20.07.2016. */ public class MsgHistoryNew extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(MsgHistoryNew.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + public MsgHistoryNew() { SetCommand(0x42F2); + if (Config.logPumpComm) + log.debug("New message"); } // Handle message taken from MsgHistoryAll } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNewDone.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNewDone.java index 2cde92bf9a..33c820d158 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNewDone.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNewDone.java @@ -4,23 +4,26 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; /** * Created by mike on 20.07.2016. */ public class MsgHistoryNewDone extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgHistoryNewDone.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public static boolean received = false; public MsgHistoryNewDone() { SetCommand(0x42F1); received = false; + if (Config.logPumpComm) + log.debug("New message"); } @Override public void handleMessage(byte[] bytes) { received = true; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("History new done received"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryRefill.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryRefill.java index daaed79023..582e76e3ff 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryRefill.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryRefill.java @@ -3,13 +3,19 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 20.07.2016. */ public class MsgHistoryRefill extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(MsgHistoryRefill.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + public MsgHistoryRefill() { SetCommand(0x3108); - } + if (Config.logPumpComm) + log.debug("New message"); + } // Handle message taken from MsgHistoryAll } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistorySuspend.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistorySuspend.java index db807a31b5..8d209fc13e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistorySuspend.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistorySuspend.java @@ -3,13 +3,19 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + /** * Created by mike on 20.07.2016. */ public class MsgHistorySuspend extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(MsgHistorySuspend.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + public MsgHistorySuspend() { SetCommand(0x3109); + if (Config.logPumpComm) + log.debug("New message"); } // Handle message taken from MsgHistoryAll } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBasic.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBasic.java index e7f6032c00..8d71ed9e1d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBasic.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBasic.java @@ -4,13 +4,16 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class MsgInitConnStatusBasic extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgInitConnStatusBasic.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgInitConnStatusBasic() { SetCommand(0x0303); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -39,14 +42,17 @@ public class MsgInitConnStatusBasic extends MessageBase { boolean deliveryStepBolus = (bolusConfig & DanaRPump.DELIVERY_STEP_BOLUS) != 0; boolean deliveryBasal = (bolusConfig & DanaRPump.DELIVERY_BASAL) != 0; boolean deliveryExtBolus = (bolusConfig & DanaRPump.DELIVERY_EXT_BOLUS) != 0; - log.debug("Delivery prime: " + deliveryPrime); - log.debug("Delivery step bolus: " + deliveryStepBolus); - log.debug("Delivery basal: " + deliveryBasal); - log.debug("Delivery ext bolus: " + deliveryExtBolus); + if (Config.logPumpComm) { + log.debug("Delivery prime: " + deliveryPrime); + log.debug("Delivery step bolus: " + deliveryStepBolus); + log.debug("Delivery basal: " + deliveryBasal); + log.debug("Delivery ext bolus: " + deliveryExtBolus); + } } catch (Exception e) { + log.error("Unhadled exception", e); } - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Pump suspended: " + pump.pumpSuspended); log.debug("Calculator enabled: " + pump.calculatorEnabled); log.debug("Daily total units: " + pump.dailyTotalUnits); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBolus.java index 4fc9844b0d..163bf7d252 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBolus.java @@ -4,21 +4,24 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; -import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; +import info.nightscout.androidaps.plugins.Overview.notifications.Notification; +import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; /** * Created by mike on 28.05.2016. */ public class MsgInitConnStatusBolus extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgInitConnStatusBolus.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgInitConnStatusBolus() { SetCommand(0x0302); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -34,7 +37,7 @@ public class MsgInitConnStatusBolus extends MessageBase { pump.maxBolus = intFromBuff(bytes, 2, 2) / 100d; //int bolusRate = intFromBuff(bytes, 4, 8); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Is Extended bolus enabled: " + pump.isExtendedBolusEnabled); log.debug("Bolus increment: " + pump.bolusStep); log.debug("Bolus max: " + pump.maxBolus); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusOption.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusOption.java index 560ed8b332..2ff0e77636 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusOption.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusOption.java @@ -4,16 +4,19 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; /** * Created by mike on 28.05.2016. */ public class MsgInitConnStatusOption extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgInitConnStatusOption.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgInitConnStatusOption() { SetCommand(0x0304); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -29,7 +32,7 @@ public class MsgInitConnStatusOption extends MessageBase { //int none = intFromBuff(bytes, 8, 1); if (bytes.length >= 21) { DanaRPump.getInstance().password = intFromBuff(bytes, 9, 2) ^ 0x3463; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Pump password: " + DanaRPump.getInstance().password); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusTime.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusTime.java index 84d9c413bf..1cb10b0d28 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusTime.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusTime.java @@ -6,6 +6,7 @@ import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventRefreshGui; @@ -18,19 +19,21 @@ import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; public class MsgInitConnStatusTime extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgInitConnStatusTime.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgInitConnStatusTime() { SetCommand(0x0301); + if (Config.logPumpComm) + log.debug("New message"); } @Override public void handleMessage(byte[] bytes) { if (bytes.length - 10 > 7) { - Notification notification = new Notification(Notification.WRONG_DRIVER, MainApp.gs(R.string.pumpdrivercorrected), Notification.NORMAL); + Notification notification = new Notification(Notification.WRONG_DRIVER, MainApp.gs(R.string.pumpdrivercorrected), Notification.NORMAL); MainApp.bus().post(new EventNewNotification(notification)); MainApp.getSpecificPlugin(DanaRPlugin.class).disconnect("Wrong Model"); - log.debug("Wrong model selected. Switching to Korean DanaR"); + log.error("Wrong model selected. Switching to Korean DanaR"); MainApp.getSpecificPlugin(DanaRKoreanPlugin.class).setPluginEnabled(PluginType.PUMP, true); MainApp.getSpecificPlugin(DanaRKoreanPlugin.class).setFragmentVisible(PluginType.PUMP, true); MainApp.getSpecificPlugin(DanaRPlugin.class).setPluginEnabled(PluginType.PUMP, false); @@ -39,7 +42,7 @@ public class MsgInitConnStatusTime extends MessageBase { DanaRPump.reset(); // mark not initialized //If profile coming from pump, switch it as well - if(MainApp.getSpecificPlugin(DanaRPlugin.class).isEnabled(PluginType.PROFILE)){ + if (MainApp.getSpecificPlugin(DanaRPlugin.class).isEnabled(PluginType.PROFILE)) { (MainApp.getSpecificPlugin(DanaRPlugin.class)).setPluginEnabled(PluginType.PROFILE, false); (MainApp.getSpecificPlugin(DanaRKoreanPlugin.class)).setPluginEnabled(PluginType.PROFILE, true); } @@ -53,7 +56,7 @@ public class MsgInitConnStatusTime extends MessageBase { Date time = dateTimeSecFromBuff(bytes, 0); int versionCode = intFromBuff(bytes, 6, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Pump time: " + time); log.debug("Version code: " + versionCode); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStart.java index 619bbd9461..ea01c94ad3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStart.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStart.java @@ -4,16 +4,20 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; public class MsgPCCommStart extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgPCCommStart.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + public MsgPCCommStart() { SetCommand(0x3001); + if (Config.logPumpComm) + log.debug("New message"); } @Override public void handleMessage(byte[] bytes) { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("PC comm start received"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStop.java index 20dd4e060f..e53d71b611 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStop.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStop.java @@ -4,16 +4,19 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; public class MsgPCCommStop extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgPCCommStop.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgPCCommStop() { SetCommand(0x3002); + if (Config.logPumpComm) + log.debug("New message"); } @Override public void handleMessage(byte[] bytes) { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("PC comm stop received"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetActivateBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetActivateBasalProfile.java index 64ed0488a4..8da1f48586 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetActivateBasalProfile.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetActivateBasalProfile.java @@ -4,19 +4,22 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; public class MsgSetActivateBasalProfile extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSetActivateBasalProfile.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgSetActivateBasalProfile() { SetCommand(0x330C); + if (Config.logPumpComm) + log.debug("New message"); } // index 0-3 public MsgSetActivateBasalProfile(byte index) { this(); AddParamByte(index); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Activate basal profile: " + index); } @@ -25,9 +28,10 @@ public class MsgSetActivateBasalProfile extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - log.debug("Activate basal profile result: " + result + " FAILED!!!"); + if (Config.logPumpComm) + log.debug("Activate basal profile result: " + result + " FAILED!!!"); } else { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Activate basal profile result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetBasalProfile.java index 9f945e8b26..c95a49f89f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetBasalProfile.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetBasalProfile.java @@ -4,16 +4,19 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; +import info.nightscout.androidaps.plugins.Overview.notifications.Notification; public class MsgSetBasalProfile extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSetBasalProfile.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgSetBasalProfile() { SetCommand(0x3306); + if (Config.logPumpComm) + log.debug("New message"); } // index 0-3 @@ -23,7 +26,7 @@ public class MsgSetBasalProfile extends MessageBase { for (Integer i = 0; i < 24; i++) { AddParamInt((int) (values[i] * 100)); } - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set basal profile: " + index); } @@ -32,11 +35,12 @@ public class MsgSetBasalProfile extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - log.debug("Set basal profile result: " + result + " FAILED!!!"); + if (Config.logPumpComm) + log.debug("Set basal profile result: " + result + " FAILED!!!"); Notification reportFail = new Notification(Notification.PROFILE_SET_FAILED, MainApp.gs(R.string.profile_set_failed), Notification.URGENT); MainApp.bus().post(new EventNewNotification(reportFail)); } else { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set basal profile result: " + result); Notification reportOK = new Notification(Notification.PROFILE_SET_OK, MainApp.gs(R.string.profile_set_ok), Notification.INFO, 60); MainApp.bus().post(new EventNewNotification(reportOK)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetCarbsEntry.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetCarbsEntry.java index 4fcd6dee9c..e446c2498a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetCarbsEntry.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetCarbsEntry.java @@ -6,12 +6,15 @@ import org.slf4j.LoggerFactory; import java.util.Calendar; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; public class MsgSetCarbsEntry extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSetCarbsEntry.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgSetCarbsEntry() { SetCommand(0x0402); + if (Config.logPumpComm) + log.debug("New message"); } public MsgSetCarbsEntry(long time, int amount) { @@ -27,7 +30,7 @@ public class MsgSetCarbsEntry extends MessageBase { AddParamByte((byte) (calendar.get(Calendar.SECOND))); AddParamByte((byte) 0x43); //?? AddParamInt(amount); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set carb entry: " + amount + " date " + calendar.getTime().toString()); } @@ -36,9 +39,10 @@ public class MsgSetCarbsEntry extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - log.debug("Set carb entry result: " + result + " FAILED!!!"); + if (Config.logPumpComm) + log.debug("Set carb entry result: " + result + " FAILED!!!"); } else { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set carb entry result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStart.java index 420f0ccbf9..6de2fc251c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStart.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStart.java @@ -4,15 +4,17 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.interfaces.Constraint; -import info.nightscout.utils.HardLimits; public class MsgSetExtendedBolusStart extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSetExtendedBolusStart.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgSetExtendedBolusStart() { SetCommand(0x0407); + if (Config.logPumpComm) + log.debug("New message"); } public MsgSetExtendedBolusStart(double amount, byte halfhours) { @@ -25,7 +27,7 @@ public class MsgSetExtendedBolusStart extends MessageBase { AddParamInt((int) (amount * 100)); AddParamByte(halfhours); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set extended bolus start: " + (((int) (amount * 100)) / 100d) + "U halfhours: " + (int) halfhours); } @@ -34,9 +36,10 @@ public class MsgSetExtendedBolusStart extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - log.debug("Set extended bolus start result: " + result + " FAILED!!!"); + if (Config.logPumpComm) + log.debug("Set extended bolus start result: " + result + " FAILED!!!"); } else { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set extended bolus start result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStop.java index 7084949daa..01060b290d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStop.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStop.java @@ -4,14 +4,15 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; public class MsgSetExtendedBolusStop extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSetExtendedBolusStop.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgSetExtendedBolusStop() { SetCommand(0x0406); - if (Config.logDanaMessageDetail) - log.debug("Set extended bolus stop"); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -19,9 +20,10 @@ public class MsgSetExtendedBolusStop extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - log.debug("Set extended bolus stop result: " + result + " FAILED!!!"); + if (Config.logPumpComm) + log.debug("Set extended bolus stop result: " + result + " FAILED!!!"); } else { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set extended bolus stop result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetSingleBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetSingleBasalProfile.java index 7dd9ca522b..9d84650d01 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetSingleBasalProfile.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetSingleBasalProfile.java @@ -4,13 +4,14 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; public class MsgSetSingleBasalProfile extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSetSingleBasalProfile.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgSetSingleBasalProfile() { SetCommand(0x3302); @@ -22,8 +23,8 @@ public class MsgSetSingleBasalProfile extends MessageBase { for (Integer i = 0; i < 24; i++) { AddParamInt((int) (values[i] * 100)); } - if (Config.logDanaMessageDetail) - log.debug("Set basal profile"); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -31,11 +32,12 @@ public class MsgSetSingleBasalProfile extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - log.debug("Set basal profile result: " + result + " FAILED!!!"); + if (Config.logPumpComm) + log.debug("Set basal profile result: " + result + " FAILED!!!"); Notification reportFail = new Notification(Notification.PROFILE_SET_FAILED, MainApp.gs(R.string.profile_set_failed), Notification.URGENT); MainApp.bus().post(new EventNewNotification(reportFail)); } else { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set basal profile result: " + result); Notification reportOK = new Notification(Notification.PROFILE_SET_OK, MainApp.gs(R.string.profile_set_ok), Notification.INFO, 60); MainApp.bus().post(new EventNewNotification(reportOK)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStart.java index 2b72c35749..d688fd9698 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStart.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStart.java @@ -4,9 +4,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; public class MsgSetTempBasalStart extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSetTempBasalStart.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgSetTempBasalStart() { SetCommand(0x0401); @@ -24,7 +25,7 @@ public class MsgSetTempBasalStart extends MessageBase { AddParamByte((byte) (percent & 255)); AddParamByte((byte) (durationInHours & 255)); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Temp basal start percent: " + percent + " duration hours: " + durationInHours); } @@ -32,9 +33,10 @@ public class MsgSetTempBasalStart extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - log.debug("Set temp basal start result: " + result + " FAILED!!!"); + if (Config.logPumpComm) + log.debug("Set temp basal start result: " + result + " FAILED!!!"); } else { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set temp basal start result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStop.java index 39582ac399..dc9812a225 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStop.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStop.java @@ -4,13 +4,14 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; public class MsgSetTempBasalStop extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSetTempBasalStop.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgSetTempBasalStop() { SetCommand(0x0403); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Temp basal stop"); } @@ -18,9 +19,10 @@ public class MsgSetTempBasalStop extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - log.debug("Set temp basal stop result: " + result + " FAILED!!!"); + if (Config.logPumpComm) + log.debug("Set temp basal stop result: " + result + " FAILED!!!"); } else { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set temp basal stop result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTime.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTime.java index 3910d52c97..a5ef58fbd6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTime.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTime.java @@ -6,25 +6,29 @@ import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; +import info.nightscout.utils.DateUtil; /** * Created by mike on 09.12.2016. */ public class MsgSetTime extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSetTime.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private static Date time; public MsgSetTime(Date time) { SetCommand(0x330a); this.time = time; AddParamDateTime(time); + if (Config.logPumpComm) + log.debug("New message: time:" + DateUtil.dateAndTimeString(time)); } public void handleMessage(byte[] bytes) { int result = intFromBuff(bytes, 0, 1); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Result of setting time: " + time + " is " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetUserOptions.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetUserOptions.java index 407b19da8d..02c16aff69 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetUserOptions.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetUserOptions.java @@ -2,9 +2,9 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import android.support.v4.internal.view.SupportMenu; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; /** @@ -12,7 +12,7 @@ import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; */ public class MsgSetUserOptions extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSetUserOptions.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public boolean done; @@ -21,7 +21,7 @@ public class MsgSetUserOptions extends MessageBase { DanaRPump pump = DanaRPump.getInstance(); if (pump.userOptionsFrompump == null) { // No options set -> Exitting - log.debug("NO USER OPTIONS LOADED EXITTING!"); + log.error("NO USER OPTIONS LOADED EXITTING!"); return; } pump.userOptionsFrompump[0] = (byte) (pump.timeDisplayType == 1 ? 0 : 1); @@ -33,18 +33,21 @@ public class MsgSetUserOptions extends MessageBase { pump.userOptionsFrompump[8] = (byte) pump.units; pump.userOptionsFrompump[9] = (byte) pump.shutdownHour; pump.userOptionsFrompump[27] = (byte) pump.lowReservoirRate; - for(int i=0; i>>>> @ " + (mBolusingTreatment == null ? "" : mBolusingTreatment.insulin)); MsgBolusStop stop = new MsgBolusStop(); stop.forced = true; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java index ea4dec25fb..730c43643b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java @@ -7,8 +7,6 @@ import android.os.SystemClock; import com.squareup.otto.Subscribe; -import org.slf4j.LoggerFactory; - import java.io.IOException; import java.util.Date; @@ -67,10 +65,9 @@ import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.utils.NSUpload; import info.nightscout.utils.SP; -public class DanaRExecutionService extends AbstractDanaRExecutionService{ +public class DanaRExecutionService extends AbstractDanaRExecutionService { public DanaRExecutionService() { - log = LoggerFactory.getLogger(DanaRExecutionService.class); mBinder = new LocalBinder(); registerBus(); @@ -100,7 +97,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService{ public void connect() { if (mDanaRPump.password != -1 && mDanaRPump.password != SP.getInt(R.string.key_danar_password, -1)) { - if(System.currentTimeMillis() > lastWrongPumpPassword + 30 * 1000) { + if (System.currentTimeMillis() > lastWrongPumpPassword + 30 * 1000) { Notification notification = new Notification(Notification.WRONG_PUMP_PASSWORD, MainApp.gs(R.string.wrongpumppassword), Notification.URGENT); notification.soundId = R.raw.error; lastWrongPumpPassword = System.currentTimeMillis(); @@ -196,12 +193,14 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService{ MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumptime))); mSerialIOThread.sendMessage(new MsgSettingPumpTime()); long timeDiff = (mDanaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - log.debug("Pump time difference: " + timeDiff + " seconds"); + if (Config.logPump) + log.debug("Pump time difference: " + timeDiff + " seconds"); if (Math.abs(timeDiff) > 10) { mSerialIOThread.sendMessage(new MsgSetTime(new Date())); mSerialIOThread.sendMessage(new MsgSettingPumpTime()); timeDiff = (mDanaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - log.debug("Pump time difference: " + timeDiff + " seconds"); + if (Config.logPump) + log.debug("Pump time difference: " + timeDiff + " seconds"); } mDanaRPump.lastSettingsRead = now; } @@ -210,8 +209,9 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService{ MainApp.bus().post(new EventInitializationChanged()); NSUpload.uploadDeviceStatus(); if (mDanaRPump.dailyTotalUnits > mDanaRPump.maxDailyTotalUnits * Constants.dailyLimitWarning) { - log.debug("Approaching daily limit: " + mDanaRPump.dailyTotalUnits + "/" + mDanaRPump.maxDailyTotalUnits); - if(System.currentTimeMillis() > lastApproachingDailyLimit + 30 * 60 * 1000) { + if (Config.logPump) + log.debug("Approaching daily limit: " + mDanaRPump.dailyTotalUnits + "/" + mDanaRPump.maxDailyTotalUnits); + if (System.currentTimeMillis() > lastApproachingDailyLimit + 30 * 60 * 1000) { Notification reportFail = new Notification(Notification.APPROACHING_DAILY_LIMIT, MainApp.gs(R.string.approachingdailylimit), Notification.URGENT); MainApp.bus().post(new EventNewNotification(reportFail)); NSUpload.uploadError(MainApp.gs(R.string.approachingdailylimit) + ": " + mDanaRPump.dailyTotalUnits + "/" + mDanaRPump.maxDailyTotalUnits + "U"); @@ -301,7 +301,8 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService{ if ((System.currentTimeMillis() - progress.lastReceive) > 15 * 1000L) { // if i didn't receive status for more than 15 sec expecting broken comm stop.stopped = true; stop.forced = true; - log.debug("Communication stopped"); + if (Config.logPump) + log.debug("Communication stopped"); } } SystemClock.sleep(300); @@ -344,9 +345,11 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService{ public void run() { if (mDanaRPump.lastBolusTime.getTime() > System.currentTimeMillis() - 60 * 1000L) { // last bolus max 1 min old t.insulin = mDanaRPump.lastBolusAmount; - log.debug("Used bolus amount from history: " + mDanaRPump.lastBolusAmount); + if (Config.logPump) + log.debug("Used bolus amount from history: " + mDanaRPump.lastBolusAmount); } else { - log.debug("Bolus amount in history too old: " + mDanaRPump.lastBolusTime.toLocaleString()); + if (Config.logPump) + log.debug("Bolus amount in history too old: " + mDanaRPump.lastBolusTime.toLocaleString()); } synchronized (o) { o.notify(); @@ -386,7 +389,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService{ public boolean updateBasalsInPump(final Profile profile) { if (!isConnected()) return false; MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.updatingbasalrates))); - double[] basal = DanaRPump.buildDanaRProfileRecord(profile); + double[] basal = DanaRPump.getInstance().buildDanaRProfileRecord(profile); MsgSetBasalProfile msgSet = new MsgSetBasalProfile((byte) 0, basal); mSerialIOThread.sendMessage(msgSet); MsgSetActivateBasalProfile msgActivate = new MsgSetActivateBasalProfile((byte) 0); @@ -399,7 +402,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService{ @Subscribe public void onStatusEvent(EventAppExit event) { - if (Config.logFunctionCalls) + if (Config.logPump) log.debug("EventAppExit received"); if (mSerialIOThread != null) @@ -408,7 +411,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService{ MainApp.instance().getApplicationContext().unregisterReceiver(receiver); stopSelf(); - if (Config.logFunctionCalls) + if (Config.logPump) log.debug("EventAppExit finished"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java index 49edb6b096..2e8aac4643 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java @@ -11,8 +11,6 @@ import android.support.v7.app.AlertDialog; import com.squareup.otto.Subscribe; -import org.slf4j.LoggerFactory; - import info.nightscout.androidaps.Config; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -51,7 +49,6 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { public DanaRKoreanPlugin() { pluginDescription.description(R.string.description_pump_dana_r_korean); - log = LoggerFactory.getLogger(DanaRKoreanPlugin.class); useExtendedBoluses = SP.getBoolean("danar_useextended", false); pumpDescription.isBolusCapable = true; @@ -87,7 +84,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { @Override public void switchAllowed(ConfigBuilderFragment.PluginViewHolder.PluginSwitcher pluginSwitcher, FragmentActivity context) { boolean allowHardwarePump = SP.getBoolean("allow_hardware_pump", false); - if (allowHardwarePump || context == null){ + if (allowHardwarePump || context == null) { pluginSwitcher.invoke(); } else { AlertDialog.Builder builder = new AlertDialog.Builder(context); @@ -96,13 +93,15 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.invoke(); SP.putBoolean("allow_hardware_pump", true); - log.debug("First time HW pump allowed!"); + if (Config.logPump) + log.debug("First time HW pump allowed!"); } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.cancel(); - log.debug("User does not allow switching to HW pump!"); + if (Config.logPump) + log.debug("User does not allow switching to HW pump!"); } }); builder.create().show(); @@ -130,12 +129,14 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { private ServiceConnection mConnection = new ServiceConnection() { public void onServiceDisconnected(ComponentName name) { - log.debug("Service is disconnected"); + if (Config.logPump) + log.debug("Service is disconnected"); sExecutionService = null; } public void onServiceConnected(ComponentName name, IBinder service) { - log.debug("Service is connected"); + if (Config.logPump) + log.debug("Service is connected"); DanaRKoreanExecutionService.LocalBinder mLocalBinder = (DanaRKoreanExecutionService.LocalBinder) service; sExecutionService = mLocalBinder.getServiceInstance(); } @@ -198,7 +199,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { result.comment = String.format(MainApp.gs(R.string.boluserrorcode), detailedBolusInfo.insulin, t.insulin, MsgBolusStart.errorCode); else result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPumpActions) + if (Config.logPump) log.debug("deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered); detailedBolusInfo.insulin = t.insulin; detailedBolusInfo.date = System.currentTimeMillis(); @@ -240,13 +241,13 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { if (doTempOff) { // If extended in progress if (activeExtended != null && useExtendedBoluses) { - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Stopping extended bolus (doTempOff)"); return cancelExtendedBolus(); } // If temp in progress if (activeTemp != null) { - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Stopping temp basal (doTempOff)"); return cancelRealTempBasal(); } @@ -255,7 +256,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { result.percent = 100; result.isPercent = true; result.isTempCancel = true; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: doTempOff OK"); return result; } @@ -267,12 +268,12 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { if (percentRate > getPumpDescription().maxTempPercent) { percentRate = getPumpDescription().maxTempPercent; } - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Calculated percent rate: " + percentRate); // If extended in progress if (activeExtended != null && useExtendedBoluses) { - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Stopping extended bolus (doLowTemp || doHighTemp)"); result = cancelExtendedBolus(); if (!result.success) { @@ -283,7 +284,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { // Check if some temp is already in progress if (activeTemp != null) { // Correct basal already set ? - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: currently running: " + activeTemp.toString()); if (activeTemp.percentRate == percentRate) { if (enforceNew) { @@ -295,21 +296,21 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { result.duration = activeTemp.getPlannedRemainingMinutes(); result.isPercent = true; result.isTempCancel = false; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)"); return result; } } } // Convert duration from minutes to hours - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Setting temp basal " + percentRate + "% for " + durationInMinutes + " mins (doLowTemp || doHighTemp)"); return setTempBasalPercent(percentRate, durationInMinutes, profile, false); } if (doExtendedTemp) { // Check if some temp is already in progress if (activeTemp != null) { - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Stopping temp basal (doExtendedTemp)"); result = cancelRealTempBasal(); // Check for proper result @@ -328,7 +329,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { extendedRateToSet = Round.roundTo(extendedRateToSet, pumpDescription.extendedBolusStep * 2); // *2 because of halfhours // What is current rate of extended bolusing in u/h? - if (Config.logPumpActions) { + if (Config.logPump) { log.debug("setTempBasalAbsolute: Extended bolus in progress: " + (activeExtended != null) + " rate: " + pump.extendedBolusAbsoluteRate + "U/h duration remaining: " + pump.extendedBolusRemainingMinutes + "min"); log.debug("setTempBasalAbsolute: Rate to set: " + extendedRateToSet + "U/h"); } @@ -342,21 +343,21 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { result.duration = pump.extendedBolusRemainingMinutes; result.isPercent = false; result.isTempCancel = false; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Correct extended already set"); return result; } // Now set new extended, no need to to stop previous (if running) because it's replaced Double extendedAmount = extendedRateToSet / 2 * durationInHalfHours; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Setting extended: " + extendedAmount + "U halfhours: " + durationInHalfHours); result = setExtendedBolus(extendedAmount, durationInMinutes); if (!result.success) { log.error("setTempBasalAbsolute: Failed to set extended bolus"); return result; } - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Extended bolus set ok"); result.absolute = result.absolute + getBaseBasalRate(); return result; @@ -395,7 +396,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { result.success = true; result.isTempCancel = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPumpActions) + if (Config.logPump) log.debug("cancelRealTempBasal: OK"); return result; } else { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/SerialIOThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/SerialIOThread.java index 9a8f3edb05..6a36e565a9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/SerialIOThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/SerialIOThread.java @@ -11,6 +11,7 @@ import java.io.InputStream; import java.io.OutputStream; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; import info.nightscout.androidaps.plugins.PumpDanaR.services.AbstractSerialIOThread; @@ -21,7 +22,7 @@ import info.nightscout.utils.CRC; * Created by mike on 17.07.2016. */ public class SerialIOThread extends AbstractSerialIOThread { - private static Logger log = LoggerFactory.getLogger(SerialIOThread.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPBTCOMM); private InputStream mInputStream = null; private OutputStream mOutputStream = null; @@ -72,7 +73,7 @@ public class SerialIOThread extends AbstractSerialIOThread { message = MessageHashTable_k.findMessage(command); } - if (Config.logDanaMessageDetail) + if (Config.logPumpBtComm) log.debug("<<<<< " + message.getMessageName() + " " + message.toHexString(extractedBuff)); // process the message content @@ -84,7 +85,7 @@ public class SerialIOThread extends AbstractSerialIOThread { } } } catch (Exception e) { - if (Config.logDanaSerialEngine && e.getMessage().indexOf("bt socket closed") < 0) + if (e.getMessage().indexOf("bt socket closed") < 0) log.error("Thread exception: ", e); mKeepRunning = false; } @@ -148,7 +149,7 @@ public class SerialIOThread extends AbstractSerialIOThread { processedMessage = message; byte[] messageBytes = message.getRawMessageBytes(); - if (Config.logDanaSerialEngine) + if (Config.logPumpBtComm) log.debug(">>>>> " + message.getMessageName() + " " + message.toHexString(messageBytes)); try { @@ -167,10 +168,11 @@ public class SerialIOThread extends AbstractSerialIOThread { SystemClock.sleep(200); if (!message.received) { - log.warn("Reply not received " + message.getMessageName()); + if (Config.logPumpBtComm) + log.warn("Reply not received " + message.getMessageName()); if (message.getCommand() == 0xF0F1) { DanaRPump.getInstance().isNewPump = false; - log.debug("Old firmware detected"); + log.error("Old firmware detected"); } } } @@ -181,24 +183,29 @@ public class SerialIOThread extends AbstractSerialIOThread { try { mInputStream.close(); } catch (Exception e) { - if (Config.logDanaSerialEngine) log.debug(e.getMessage()); + if (Config.logPumpBtComm) + log.debug(e.getMessage()); } try { mOutputStream.close(); } catch (Exception e) { - if (Config.logDanaSerialEngine) log.debug(e.getMessage()); + if (Config.logPumpBtComm) + log.debug(e.getMessage()); } try { mRfCommSocket.close(); } catch (Exception e) { - if (Config.logDanaSerialEngine) log.debug(e.getMessage()); + if (Config.logPumpBtComm) + log.debug(e.getMessage()); } try { System.runFinalization(); } catch (Exception e) { - if (Config.logDanaSerialEngine) log.debug(e.getMessage()); + if (Config.logPumpBtComm) + log.debug(e.getMessage()); } - if (Config.logDanaSerialEngine) log.debug("Disconnected: " + reason); + if (Config.logPumpBtComm) + log.debug("Disconnected: " + reason); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgCheckValue_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgCheckValue_k.java index 684fa30997..0f08000a5a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgCheckValue_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgCheckValue_k.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; @@ -15,10 +16,12 @@ import info.nightscout.utils.ToastUtils; * Created by mike on 30.06.2016. */ public class MsgCheckValue_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgCheckValue_k.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgCheckValue_k() { SetCommand(0xF0F1); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -26,17 +29,18 @@ public class MsgCheckValue_k extends MessageBase { DanaRPump pump = DanaRPump.getInstance(); pump.isNewPump = true; - log.debug("New firmware confirmed"); + if (Config.logPump) + log.debug("New firmware confirmed"); pump.model = intFromBuff(bytes, 0, 1); pump.protocol = intFromBuff(bytes, 1, 1); pump.productCode = intFromBuff(bytes, 2, 1); if (pump.model != DanaRPump.DOMESTIC_MODEL) { DanaRKoreanPlugin.getPlugin().disconnect("Wrong Model"); - log.debug("Wrong model selected"); + log.error("Wrong model selected"); } - if (Config.logDanaMessageDetail) { + if (Config.logPump) { log.debug("Model: " + String.format("%02X ", pump.model)); log.debug("Protocol: " + String.format("%02X ", pump.protocol)); log.debug("Product Code: " + String.format("%02X ", pump.productCode)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBasic_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBasic_k.java index fa28e664ed..6eefefe34c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBasic_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBasic_k.java @@ -4,19 +4,22 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; +import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgInitConnStatusBasic_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgInitConnStatusBasic_k.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgInitConnStatusBasic_k() { SetCommand(0x0303); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -30,7 +33,7 @@ public class MsgInitConnStatusBasic_k extends MessageBase { pump.isEasyModeEnabled = intFromBuff(bytes, 2, 1) == 1; int easyUIMode = intFromBuff(bytes, 3, 1); pump.password = intFromBuff(bytes, 4, 2) ^ 0x3463; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("isStatusSuspendOn: " + pump.pumpSuspended); log.debug("isUtilityEnable: " + isUtilityEnable); log.debug("Is EasyUI Enabled: " + pump.isEasyModeEnabled); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBolus_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBolus_k.java index 552511cf7c..4412457b09 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBolus_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBolus_k.java @@ -4,22 +4,25 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; -import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; -import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; +import info.nightscout.androidaps.plugins.Overview.notifications.Notification; +import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; +import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; /** * Created by mike on 28.05.2016. */ public class MsgInitConnStatusBolus_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgInitConnStatusBolus_k.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgInitConnStatusBolus_k() { SetCommand(0x0302); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -36,7 +39,7 @@ public class MsgInitConnStatusBolus_k extends MessageBase { //int bolusRate = intFromBuff(bytes, 4, 8); int deliveryStatus = intFromBuff(bytes, 12, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Is Extended bolus enabled: " + pump.isExtendedBolusEnabled); log.debug("Bolus increment: " + pump.bolusStep); log.debug("Bolus max: " + pump.maxBolus); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusTime_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusTime_k.java index 7553b0cc37..8f4642999a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusTime_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusTime_k.java @@ -6,6 +6,7 @@ import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventRefreshGui; @@ -19,10 +20,12 @@ import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; public class MsgInitConnStatusTime_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgInitConnStatusTime_k.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgInitConnStatusTime_k() { SetCommand(0x0301); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -32,7 +35,7 @@ public class MsgInitConnStatusTime_k extends MessageBase { Notification notification = new Notification(Notification.WRONG_DRIVER, MainApp.gs(R.string.pumpdrivercorrected), Notification.NORMAL); MainApp.bus().post(new EventNewNotification(notification)); DanaRKoreanPlugin.getPlugin().disconnect("Wrong Model"); - log.debug("Wrong model selected. Switching to export DanaR"); + log.error("Wrong model selected. Switching to export DanaR"); MainApp.getSpecificPlugin(DanaRKoreanPlugin.class).setPluginEnabled(PluginType.PUMP, false); MainApp.getSpecificPlugin(DanaRKoreanPlugin.class).setFragmentVisible(PluginType.PUMP, false); MainApp.getSpecificPlugin(DanaRPlugin.class).setPluginEnabled(PluginType.PUMP, true); @@ -58,7 +61,7 @@ public class MsgInitConnStatusTime_k extends MessageBase { int versionCode3 = intFromBuff(bytes, 8, 1); int versionCode4 = intFromBuff(bytes, 9, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Pump time: " + time); log.debug("Version code1: " + versionCode1); log.debug("Version code2: " + versionCode2); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasalProfileAll_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasalProfileAll_k.java index 304ec9fc37..9890201485 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasalProfileAll_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasalProfileAll_k.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; @@ -15,10 +16,12 @@ import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; * THIS IS BROKEN IN PUMP... SENDING ONLY 1 PROFILE */ public class MsgSettingBasalProfileAll_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSettingBasalProfileAll_k.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgSettingBasalProfileAll_k() { SetCommand(0x3206); + if (Config.logPumpComm) + log.debug("New message"); } public void handleMessage(byte[] bytes) { @@ -49,7 +52,7 @@ public class MsgSettingBasalProfileAll_k extends MessageBase { } } - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (pump.basal48Enable) { for (int profile = 0; profile < 4; profile++) { for (int index = 0; index < 24; index++) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasal_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasal_k.java index 5c8b40b959..c5767e1bbc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasal_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasal_k.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; @@ -12,10 +13,12 @@ import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; * Created by mike on 05.07.2016. */ public class MsgSettingBasal_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSettingBasal_k.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgSettingBasal_k() { SetCommand(0x3202); + if (Config.logPumpComm) + log.debug("New message"); } public void handleMessage(byte[] bytes) { @@ -28,7 +31,7 @@ public class MsgSettingBasal_k extends MessageBase { pump.pumpProfiles[pump.activeProfile][index] = basal / 100d; } - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) for (int index = 0; index < 24; index++) { log.debug("Basal " + String.format("%02d", index) + "h: " + pump.pumpProfiles[pump.activeProfile][index]); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBasic_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBasic_k.java index 0fcaf17d83..f905593db0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBasic_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBasic_k.java @@ -4,15 +4,18 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgStatusBasic_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgStatusBasic_k.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgStatusBasic_k() { SetCommand(0x020A); + if (Config.logPumpComm) + log.debug("New message"); } public void handleMessage(byte[] bytes) { @@ -29,7 +32,7 @@ public class MsgStatusBasic_k extends MessageBase { pump.currentBasal = currentBasal; pump.batteryRemaining = batteryRemaining; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Daily total units: " + dailyTotalUnits); log.debug("Max daily total units: " + maxDailyTotalUnits); log.debug("Reservoir remaining units: " + reservoirRemainingUnits); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatus_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatus_k.java index 1fdcf26917..c81f010f16 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatus_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatus_k.java @@ -4,14 +4,17 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgStatus_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgStatus_k.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgStatus_k() { SetCommand(0x020B); + if (Config.logPumpComm) + log.debug("New message"); } public void handleMessage(byte[] bytes) { @@ -27,7 +30,7 @@ public class MsgStatus_k extends MessageBase { // } pump.iob = intFromBuff(bytes, 15, 2) / 100d; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Daily total: " + pump.dailyTotalUnits); log.debug("Is extended bolus running: " + pump.isExtendedInProgress); log.debug("Extended bolus min: " + pump.extendedBolusMinutes); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java index 0f4afa4314..25a4e21b72 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java @@ -7,8 +7,6 @@ import android.os.SystemClock; import com.squareup.otto.Subscribe; -import org.slf4j.LoggerFactory; - import java.io.IOException; import java.util.Date; @@ -50,7 +48,6 @@ import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgStatusBolusExtended; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgStatusTempBasal; import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRNewStatus; import info.nightscout.androidaps.plugins.PumpDanaR.services.AbstractDanaRExecutionService; -import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; import info.nightscout.androidaps.plugins.PumpDanaRKorean.SerialIOThread; import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgCheckValue_k; import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgSettingBasal_k; @@ -63,7 +60,6 @@ import info.nightscout.utils.SP; public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { public DanaRKoreanExecutionService() { - log = LoggerFactory.getLogger(DanaRKoreanExecutionService.class); mBinder = new LocalBinder(); registerBus(); @@ -87,7 +83,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { @Subscribe public void onStatusEvent(EventAppExit event) { - if (Config.logFunctionCalls) + if (Config.logPump) log.debug("EventAppExit received"); if (mSerialIOThread != null) @@ -96,7 +92,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { MainApp.instance().getApplicationContext().unregisterReceiver(receiver); stopSelf(); - if (Config.logFunctionCalls) + if (Config.logPump) log.debug("EventAppExit finished"); } @@ -108,7 +104,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { public void connect() { if (mDanaRPump.password != -1 && mDanaRPump.password != SP.getInt(R.string.key_danar_password, -1)) { - if(System.currentTimeMillis() > lastWrongPumpPassword + 30 * 1000) { + if (System.currentTimeMillis() > lastWrongPumpPassword + 30 * 1000) { Notification notification = new Notification(Notification.WRONG_PUMP_PASSWORD, MainApp.gs(R.string.wrongpumppassword), Notification.URGENT); notification.soundId = R.raw.error; lastWrongPumpPassword = System.currentTimeMillis(); @@ -119,35 +115,32 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { if (mConnectionInProgress) return; - new Thread(new Runnable() { - @Override - public void run() { - mConnectionInProgress = true; - getBTSocketForSelectedPump(); - if (mRfcommSocket == null || mBTDevice == null) { - mConnectionInProgress = false; - return; // Device not found - } - - try { - mRfcommSocket.connect(); - } catch (IOException e) { - //log.error("Unhandled exception", e); - if (e.getMessage().contains("socket closed")) { - log.error("Unhandled exception", e); - } - } - - if (isConnected()) { - if (mSerialIOThread != null) { - mSerialIOThread.disconnect("Recreate SerialIOThread"); - } - mSerialIOThread = new SerialIOThread(mRfcommSocket); - MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.CONNECTED, 0)); - } - + new Thread(() -> { + mConnectionInProgress = true; + getBTSocketForSelectedPump(); + if (mRfcommSocket == null || mBTDevice == null) { mConnectionInProgress = false; + return; // Device not found } + + try { + mRfcommSocket.connect(); + } catch (IOException e) { + //log.error("Unhandled exception", e); + if (e.getMessage().contains("socket closed")) { + log.error("Unhandled exception", e); + } + } + + if (isConnected()) { + if (mSerialIOThread != null) { + mSerialIOThread.disconnect("Recreate SerialIOThread"); + } + mSerialIOThread = new SerialIOThread(mRfcommSocket); + MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.CONNECTED, 0)); + } + + mConnectionInProgress = false; }).start(); } @@ -200,12 +193,14 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumptime))); mSerialIOThread.sendMessage(new MsgSettingPumpTime()); long timeDiff = (mDanaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - log.debug("Pump time difference: " + timeDiff + " seconds"); + if (Config.logPump) + log.debug("Pump time difference: " + timeDiff + " seconds"); if (Math.abs(timeDiff) > 10) { mSerialIOThread.sendMessage(new MsgSetTime(new Date())); mSerialIOThread.sendMessage(new MsgSettingPumpTime()); timeDiff = (mDanaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - log.debug("Pump time difference: " + timeDiff + " seconds"); + if (Config.logPump) + log.debug("Pump time difference: " + timeDiff + " seconds"); } mDanaRPump.lastSettingsRead = now; } @@ -214,8 +209,9 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { MainApp.bus().post(new EventInitializationChanged()); NSUpload.uploadDeviceStatus(); if (mDanaRPump.dailyTotalUnits > mDanaRPump.maxDailyTotalUnits * Constants.dailyLimitWarning) { - log.debug("Approaching daily limit: " + mDanaRPump.dailyTotalUnits + "/" + mDanaRPump.maxDailyTotalUnits); - if(System.currentTimeMillis() > lastApproachingDailyLimit + 30 * 60 * 1000) { + if (Config.logPump) + log.debug("Approaching daily limit: " + mDanaRPump.dailyTotalUnits + "/" + mDanaRPump.maxDailyTotalUnits); + if (System.currentTimeMillis() > lastApproachingDailyLimit + 30 * 60 * 1000) { Notification reportFail = new Notification(Notification.APPROACHING_DAILY_LIMIT, MainApp.gs(R.string.approachingdailylimit), Notification.URGENT); MainApp.bus().post(new EventNewNotification(reportFail)); NSUpload.uploadError(MainApp.gs(R.string.approachingdailylimit) + ": " + mDanaRPump.dailyTotalUnits + "/" + mDanaRPump.maxDailyTotalUnits + "U"); @@ -300,7 +296,8 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { if ((System.currentTimeMillis() - progress.lastReceive) > 15 * 1000L) { // if i didn't receive status for more than 15 sec expecting broken comm stop.stopped = true; stop.forced = true; - log.debug("Communication stopped"); + if (Config.logPump) + log.debug("Communication stopped"); } } SystemClock.sleep(300); @@ -332,7 +329,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { public boolean updateBasalsInPump(final Profile profile) { if (!isConnected()) return false; MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.updatingbasalrates))); - double[] basal = DanaRPump.buildDanaRProfileRecord(profile); + double[] basal = DanaRPump.getInstance().buildDanaRProfileRecord(profile); MsgSetSingleBasalProfile msgSet = new MsgSetSingleBasalProfile(basal); mSerialIOThread.sendMessage(msgSet); mDanaRPump.lastSettingsRead = 0; // force read full settings diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java index 36edf1e94f..613d77a44d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java @@ -21,6 +21,7 @@ import java.util.Date; import info.nightscout.androidaps.BuildConfig; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -64,7 +65,7 @@ import info.nightscout.utils.T; */ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInterface, ConstraintsInterface, ProfileInterface { - private static Logger log = LoggerFactory.getLogger(DanaRSPlugin.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMP); private static DanaRSPlugin plugin = null; public static DanaRSPlugin getPlugin() { @@ -155,7 +156,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte @Override public void switchAllowed(ConfigBuilderFragment.PluginViewHolder.PluginSwitcher pluginSwitcher, FragmentActivity context) { boolean allowHardwarePump = SP.getBoolean("allow_hardware_pump", false); - if (allowHardwarePump || context == null){ + if (allowHardwarePump || context == null) { pluginSwitcher.invoke(); } else { AlertDialog.Builder builder = new AlertDialog.Builder(context); @@ -164,13 +165,15 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte public void onClick(DialogInterface dialog, int id) { pluginSwitcher.invoke(); SP.putBoolean("allow_hardware_pump", true); - log.debug("First time HW pump allowed!"); + if (Config.logPump) + log.debug("First time HW pump allowed!"); } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.cancel(); - log.debug("User does not allow switching to HW pump!"); + if (Config.logPump) + log.debug("User does not allow switching to HW pump!"); } }); builder.create().show(); @@ -180,12 +183,14 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte private ServiceConnection mConnection = new ServiceConnection() { public void onServiceDisconnected(ComponentName name) { - log.debug("Service is disconnected"); + if (Config.logPump) + log.debug("Service is disconnected"); danaRSService = null; } public void onServiceConnected(ComponentName name, IBinder service) { - log.debug("Service is connected"); + if (Config.logPump) + log.debug("Service is connected"); DanaRSService.LocalBinder mLocalBinder = (DanaRSService.LocalBinder) service; danaRSService = mLocalBinder.getServiceInstance(); } @@ -205,7 +210,8 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte @Override public void connect(String from) { - log.debug("RS connect from: " + from); + if (Config.logPump) + log.debug("RS connect from: " + from); if (danaRSService != null && !mDeviceAddress.equals("") && !mDeviceName.equals("")) { final Object o = new Object(); @@ -225,6 +231,8 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte @Override public void disconnect(String from) { + if (Config.logPump) + log.debug("RS disconnect from: " + from); if (danaRSService != null) danaRSService.disconnect(from); } @@ -370,7 +378,8 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte Double profileValue = profile.getBasalTimeFromMidnight((Integer) (h * basalIncrement)); if (profileValue == null) return true; if (Math.abs(pumpValue - profileValue) > getPumpDescription().basalStep) { - log.debug("Diff found. Hour: " + h + " Pump: " + pumpValue + " Profile: " + profileValue); + if (Config.logPump) + log.debug("Diff found. Hour: " + h + " Pump: " + pumpValue + " Profile: " + profileValue); return false; } } @@ -430,7 +439,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.comment = String.format(MainApp.gs(R.string.boluserrorcode), detailedBolusInfo.insulin, t.insulin, DanaRS_Packet_Bolus_Set_Step_Bolus_Start.errorCode); else result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPumpActions) + if (Config.logPump) log.debug("deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered); return result; } else { @@ -474,7 +483,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte if (doTempOff) { // If temp in progress if (TreatmentsPlugin.getPlugin().isTempBasalInProgress()) { - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Stopping temp basal (doTempOff)"); return cancelTempBasal(false); } @@ -483,7 +492,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.percent = 100; result.isPercent = true; result.isTempCancel = true; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: doTempOff OK"); return result; } @@ -497,7 +506,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte // Check if some temp is already in progress TemporaryBasal activeTemp = TreatmentsPlugin.getPlugin().getTempBasalFromHistory(System.currentTimeMillis()); if (activeTemp != null) { - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: currently running: " + activeTemp.toString()); // Correct basal already set ? if (activeTemp.percentRate == percentRate) { @@ -508,14 +517,14 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.duration = activeTemp.getPlannedRemainingMinutes(); result.isPercent = true; result.isTempCancel = false; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)"); return result; } } } // Convert duration from minutes to hours - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Setting temp basal " + percentRate + "% for " + durationInMinutes + " mins (doLowTemp || doHighTemp)"); if (percentRate == 0 && durationInMinutes > 30) { result = setTempBasalPercent(percentRate, durationInMinutes, profile, false); @@ -527,7 +536,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte log.error("setTempBasalAbsolute: Failed to set hightemp basal"); return result; } - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: hightemp basal set ok"); return result; } @@ -562,7 +571,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalPercent: Correct value already set"); return result; } @@ -581,7 +590,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalPercent: OK"); return result; } @@ -603,7 +612,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setHighTempBasalPercent: OK"); return result; } @@ -630,7 +639,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.absolute = pump.extendedBolusAbsoluteRate; result.isPercent = false; result.isTempCancel = false; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setExtendedBolus: Correct extended bolus already set. Current: " + pump.extendedBolusAmount + " Asked: " + insulin); return result; } @@ -644,7 +653,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.absolute = pump.extendedBolusAbsoluteRate; result.bolusDelivered = pump.extendedBolusAmount; result.isPercent = false; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setExtendedBolus: OK"); return result; } @@ -668,7 +677,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.success = true; result.isTempCancel = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPumpActions) + if (Config.logPump) log.debug("cancelRealTempBasal: OK"); return result; } else { @@ -692,7 +701,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte if (!pump.isExtendedInProgress) { result.success = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPumpActions) + if (Config.logPump) log.debug("cancelExtendedBolus: OK"); return result; } else { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/activities/BLEScanActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/activities/BLEScanActivity.java index 3b6bcaf099..7594e917c5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/activities/BLEScanActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/activities/BLEScanActivity.java @@ -31,9 +31,6 @@ import info.nightscout.androidaps.plugins.PumpDanaRS.events.EventDanaRSDeviceCha import info.nightscout.utils.SP; public class BLEScanActivity extends AppCompatActivity { - private static Logger log = LoggerFactory.getLogger(BLEScanActivity.class); - - private ListView listView = null; private ListAdapter mListAdapter = null; private ArrayList mDevices = new ArrayList<>(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/activities/PairingProgressDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/activities/PairingProgressDialog.java index 9f72e1d08f..5f339cd528 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/activities/PairingProgressDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/activities/PairingProgressDialog.java @@ -9,7 +9,6 @@ import android.support.v4.app.DialogFragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.view.Window; import android.widget.Button; import android.widget.ProgressBar; import android.widget.TextView; @@ -63,46 +62,37 @@ public class PairingProgressDialog extends DialogFragment implements View.OnClic button.setOnClickListener(this); setCancelable(false); - sHandler.post(new Runnable() { - @Override - public void run() { - for (int i = 0; i < 20; i++) { - if (pairingEnded) { - Activity activity = getActivity(); - if (activity != null) { - activity.runOnUiThread(new Runnable() { - @Override - public void run() { - progressBar.setProgress(100); - statusView.setText(R.string.pairingok); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - } - dismiss(); - } - }); - } else - dismiss(); - return; - } - progressBar.setProgress(i * 5); - try { - Thread.sleep(1000); - } catch (InterruptedException e) { - } - } - Activity activity = getActivity(); - if (activity != null) { - activity.runOnUiThread(new Runnable() { - @Override - public void run() { + sHandler.post(() -> { + for (int i = 0; i < 20; i++) { + if (pairingEnded) { + Activity activity = getActivity(); + if (activity != null) { + activity.runOnUiThread(() -> { progressBar.setProgress(100); - statusView.setText(R.string.pairingtimedout); - button.setVisibility(View.VISIBLE); - } - }); + statusView.setText(R.string.pairingok); + try { + Thread.sleep(1000); + } catch (InterruptedException ignored) { + } + dismiss(); + }); + } else + dismiss(); + return; } + progressBar.setProgress(i * 5); + try { + Thread.sleep(1000); + } catch (InterruptedException ignored) { + } + } + Activity activity = getActivity(); + if (activity != null) { + activity.runOnUiThread(() -> { + progressBar.setProgress(100); + statusView.setText(R.string.pairingtimedout); + button.setVisibility(View.VISIBLE); + }); } }); return view; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRSMessageHashTable.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRSMessageHashTable.java index 5457bb4155..9827d42ba7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRSMessageHashTable.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRSMessageHashTable.java @@ -11,14 +11,12 @@ import info.nightscout.androidaps.Config; * Created by mike on 28.05.2016. */ public class DanaRSMessageHashTable { - private static Logger log = LoggerFactory.getLogger(DanaRSMessageHashTable.class); - public static HashMap messages = null; static { if (messages == null) { - boolean savedState = Config.logDanaMessageDetail; - Config.logDanaMessageDetail = false; + boolean savedState = Config.logPumpComm; + Config.logPumpComm = false; messages = new HashMap<>(); put(new DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal()); @@ -89,7 +87,7 @@ public class DanaRSMessageHashTable { put(new DanaRS_Packet_APS_History_Events()); put(new DanaRS_Packet_APS_Set_Event_History()); - Config.logDanaMessageDetail = savedState; + Config.logPumpComm = savedState; } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Basal_Set_Temporary_Basal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Basal_Set_Temporary_Basal.java index 5da3655ceb..b145c0d8fe 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Basal_Set_Temporary_Basal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Basal_Set_Temporary_Basal.java @@ -6,9 +6,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_APS_Basal_Set_Temporary_Basal extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_APS_Basal_Set_Temporary_Basal.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); int temporaryBasalRatio; int temporaryBasalDuration; @@ -25,6 +26,8 @@ public class DanaRS_Packet_APS_Basal_Set_Temporary_Basal extends DanaRS_Packet { public DanaRS_Packet_APS_Basal_Set_Temporary_Basal(int percent) { this(); setParams(percent); + if (Config.logPumpComm) + log.debug("New message: percent: " + percent); } protected void setParams(int percent) { @@ -35,16 +38,16 @@ public class DanaRS_Packet_APS_Basal_Set_Temporary_Basal extends DanaRS_Packet { temporaryBasalRatio = percent; if (percent < 100) { temporaryBasalDuration = PARAM30MIN; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("APS Temp basal start percent: " + percent + " duration 30 min"); } else { temporaryBasalDuration = PARAM15MIN; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("APS Temp basal start percent: " + percent + " duration 15 min"); } } - public DanaRS_Packet_APS_Basal_Set_Temporary_Basal(int percent, boolean fifteenMinutes, boolean thirtyMinutes ) { + public DanaRS_Packet_APS_Basal_Set_Temporary_Basal(int percent, boolean fifteenMinutes, boolean thirtyMinutes) { this(); setParams(percent, fifteenMinutes, thirtyMinutes); } @@ -57,11 +60,11 @@ public class DanaRS_Packet_APS_Basal_Set_Temporary_Basal extends DanaRS_Packet { temporaryBasalRatio = percent; if (thirtyMinutes && percent <= 200) { // 30 min is allowed up to 200% temporaryBasalDuration = PARAM30MIN; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("APS Temp basal start percent: " + percent + " duration 30 min"); } else { temporaryBasalDuration = PARAM15MIN; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("APS Temp basal start percent: " + percent + " duration 15 min"); } } @@ -80,10 +83,11 @@ public class DanaRS_Packet_APS_Basal_Set_Temporary_Basal extends DanaRS_Packet { int result = byteArrayToInt(getBytes(data, DATA_START, 1)); if (result != 0) { failed = true; - log.error("Set APS temp basal start result: " + result + " FAILED!!!"); + if (Config.logPumpComm) + log.debug("Set APS temp basal start result: " + result + " FAILED!!!"); } else { failed = false; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set APS temp basal start result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_History_Events.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_History_Events.java index b8c8aaf2b4..76994861fb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_History_Events.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_History_Events.java @@ -9,6 +9,8 @@ import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -22,7 +24,7 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_APS_History_Events.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int year = 0; private int month = 0; @@ -32,7 +34,6 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { private int sec = 0; public static boolean done; - private static int totalCount; public static long lastEventTimeLoaded = 0; @@ -40,7 +41,6 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE__APS_HISTORY_EVENTS; done = false; - totalCount = 0; } public DanaRS_Packet_APS_History_Events(long from) { @@ -56,7 +56,8 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { hour = cal.get(Calendar.HOUR_OF_DAY); min = cal.get(Calendar.MINUTE); sec = cal.get(Calendar.SECOND); - log.debug("Loading event history from: " + new Date(cal.getTimeInMillis()).toLocaleString()); + if (Config.logPumpComm) + log.debug("Loading event history from: " + new Date(cal.getTimeInMillis()).toLocaleString()); } @Override @@ -78,7 +79,8 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { // Last record if (recordCode == (byte) 0xFF) { done = true; - log.debug("Last record received"); + if (Config.logPumpComm) + log.debug("Last record received"); return; } @@ -95,10 +97,12 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { DetailedBolusInfo detailedBolusInfo = DetailedBolusInfoStorage.findDetailedBolusInfo(datetime.getTime()); if (detailedBolusInfo == null) { - log.debug("Detailed bolus info not found for " + datetime.toLocaleString()); + if (Config.logPumpComm) + log.debug("Detailed bolus info not found for " + datetime.toLocaleString()); detailedBolusInfo = new DetailedBolusInfo(); } else { - log.debug("Detailed bolus info found: " + detailedBolusInfo); + if (Config.logPumpComm) + log.debug("Detailed bolus info found: " + detailedBolusInfo); } detailedBolusInfo.date = datetime.getTime(); detailedBolusInfo.source = Source.PUMP; @@ -108,73 +112,86 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { switch (recordCode) { case DanaRPump.TEMPSTART: - log.debug("EVENT TEMPSTART (" + recordCode + ") " + datetime.toLocaleString() + " Ratio: " + param1 + "% Duration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug("EVENT TEMPSTART (" + recordCode + ") " + datetime.toLocaleString() + " Ratio: " + param1 + "% Duration: " + param2 + "min"); temporaryBasal.percentRate = param1; temporaryBasal.durationInMinutes = param2; TreatmentsPlugin.getPlugin().addToHistoryTempBasal(temporaryBasal); status = "TEMPSTART " + DateUtil.timeString(datetime); break; case DanaRPump.TEMPSTOP: - log.debug("EVENT TEMPSTOP (" + recordCode + ") " + datetime.toLocaleString()); + if (Config.logPumpComm) + log.debug("EVENT TEMPSTOP (" + recordCode + ") " + datetime.toLocaleString()); TreatmentsPlugin.getPlugin().addToHistoryTempBasal(temporaryBasal); status = "TEMPSTOP " + DateUtil.timeString(datetime); break; case DanaRPump.EXTENDEDSTART: - log.debug("EVENT EXTENDEDSTART (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + (param1 / 100d) + "U Duration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug("EVENT EXTENDEDSTART (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + (param1 / 100d) + "U Duration: " + param2 + "min"); extendedBolus.insulin = param1 / 100d; extendedBolus.durationInMinutes = param2; TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); status = "EXTENDEDSTART " + DateUtil.timeString(datetime); break; case DanaRPump.EXTENDEDSTOP: - log.debug("EVENT EXTENDEDSTOP (" + recordCode + ") " + datetime.toLocaleString() + " Delivered: " + (param1 / 100d) + "U RealDuration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug("EVENT EXTENDEDSTOP (" + recordCode + ") " + datetime.toLocaleString() + " Delivered: " + (param1 / 100d) + "U RealDuration: " + param2 + "min"); TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); status = "EXTENDEDSTOP " + DateUtil.timeString(datetime); break; case DanaRPump.BOLUS: detailedBolusInfo.insulin = param1 / 100d; boolean newRecord = TreatmentsPlugin.getPlugin().addToHistoryTreatment(detailedBolusInfo, false); - log.debug((newRecord ? "**NEW** " : "") + "EVENT BOLUS (" + recordCode + ") " + datetime.toLocaleString() + " Bolus: " + (param1 / 100d) + "U Duration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug((newRecord ? "**NEW** " : "") + "EVENT BOLUS (" + recordCode + ") " + datetime.toLocaleString() + " Bolus: " + (param1 / 100d) + "U Duration: " + param2 + "min"); DetailedBolusInfoStorage.remove(detailedBolusInfo.date); status = "BOLUS " + DateUtil.timeString(datetime); break; case DanaRPump.DUALBOLUS: detailedBolusInfo.insulin = param1 / 100d; newRecord = TreatmentsPlugin.getPlugin().addToHistoryTreatment(detailedBolusInfo, false); - log.debug((newRecord ? "**NEW** " : "") + "EVENT DUALBOLUS (" + recordCode + ") " + datetime.toLocaleString() + " Bolus: " + (param1 / 100d) + "U Duration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug((newRecord ? "**NEW** " : "") + "EVENT DUALBOLUS (" + recordCode + ") " + datetime.toLocaleString() + " Bolus: " + (param1 / 100d) + "U Duration: " + param2 + "min"); DetailedBolusInfoStorage.remove(detailedBolusInfo.date); status = "DUALBOLUS " + DateUtil.timeString(datetime); break; case DanaRPump.DUALEXTENDEDSTART: - log.debug("EVENT DUALEXTENDEDSTART (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + (param1 / 100d) + "U Duration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug("EVENT DUALEXTENDEDSTART (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + (param1 / 100d) + "U Duration: " + param2 + "min"); extendedBolus.insulin = param1 / 100d; extendedBolus.durationInMinutes = param2; TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); status = "DUALEXTENDEDSTART " + DateUtil.timeString(datetime); break; case DanaRPump.DUALEXTENDEDSTOP: - log.debug("EVENT DUALEXTENDEDSTOP (" + recordCode + ") " + datetime.toLocaleString() + " Delivered: " + (param1 / 100d) + "U RealDuration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug("EVENT DUALEXTENDEDSTOP (" + recordCode + ") " + datetime.toLocaleString() + " Delivered: " + (param1 / 100d) + "U RealDuration: " + param2 + "min"); TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); status = "DUALEXTENDEDSTOP " + DateUtil.timeString(datetime); break; case DanaRPump.SUSPENDON: - log.debug("EVENT SUSPENDON (" + recordCode + ") " + datetime.toLocaleString()); + if (Config.logPumpComm) + log.debug("EVENT SUSPENDON (" + recordCode + ") " + datetime.toLocaleString()); status = "SUSPENDON " + DateUtil.timeString(datetime); break; case DanaRPump.SUSPENDOFF: - log.debug("EVENT SUSPENDOFF (" + recordCode + ") " + datetime.toLocaleString()); + if (Config.logPumpComm) + log.debug("EVENT SUSPENDOFF (" + recordCode + ") " + datetime.toLocaleString()); status = "SUSPENDOFF " + DateUtil.timeString(datetime); break; case DanaRPump.REFILL: - log.debug("EVENT REFILL (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); + if (Config.logPumpComm) + log.debug("EVENT REFILL (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); status = "REFILL " + DateUtil.timeString(datetime); break; case DanaRPump.PRIME: - log.debug("EVENT PRIME (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); + if (Config.logPumpComm) + log.debug("EVENT PRIME (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); status = "PRIME " + DateUtil.timeString(datetime); break; case DanaRPump.PROFILECHANGE: - log.debug("EVENT PROFILECHANGE (" + recordCode + ") " + datetime.toLocaleString() + " No: " + param1 + " CurrentRate: " + (param2 / 100d) + "U/h"); + if (Config.logPumpComm) + log.debug("EVENT PROFILECHANGE (" + recordCode + ") " + datetime.toLocaleString() + " No: " + param1 + " CurrentRate: " + (param2 / 100d) + "U/h"); status = "PROFILECHANGE " + DateUtil.timeString(datetime); break; case DanaRPump.CARBS: @@ -184,15 +201,18 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { emptyCarbsInfo.source = Source.PUMP; emptyCarbsInfo.pumpId = datetime.getTime(); newRecord = TreatmentsPlugin.getPlugin().addToHistoryTreatment(emptyCarbsInfo, false); - log.debug((newRecord ? "**NEW** " : "") + "EVENT CARBS (" + recordCode + ") " + datetime.toLocaleString() + " Carbs: " + param1 + "g"); + if (Config.logPumpComm) + log.debug((newRecord ? "**NEW** " : "") + "EVENT CARBS (" + recordCode + ") " + datetime.toLocaleString() + " Carbs: " + param1 + "g"); status = "CARBS " + DateUtil.timeString(datetime); break; case DanaRPump.PRIMECANNULA: - log.debug("EVENT PRIMECANNULA(" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); + if (Config.logPumpComm) + log.debug("EVENT PRIMECANNULA(" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); status = "PRIMECANNULA " + DateUtil.timeString(datetime); break; default: - log.debug("Event: " + recordCode + " " + datetime.toLocaleString() + " Param1: " + param1 + " Param2: " + param2); + if (Config.logPumpComm) + log.debug("Event: " + recordCode + " " + datetime.toLocaleString() + " Param1: " + param1 + " Param2: " + param2); status = "UNKNOWN " + DateUtil.timeString(datetime); break; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Set_Event_History.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Set_Event_History.java index 84ead83665..efd3aaa8f4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Set_Event_History.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Set_Event_History.java @@ -9,15 +9,16 @@ import java.util.Calendar; import java.util.GregorianCalendar; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.utils.DateUtil; public class DanaRS_Packet_APS_Set_Event_History extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_APS_Set_Event_History.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int type; private long time; - public int param1; - public int param2; + private int param1; + private int param2; public DanaRS_Packet_APS_Set_Event_History() { super(); @@ -31,7 +32,7 @@ public class DanaRS_Packet_APS_Set_Event_History extends DanaRS_Packet { this.time = time; this.param1 = param1; this.param2 = param2; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set history entry: " + DateUtil.dateAndTimeString(time) + " type: " + type + " param1: " + param1 + " param2: " + param2); } @@ -66,9 +67,10 @@ public class DanaRS_Packet_APS_Set_Event_History extends DanaRS_Packet { int result = intFromBuff(data, 0, 1); if (result != 0) { failed = true; - log.error("Set history entry result: " + result + " FAILED!!!"); + if (Config.logPumpComm) + log.error("Set history entry result: " + result + " FAILED!!!"); } else { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set history entry result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Basal_Rate.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Basal_Rate.java index f3fef0d49d..f358cbdcd0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Basal_Rate.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Basal_Rate.java @@ -1,27 +1,28 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; +import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; -import com.cozmo.danar.util.BleCommandUtil; - public class DanaRS_Packet_Basal_Get_Basal_Rate extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Basal_Get_Basal_Rate() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__GET_BASAL_RATE; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Requesting basal rates"); } } @@ -45,7 +46,7 @@ public class DanaRS_Packet_Basal_Get_Basal_Rate extends DanaRS_Packet { dataSize = 2; pump.pumpProfiles[pump.activeProfile][i] = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; } - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Max basal: " + pump.maxBasal + " U"); log.debug("Basal step: " + pump.basalStep + " U"); for (int index = 0; index < 24; index++) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Basal_Rate.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Basal_Rate.java index 8eadb8298d..2b4e830644 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Basal_Rate.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Basal_Rate.java @@ -1,14 +1,16 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Basal_Get_Profile_Basal_Rate extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Basal_Get_Profile_Basal_Rate.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int profileNumber; @@ -21,7 +23,7 @@ public class DanaRS_Packet_Basal_Get_Profile_Basal_Rate extends DanaRS_Packet { public DanaRS_Packet_Basal_Get_Profile_Basal_Rate(int profileNumber) { this(); this.profileNumber = profileNumber; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Requesting basal rates for profile " + profileNumber); } } @@ -47,7 +49,7 @@ public class DanaRS_Packet_Basal_Get_Profile_Basal_Rate extends DanaRS_Packet { dataIndex += dataSize; dataSize = 2; } - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { for (int index = 0; index < 24; index++) log.debug("Basal " + String.format("%02d", index) + "h: " + pump.pumpProfiles[profileNumber][index]); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Number.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Number.java index 39e230a29e..c376a35cba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Number.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Number.java @@ -1,19 +1,21 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Basal_Get_Profile_Number extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Basal_Get_Profile_Number.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Basal_Get_Profile_Number() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__GET_PROFILE_NUMBER; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Requesting active profile"); } } @@ -25,7 +27,7 @@ public class DanaRS_Packet_Basal_Get_Profile_Number extends DanaRS_Packet { int dataIndex = DATA_START; int dataSize = 1; pump.activeProfile = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Active profile: " + pump.activeProfile); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Temporary_Basal_State.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Temporary_Basal_State.java index dbf917874d..0b892c8335 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Temporary_Basal_State.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Temporary_Basal_State.java @@ -2,22 +2,24 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; import android.support.annotation.NonNull; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Basal_Get_Temporary_Basal_State extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Basal_Get_Temporary_Basal_State.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Basal_Get_Temporary_Basal_State() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__TEMPORARY_BASAL_STATE; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Requesting temporary basal status"); } } @@ -53,7 +55,7 @@ public class DanaRS_Packet_Basal_Get_Temporary_Basal_State extends DanaRS_Packet int tempBasalRemainingMin = (pump.tempBasalTotalSec - runningMin * 60) / 60; Date tempBasalStart = pump.isTempBasalInProgress ? getDateFromTempBasalSecAgo(runningMin * 60) : new Date(0); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Error code: " + error); log.debug("Is temp basal running: " + pump.isTempBasalInProgress); log.debug("Is APS temp basal running: " + isAPSTempBasalInProgress); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Basal_Rate.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Basal_Rate.java index a64da24bf3..bf6f6922a0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Basal_Rate.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Basal_Rate.java @@ -4,11 +4,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import com.cozmo.danar.util.BleCommandUtil; public class DanaRS_Packet_Basal_Set_Basal_Rate extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Basal_Set_Basal_Rate.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private double[] profileBasalRate; @@ -20,7 +21,7 @@ public class DanaRS_Packet_Basal_Set_Basal_Rate extends DanaRS_Packet { public DanaRS_Packet_Basal_Set_Basal_Rate(double[] profileBasalRate) { this(); this.profileBasalRate = profileBasalRate; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Setting new basal rates"); } } @@ -39,7 +40,7 @@ public class DanaRS_Packet_Basal_Set_Basal_Rate extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal.java index 538750a45b..667360202d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal.java @@ -1,19 +1,20 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__CANCEL_TEMPORARY_BASAL; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Canceling temp basal"); } } @@ -21,7 +22,7 @@ public class DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal extends DanaRS_Packe @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Basal_Rate.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Basal_Rate.java index 66d0e7b4bb..29df6e69ac 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Basal_Rate.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Basal_Rate.java @@ -1,13 +1,15 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Basal_Set_Profile_Basal_Rate extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Basal_Set_Profile_Basal_Rate.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int profileNumber; // 0 - 4 private double[] profileBasalRate; @@ -21,7 +23,7 @@ public class DanaRS_Packet_Basal_Set_Profile_Basal_Rate extends DanaRS_Packet { this(); this.profileNumber = profileNumber; this.profileBasalRate = profileBasalRate; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Setting new basal rates for profile " + profileNumber); } } @@ -41,7 +43,7 @@ public class DanaRS_Packet_Basal_Set_Profile_Basal_Rate extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Number.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Number.java index 69f7eae8dd..dcb03a89ae 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Number.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Number.java @@ -1,48 +1,50 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Basal_Set_Profile_Number extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Basal_Set_Profile_Number.class); - private int profileNumber; + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private int profileNumber; - public DanaRS_Packet_Basal_Set_Profile_Number() { + public DanaRS_Packet_Basal_Set_Profile_Number() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__SET_PROFILE_NUMBER; } - public DanaRS_Packet_Basal_Set_Profile_Number(int profileNumber) { - this(); - this.profileNumber = profileNumber; - if (Config.logDanaMessageDetail) { - log.debug("Setting profile number " + profileNumber); - } - } - @Override - public byte[] getRequestParams() { - byte[] request = new byte[1]; - request[0] = (byte) (profileNumber & 0xff); - return request; - } + public DanaRS_Packet_Basal_Set_Profile_Number(int profileNumber) { + this(); + this.profileNumber = profileNumber; + if (Config.logPumpComm) { + log.debug("Setting profile number " + profileNumber); + } + } @Override - public void handleMessage(byte[] data) { - int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { - if (result == 0) - log.debug("Result OK"); - else - log.error("Result Error: " + result); - } - } + public byte[] getRequestParams() { + byte[] request = new byte[1]; + request[0] = (byte) (profileNumber & 0xff); + return request; + } - @Override - public String getFriendlyName() { - return "BASAL__SET_PROFILE_NUMBER"; - } + @Override + public void handleMessage(byte[] data) { + int result = intFromBuff(data, 0, 1); + if (Config.logPumpComm) { + if (result == 0) + log.debug("Result OK"); + else + log.error("Result Error: " + result); + } + } + + @Override + public String getFriendlyName() { + return "BASAL__SET_PROFILE_NUMBER"; + } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_Off.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_Off.java index 4c78038162..7614488a78 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_Off.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_Off.java @@ -1,18 +1,20 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Basal_Set_Suspend_Off extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Basal_Set_Suspend_Off.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Basal_Set_Suspend_Off() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__SET_SUSPEND_OFF; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Turning off suspend"); } } @@ -20,7 +22,7 @@ public class DanaRS_Packet_Basal_Set_Suspend_Off extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_On.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_On.java index 75a2a5fada..72049bc033 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_On.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_On.java @@ -1,18 +1,20 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Basal_Set_Suspend_On extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Basal_Set_Suspend_On.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Basal_Set_Suspend_On() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__SET_SUSPEND_ON; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Turning on suspend"); } } @@ -20,7 +22,7 @@ public class DanaRS_Packet_Basal_Set_Suspend_On extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Temporary_Basal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Temporary_Basal.java index d2f68ff864..fa23fa08f8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Temporary_Basal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Temporary_Basal.java @@ -1,13 +1,15 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Basal_Set_Temporary_Basal extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Basal_Set_Temporary_Basal.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int temporaryBasalRatio; private int temporaryBasalDuration; @@ -21,7 +23,7 @@ public class DanaRS_Packet_Basal_Set_Temporary_Basal extends DanaRS_Packet { this(); this.temporaryBasalRatio = temporaryBasalRatio; this.temporaryBasalDuration = temporaryBasalDuration; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Setting temporary basal of " + temporaryBasalRatio + "% for " + temporaryBasalDuration + " hours"); } } @@ -37,7 +39,7 @@ public class DanaRS_Packet_Basal_Set_Temporary_Basal extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Bolus_Option.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Bolus_Option.java index 69c2f75ba6..84b0bf1736 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Bolus_Option.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Bolus_Option.java @@ -1,24 +1,27 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; - +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; +import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Bolus_Option extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Get_Bolus_Option.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Bolus_Option() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_BOLUS_OPTION; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -108,7 +111,7 @@ public class DanaRS_Packet_Bolus_Get_Bolus_Option extends DanaRS_Packet { MainApp.bus().post(new EventDismissNotification(Notification.EXTENDED_BOLUS_DISABLED)); } - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Extended bolus enabled: " + pump.isExtendedBolusEnabled); log.debug("Missed bolus config: " + pump.missedBolusConfig); log.debug("missedBolus01StartHour: " + missedBolus01StartHour); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_CIR_CF_Array.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_CIR_CF_Array.java index b8a86cc078..fd4f942d1b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_CIR_CF_Array.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_CIR_CF_Array.java @@ -1,21 +1,23 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; - +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_CIR_CF_Array extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Get_CIR_CF_Array.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Bolus_Get_CIR_CF_Array() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_CIR_CF_ARRAY; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -118,7 +120,7 @@ public class DanaRS_Packet_Bolus_Get_CIR_CF_Array extends DanaRS_Packet { pump.nightCF = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; } - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Language: " + language); log.debug("Pump units: " + (pump.units == DanaRPump.UNITS_MGDL ? "MGDL" : "MMOL")); log.debug("Current pump morning CIR: " + pump.morningCIR); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Calculation_Information.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Calculation_Information.java index f5acedf3ba..a16368a8b3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Calculation_Information.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Calculation_Information.java @@ -1,20 +1,22 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; - +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Calculation_Information extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Get_Calculation_Information.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Calculation_Information() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_CALCULATION_INFORMATION; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -58,7 +60,7 @@ public class DanaRS_Packet_Bolus_Get_Calculation_Information extends DanaRS_Pack pump.currentTarget = pump.currentTarget / 100d; currentBG = currentBG / 100d; } - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Result: " + error); log.debug("Pump units: " + (pump.units == DanaRPump.UNITS_MGDL ? "MGDL" : "MMOL")); log.debug("Current BG: " + currentBG); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information.java index c581320c54..deb68ebac9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information.java @@ -1,20 +1,22 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; - +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_CARBOHYDRATE_CALCULATION_INFORMATION; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -33,7 +35,7 @@ public class DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information extend dataSize = 2; pump.currentCIR = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Result: " + error); log.debug("Carbs: " + carbs); log.debug("Current CIR: " + pump.currentCIR); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Dual_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Dual_Bolus.java index bd7a0b9ee6..7c5aaf7e9e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Dual_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Dual_Bolus.java @@ -1,18 +1,22 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Dual_Bolus extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Get_Dual_Bolus.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Dual_Bolus() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_DUAL_BOLUS; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -39,7 +43,7 @@ public class DanaRS_Packet_Bolus_Get_Dual_Bolus extends DanaRS_Packet { dataSize = 1; double bolusIncrement = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Result: " + error); log.debug("Bolus step: " + pump.bolusStep + " U"); log.debug("Extended bolus running: " + pump.extendedBolusAbsoluteRate + " U/h"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus.java index 682d9b14bb..bd7b1fb38a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus.java @@ -1,20 +1,22 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; - +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Extended_Bolus extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Get_Extended_Bolus.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Extended_Bolus() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_EXTENDED_BOLUS; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -37,7 +39,7 @@ public class DanaRS_Packet_Bolus_Get_Extended_Bolus extends DanaRS_Packet { dataSize = 1; pump.bolusStep = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Result: " + error); log.debug("Extended bolus running: " + pump.extendedBolusAbsoluteRate + " U/h"); log.debug("Max bolus: " + pump.maxBolus + " U"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus_State.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus_State.java index b22a9dfb47..a793de020c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus_State.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus_State.java @@ -1,20 +1,22 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; - +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Extended_Bolus_State extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Get_Extended_Bolus_State.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Extended_Bolus_State() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_EXTENDED_BOLUS_STATE; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -45,7 +47,7 @@ public class DanaRS_Packet_Bolus_Get_Extended_Bolus_State extends DanaRS_Packet dataSize = 2; pump.extendedBolusDeliveredSoFar = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Result: " + error); log.debug("Is extended bolus running: " + pump.isExtendedInProgress); log.debug("Extended bolus running: " + pump.extendedBolusAbsoluteRate + " U/h"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State.java index 5a7ca55e30..e6512522a8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State.java @@ -1,20 +1,22 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; - +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_EXTENDED_MENU_OPTION_STATE; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -29,7 +31,7 @@ public class DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State extends DanaRS_P dataSize = 1; pump.isExtendedInProgress = byteArrayToInt(getBytes(data, dataIndex, dataSize)) == 0x01; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("extendedMenuOption: " + extendedMenuOption); log.debug("Is extended bolus running: " + pump.isExtendedInProgress); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Initial_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Initial_Bolus.java index 58fa4674ad..6b67bd66e7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Initial_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Initial_Bolus.java @@ -1,17 +1,21 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Bolus_Get_Initial_Bolus extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Get_Initial_Bolus.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Initial_Bolus() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_BOLUS_RATE; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -31,7 +35,7 @@ public class DanaRS_Packet_Bolus_Get_Initial_Bolus extends DanaRS_Packet { dataIndex += dataSize; dataSize = 2; double initialBolusValue04 = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Initial bolus amount 01: " + initialBolusValue01); log.debug("Initial bolus amount 02: " + initialBolusValue02); log.debug("Initial bolus amount 03: " + initialBolusValue03); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Step_Bolus_Information.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Step_Bolus_Information.java index 6166f7b0fb..a4cdd49416 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Step_Bolus_Information.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Step_Bolus_Information.java @@ -1,20 +1,24 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Step_Bolus_Information extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Get_Step_Bolus_Information.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Step_Bolus_Information() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_STEP_BOLUS_INFORMATION; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -54,7 +58,7 @@ public class DanaRS_Packet_Bolus_Get_Step_Bolus_Information extends DanaRS_Packe dataSize = 1; pump.bolusStep = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Result: " + error); log.debug("BolusType: " + bolusType); log.debug("Initial bolus amount: " + pump.initialBolusAmount + " U"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Bolus_Option.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Bolus_Option.java index 103bac3ecf..7d9fe980e1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Bolus_Option.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Bolus_Option.java @@ -1,13 +1,15 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Bolus_Set_Bolus_Option extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Set_Bolus_Option.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int extendedBolusOptionOnOff; private int bolusCalculationOption; @@ -75,7 +77,7 @@ public class DanaRS_Packet_Bolus_Set_Bolus_Option extends DanaRS_Packet { this.missedBolus04EndHour = missedBolus04EndHour; this.missedBolus04EndMin = missedBolus04EndMin; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Setting bolus options"); } } @@ -112,7 +114,7 @@ public class DanaRS_Packet_Bolus_Set_Bolus_Option extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_CIR_CF_Array.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_CIR_CF_Array.java index 062ae00712..9a468457c9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_CIR_CF_Array.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_CIR_CF_Array.java @@ -1,13 +1,15 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Bolus_Set_CIR_CF_Array extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Set_CIR_CF_Array.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int cir01; private int cir02; @@ -45,6 +47,8 @@ public class DanaRS_Packet_Bolus_Set_CIR_CF_Array extends DanaRS_Packet { this.cf05 = cf05; this.cf06 = cf06; this.cf07 = cf07; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -84,7 +88,7 @@ public class DanaRS_Packet_Bolus_Set_CIR_CF_Array extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Dual_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Dual_Bolus.java index e769bea195..079da8b688 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Dual_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Dual_Bolus.java @@ -1,13 +1,15 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Bolus_Set_Dual_Bolus extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Set_Dual_Bolus.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private double amount; private double extendedAmount; @@ -24,7 +26,7 @@ public class DanaRS_Packet_Bolus_Set_Dual_Bolus extends DanaRS_Packet { this.extendedAmount = extendedAmount; this.extendedBolusDurationInHalfHours = extendedBolusDurationInHalfHours; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Dual bolus start : " + amount + " U extended: " + extendedAmount + " U halfhours: " + extendedBolusDurationInHalfHours); } @@ -45,7 +47,7 @@ public class DanaRS_Packet_Bolus_Set_Dual_Bolus extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus.java index 887a9d852a..2d444ded1d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus.java @@ -1,14 +1,15 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Bolus_Set_Extended_Bolus extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Set_Extended_Bolus.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private double extendedAmount; private int extendedBolusDurationInHalfHours; @@ -23,7 +24,7 @@ public class DanaRS_Packet_Bolus_Set_Extended_Bolus extends DanaRS_Packet { this.extendedAmount = extendedAmount; this.extendedBolusDurationInHalfHours = extendedBolusDurationInHalfHours; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Extended bolus start : " + extendedAmount + " U halfhours: " + extendedBolusDurationInHalfHours); } @@ -41,7 +42,7 @@ public class DanaRS_Packet_Bolus_Set_Extended_Bolus extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel.java index 132de649cf..d012c380e3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel.java @@ -1,26 +1,28 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__SET_EXTENDED_BOLUS_CANCEL; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Cancel extended bolus"); } @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Initial_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Initial_Bolus.java index a174d39b53..c30c803688 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Initial_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Initial_Bolus.java @@ -1,14 +1,15 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Bolus_Set_Initial_Bolus extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Set_Initial_Bolus.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int bolusRate01; private int bolusRate02; @@ -26,6 +27,8 @@ public class DanaRS_Packet_Bolus_Set_Initial_Bolus extends DanaRS_Packet { this.bolusRate02 = (int) (bolusRate02 / 100d); this.bolusRate03 = (int) (bolusRate03 / 100d); this.bolusRate04 = (int) (bolusRate04 / 100d); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -45,7 +48,7 @@ public class DanaRS_Packet_Bolus_Set_Initial_Bolus extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Start.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Start.java index 44e5d308dc..06be965ee3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Start.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Start.java @@ -6,13 +6,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.R; import info.nightscout.androidaps.interfaces.Constraint; -import info.nightscout.androidaps.plugins.Overview.notifications.Notification; public class DanaRS_Packet_Bolus_Set_Step_Bolus_Start extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Set_Step_Bolus_Start.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private double amount; private int speed; @@ -35,7 +34,7 @@ public class DanaRS_Packet_Bolus_Set_Step_Bolus_Start extends DanaRS_Packet { this.amount = amount; this.speed = speed; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Bolus start : " + amount + " speed: " + speed); } @@ -52,7 +51,7 @@ public class DanaRS_Packet_Bolus_Set_Step_Bolus_Start extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { errorCode = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (errorCode == 0) { log.debug("Result OK"); failed = false; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Stop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Stop.java index 78548ecab3..f5f4736b21 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Stop.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Stop.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -13,7 +14,7 @@ import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; public class DanaRS_Packet_Bolus_Set_Step_Bolus_Stop extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Set_Step_Bolus_Stop.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private static Treatment t; private static Double amount; @@ -31,12 +32,14 @@ public class DanaRS_Packet_Bolus_Set_Step_Bolus_Stop extends DanaRS_Packet { this.amount = amount; forced = false; stopped = false; + if (Config.logPumpComm) + log.debug("Stop bolus: amount: " + amount + " treatment: " + t.toString()); } @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Keep_Connection.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Keep_Connection.java index d30be3abf8..7f8c41fa8a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Keep_Connection.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Keep_Connection.java @@ -4,15 +4,18 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import com.cozmo.danar.util.BleCommandUtil; public class DanaRS_Packet_Etc_Keep_Connection extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Etc_Keep_Connection.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Etc_Keep_Connection() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_ETC__KEEP_CONNECTION; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -20,7 +23,7 @@ public class DanaRS_Packet_Etc_Keep_Connection extends DanaRS_Packet { int dataIndex = DATA_START; int dataSize = 1; int error = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Result: " + error); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Set_History_Save.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Set_History_Save.java index 6538b77932..f09c81da2c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Set_History_Save.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Set_History_Save.java @@ -4,11 +4,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import com.cozmo.danar.util.BleCommandUtil; public class DanaRS_Packet_Etc_Set_History_Save extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Etc_Set_History_Save.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int historyType; private int historyYear; @@ -36,6 +37,8 @@ public class DanaRS_Packet_Etc_Set_History_Save extends DanaRS_Packet { this.historySecond = historySecond; this.historyCode = historyCode; this.historyValue = historyValue; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -59,7 +62,7 @@ public class DanaRS_Packet_Etc_Set_History_Save extends DanaRS_Packet { int dataIndex = DATA_START; int dataSize = 1; int error = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Result: " + error); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Delivery_Status.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Delivery_Status.java index d9e2599eb2..991f588de7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Delivery_Status.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Delivery_Status.java @@ -1,18 +1,21 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_General_Delivery_Status extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_General_Delivery_Status.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_General_Delivery_Status() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__DELIVERY_STATUS; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -20,7 +23,7 @@ public class DanaRS_Packet_General_Delivery_Status extends DanaRS_Packet { int dataIndex = DATA_START; int dataSize = 1; int status = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Status: " + status); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_More_Information.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_More_Information.java index cd2de4094f..9199264377 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_More_Information.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_More_Information.java @@ -1,45 +1,49 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; -import com.cozmo.danar.util.BleCommandUtil; public class DanaRS_Packet_General_Get_More_Information extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_General_Get_More_Information.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); - public DanaRS_Packet_General_Get_More_Information() { - super(); - opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_MORE_INFORMATION; - } + public DanaRS_Packet_General_Get_More_Information() { + super(); + opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_MORE_INFORMATION; + if (Config.logPumpComm) + log.debug("New message"); + } - @Override - public void handleMessage(byte[] data) { - DanaRPump pump = DanaRPump.getInstance(); + @Override + public void handleMessage(byte[] data) { + DanaRPump pump = DanaRPump.getInstance(); - int dataIndex = DATA_START; - int dataSize = 2; - pump.iob = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + int dataIndex = DATA_START; + int dataSize = 2; + pump.iob = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 2; - pump.dailyTotalUnits = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; + dataIndex += dataSize; + dataSize = 2; + pump.dailyTotalUnits = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - dataIndex += dataSize; - dataSize = 1; - pump.isExtendedInProgress = byteArrayToInt(getBytes(data, dataIndex, dataSize)) == 0x01; + dataIndex += dataSize; + dataSize = 1; + pump.isExtendedInProgress = byteArrayToInt(getBytes(data, dataIndex, dataSize)) == 0x01; - dataIndex += dataSize; - dataSize = 2; - pump.extendedBolusRemainingMinutes = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 2; + pump.extendedBolusRemainingMinutes = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 2; - double remainRate = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; + dataIndex += dataSize; + dataSize = 2; + double remainRate = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; Date lastBolusTime = new Date(); // it doesn't provide day only hour+min, workaround: expecting today dataIndex += dataSize; @@ -50,21 +54,21 @@ public class DanaRS_Packet_General_Get_More_Information extends DanaRS_Packet { dataSize = 1; lastBolusTime.setMinutes(byteArrayToInt(getBytes(data, dataIndex, dataSize))); - dataIndex += dataSize; - dataSize = 2; - pump.lastBolusAmount = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 2; + pump.lastBolusAmount = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Daily total units: " + pump.dailyTotalUnits + " U"); log.debug("Is extended in progress: " + pump.isExtendedInProgress); log.debug("Extended bolus remaining minutes: " + pump.extendedBolusRemainingMinutes); log.debug("Last bolus time: " + lastBolusTime.toLocaleString()); log.debug("Last bolus amount: " + pump.lastBolusAmount); } - } + } - @Override - public String getFriendlyName() { - return "REVIEW__GET_MORE_INFORMATION"; - } + @Override + public String getFriendlyName() { + return "REVIEW__GET_MORE_INFORMATION"; + } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Password.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Password.java index 0d250db919..9c23754a47 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Password.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Password.java @@ -1,20 +1,22 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; - +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_General_Get_Password extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_General_Get_Password.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_General_Get_Password() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_PASSWORD; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -24,7 +26,7 @@ public class DanaRS_Packet_General_Get_Password extends DanaRS_Packet { int pass = ((data[DATA_START + 1] & 0x000000FF) << 8) + (data[DATA_START + 0] & 0x000000FF); pass = pass ^ 3463; pump.rs_password = Integer.toHexString(pass); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Pump password: " + pump.rs_password); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Pump_Check.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Pump_Check.java index bdc5ab8d9b..0a893791c0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Pump_Check.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Pump_Check.java @@ -6,6 +6,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; @@ -13,11 +14,13 @@ import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_General_Get_Pump_Check extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_General_Get_Pump_Check.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_General_Get_Pump_Check() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_PUMP_CHECK; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -36,7 +39,7 @@ public class DanaRS_Packet_General_Get_Pump_Check extends DanaRS_Packet { dataSize = 1; pump.productCode = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Model: " + String.format("%02X ", pump.model)); log.debug("Protocol: " + String.format("%02X ", pump.protocol)); log.debug("Product Code: " + String.format("%02X ", pump.productCode)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Shipping_Information.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Shipping_Information.java index 2cf9b1f124..1e7668568a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Shipping_Information.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Shipping_Information.java @@ -1,46 +1,49 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; -import com.cozmo.danar.util.BleCommandUtil; - public class DanaRS_Packet_General_Get_Shipping_Information extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Set_Step_Bolus_Stop.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); - public DanaRS_Packet_General_Get_Shipping_Information() { - super(); - opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_SHIPPING_INFORMATION; - } + public DanaRS_Packet_General_Get_Shipping_Information() { + super(); + opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_SHIPPING_INFORMATION; + if (Config.logPumpComm) + log.debug("New message"); + } - @Override - public void handleMessage(byte[] data) { - DanaRPump pump = DanaRPump.getInstance(); + @Override + public void handleMessage(byte[] data) { + DanaRPump pump = DanaRPump.getInstance(); - int dataIndex = DATA_START; - int dataSize = 10; - pump.serialNumber = stringFromBuff(data, dataIndex, dataSize); + int dataIndex = DATA_START; + int dataSize = 10; + pump.serialNumber = stringFromBuff(data, dataIndex, dataSize); - dataIndex += dataSize; - dataSize = 3; - pump.shippingDate = dateFromBuff(data, dataIndex); + dataIndex += dataSize; + dataSize = 3; + pump.shippingDate = dateFromBuff(data, dataIndex); - dataIndex += dataSize; - dataSize = 3; - pump.shippingCountry = asciiStringFromBuff(data, dataIndex, dataSize); + dataIndex += dataSize; + dataSize = 3; + pump.shippingCountry = asciiStringFromBuff(data, dataIndex, dataSize); - if (Config.logDanaMessageDetail) { - log.debug("Serial number: " + pump.serialNumber); - log.debug("Shipping date: " + pump.shippingDate); - log.debug("Shipping country: " + pump.shippingCountry); - } - } + if (Config.logPumpComm) { + log.debug("Serial number: " + pump.serialNumber); + log.debug("Shipping date: " + pump.shippingDate); + log.debug("Shipping country: " + pump.shippingCountry); + } + } - @Override - public String getFriendlyName() { - return "REVIEW__GET_SHIPPING_INFORMATION"; - } + @Override + public String getFriendlyName() { + return "REVIEW__GET_SHIPPING_INFORMATION"; + } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Today_Delivery_Total.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Today_Delivery_Total.java index a40d572611..3fded09f97 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Today_Delivery_Total.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Today_Delivery_Total.java @@ -1,47 +1,49 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; - +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_General_Get_Today_Delivery_Total extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_General_Get_Today_Delivery_Total.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); - public DanaRS_Packet_General_Get_Today_Delivery_Total() { - super(); - opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_TODAY_DELIVERY_TOTAL; - } + public DanaRS_Packet_General_Get_Today_Delivery_Total() { + super(); + opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_TODAY_DELIVERY_TOTAL; + if (Config.logPumpComm) + log.debug("New message"); + } - @Override - public void handleMessage(byte[] data) { - DanaRPump pump = DanaRPump.getInstance(); + @Override + public void handleMessage(byte[] data) { + DanaRPump pump = DanaRPump.getInstance(); - int dataIndex = DATA_START; - int dataSize = 2; - pump.dailyTotalUnits = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; + int dataIndex = DATA_START; + int dataSize = 2; + pump.dailyTotalUnits = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - dataIndex += dataSize; - dataSize = 2; - pump.dailyTotalBasalUnits = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; + dataIndex += dataSize; + dataSize = 2; + pump.dailyTotalBasalUnits = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - dataIndex += dataSize; - dataSize = 2; - pump.dailyTotalBolusUnits = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; + dataIndex += dataSize; + dataSize = 2; + pump.dailyTotalBolusUnits = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logDanaMessageDetail) { - log.debug("Daily total: " + pump.dailyTotalUnits + " U"); - log.debug("Daily total bolus: " + pump.dailyTotalBolusUnits + " U"); - log.debug("Daily total basal: " + pump.dailyTotalBasalUnits + " U"); - } - } + if (Config.logPumpComm) { + log.debug("Daily total: " + pump.dailyTotalUnits + " U"); + log.debug("Daily total bolus: " + pump.dailyTotalBolusUnits + " U"); + log.debug("Daily total basal: " + pump.dailyTotalBasalUnits + " U"); + } + } - @Override - public String getFriendlyName() { - return "REVIEW__GET_TODAY_DELIVERY_TOTAL"; - } + @Override + public String getFriendlyName() { + return "REVIEW__GET_TODAY_DELIVERY_TOTAL"; + } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_User_Time_Change_Flag.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_User_Time_Change_Flag.java index 695e3eace4..e97e366ba4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_User_Time_Change_Flag.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_User_Time_Change_Flag.java @@ -1,17 +1,21 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_General_Get_User_Time_Change_Flag extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_General_Get_User_Time_Change_Flag.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_General_Get_User_Time_Change_Flag() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_USER_TIME_CHANGE_FLAG; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -20,7 +24,7 @@ public class DanaRS_Packet_General_Get_User_Time_Change_Flag extends DanaRS_Pack int dataSize = 1; int userTimeChangeFlag = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("UserTimeChangeFlag: " + userTimeChangeFlag); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Initial_Screen_Information.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Initial_Screen_Information.java index d05777d20d..195a3ce846 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Initial_Screen_Information.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Initial_Screen_Information.java @@ -1,21 +1,23 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; - +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_General_Initial_Screen_Information extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Bolus_Get_Step_Bolus_Information.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_General_Initial_Screen_Information() { super(); type = BleCommandUtil.DANAR_PACKET__TYPE_RESPONSE; opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__INITIAL_SCREEN_INFORMATION; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -63,7 +65,7 @@ public class DanaRS_Packet_General_Initial_Screen_Information extends DanaRS_Pac dataSize = 2; pump.iob = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Pump suspended: " + pump.pumpSuspended); log.debug("Temp basal in progress: " + pump.isTempBasalInProgress); log.debug("Extended in progress: " + pump.isExtendedInProgress); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_History_Upload_Mode.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_History_Upload_Mode.java index 878cfd64dd..1b5658ebcd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_History_Upload_Mode.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_History_Upload_Mode.java @@ -1,13 +1,15 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_General_Set_History_Upload_Mode extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_General_Set_History_Upload_Mode.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int mode; @@ -19,6 +21,8 @@ public class DanaRS_Packet_General_Set_History_Upload_Mode extends DanaRS_Packet public DanaRS_Packet_General_Set_History_Upload_Mode(int mode) { this(); this.mode = mode; + if (Config.logPumpComm) + log.debug("New message: mode: " + mode); } @Override @@ -32,7 +36,7 @@ public class DanaRS_Packet_General_Set_History_Upload_Mode extends DanaRS_Packet @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear.java index 3917f31050..ebdcd4c976 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear.java @@ -1,24 +1,27 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__SET_USER_TIME_CHANGE_FLAG_CLEAR; + if (Config.logPumpComm) + log.debug("New message"); } @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_.java index 6bae4ab8c1..c882e5afbb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_.java @@ -1,7 +1,5 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import com.cozmo.danar.util.BleCommandUtil; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -9,6 +7,8 @@ import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.db.DanaRHistoryRecord; import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes; @@ -16,7 +16,7 @@ import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus; import info.nightscout.utils.DateUtil; public abstract class DanaRS_Packet_History_ extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_History_.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int year = 0; private int month = 0; @@ -47,7 +47,8 @@ public abstract class DanaRS_Packet_History_ extends DanaRS_Packet { hour = cal.get(Calendar.HOUR_OF_DAY); min = cal.get(Calendar.MINUTE); sec = cal.get(Calendar.SECOND); - log.debug("Loading event history from: " + new Date(cal.getTimeInMillis()).toLocaleString()); + if (Config.logPumpComm) + log.debug("Loading event history from: " + new Date(cal.getTimeInMillis()).toLocaleString()); } @Override @@ -71,7 +72,8 @@ public abstract class DanaRS_Packet_History_ extends DanaRS_Packet { int dataSize = 1; error = byteArrayToInt(getBytes(data, dataIndex, dataSize)); done = true; - log.debug("History end. Code: " + error + " Success: " + (error == 0x00)); + if (Config.logPumpComm) + log.debug("History end. Code: " + error + " Success: " + (error == 0x00)); } else if (data.length == 5) { int dataIndex = DATA_START; int dataSize = 1; @@ -81,11 +83,12 @@ public abstract class DanaRS_Packet_History_ extends DanaRS_Packet { dataIndex += dataSize; dataSize = 2; totalCount = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - log.debug("History end. Code: " + error + " Success: " + (error == 0x00) + " Toatal count: " + totalCount); + if (Config.logPumpComm) + log.debug("History end. Code: " + error + " Success: " + (error == 0x00) + " Toatal count: " + totalCount); } else { int recordCode = byteArrayToInt(getBytes(data, DATA_START, 1)); int historyYear = byteArrayToInt(getBytes(data, DATA_START + 1, 1)); - int historyMonth = byteArrayToInt(getBytes(data, DATA_START +2 , 1)); + int historyMonth = byteArrayToInt(getBytes(data, DATA_START + 2, 1)); int historyDay = byteArrayToInt(getBytes(data, DATA_START + 3, 1)); int historyHour = byteArrayToInt(getBytes(data, DATA_START + 4, 1)); double dailyBasal = (((data[DATA_START + 4] & 0xFF) << 8) + (data[DATA_START + 5] & 0xFF)) * 0.01d; @@ -103,7 +106,8 @@ public abstract class DanaRS_Packet_History_ extends DanaRS_Packet { int value = ((data[DATA_START + 8] & 0xFF) << 8) + (data[DATA_START + 9] & 0xFF); - log.debug("History packet: " + recordCode + " Date: " + datetimewihtsec.toLocaleString() + " Code: " + historyCode + " Value: " + value); + if (Config.logPumpComm) + log.debug("History packet: " + recordCode + " Date: " + datetimewihtsec.toLocaleString() + " Code: " + historyCode + " Value: " + value); EventDanaRSyncStatus ev = new EventDanaRSyncStatus(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Alarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Alarm.java index 5fe57fefe4..7744e22ecd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Alarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Alarm.java @@ -1,10 +1,17 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import java.util.Date; - import com.cozmo.danar.util.BleCommandUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Date; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + public class DanaRS_Packet_History_Alarm extends DanaRS_Packet_History_ { + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_History_Alarm() { super(); @@ -14,6 +21,8 @@ public class DanaRS_Packet_History_Alarm extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Alarm(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__ALARM; + if (Config.logPumpComm) + log.debug("New message"); } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_All_History.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_All_History.java index a514d4eac7..19ce9b6da0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_All_History.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_All_History.java @@ -1,10 +1,17 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import java.util.Date; - import com.cozmo.danar.util.BleCommandUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Date; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + public class DanaRS_Packet_History_All_History extends DanaRS_Packet_History_ { + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_History_All_History() { super(); @@ -14,6 +21,8 @@ public class DanaRS_Packet_History_All_History extends DanaRS_Packet_History_ { public DanaRS_Packet_History_All_History(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__ALL_HISTORY; + if (Config.logPumpComm) + log.debug("New message"); } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Basal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Basal.java index 4aec1d0352..a8797a49f9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Basal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Basal.java @@ -1,10 +1,17 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import java.util.Date; - import com.cozmo.danar.util.BleCommandUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Date; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + public class DanaRS_Packet_History_Basal extends DanaRS_Packet_History_ { + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_History_Basal() { super(); @@ -14,6 +21,8 @@ public class DanaRS_Packet_History_Basal extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Basal(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__BASAL; + if (Config.logPumpComm) + log.debug("New message"); } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Blood_Glucose.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Blood_Glucose.java index 22bb3b5c2e..423f4345d3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Blood_Glucose.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Blood_Glucose.java @@ -1,10 +1,17 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import java.util.Date; - import com.cozmo.danar.util.BleCommandUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Date; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + public class DanaRS_Packet_History_Blood_Glucose extends DanaRS_Packet_History_ { + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_History_Blood_Glucose() { super(); @@ -14,6 +21,8 @@ public class DanaRS_Packet_History_Blood_Glucose extends DanaRS_Packet_History_ public DanaRS_Packet_History_Blood_Glucose(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__BLOOD_GLUCOSE; + if (Config.logPumpComm) + log.debug("New message"); } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Bolus.java index 7451f921be..3f25c37ec0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Bolus.java @@ -1,23 +1,32 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import java.util.Date; - import com.cozmo.danar.util.BleCommandUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Date; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + public class DanaRS_Packet_History_Bolus extends DanaRS_Packet_History_ { + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); - public DanaRS_Packet_History_Bolus() { - super(); - opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__BOLUS; - } + public DanaRS_Packet_History_Bolus() { + super(); + opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__BOLUS; + } - public DanaRS_Packet_History_Bolus(Date from) { - super(from); - opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__BOLUS; - } + public DanaRS_Packet_History_Bolus(Date from) { + super(from); + opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__BOLUS; + if (Config.logPumpComm) + log.debug("New message"); + } - @Override - public String getFriendlyName() { - return "REVIEW__BOLUS"; - } + @Override + public String getFriendlyName() { + return "REVIEW__BOLUS"; + } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Carbohydrate.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Carbohydrate.java index df2f5c762d..5cdec9f3e7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Carbohydrate.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Carbohydrate.java @@ -1,23 +1,32 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import java.util.Date; - import com.cozmo.danar.util.BleCommandUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Date; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + public class DanaRS_Packet_History_Carbohydrate extends DanaRS_Packet_History_ { + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); - public DanaRS_Packet_History_Carbohydrate() { - super(); - opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__CARBOHYDRATE; - } + public DanaRS_Packet_History_Carbohydrate() { + super(); + opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__CARBOHYDRATE; + } - public DanaRS_Packet_History_Carbohydrate(Date from) { - super(from); - opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__CARBOHYDRATE; - } + public DanaRS_Packet_History_Carbohydrate(Date from) { + super(from); + opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__CARBOHYDRATE; + if (Config.logPumpComm) + log.debug("New message"); + } - @Override - public String getFriendlyName() { - return "REVIEW__CARBOHYDRATE"; - } + @Override + public String getFriendlyName() { + return "REVIEW__CARBOHYDRATE"; + } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Daily.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Daily.java index b55754ba2f..90b16d4ce5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Daily.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Daily.java @@ -1,10 +1,17 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import java.util.Date; - import com.cozmo.danar.util.BleCommandUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Date; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + public class DanaRS_Packet_History_Daily extends DanaRS_Packet_History_ { + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_History_Daily() { super(); @@ -14,6 +21,8 @@ public class DanaRS_Packet_History_Daily extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Daily(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__DAILY; + if (Config.logPumpComm) + log.debug("New message"); } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Prime.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Prime.java index b5dbf7ff93..98a3c13e6c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Prime.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Prime.java @@ -1,10 +1,17 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import java.util.Date; - import com.cozmo.danar.util.BleCommandUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Date; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + public class DanaRS_Packet_History_Prime extends DanaRS_Packet_History_ { + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_History_Prime() { super(); @@ -14,6 +21,8 @@ public class DanaRS_Packet_History_Prime extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Prime(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__PRIME; + if (Config.logPumpComm) + log.debug("New message"); } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Refill.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Refill.java index 66094e3fb6..d5b138eba8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Refill.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Refill.java @@ -1,23 +1,32 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import java.util.Date; - import com.cozmo.danar.util.BleCommandUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Date; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + public class DanaRS_Packet_History_Refill extends DanaRS_Packet_History_ { + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); - public DanaRS_Packet_History_Refill() { - super(); - opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__REFILL; - } + public DanaRS_Packet_History_Refill() { + super(); + opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__REFILL; + } - public DanaRS_Packet_History_Refill(Date from) { - super(from); - opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__REFILL; - } + public DanaRS_Packet_History_Refill(Date from) { + super(from); + opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__REFILL; + if (Config.logPumpComm) + log.debug("New message"); + } - @Override - public String getFriendlyName() { - return "REVIEW__REFILL"; - } + @Override + public String getFriendlyName() { + return "REVIEW__REFILL"; + } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Suspend.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Suspend.java index 20f1c3d6ff..6c92a437fd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Suspend.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Suspend.java @@ -1,10 +1,17 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import java.util.Date; - import com.cozmo.danar.util.BleCommandUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Date; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + public class DanaRS_Packet_History_Suspend extends DanaRS_Packet_History_ { + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_History_Suspend() { super(); @@ -14,6 +21,8 @@ public class DanaRS_Packet_History_Suspend extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Suspend(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__SUSPEND; + if (Config.logPumpComm) + log.debug("New message"); } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Temporary.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Temporary.java index 7d63e1bfff..62aa5c274b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Temporary.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Temporary.java @@ -1,10 +1,17 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import java.util.Date; - import com.cozmo.danar.util.BleCommandUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Date; + +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; + public class DanaRS_Packet_History_Temporary extends DanaRS_Packet_History_ { + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_History_Temporary() { super(); @@ -14,6 +21,8 @@ public class DanaRS_Packet_History_Temporary extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Temporary(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__TEMPORARY; + if (Config.logPumpComm) + log.debug("New message"); } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Alarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Alarm.java index 04737f0bdc..2723dc03a4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Alarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Alarm.java @@ -1,18 +1,18 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; - -import com.cozmo.danar.util.BleCommandUtil; - import info.nightscout.utils.NSUpload; public class DanaRS_Packet_Notify_Alarm extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Notify_Alarm.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int alarmCode; @@ -20,6 +20,8 @@ public class DanaRS_Packet_Notify_Alarm extends DanaRS_Packet { super(); type = BleCommandUtil.DANAR_PACKET__TYPE_NOTIFY; opCode = BleCommandUtil.DANAR_PACKET__OPCODE_NOTIFY__ALARM; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -76,7 +78,7 @@ public class DanaRS_Packet_Notify_Alarm extends DanaRS_Packet { break; } - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Error detected: " + errorString); NSUpload.uploadError(errorString); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Complete.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Complete.java index 2598c5efc9..86ff1d121e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Complete.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Complete.java @@ -1,19 +1,19 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; - -import com.cozmo.danar.util.BleCommandUtil; - -import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; +import info.nightscout.androidaps.plugins.Treatments.Treatment; public class DanaRS_Packet_Notify_Delivery_Complete extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Notify_Delivery_Complete.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private static Treatment t; private static double amount; @@ -30,6 +30,8 @@ public class DanaRS_Packet_Notify_Delivery_Complete extends DanaRS_Packet { this.amount = amount; this.t = t; done = false; + if (Config.logPumpComm) + log.debug("New message: amount: " + amount + " treatment: " + t.toString()); } @Override @@ -46,7 +48,7 @@ public class DanaRS_Packet_Notify_Delivery_Complete extends DanaRS_Packet { MainApp.bus().post(bolusingEvent); } - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Delivered insulin: " + deliveredInsulin); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Rate_Display.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Rate_Display.java index 34621d07ee..96b98c8d80 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Rate_Display.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Rate_Display.java @@ -1,17 +1,19 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import com.cozmo.danar.util.BleCommandUtil; -import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; +import info.nightscout.androidaps.plugins.Treatments.Treatment; public class DanaRS_Packet_Notify_Delivery_Rate_Display extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Notify_Delivery_Rate_Display.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private static Treatment t; private static double amount; @@ -29,6 +31,8 @@ public class DanaRS_Packet_Notify_Delivery_Rate_Display extends DanaRS_Packet { this.amount = amount; this.t = t; lastReceive = System.currentTimeMillis(); + if (Config.logPumpComm) + log.debug("New message: amount: " + amount + " treatment: " + t.toString()); } @Override @@ -45,7 +49,7 @@ public class DanaRS_Packet_Notify_Delivery_Rate_Display extends DanaRS_Packet { MainApp.bus().post(bolusingEvent); } - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Delivered insulin so far: " + deliveredInsulin); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Missed_Bolus_Alarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Missed_Bolus_Alarm.java index 3af0c209b5..7f2049af13 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Missed_Bolus_Alarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Missed_Bolus_Alarm.java @@ -1,19 +1,22 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Notify_Missed_Bolus_Alarm extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Notify_Missed_Bolus_Alarm.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Notify_Missed_Bolus_Alarm() { super(); type = BleCommandUtil.DANAR_PACKET__TYPE_NOTIFY; opCode = BleCommandUtil.DANAR_PACKET__OPCODE_NOTIFY__MISSED_BOLUS_ALARM; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -38,7 +41,7 @@ public class DanaRS_Packet_Notify_Missed_Bolus_Alarm extends DanaRS_Packet { dataIndex += dataSize; dataSize = 1; endMin = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Start hour: " + startHour); log.debug("Start min: " + startMin); log.debug("End hour: " + endHour); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_Pump_Time.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_Pump_Time.java index 4bfebb5211..33c1722fc8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_Pump_Time.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_Pump_Time.java @@ -1,21 +1,23 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Option_Get_Pump_Time extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Option_Get_Pump_Time.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Option_Get_Pump_Time() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_OPTION__GET_PUMP_TIME; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Requesting pump time"); } } @@ -49,7 +51,7 @@ public class DanaRS_Packet_Option_Get_Pump_Time extends DanaRS_Packet { Date time = new Date(100 + year, month - 1, day, hour, min, sec); DanaRPump.getInstance().pumpTime = time; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Pump time " + time.toLocaleString()); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_User_Option.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_User_Option.java index b4df373f9c..7a3d8a7093 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_User_Option.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_User_Option.java @@ -1,114 +1,116 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; -import com.cozmo.danar.util.BleCommandUtil; public class DanaRS_Packet_Option_Get_User_Option extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Option_Get_User_Option.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); - public DanaRS_Packet_Option_Get_User_Option() { - super(); - opCode = BleCommandUtil.DANAR_PACKET__OPCODE_OPTION__GET_USER_OPTION; - if (Config.logDanaMessageDetail) { - log.debug("Requesting user settings"); - } - } + public DanaRS_Packet_Option_Get_User_Option() { + super(); + opCode = BleCommandUtil.DANAR_PACKET__OPCODE_OPTION__GET_USER_OPTION; + if (Config.logPumpComm) { + log.debug("Requesting user settings"); + } + } - @Override - public void handleMessage(byte[] data) { - DanaRPump pump = DanaRPump.getInstance(); + @Override + public void handleMessage(byte[] data) { + DanaRPump pump = DanaRPump.getInstance(); - int dataIndex = DATA_START; - int dataSize = 1; - pump.timeDisplayType = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + int dataIndex = DATA_START; + int dataSize = 1; + pump.timeDisplayType = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - pump.buttonScrollOnOff = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + pump.buttonScrollOnOff = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - pump.beepAndAlarm = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + pump.beepAndAlarm = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - pump.lcdOnTimeSec = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + pump.lcdOnTimeSec = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - pump.backlightOnTimeSec = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + pump.backlightOnTimeSec = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - pump.selectedLanguage = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + pump.selectedLanguage = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - pump.units = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + pump.units = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - pump.shutdownHour = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + pump.shutdownHour = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - pump.lowReservoirRate = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + pump.lowReservoirRate = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 2; - pump.cannulaVolume = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 2; + pump.cannulaVolume = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 2; - pump.refillAmount = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 2; + pump.refillAmount = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - int selectableLanguage1 = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + int selectableLanguage1 = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - int selectableLanguage2 = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + int selectableLanguage2 = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - int selectableLanguage3 = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + int selectableLanguage3 = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - int selectableLanguage4 = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + int selectableLanguage4 = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - dataIndex += dataSize; - dataSize = 1; - int selectableLanguage5 = byteArrayToInt(getBytes(data, dataIndex, dataSize)); + dataIndex += dataSize; + dataSize = 1; + int selectableLanguage5 = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logDanaMessageDetail) { - log.debug("timeDisplayType: " + pump.timeDisplayType); - log.debug("buttonScrollOnOff: " + pump.buttonScrollOnOff); - log.debug("beepAndAlarm: " + pump.beepAndAlarm); - log.debug("lcdOnTimeSec: " + pump.lcdOnTimeSec); - log.debug("backlightOnTimeSec: " + pump.backlightOnTimeSec); - log.debug("selectedLanguage: " + pump.selectedLanguage); - log.debug("Pump units: " + (pump.units == DanaRPump.UNITS_MGDL ? "MGDL" : "MMOL")); - log.debug("shutdownHour: " + pump.shutdownHour); - log.debug("lowReservoirRate: " + pump.lowReservoirRate); - log.debug("refillAmount: " + pump.refillAmount); - log.debug("selectableLanguage1: " + selectableLanguage1); - log.debug("selectableLanguage2: " + selectableLanguage2); - log.debug("selectableLanguage3: " + selectableLanguage3); - log.debug("selectableLanguage4: " + selectableLanguage4); - log.debug("selectableLanguage5: " + selectableLanguage5); - } - } + if (Config.logPumpComm) { + log.debug("timeDisplayType: " + pump.timeDisplayType); + log.debug("buttonScrollOnOff: " + pump.buttonScrollOnOff); + log.debug("beepAndAlarm: " + pump.beepAndAlarm); + log.debug("lcdOnTimeSec: " + pump.lcdOnTimeSec); + log.debug("backlightOnTimeSec: " + pump.backlightOnTimeSec); + log.debug("selectedLanguage: " + pump.selectedLanguage); + log.debug("Pump units: " + (pump.units == DanaRPump.UNITS_MGDL ? "MGDL" : "MMOL")); + log.debug("shutdownHour: " + pump.shutdownHour); + log.debug("lowReservoirRate: " + pump.lowReservoirRate); + log.debug("refillAmount: " + pump.refillAmount); + log.debug("selectableLanguage1: " + selectableLanguage1); + log.debug("selectableLanguage2: " + selectableLanguage2); + log.debug("selectableLanguage3: " + selectableLanguage3); + log.debug("selectableLanguage4: " + selectableLanguage4); + log.debug("selectableLanguage5: " + selectableLanguage5); + } + } - @Override - public String getFriendlyName() { - return "OPTION__GET_USER_OPTION"; - } + @Override + public String getFriendlyName() { + return "OPTION__GET_USER_OPTION"; + } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_Pump_Time.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_Pump_Time.java index 007623afca..ea90615c78 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_Pump_Time.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_Pump_Time.java @@ -1,16 +1,17 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Option_Set_Pump_Time extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Option_Set_Pump_Time.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private Date date; public int error; @@ -22,7 +23,7 @@ public class DanaRS_Packet_Option_Set_Pump_Time extends DanaRS_Packet { public DanaRS_Packet_Option_Set_Pump_Time(Date date) { this(); this.date = date; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Setting pump time " + date.toLocaleString()); } } @@ -44,7 +45,7 @@ public class DanaRS_Packet_Option_Set_Pump_Time extends DanaRS_Packet { int dataIndex = DATA_START; int dataSize = 1; error = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (error == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_User_Option.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_User_Option.java index 40577aaa5d..3709709fab 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_User_Option.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_User_Option.java @@ -1,21 +1,23 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Option_Set_User_Option extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Option_Set_User_Option.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private int error; public DanaRS_Packet_Option_Set_User_Option() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_OPTION__SET_USER_OPTION; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Setting user settings"); } } @@ -23,14 +25,15 @@ public class DanaRS_Packet_Option_Set_User_Option extends DanaRS_Packet { @Override public byte[] getRequestParams() { DanaRPump pump = DanaRPump.getInstance(); - log.debug("UserOptions:"+(System.currentTimeMillis() - pump.lastConnection)/1000+" s ago" - +"\ntimeDisplayType:"+pump.timeDisplayType - +"\nbuttonScroll:"+pump.buttonScrollOnOff - +"\ntimeDisplayType:"+pump.timeDisplayType - +"\nlcdOnTimeSec:"+pump.lcdOnTimeSec - +"\nbacklight:"+pump.backlightOnTimeSec - +"\npumpUnits:"+pump.units - +"\nlowReservoir:"+pump.lowReservoirRate); + if (Config.logPumpComm) + log.debug("UserOptions:" + (System.currentTimeMillis() - pump.lastConnection) / 1000 + " s ago" + + "\ntimeDisplayType:" + pump.timeDisplayType + + "\nbuttonScroll:" + pump.buttonScrollOnOff + + "\ntimeDisplayType:" + pump.timeDisplayType + + "\nlcdOnTimeSec:" + pump.lcdOnTimeSec + + "\nbacklight:" + pump.backlightOnTimeSec + + "\npumpUnits:" + pump.units + + "\nlowReservoir:" + pump.lowReservoirRate); byte[] request = new byte[13]; request[0] = (byte) (pump.timeDisplayType & 0xff); request[1] = (byte) (pump.buttonScrollOnOff & 0xff); @@ -53,7 +56,7 @@ public class DanaRS_Packet_Option_Set_User_Option extends DanaRS_Packet { int dataIndex = DATA_START; int dataSize = 1; error = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { if (error == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Review_Bolus_Avg.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Review_Bolus_Avg.java index e8440b12d2..d557d43853 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Review_Bolus_Avg.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Review_Bolus_Avg.java @@ -1,18 +1,21 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; +import com.cozmo.danar.util.BleCommandUtil; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; - -import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.Constants; public class DanaRS_Packet_Review_Bolus_Avg extends DanaRS_Packet { - private static Logger log = LoggerFactory.getLogger(DanaRS_Packet_Review_Bolus_Avg.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public DanaRS_Packet_Review_Bolus_Avg() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__BOLUS_AVG; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -36,7 +39,7 @@ public class DanaRS_Packet_Review_Bolus_Avg extends DanaRS_Packet { dataIndex += dataSize; dataSize = 2; double bolusAvg28 = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Bolus average 3d: " + bolusAvg03 + " U"); log.debug("Bolus average 7d: " + bolusAvg07 + " U"); log.debug("Bolus average 14d: " + bolusAvg14 + " U"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java index e15f6f23c0..5e948c09f5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java @@ -22,6 +22,8 @@ import java.util.List; import java.util.UUID; import java.util.concurrent.ScheduledFuture; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventPumpStatusChanged; @@ -42,12 +44,12 @@ import info.nightscout.utils.SP; */ public class BLEComm { - private static Logger log = LoggerFactory.getLogger(BLEComm.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPBTCOMM); - private static final long WRITE_DELAY_MILLIS = 50; + private final long WRITE_DELAY_MILLIS = 50; - private static String UART_READ_UUID = "0000fff1-0000-1000-8000-00805f9b34fb"; - private static String UART_WRITE_UUID = "0000fff2-0000-1000-8000-00805f9b34fb"; + private String UART_READ_UUID = "0000fff1-0000-1000-8000-00805f9b34fb"; + private String UART_WRITE_UUID = "0000fff2-0000-1000-8000-00805f9b34fb"; private final byte PACKET_START_BYTE = (byte) 0xA5; private final byte PACKET_END_BYTE = (byte) 0x5A; @@ -83,19 +85,20 @@ public class BLEComm { } private boolean initialize() { - log.debug("Initializing BLEComm."); + if (Config.logPumpBtComm) + log.debug("Initializing BLEComm."); if (mBluetoothManager == null) { mBluetoothManager = ((BluetoothManager) MainApp.instance().getApplicationContext().getSystemService(Context.BLUETOOTH_SERVICE)); if (mBluetoothManager == null) { - log.debug("Unable to initialize BluetoothManager."); + log.error("Unable to initialize BluetoothManager."); return false; } } mBluetoothAdapter = mBluetoothManager.getAdapter(); if (mBluetoothAdapter == null) { - log.debug("Unable to obtain a BluetoothAdapter."); + log.error("Unable to obtain a BluetoothAdapter."); return false; } @@ -128,7 +131,7 @@ public class BLEComm { } if (address == null) { - log.debug("unspecified address."); + log.error("unspecified address."); return false; } @@ -136,11 +139,12 @@ public class BLEComm { BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address); if (device == null) { - log.debug("Device not found. Unable to connect from: " + from); + log.error("Device not found. Unable to connect from: " + from); return false; } - log.debug("Trying to create a new connection from: " + from); + if (Config.logPumpBtComm) + log.debug("Trying to create a new connection from: " + from); mBluetoothGatt = device.connectGatt(service.getApplicationContext(), false, mGattCallback); setCharacteristicNotification(getUARTReadBTGattChar(), true); mBluetoothDeviceName = device.getName(); @@ -152,7 +156,8 @@ public class BLEComm { } public synchronized void disconnect(String from) { - log.debug("disconnect from: " + from); + if (Config.logPumpBtComm) + log.debug("disconnect from: " + from); // cancel previous scheduled disconnection to prevent closing upcomming connection if (scheduledDisconnection != null) @@ -160,8 +165,8 @@ public class BLEComm { scheduledDisconnection = null; if ((mBluetoothAdapter == null) || (mBluetoothGatt == null)) { - log.debug("disconnect not possible: (mBluetoothAdapter == null) " + (mBluetoothAdapter == null)); - log.debug("disconnect not possible: (mBluetoothGatt == null) " + (mBluetoothGatt == null)); + log.error("disconnect not possible: (mBluetoothAdapter == null) " + (mBluetoothAdapter == null)); + log.error("disconnect not possible: (mBluetoothGatt == null) " + (mBluetoothGatt == null)); return; } setCharacteristicNotification(getUARTReadBTGattChar(), false); @@ -171,7 +176,8 @@ public class BLEComm { } public synchronized void close() { - log.debug("BluetoothAdapter close"); + if (Config.logPumpBtComm) + log.debug("BluetoothAdapter close"); if (mBluetoothGatt == null) { return; } @@ -191,7 +197,8 @@ public class BLEComm { } public void onServicesDiscovered(BluetoothGatt gatt, int status) { - log.debug("onServicesDiscovered"); + if (Config.logPumpBtComm) + log.debug("onServicesDiscovered"); if (status == BluetoothGatt.GATT_SUCCESS) { findCharacteristic(); } @@ -200,19 +207,22 @@ public class BLEComm { } public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) { - log.debug("onCharacteristicRead" + (characteristic != null ? ":" + DanaRS_Packet.toHexString(characteristic.getValue()) : "")); + if (Config.logPumpBtComm) + log.debug("onCharacteristicRead" + (characteristic != null ? ":" + DanaRS_Packet.toHexString(characteristic.getValue()) : "")); addToReadBuffer(characteristic.getValue()); readDataParsing(); } public void onCharacteristicChanged(BluetoothGatt gatt, final BluetoothGattCharacteristic characteristic) { - log.debug("onCharacteristicChanged" + (characteristic != null ? ":" + DanaRS_Packet.toHexString(characteristic.getValue()) : "")); + if (Config.logPumpBtComm) + log.debug("onCharacteristicChanged" + (characteristic != null ? ":" + DanaRS_Packet.toHexString(characteristic.getValue()) : "")); addToReadBuffer(characteristic.getValue()); new Thread(() -> readDataParsing()).start(); } public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) { - log.debug("onCharacteristicWrite" + (characteristic != null ? ":" + DanaRS_Packet.toHexString(characteristic.getValue()) : "")); + if (Config.logPumpBtComm) + log.debug("onCharacteristicWrite" + (characteristic != null ? ":" + DanaRS_Packet.toHexString(characteristic.getValue()) : "")); new Thread(() -> { synchronized (mSendQueue) { // after message sent, check if there is the rest of the message waiting and send it @@ -227,9 +237,10 @@ public class BLEComm { }; private synchronized void setCharacteristicNotification(BluetoothGattCharacteristic characteristic, boolean enabled) { - log.debug("setCharacteristicNotification"); + if (Config.logPumpBtComm) + log.debug("setCharacteristicNotification"); if ((mBluetoothAdapter == null) || (mBluetoothGatt == null)) { - log.debug("BluetoothAdapter not initialized_ERROR"); + log.error("BluetoothAdapter not initialized_ERROR"); isConnecting = false; isConnected = false; return; @@ -238,9 +249,10 @@ public class BLEComm { } public synchronized void readCharacteristic(BluetoothGattCharacteristic characteristic) { - log.debug("readCharacteristic"); + if (Config.logPumpBtComm) + log.debug("readCharacteristic"); if ((mBluetoothAdapter == null) || (mBluetoothGatt == null)) { - log.debug("BluetoothAdapter not initialized_ERROR"); + log.error("BluetoothAdapter not initialized_ERROR"); isConnecting = false; isConnected = false; return; @@ -253,7 +265,7 @@ public class BLEComm { SystemClock.sleep(WRITE_DELAY_MILLIS); if ((mBluetoothAdapter == null) || (mBluetoothGatt == null)) { - log.debug("BluetoothAdapter not initialized_ERROR"); + log.error("BluetoothAdapter not initialized_ERROR"); isConnecting = false; isConnected = false; return; @@ -261,7 +273,8 @@ public class BLEComm { characteristic.setValue(data); characteristic.setWriteType(BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE); - log.debug("writeCharacteristic:" + DanaRS_Packet.toHexString(data)); + if (Config.logPumpBtComm) + log.debug("writeCharacteristic:" + DanaRS_Packet.toHexString(data)); mBluetoothGatt.writeCharacteristic(characteristic); }).start(); } @@ -281,9 +294,10 @@ public class BLEComm { } private List getSupportedGattServices() { - log.debug("getSupportedGattServices"); + if (Config.logPumpBtComm) + log.debug("getSupportedGattServices"); if ((mBluetoothAdapter == null) || (mBluetoothGatt == null)) { - log.debug("BluetoothAdapter not initialized_ERROR"); + log.error("BluetoothAdapter not initialized_ERROR"); isConnecting = false; isConnected = false; return null; @@ -315,8 +329,9 @@ public class BLEComm { } } - public synchronized void onConnectionStateChangeSynchronized(BluetoothGatt gatt, int status, int newState) { - log.debug("onConnectionStateChange"); + private synchronized void onConnectionStateChangeSynchronized(BluetoothGatt gatt, int status, int newState) { + if (Config.logPumpBtComm) + log.debug("onConnectionStateChange"); if (newState == BluetoothProfile.STATE_CONNECTED) { mBluetoothGatt.discoverServices(); @@ -325,7 +340,8 @@ public class BLEComm { isConnected = false; isConnecting = false; MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED)); - log.debug("Device was disconnected " + gatt.getDevice().getName());//Device was disconnected + if (Config.logPumpBtComm) + log.debug("Device was disconnected " + gatt.getDevice().getName());//Device was disconnected } } @@ -360,7 +376,8 @@ public class BLEComm { if ((readBuffer[idxStartByte] == PACKET_START_BYTE) && (readBuffer[idxStartByte + 1] == PACKET_START_BYTE)) { if (idxStartByte > 0) { // if buffer doesn't start with signature remove the leading trash - log.debug("Shifting the input buffer by " + idxStartByte + " bytes"); + if (Config.logPumpBtComm) + log.debug("Shifting the input buffer by " + idxStartByte + " bytes"); System.arraycopy(readBuffer, idxStartByte, readBuffer, 0, bufferLength - idxStartByte); bufferLength -= idxStartByte; } @@ -390,7 +407,7 @@ public class BLEComm { try { System.arraycopy(readBuffer, length + 7, readBuffer, 0, bufferLength - (length + 7)); } catch (Exception e) { - log.debug("length: " + length + "bufferLength: " + bufferLength); + log.error("length: " + length + "bufferLength: " + bufferLength); throw e; } bufferLength -= (length + 7); @@ -403,7 +420,7 @@ public class BLEComm { inputBuffer = BleCommandUtil.getInstance().getDecryptedPacket(inputBuffer); if (inputBuffer == null) { - log.debug("Null decryptedInputBuffer"); + log.error("Null decryptedInputBuffer"); return; } @@ -414,14 +431,17 @@ public class BLEComm { // 1st packet case (byte) BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__PUMP_CHECK: if (inputBuffer.length == 4 && inputBuffer[2] == 'O' && inputBuffer[3] == 'K') { - log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (OK)" + " " + DanaRS_Packet.toHexString(inputBuffer)); + if (Config.logPumpBtComm) + log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (OK)" + " " + DanaRS_Packet.toHexString(inputBuffer)); // Grab pairing key from preferences if exists String pairingKey = SP.getString(MainApp.gs(R.string.key_danars_pairingkey) + DanaRSPlugin.mDeviceName, null); - log.debug("Using stored pairing key: " + pairingKey); + if (Config.logPumpBtComm) + log.debug("Using stored pairing key: " + pairingKey); if (pairingKey != null) { byte[] encodedPairingKey = DanaRS_Packet.hexToBytes(pairingKey); byte[] bytes = BleCommandUtil.getInstance().getEncryptedPacket(BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__CHECK_PASSKEY, encodedPairingKey, null); - log.debug(">>>>> " + "ENCRYPTION__CHECK_PASSKEY" + " " + DanaRS_Packet.toHexString(bytes)); + if (Config.logPumpBtComm) + log.debug(">>>>> " + "ENCRYPTION__CHECK_PASSKEY" + " " + DanaRS_Packet.toHexString(bytes)); writeCharacteristic_NO_RESPONSE(getUARTWriteBTGattChar(), bytes); } else { // Stored pairing key does not exists, request pairing @@ -429,19 +449,22 @@ public class BLEComm { } } else if (inputBuffer.length == 6 && inputBuffer[2] == 'P' && inputBuffer[3] == 'U' && inputBuffer[4] == 'M' && inputBuffer[5] == 'P') { - log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (PUMP)" + " " + DanaRS_Packet.toHexString(inputBuffer)); + if (Config.logPumpBtComm) + log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (PUMP)" + " " + DanaRS_Packet.toHexString(inputBuffer)); mSendQueue.clear(); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED, MainApp.gs(R.string.pumperror))); NSUpload.uploadError(MainApp.gs(R.string.pumperror)); Notification n = new Notification(Notification.PUMPERROR, MainApp.gs(R.string.pumperror), Notification.URGENT); MainApp.bus().post(new EventNewNotification(n)); } else if (inputBuffer.length == 6 && inputBuffer[2] == 'B' && inputBuffer[3] == 'U' && inputBuffer[4] == 'S' && inputBuffer[5] == 'Y') { - log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (BUSY)" + " " + DanaRS_Packet.toHexString(inputBuffer)); + if (Config.logPumpBtComm) + log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (BUSY)" + " " + DanaRS_Packet.toHexString(inputBuffer)); mSendQueue.clear(); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED, MainApp.gs(R.string.pumpbusy))); } else { // ERROR in response, wrong serial number - log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (ERROR)" + " " + DanaRS_Packet.toHexString(inputBuffer)); + if (Config.logPumpBtComm) + log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (ERROR)" + " " + DanaRS_Packet.toHexString(inputBuffer)); mSendQueue.clear(); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED, MainApp.gs(R.string.connectionerror))); SP.remove(MainApp.gs(R.string.key_danars_pairingkey) + DanaRSPlugin.mDeviceName); @@ -451,7 +474,8 @@ public class BLEComm { break; // 2nd packet, pairing key case (byte) BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__CHECK_PASSKEY: - log.debug("<<<<< " + "ENCRYPTION__CHECK_PASSKEY" + " " + DanaRS_Packet.toHexString(inputBuffer)); + if (Config.logPumpBtComm) + log.debug("<<<<< " + "ENCRYPTION__CHECK_PASSKEY" + " " + DanaRS_Packet.toHexString(inputBuffer)); if (inputBuffer[2] == (byte) 0x00) { // Paring is not requested, sending time info SendTimeInfo(); @@ -461,35 +485,41 @@ public class BLEComm { } break; case (byte) BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__PASSKEY_REQUEST: - log.debug("<<<<< " + "ENCRYPTION__PASSKEY_REQUEST " + DanaRS_Packet.toHexString(inputBuffer)); + if (Config.logPumpBtComm) + log.debug("<<<<< " + "ENCRYPTION__PASSKEY_REQUEST " + DanaRS_Packet.toHexString(inputBuffer)); if (inputBuffer[2] != (byte) 0x00) { disconnect("passkey request failed"); } break; // Paring response, OK button on pump pressed case (byte) BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__PASSKEY_RETURN: - log.debug("<<<<< " + "ENCRYPTION__PASSKEY_RETURN " + DanaRS_Packet.toHexString(inputBuffer)); + if (Config.logPumpBtComm) + log.debug("<<<<< " + "ENCRYPTION__PASSKEY_RETURN " + DanaRS_Packet.toHexString(inputBuffer)); // Paring is successfull, sending time info MainApp.bus().post(new EventDanaRSPairingSuccess()); SendTimeInfo(); byte[] pairingKey = {inputBuffer[2], inputBuffer[3]}; // store pairing key to preferences SP.putString(MainApp.gs(R.string.key_danars_pairingkey) + DanaRSPlugin.mDeviceName, DanaRS_Packet.bytesToHex(pairingKey)); - log.debug("Got pairing key: " + DanaRS_Packet.bytesToHex(pairingKey)); + if (Config.logPumpBtComm) + log.debug("Got pairing key: " + DanaRS_Packet.bytesToHex(pairingKey)); break; // time and user password information. last packet in handshake case (byte) BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__TIME_INFORMATION: - log.debug("<<<<< " + "ENCRYPTION__TIME_INFORMATION " + /*message.getMessageName() + " " + */ DanaRS_Packet.toHexString(inputBuffer)); + if (Config.logPumpBtComm) + log.debug("<<<<< " + "ENCRYPTION__TIME_INFORMATION " + /*message.getMessageName() + " " + */ DanaRS_Packet.toHexString(inputBuffer)); int size = inputBuffer.length; int pass = ((inputBuffer[size - 1] & 0x000000FF) << 8) + ((inputBuffer[size - 2] & 0x000000FF)); pass = pass ^ 3463; DanaRPump.getInstance().rs_password = Integer.toHexString(pass); - log.debug("Pump user password: " + Integer.toHexString(pass)); + if (Config.logPumpBtComm) + log.debug("Pump user password: " + Integer.toHexString(pass)); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.CONNECTED)); isConnected = true; isConnecting = false; - log.debug("RS connected and status read"); + if (Config.logPumpBtComm) + log.debug("RS connected and status read"); break; } break; @@ -507,7 +537,8 @@ public class BLEComm { message = DanaRSMessageHashTable.findMessage(receivedCommand); } if (message != null) { - log.debug("<<<<< " + message.getFriendlyName() + " " + DanaRS_Packet.toHexString(inputBuffer)); + if (Config.logPumpBtComm) + log.debug("<<<<< " + message.getFriendlyName() + " " + DanaRS_Packet.toHexString(inputBuffer)); // process received data message.handleMessage(inputBuffer); message.setReceived(); @@ -544,7 +575,8 @@ public class BLEComm { byte[] command = {(byte) message.getType(), (byte) message.getOpCode()}; byte[] params = message.getRequestParams(); - log.debug(">>>>> " + message.getFriendlyName() + " " + DanaRS_Packet.toHexString(command) + " " + DanaRS_Packet.toHexString(params)); + if (Config.logPumpBtComm) + log.debug(">>>>> " + message.getFriendlyName() + " " + DanaRS_Packet.toHexString(command) + " " + DanaRS_Packet.toHexString(params)); byte[] bytes = BleCommandUtil.getInstance().getEncryptedPacket(message.getOpCode(), params, null); // If there is another message not completely sent, add to queue only if (mSendQueue.size() > 0) { @@ -624,20 +656,23 @@ public class BLEComm { MainApp.instance().startActivity(i); byte[] bytes = BleCommandUtil.getInstance().getEncryptedPacket(BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__PASSKEY_REQUEST, null, null); - log.debug(">>>>> " + "ENCRYPTION__PASSKEY_REQUEST" + " " + DanaRS_Packet.toHexString(bytes)); + if (Config.logPumpBtComm) + log.debug(">>>>> " + "ENCRYPTION__PASSKEY_REQUEST" + " " + DanaRS_Packet.toHexString(bytes)); writeCharacteristic_NO_RESPONSE(getUARTWriteBTGattChar(), bytes); } private void SendPumpCheck() { // 1st message sent to pump after connect byte[] bytes = BleCommandUtil.getInstance().getEncryptedPacket(BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__PUMP_CHECK, null, getConnectDeviceName()); - log.debug(">>>>> " + "ENCRYPTION__PUMP_CHECK (0x00)" + " " + DanaRS_Packet.toHexString(bytes)); + if (Config.logPumpBtComm) + log.debug(">>>>> " + "ENCRYPTION__PUMP_CHECK (0x00)" + " " + DanaRS_Packet.toHexString(bytes)); writeCharacteristic_NO_RESPONSE(getUARTWriteBTGattChar(), bytes); } private void SendTimeInfo() { byte[] bytes = BleCommandUtil.getInstance().getEncryptedPacket(BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__TIME_INFORMATION, null, null); - log.debug(">>>>> " + "ENCRYPTION__TIME_INFORMATION" + " " + DanaRS_Packet.toHexString(bytes)); + if (Config.logPumpBtComm) + log.debug(">>>>> " + "ENCRYPTION__TIME_INFORMATION" + " " + DanaRS_Packet.toHexString(bytes)); writeCharacteristic_NO_RESPONSE(getUARTWriteBTGattChar(), bytes); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java index fae0430adc..0264e2148a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java @@ -83,7 +83,7 @@ import info.nightscout.utils.SP; import info.nightscout.utils.T; public class DanaRSService extends Service { - private static Logger log = LoggerFactory.getLogger(DanaRSService.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); private BLEComm bleComm = BLEComm.getInstance(this); @@ -156,10 +156,12 @@ public class DanaRSService extends Service { bleComm.sendMessage(new DanaRS_Packet_Option_Get_Pump_Time()); long timeDiff = (danaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - log.debug("Pump time difference: " + timeDiff + " seconds"); + if (Config.logPumpComm) + log.debug("Pump time difference: " + timeDiff + " seconds"); if (Math.abs(timeDiff) > 3) { - if (Math.abs(timeDiff) > 60*60*1.5) { - log.debug("Pump time difference: " + timeDiff + " seconds - large difference"); + if (Math.abs(timeDiff) > 60 * 60 * 1.5) { + if (Config.logPumpComm) + log.debug("Pump time difference: " + timeDiff + " seconds - large difference"); //If time-diff is very large, warn user until we can synchronize history readings properly Intent i = new Intent(MainApp.instance(), ErrorHelperActivity.class); i.putExtra("soundid", R.raw.error); @@ -179,7 +181,8 @@ public class DanaRSService extends Service { bleComm.sendMessage(new DanaRS_Packet_Option_Set_Pump_Time(new Date(DateUtil.now() + T.secs(10).msecs()))); bleComm.sendMessage(new DanaRS_Packet_Option_Get_Pump_Time()); timeDiff = (danaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - log.debug("Pump time difference: " + timeDiff + " seconds"); + if (Config.logPumpComm) + log.debug("Pump time difference: " + timeDiff + " seconds"); } } @@ -203,8 +206,9 @@ public class DanaRSService extends Service { MainApp.bus().post(new EventInitializationChanged()); NSUpload.uploadDeviceStatus(); if (danaRPump.dailyTotalUnits > danaRPump.maxDailyTotalUnits * Constants.dailyLimitWarning) { - log.debug("Approaching daily limit: " + danaRPump.dailyTotalUnits + "/" + danaRPump.maxDailyTotalUnits); - if(System.currentTimeMillis() > lastApproachingDailyLimit + 30 * 60 * 1000) { + if (Config.logPumpComm) + log.debug("Approaching daily limit: " + danaRPump.dailyTotalUnits + "/" + danaRPump.maxDailyTotalUnits); + if (System.currentTimeMillis() > lastApproachingDailyLimit + 30 * 60 * 1000) { Notification reportFail = new Notification(Notification.APPROACHING_DAILY_LIMIT, MainApp.gs(R.string.approachingdailylimit), Notification.URGENT); MainApp.bus().post(new EventNewNotification(reportFail)); NSUpload.uploadError(MainApp.gs(R.string.approachingdailylimit) + ": " + danaRPump.dailyTotalUnits + "/" + danaRPump.maxDailyTotalUnits + "U"); @@ -214,12 +218,13 @@ public class DanaRSService extends Service { } catch (Exception e) { log.error("Unhandled exception", e); } - log.debug("Pump status loaded"); + if (Config.logPumpComm) + log.debug("Pump status loaded"); } public PumpEnactResult loadEvents() { - if(!MainApp.getSpecificPlugin(DanaRSPlugin.class).isInitialized()){ + if (!MainApp.getSpecificPlugin(DanaRSPlugin.class).isInitialized()) { PumpEnactResult result = new PumpEnactResult().success(false); result.comment = "pump not initialized"; return result; @@ -230,10 +235,12 @@ public class DanaRSService extends Service { DanaRS_Packet_APS_History_Events msg; if (lastHistoryFetched == 0) { msg = new DanaRS_Packet_APS_History_Events(0); - log.debug("Loading complete event history"); + if (Config.logPumpComm) + log.debug("Loading complete event history"); } else { msg = new DanaRS_Packet_APS_History_Events(lastHistoryFetched); - log.debug("Loading event history from: " + new Date(lastHistoryFetched).toLocaleString()); + if (Config.logPumpComm) + log.debug("Loading event history from: " + new Date(lastHistoryFetched).toLocaleString()); } bleComm.sendMessage(msg); while (!msg.done && bleComm.isConnected()) { @@ -243,7 +250,8 @@ public class DanaRSService extends Service { lastHistoryFetched = DanaRS_Packet_APS_History_Events.lastEventTimeLoaded - T.mins(1).msecs(); else lastHistoryFetched = 0; - log.debug("Events loaded"); + if (Config.logPumpComm) + log.debug("Events loaded"); danaRPump.lastConnection = System.currentTimeMillis(); return new PumpEnactResult().success(true); } @@ -290,7 +298,8 @@ public class DanaRSService extends Service { if ((System.currentTimeMillis() - progress.lastReceive) > 15 * 1000L) { // if i didn't receive status for more than 20 sec expecting broken comm stop.stopped = true; stop.forced = true; - log.debug("Communication stopped"); + if (Config.logPumpComm) + log.debug("Communication stopped"); } } } @@ -335,7 +344,7 @@ public class DanaRSService extends Service { } public void bolusStop() { - if (Config.logDanaBTComm) + if (Config.logPumpComm) log.debug("bolusStop >>>>> @ " + (bolusingTreatment == null ? "" : bolusingTreatment.insulin)); DanaRS_Packet_Bolus_Set_Step_Bolus_Stop stop = new DanaRS_Packet_Bolus_Set_Step_Bolus_Stop(); stop.forced = true; @@ -433,7 +442,7 @@ public class DanaRSService extends Service { public boolean updateBasalsInPump(Profile profile) { if (!isConnected()) return false; MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.updatingbasalrates))); - double[] basal = DanaRPump.buildDanaRProfileRecord(profile); + double[] basal = DanaRPump.getInstance().buildDanaRProfileRecord(profile); DanaRS_Packet_Basal_Set_Profile_Basal_Rate msgSet = new DanaRS_Packet_Basal_Set_Profile_Basal_Rate(0, basal); bleComm.sendMessage(msgSet); DanaRS_Packet_Basal_Set_Profile_Number msgActivate = new DanaRS_Packet_Basal_Set_Profile_Number(0); @@ -512,11 +521,11 @@ public class DanaRSService extends Service { @Subscribe public void onStatusEvent(EventAppExit event) { - if (Config.logFunctionCalls) + if (Config.logPump) log.debug("EventAppExit received"); stopSelf(); - if (Config.logFunctionCalls) + if (Config.logPump) log.debug("EventAppExit finished"); } @@ -526,7 +535,7 @@ public class DanaRSService extends Service { long timeToWholeMinute = (60000 - time % 60000); if (timeToWholeMinute > 59800 || timeToWholeMinute < 300) break; - MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.waitingfortimesynchronization, (int)(timeToWholeMinute / 1000)))); + MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.waitingfortimesynchronization, (int) (timeToWholeMinute / 1000)))); SystemClock.sleep(Math.min(timeToWholeMinute, 100)); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java index e83f9d9435..49d945bdaa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java @@ -11,8 +11,6 @@ import android.support.v7.app.AlertDialog; import com.squareup.otto.Subscribe; -import org.slf4j.LoggerFactory; - import info.nightscout.androidaps.Config; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -51,7 +49,6 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { private DanaRv2Plugin() { pluginDescription.description(R.string.description_pump_dana_r_v2); - log = LoggerFactory.getLogger(DanaRv2Plugin.class); useExtendedBoluses = false; pumpDescription.isBolusCapable = true; @@ -107,12 +104,14 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { private ServiceConnection mConnection = new ServiceConnection() { public void onServiceDisconnected(ComponentName name) { - log.debug("Service is disconnected"); + if (Config.logPump) + log.debug("Service is disconnected"); sExecutionService = null; } public void onServiceConnected(ComponentName name, IBinder service) { - log.debug("Service is connected"); + if (Config.logPump) + log.debug("Service is connected"); DanaRv2ExecutionService.LocalBinder mLocalBinder = (DanaRv2ExecutionService.LocalBinder) service; sExecutionService = mLocalBinder.getServiceInstance(); } @@ -157,13 +156,15 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.invoke(); SP.putBoolean("allow_hardware_pump", true); - log.debug("First time HW pump allowed!"); + if (Config.logPump) + log.debug("First time HW pump allowed!"); } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.cancel(); - log.debug("User does not allow switching to HW pump!"); + if (Config.logPump) + log.debug("User does not allow switching to HW pump!"); } }); builder.create().show(); @@ -214,7 +215,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.comment = String.format(MainApp.gs(R.string.boluserrorcode), detailedBolusInfo.insulin, t.insulin, MsgBolusStartWithSpeed.errorCode); else result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPumpActions) + if (Config.logPump) log.debug("deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered); // remove carbs because it's get from history seprately return result; @@ -258,7 +259,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { if (doTempOff) { // If temp in progress if (TreatmentsPlugin.getPlugin().isTempBasalInProgress()) { - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Stopping temp basal (doTempOff)"); return cancelTempBasal(false); } @@ -267,7 +268,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.percent = 100; result.isPercent = true; result.isTempCancel = true; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: doTempOff OK"); return result; } @@ -290,14 +291,14 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.duration = activeTemp.getPlannedRemainingMinutes(); result.isPercent = true; result.isTempCancel = false; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)"); return result; } } } // Convert duration from minutes to hours - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: Setting temp basal " + percentRate + "% for " + durationInMinutes + " mins (doLowTemp || doHighTemp)"); if (percentRate == 0 && durationInMinutes > 30) { result = setTempBasalPercent(percentRate, durationInMinutes, profile, false); @@ -309,7 +310,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { log.error("setTempBasalAbsolute: Failed to set hightemp basal"); return result; } - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalAbsolute: hightemp basal set ok"); return result; } @@ -344,7 +345,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalPercent: Correct value already set"); return result; } @@ -363,7 +364,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setTempBasalPercent: OK"); return result; } @@ -385,7 +386,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPumpActions) + if (Config.logPump) log.debug("setHighTempBasalPercent: OK"); return result; } @@ -409,7 +410,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.success = true; result.isTempCancel = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPumpActions) + if (Config.logPump) log.debug("cancelRealTempBasal: OK"); return result; } else { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/SerialIOThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/SerialIOThread.java index a12e2085aa..49060192b5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/SerialIOThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/SerialIOThread.java @@ -11,6 +11,7 @@ import java.io.InputStream; import java.io.OutputStream; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; import info.nightscout.androidaps.plugins.PumpDanaR.services.AbstractSerialIOThread; @@ -21,7 +22,7 @@ import info.nightscout.utils.CRC; * Created by mike on 17.07.2016. */ public class SerialIOThread extends AbstractSerialIOThread { - private static Logger log = LoggerFactory.getLogger(SerialIOThread.class); + private static Logger log = LoggerFactory.getLogger(Constants.PUMPBTCOMM); private InputStream mInputStream = null; private OutputStream mOutputStream = null; @@ -72,7 +73,7 @@ public class SerialIOThread extends AbstractSerialIOThread { message = MessageHashTable_v2.findMessage(command); } - if (Config.logDanaMessageDetail) + if (Config.logPumpBtComm) log.debug("<<<<< " + message.getMessageName() + " " + message.toHexString(extractedBuff)); // process the message content @@ -84,7 +85,7 @@ public class SerialIOThread extends AbstractSerialIOThread { } } } catch (Exception e) { - if (Config.logDanaSerialEngine && e.getMessage().indexOf("bt socket closed") < 0) + if (e.getMessage().indexOf("bt socket closed") < 0) log.error("Thread exception: ", e); mKeepRunning = false; } @@ -148,7 +149,7 @@ public class SerialIOThread extends AbstractSerialIOThread { processedMessage = message; byte[] messageBytes = message.getRawMessageBytes(); - if (Config.logDanaSerialEngine) + if (Config.logPumpBtComm) log.debug(">>>>> " + message.getMessageName() + " " + message.toHexString(messageBytes)); try { @@ -167,10 +168,10 @@ public class SerialIOThread extends AbstractSerialIOThread { SystemClock.sleep(200); if (!message.received) { - log.warn("Reply not received " + message.getMessageName()); + log.error("Reply not received " + message.getMessageName()); if (message.getCommand() == 0xF0F1) { DanaRPump.getInstance().isNewPump = false; - log.debug("Old firmware detected"); + log.error("Old firmware detected"); } } } @@ -181,24 +182,29 @@ public class SerialIOThread extends AbstractSerialIOThread { try { mInputStream.close(); } catch (Exception e) { - if (Config.logDanaSerialEngine) log.debug(e.getMessage()); + if (Config.logPumpBtComm) + log.debug(e.getMessage()); } try { mOutputStream.close(); } catch (Exception e) { - if (Config.logDanaSerialEngine) log.debug(e.getMessage()); + if (Config.logPumpBtComm) + log.debug(e.getMessage()); } try { mRfCommSocket.close(); } catch (Exception e) { - if (Config.logDanaSerialEngine) log.debug(e.getMessage()); + if (Config.logPumpBtComm) + log.debug(e.getMessage()); } try { System.runFinalization(); } catch (Exception e) { - if (Config.logDanaSerialEngine) log.debug(e.getMessage()); + if (Config.logPumpBtComm) + log.debug(e.getMessage()); } - if (Config.logDanaSerialEngine) log.debug("Disconnected: " + reason); + if (Config.logPumpBtComm) + log.debug("Disconnected: " + reason); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MessageHashTable_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MessageHashTable_v2.java index 8d1cd12be1..c95a800128 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MessageHashTable_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MessageHashTable_v2.java @@ -1,8 +1,5 @@ package info.nightscout.androidaps.plugins.PumpDanaRv2.comm; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.util.HashMap; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; @@ -13,8 +10,6 @@ import info.nightscout.androidaps.plugins.PumpDanaR.comm.*; * Created by mike on 28.05.2016. */ public class MessageHashTable_v2 { - private static Logger log = LoggerFactory.getLogger(MessageHashTable_v2.class); - public static HashMap messages = null; static { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgCheckValue_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgCheckValue_v2.java index 0869844a1c..dcd2c5aace 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgCheckValue_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgCheckValue_v2.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventRefreshGui; @@ -21,10 +22,12 @@ import info.nightscout.androidaps.plugins.PumpDanaRv2.DanaRv2Plugin; * Created by mike on 30.06.2016. */ public class MsgCheckValue_v2 extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgCheckValue_v2.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgCheckValue_v2() { SetCommand(0xF0F1); + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -32,7 +35,8 @@ public class MsgCheckValue_v2 extends MessageBase { DanaRPump pump = DanaRPump.getInstance(); pump.isNewPump = true; - log.debug("New firmware confirmed"); + if (Config.logPumpComm) + log.debug("New firmware confirmed"); pump.model = intFromBuff(bytes, 0, 1); pump.protocol = intFromBuff(bytes, 1, 1); @@ -42,7 +46,7 @@ public class MsgCheckValue_v2 extends MessageBase { Notification notification = new Notification(Notification.WRONG_DRIVER, MainApp.gs(R.string.pumpdrivercorrected), Notification.NORMAL); MainApp.bus().post(new EventNewNotification(notification)); MainApp.getSpecificPlugin(DanaRPlugin.class).disconnect("Wrong Model"); - log.debug("Wrong model selected. Switching to Korean DanaR"); + log.error("Wrong model selected. Switching to Korean DanaR"); MainApp.getSpecificPlugin(DanaRKoreanPlugin.class).setPluginEnabled(PluginType.PUMP, true); MainApp.getSpecificPlugin(DanaRKoreanPlugin.class).setFragmentVisible(PluginType.PUMP, true); MainApp.getSpecificPlugin(DanaRPlugin.class).setPluginEnabled(PluginType.PUMP, false); @@ -67,7 +71,7 @@ public class MsgCheckValue_v2 extends MessageBase { Notification notification = new Notification(Notification.WRONG_DRIVER, MainApp.gs(R.string.pumpdrivercorrected), Notification.NORMAL); MainApp.bus().post(new EventNewNotification(notification)); DanaRKoreanPlugin.getPlugin().disconnect("Wrong Model"); - log.debug("Wrong model selected. Switching to non APS DanaR"); + log.error("Wrong model selected. Switching to non APS DanaR"); (MainApp.getSpecificPlugin(DanaRv2Plugin.class)).setPluginEnabled(PluginType.PUMP, false); (MainApp.getSpecificPlugin(DanaRv2Plugin.class)).setFragmentVisible(PluginType.PUMP, false); (MainApp.getSpecificPlugin(DanaRPlugin.class)).setPluginEnabled(PluginType.PUMP, true); @@ -84,7 +88,7 @@ public class MsgCheckValue_v2 extends MessageBase { ConfigBuilderPlugin.getCommandQueue().readStatus("PumpDriverChange", null); // force new connection return; } - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Model: " + String.format("%02X ", pump.model)); log.debug("Protocol: " + String.format("%02X ", pump.protocol)); log.debug("Product Code: " + String.format("%02X ", pump.productCode)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgHistoryEvents_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgHistoryEvents_v2.java index 91c01ba38c..2fe09d93bc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgHistoryEvents_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgHistoryEvents_v2.java @@ -6,6 +6,8 @@ import org.slf4j.LoggerFactory; import java.util.Date; import java.util.GregorianCalendar; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -20,7 +22,7 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; public class MsgHistoryEvents_v2 extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgHistoryEvents_v2.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public boolean done; public static long lastEventTimeLoaded = 0; @@ -31,6 +33,8 @@ public class MsgHistoryEvents_v2 extends MessageBase { gfrom.setTimeInMillis(from); AddParamDate(gfrom); done = false; + if (Config.logPumpComm) + log.debug("New message"); } public MsgHistoryEvents_v2() { @@ -41,6 +45,8 @@ public class MsgHistoryEvents_v2 extends MessageBase { AddParamByte((byte) 0); AddParamByte((byte) 0); done = false; + if (Config.logPumpComm) + log.debug("New message"); } @Override @@ -69,10 +75,12 @@ public class MsgHistoryEvents_v2 extends MessageBase { DetailedBolusInfo detailedBolusInfo = DetailedBolusInfoStorage.findDetailedBolusInfo(datetime.getTime()); if (detailedBolusInfo == null) { - log.debug("Detailed bolus info not found for " + datetime.toLocaleString()); + if (Config.logPumpComm) + log.debug("Detailed bolus info not found for " + datetime.toLocaleString()); detailedBolusInfo = new DetailedBolusInfo(); } else { - log.debug("Detailed bolus info found: " + detailedBolusInfo); + if (Config.logPumpComm) + log.debug("Detailed bolus info found: " + detailedBolusInfo); } detailedBolusInfo.date = datetime.getTime(); detailedBolusInfo.source = Source.PUMP; @@ -82,73 +90,86 @@ public class MsgHistoryEvents_v2 extends MessageBase { switch (recordCode) { case DanaRPump.TEMPSTART: - log.debug("EVENT TEMPSTART (" + recordCode + ") " + datetime.toLocaleString() + " Ratio: " + param1 + "% Duration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug("EVENT TEMPSTART (" + recordCode + ") " + datetime.toLocaleString() + " Ratio: " + param1 + "% Duration: " + param2 + "min"); temporaryBasal.percentRate = param1; temporaryBasal.durationInMinutes = param2; TreatmentsPlugin.getPlugin().addToHistoryTempBasal(temporaryBasal); status = "TEMPSTART " + DateUtil.timeString(datetime); break; case DanaRPump.TEMPSTOP: - log.debug("EVENT TEMPSTOP (" + recordCode + ") " + datetime.toLocaleString()); + if (Config.logPumpComm) + log.debug("EVENT TEMPSTOP (" + recordCode + ") " + datetime.toLocaleString()); TreatmentsPlugin.getPlugin().addToHistoryTempBasal(temporaryBasal); status = "TEMPSTOP " + DateUtil.timeString(datetime); break; case DanaRPump.EXTENDEDSTART: - log.debug("EVENT EXTENDEDSTART (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + (param1 / 100d) + "U Duration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug("EVENT EXTENDEDSTART (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + (param1 / 100d) + "U Duration: " + param2 + "min"); extendedBolus.insulin = param1 / 100d; extendedBolus.durationInMinutes = param2; TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); status = "EXTENDEDSTART " + DateUtil.timeString(datetime); break; case DanaRPump.EXTENDEDSTOP: - log.debug("EVENT EXTENDEDSTOP (" + recordCode + ") " + datetime.toLocaleString() + " Delivered: " + (param1 / 100d) + "U RealDuration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug("EVENT EXTENDEDSTOP (" + recordCode + ") " + datetime.toLocaleString() + " Delivered: " + (param1 / 100d) + "U RealDuration: " + param2 + "min"); TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); status = "EXTENDEDSTOP " + DateUtil.timeString(datetime); break; case DanaRPump.BOLUS: detailedBolusInfo.insulin = param1 / 100d; boolean newRecord = TreatmentsPlugin.getPlugin().addToHistoryTreatment(detailedBolusInfo, false); - log.debug((newRecord ? "**NEW** " : "") + "EVENT BOLUS (" + recordCode + ") " + datetime.toLocaleString() + " Bolus: " + (param1 / 100d) + "U Duration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug((newRecord ? "**NEW** " : "") + "EVENT BOLUS (" + recordCode + ") " + datetime.toLocaleString() + " Bolus: " + (param1 / 100d) + "U Duration: " + param2 + "min"); DetailedBolusInfoStorage.remove(detailedBolusInfo.date); status = "BOLUS " + DateUtil.timeString(datetime); break; case DanaRPump.DUALBOLUS: detailedBolusInfo.insulin = param1 / 100d; newRecord = TreatmentsPlugin.getPlugin().addToHistoryTreatment(detailedBolusInfo, false); - log.debug((newRecord ? "**NEW** " : "") + "EVENT DUALBOLUS (" + recordCode + ") " + datetime.toLocaleString() + " Bolus: " + (param1 / 100d) + "U Duration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug((newRecord ? "**NEW** " : "") + "EVENT DUALBOLUS (" + recordCode + ") " + datetime.toLocaleString() + " Bolus: " + (param1 / 100d) + "U Duration: " + param2 + "min"); DetailedBolusInfoStorage.remove(detailedBolusInfo.date); status = "DUALBOLUS " + DateUtil.timeString(datetime); break; case DanaRPump.DUALEXTENDEDSTART: - log.debug("EVENT DUALEXTENDEDSTART (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + (param1 / 100d) + "U Duration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug("EVENT DUALEXTENDEDSTART (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + (param1 / 100d) + "U Duration: " + param2 + "min"); extendedBolus.insulin = param1 / 100d; extendedBolus.durationInMinutes = param2; TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); status = "DUALEXTENDEDSTART " + DateUtil.timeString(datetime); break; case DanaRPump.DUALEXTENDEDSTOP: - log.debug("EVENT DUALEXTENDEDSTOP (" + recordCode + ") " + datetime.toLocaleString() + " Delivered: " + (param1 / 100d) + "U RealDuration: " + param2 + "min"); + if (Config.logPumpComm) + log.debug("EVENT DUALEXTENDEDSTOP (" + recordCode + ") " + datetime.toLocaleString() + " Delivered: " + (param1 / 100d) + "U RealDuration: " + param2 + "min"); TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); status = "DUALEXTENDEDSTOP " + DateUtil.timeString(datetime); break; case DanaRPump.SUSPENDON: - log.debug("EVENT SUSPENDON (" + recordCode + ") " + datetime.toLocaleString()); + if (Config.logPumpComm) + log.debug("EVENT SUSPENDON (" + recordCode + ") " + datetime.toLocaleString()); status = "SUSPENDON " + DateUtil.timeString(datetime); break; case DanaRPump.SUSPENDOFF: - log.debug("EVENT SUSPENDOFF (" + recordCode + ") " + datetime.toLocaleString()); + if (Config.logPumpComm) + log.debug("EVENT SUSPENDOFF (" + recordCode + ") " + datetime.toLocaleString()); status = "SUSPENDOFF " + DateUtil.timeString(datetime); break; case DanaRPump.REFILL: - log.debug("EVENT REFILL (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); + if (Config.logPumpComm) + log.debug("EVENT REFILL (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); status = "REFILL " + DateUtil.timeString(datetime); break; case DanaRPump.PRIME: - log.debug("EVENT PRIME (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); + if (Config.logPumpComm) + log.debug("EVENT PRIME (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); status = "PRIME " + DateUtil.timeString(datetime); break; case DanaRPump.PROFILECHANGE: - log.debug("EVENT PROFILECHANGE (" + recordCode + ") " + datetime.toLocaleString() + " No: " + param1 + " CurrentRate: " + (param2 / 100d) + "U/h"); + if (Config.logPumpComm) + log.debug("EVENT PROFILECHANGE (" + recordCode + ") " + datetime.toLocaleString() + " No: " + param1 + " CurrentRate: " + (param2 / 100d) + "U/h"); status = "PROFILECHANGE " + DateUtil.timeString(datetime); break; case DanaRPump.CARBS: @@ -158,11 +179,13 @@ public class MsgHistoryEvents_v2 extends MessageBase { emptyCarbsInfo.source = Source.PUMP; emptyCarbsInfo.pumpId = datetime.getTime(); newRecord = TreatmentsPlugin.getPlugin().addToHistoryTreatment(emptyCarbsInfo, false); - log.debug((newRecord ? "**NEW** " : "") + "EVENT CARBS (" + recordCode + ") " + datetime.toLocaleString() + " Carbs: " + param1 + "g"); + if (Config.logPumpComm) + log.debug((newRecord ? "**NEW** " : "") + "EVENT CARBS (" + recordCode + ") " + datetime.toLocaleString() + " Carbs: " + param1 + "g"); status = "CARBS " + DateUtil.timeString(datetime); break; default: - log.debug("Event: " + recordCode + " " + datetime.toLocaleString() + " Param1: " + param1 + " Param2: " + param2); + if (Config.logPumpComm) + log.debug("Event: " + recordCode + " " + datetime.toLocaleString() + " Param1: " + param1 + " Param2: " + param2); status = "UNKNOWN " + DateUtil.timeString(datetime); break; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetAPSTempBasalStart_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetAPSTempBasalStart_v2.java index 6b6e3045de..428352d6a8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetAPSTempBasalStart_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetAPSTempBasalStart_v2.java @@ -4,10 +4,11 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgSetAPSTempBasalStart_v2 extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSetAPSTempBasalStart_v2.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); protected final int PARAM30MIN = 160; protected final int PARAM15MIN = 150; @@ -19,6 +20,8 @@ public class MsgSetAPSTempBasalStart_v2 extends MessageBase { public MsgSetAPSTempBasalStart_v2(int percent) { this(); setParams(percent); + if (Config.logPumpComm) + log.debug("New message: percent: " + percent); } protected void setParams(int percent) { @@ -29,11 +32,11 @@ public class MsgSetAPSTempBasalStart_v2 extends MessageBase { AddParamInt(percent); if (percent < 100) { AddParamByte((byte) PARAM30MIN); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("APS Temp basal start percent: " + percent + " duration 30 min"); } else { AddParamByte((byte) PARAM15MIN); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("APS Temp basal start percent: " + percent + " duration 15 min"); } } @@ -51,11 +54,11 @@ public class MsgSetAPSTempBasalStart_v2 extends MessageBase { AddParamInt(percent); if (thirtyMinutes && percent <= 200) { // 30 min is allowed up to 200% AddParamByte((byte) PARAM30MIN); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("APS Temp basal start percent: " + percent + " duration 30 min"); } else { AddParamByte((byte) PARAM15MIN); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("APS Temp basal start percent: " + percent + " duration 15 min"); } } @@ -64,10 +67,11 @@ public class MsgSetAPSTempBasalStart_v2 extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - log.debug("Set APS temp basal start result: " + result + " FAILED!!!"); + if (Config.logPumpComm) + log.debug("Set APS temp basal start result: " + result + " FAILED!!!"); } else { failed = false; - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set APS temp basal start result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetHistoryEntry_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetHistoryEntry_v2.java index abeb656f03..4a044df0a0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetHistoryEntry_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetHistoryEntry_v2.java @@ -7,10 +7,11 @@ import java.util.Date; import java.util.GregorianCalendar; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgSetHistoryEntry_v2 extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgSetHistoryEntry_v2.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgSetHistoryEntry_v2() { SetCommand(0xE004); @@ -25,7 +26,7 @@ public class MsgSetHistoryEntry_v2 extends MessageBase { AddParamDateTime(gtime); AddParamInt(param1); AddParamInt(param2); - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set history entry: type: " + type + " date: " + new Date(time).toString() + " param1: " + param1 + " param2: " + param2); } @@ -34,9 +35,10 @@ public class MsgSetHistoryEntry_v2 extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - log.debug("Set history entry result: " + result + " FAILED!!!"); + if (Config.logPumpComm) + log.debug("Set history entry result: " + result + " FAILED!!!"); } else { - if (Config.logDanaMessageDetail) + if (Config.logPumpComm) log.debug("Set history entry result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusAPS_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusAPS_v2.java index c2f87ee36a..19827c484f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusAPS_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusAPS_v2.java @@ -4,14 +4,17 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgStatusAPS_v2 extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgStatusAPS_v2.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgStatusAPS_v2() { SetCommand(0xE001); + if (Config.logPumpComm) + log.debug("New message"); } public void handleMessage(byte[] bytes) { @@ -21,7 +24,7 @@ public class MsgStatusAPS_v2 extends MessageBase { DanaRPump pump = DanaRPump.getInstance(); pump.iob = iob; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Delivered so far: " + deliveredSoFar); log.debug("Current pump IOB: " + iob); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusBolusExtended_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusBolusExtended_v2.java index f695f6a792..8ec4e991a7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusBolusExtended_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusBolusExtended_v2.java @@ -8,17 +8,17 @@ import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.db.ExtendedBolus; -import info.nightscout.androidaps.interfaces.TreatmentsInterface; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgStatusBolusExtended_v2 extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgStatusBolusExtended_v2.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgStatusBolusExtended_v2() { SetCommand(0x0207); + if (Config.logPumpComm) + log.debug("New message"); } public void handleMessage(byte[] bytes) { @@ -46,7 +46,7 @@ public class MsgStatusBolusExtended_v2 extends MessageBase { pump.extendedBolusStart = extendedBolusStart; pump.extendedBolusRemainingMinutes = extendedBolusRemainingMinutes; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Is extended bolus running: " + isExtendedInProgress); log.debug("Extended bolus min: " + extendedBolusMinutes); log.debug("Extended bolus amount: " + extendedBolusAmount); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusTempBasal_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusTempBasal_v2.java index 256fa4cd8a..2ece5ab47e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusTempBasal_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusTempBasal_v2.java @@ -8,17 +8,17 @@ import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.db.TemporaryBasal; -import info.nightscout.androidaps.interfaces.TreatmentsInterface; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgStatusTempBasal_v2 extends MessageBase { - private static Logger log = LoggerFactory.getLogger(MsgStatusTempBasal_v2.class); + private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); public MsgStatusTempBasal_v2() { SetCommand(0x0205); + if (Config.logPumpComm) + log.debug("New message"); } public void handleMessage(byte[] bytes) { @@ -41,7 +41,7 @@ public class MsgStatusTempBasal_v2 extends MessageBase { pump.tempBasalTotalSec = tempBasalTotalSec; pump.tempBasalStart = tempBasalStart; - if (Config.logDanaMessageDetail) { + if (Config.logPumpComm) { log.debug("Is temp basal running: " + isTempBasalInProgress); log.debug("Is APS temp basal running: " + isAPSTempBasalInProgress); log.debug("Current temp basal percent: " + tempBasalPercent); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java index 1229f23f4e..770af49e75 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java @@ -8,8 +8,6 @@ import android.os.SystemClock; import com.squareup.otto.Subscribe; -import org.slf4j.LoggerFactory; - import java.io.IOException; import java.util.Date; @@ -81,7 +79,6 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { private long lastHistoryFetched = 0; public DanaRv2ExecutionService() { - log = LoggerFactory.getLogger(DanaRv2ExecutionService.class); mBinder = new LocalBinder(); registerBus(); @@ -105,7 +102,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { @Subscribe public void onStatusEvent(EventAppExit event) { - if (Config.logFunctionCalls) + if (Config.logPump) log.debug("EventAppExit received"); if (mSerialIOThread != null) @@ -114,7 +111,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { MainApp.instance().getApplicationContext().unregisterReceiver(receiver); stopSelf(); - if (Config.logFunctionCalls) + if (Config.logPump) log.debug("EventAppExit finished"); } @@ -126,7 +123,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { public void connect() { if (mDanaRPump.password != -1 && mDanaRPump.password != SP.getInt(R.string.key_danar_password, -1)) { - if(System.currentTimeMillis() > lastWrongPumpPassword + 30 * 1000) { + if (System.currentTimeMillis() > lastWrongPumpPassword + 30 * 1000) { Notification notification = new Notification(Notification.WRONG_PUMP_PASSWORD, MainApp.gs(R.string.wrongpumppassword), Notification.URGENT); notification.soundId = R.raw.error; lastWrongPumpPassword = System.currentTimeMillis(); @@ -208,10 +205,12 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumptime))); mSerialIOThread.sendMessage(new MsgSettingPumpTime()); long timeDiff = (mDanaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - log.debug("Pump time difference: " + timeDiff + " seconds"); + if (Config.logPump) + log.debug("Pump time difference: " + timeDiff + " seconds"); if (Math.abs(timeDiff) > 3) { - if (Math.abs(timeDiff) > 60*60*1.5) { - log.debug("Pump time difference: " + timeDiff + " seconds - large difference"); + if (Math.abs(timeDiff) > 60 * 60 * 1.5) { + if (Config.logPump) + log.debug("Pump time difference: " + timeDiff + " seconds - large difference"); //If time-diff is very large, warn user until we can synchronize history readings properly Intent i = new Intent(MainApp.instance(), ErrorHelperActivity.class); i.putExtra("soundid", R.raw.error); @@ -231,7 +230,8 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { mSerialIOThread.sendMessage(new MsgSetTime(new Date(DateUtil.now() + T.secs(10).msecs()))); mSerialIOThread.sendMessage(new MsgSettingPumpTime()); timeDiff = (mDanaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - log.debug("Pump time difference: " + timeDiff + " seconds"); + if (Config.logPump) + log.debug("Pump time difference: " + timeDiff + " seconds"); } } @@ -258,8 +258,9 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { MainApp.bus().post(new EventInitializationChanged()); NSUpload.uploadDeviceStatus(); if (mDanaRPump.dailyTotalUnits > mDanaRPump.maxDailyTotalUnits * Constants.dailyLimitWarning) { - log.debug("Approaching daily limit: " + mDanaRPump.dailyTotalUnits + "/" + mDanaRPump.maxDailyTotalUnits); - if(System.currentTimeMillis() > lastApproachingDailyLimit + 30 * 60 * 1000) { + if (Config.logPump) + log.debug("Approaching daily limit: " + mDanaRPump.dailyTotalUnits + "/" + mDanaRPump.maxDailyTotalUnits); + if (System.currentTimeMillis() > lastApproachingDailyLimit + 30 * 60 * 1000) { Notification reportFail = new Notification(Notification.APPROACHING_DAILY_LIMIT, MainApp.gs(R.string.approachingdailylimit), Notification.URGENT); MainApp.bus().post(new EventNewNotification(reportFail)); NSUpload.uploadError(MainApp.gs(R.string.approachingdailylimit) + ": " + mDanaRPump.dailyTotalUnits + "/" + mDanaRPump.maxDailyTotalUnits + "U"); @@ -315,7 +316,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { SystemClock.sleep(500); } MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.settingtempbasal))); - mSerialIOThread.sendMessage(new MsgSetAPSTempBasalStart_v2(percent, durationInMinutes == 15, durationInMinutes == 30)); + mSerialIOThread.sendMessage(new MsgSetAPSTempBasalStart_v2(percent, durationInMinutes == 15, durationInMinutes == 30)); mSerialIOThread.sendMessage(new MsgStatusTempBasal_v2()); loadEvents(); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING)); @@ -389,7 +390,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { if ((System.currentTimeMillis() - progress.lastReceive) > 15 * 1000L) { // if i didn't receive status for more than 15 sec expecting broken comm stop.stopped = true; stop.forced = true; - log.debug("Communication stopped"); + log.error("Communication stopped"); } } } @@ -434,7 +435,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { } public void bolusStop() { - if (Config.logDanaBTComm) + if (Config.logPump) log.debug("bolusStop >>>>> @ " + (mBolusingTreatment == null ? "" : mBolusingTreatment.insulin)); MsgBolusStop stop = new MsgBolusStop(); stop.forced = true; @@ -461,23 +462,25 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { public PumpEnactResult loadEvents() { - if(!MainApp.getSpecificPlugin(DanaRv2Plugin.class).isInitialized()){ + if (!MainApp.getSpecificPlugin(DanaRv2Plugin.class).isInitialized()) { PumpEnactResult result = new PumpEnactResult().success(false); result.comment = "pump not initialized"; return result; } - - + + if (!isConnected()) return new PumpEnactResult().success(false); SystemClock.sleep(300); MsgHistoryEvents_v2 msg; if (lastHistoryFetched == 0) { msg = new MsgHistoryEvents_v2(); - log.debug("Loading complete event history"); + if (Config.logPump) + log.debug("Loading complete event history"); } else { msg = new MsgHistoryEvents_v2(lastHistoryFetched); - log.debug("Loading event history from: " + new Date(lastHistoryFetched).toLocaleString()); + if (Config.logPump) + log.debug("Loading event history from: " + new Date(lastHistoryFetched).toLocaleString()); } mSerialIOThread.sendMessage(msg); while (!msg.done && mRfcommSocket.isConnected()) { @@ -495,7 +498,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { public boolean updateBasalsInPump(final Profile profile) { if (!isConnected()) return false; MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.updatingbasalrates))); - double[] basal = DanaRPump.buildDanaRProfileRecord(profile); + double[] basal = DanaRPump.getInstance().buildDanaRProfileRecord(profile); MsgSetBasalProfile msgSet = new MsgSetBasalProfile((byte) 0, basal); mSerialIOThread.sendMessage(msgSet); MsgSetActivateBasalProfile msgActivate = new MsgSetActivateBasalProfile((byte) 0); @@ -512,7 +515,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { long timeToWholeMinute = (60000 - time % 60000); if (timeToWholeMinute > 59800 || timeToWholeMinute < 3000) break; - MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.waitingfortimesynchronization, (int)(timeToWholeMinute / 1000)))); + MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.waitingfortimesynchronization, (int) (timeToWholeMinute / 1000)))); SystemClock.sleep(Math.min(timeToWholeMinute, 100)); } } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java index 07ef303dbf..96f550128d 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java @@ -77,10 +77,10 @@ import info.nightscout.androidaps.queue.commands.CommandTempBasalPercent; */ public class CommandQueue { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); private final LinkedList queue = new LinkedList<>(); - protected Command performing; + Command performing; private QueueThread thread = null; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java b/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java index 3073ecb950..252c537b9b 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java @@ -12,13 +12,10 @@ import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.events.EventDismissBolusprogressIfRunning; -import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; -import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.queue.events.EventQueueChanged; import info.nightscout.utils.SP; @@ -27,7 +24,7 @@ import info.nightscout.utils.SP; */ public class QueueThread extends Thread { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); private CommandQueue queue; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/Command.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/Command.java index 13208fb9f1..e21fb3f276 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/Command.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/Command.java @@ -14,7 +14,7 @@ import info.nightscout.androidaps.queue.Callback; * Created by mike on 09.11.2017. */ public abstract class Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); public enum CommandType { BOLUS, diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java index c0c2090177..89ebfb88b4 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java @@ -19,9 +19,9 @@ import info.nightscout.utils.DecimalFormatter; */ public class CommandBolus extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); - DetailedBolusInfo detailedBolusInfo; + private DetailedBolusInfo detailedBolusInfo; public CommandBolus(DetailedBolusInfo detailedBolusInfo, Callback callback, CommandType type) { commandType = type; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelExtendedBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelExtendedBolus.java index e5d69e2b6d..5874e56585 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelExtendedBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelExtendedBolus.java @@ -14,7 +14,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandCancelExtendedBolus extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); public CommandCancelExtendedBolus(Callback callback) { commandType = CommandType.EXTENDEDBOLUS; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelTempBasal.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelTempBasal.java index a79df63569..0394e3a40a 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelTempBasal.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelTempBasal.java @@ -14,9 +14,9 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandCancelTempBasal extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); - boolean enforceNew; + private boolean enforceNew; public CommandCancelTempBasal(boolean enforceNew, Callback callback) { commandType = CommandType.TEMPBASAL; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandExtendedBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandExtendedBolus.java index b3470e6e48..25c73f24f5 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandExtendedBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandExtendedBolus.java @@ -14,7 +14,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandExtendedBolus extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); private double insulin; private int durationInMinutes; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadEvents.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadEvents.java index da307b0c21..6a0abe712b 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadEvents.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadEvents.java @@ -16,7 +16,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandLoadEvents extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); public CommandLoadEvents(Callback callback) { commandType = CommandType.LOADEVENTS; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadHistory.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadHistory.java index 065e194ef0..0dcff6bffe 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadHistory.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadHistory.java @@ -16,9 +16,9 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandLoadHistory extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); - byte type; + private byte type; public CommandLoadHistory(byte type, Callback callback) { commandType = CommandType.LOADHISTORY; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadTDDs.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadTDDs.java index 77a74369f2..0c419c332e 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadTDDs.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadTDDs.java @@ -15,7 +15,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandLoadTDDs extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); public CommandLoadTDDs(Callback callback) { diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandReadStatus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandReadStatus.java index 78e4f3cdf1..3e4ccd58f3 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandReadStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandReadStatus.java @@ -14,9 +14,9 @@ import info.nightscout.utils.LocalAlertUtils; */ public class CommandReadStatus extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); - String reason; + private String reason; public CommandReadStatus(String reason, Callback callback) { commandType = CommandType.READSTATUS; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSMBBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSMBBolus.java index c4e613e04b..2cadda3a44 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSMBBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSMBBolus.java @@ -5,12 +5,9 @@ import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; -import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; -import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog; -import info.nightscout.androidaps.plugins.Overview.events.EventDismissBolusprogressIfRunning; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.androidaps.queue.Callback; import info.nightscout.utils.DateUtil; @@ -22,9 +19,9 @@ import info.nightscout.utils.T; */ public class CommandSMBBolus extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); - DetailedBolusInfo detailedBolusInfo; + private DetailedBolusInfo detailedBolusInfo; public CommandSMBBolus(DetailedBolusInfo detailedBolusInfo, Callback callback) { commandType = CommandType.SMB_BOLUS; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetProfile.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetProfile.java index 3fa375cfac..20c406e59e 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetProfile.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetProfile.java @@ -22,7 +22,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandSetProfile extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); private Profile profile; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetUserSettings.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetUserSettings.java index 59f0fe3ba9..af358604bc 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetUserSettings.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetUserSettings.java @@ -16,7 +16,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandSetUserSettings extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); public CommandSetUserSettings(Callback callback) { commandType = CommandType.SETUSERSETTINGS; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalAbsolute.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalAbsolute.java index 6e1a174364..1ed0737bc0 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalAbsolute.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalAbsolute.java @@ -5,7 +5,6 @@ import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; -import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; @@ -16,12 +15,12 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandTempBasalAbsolute extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); - int durationInMinutes; - double absoluteRate; - boolean enforceNew; - Profile profile; + private int durationInMinutes; + private double absoluteRate; + private boolean enforceNew; + private Profile profile; public CommandTempBasalAbsolute(double absoluteRate, int durationInMinutes, boolean enforceNew, Profile profile, Callback callback) { commandType = CommandType.TEMPBASAL; diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalPercent.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalPercent.java index 8b210de2c4..8aaaf91d52 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalPercent.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalPercent.java @@ -15,12 +15,12 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandTempBasalPercent extends Command { - private Logger log = LoggerFactory.getLogger(Constants.QUEUE); + private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); - int durationInMinutes; - int percent; - boolean enforceNew; - Profile profile; + private int durationInMinutes; + private int percent; + private boolean enforceNew; + private Profile profile; public CommandTempBasalPercent(int percent, int durationInMinutes, boolean enforceNew, Profile profile, Callback callback) { commandType = CommandType.TEMPBASAL; From 5efad357214389c6ce0ddba4f7e8ea5b79b335f7 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sat, 28 Jul 2018 23:57:25 +0200 Subject: [PATCH 20/37] NSUpload refactor --- .../java/info/nightscout/androidaps/MainApp.java | 3 +-- .../nightscout/androidaps/db/DatabaseHelper.java | 3 +-- .../plugins/Actions/dialogs/FillDialog.java | 2 +- .../Careportal/Dialogs/NewNSTreatmentDialog.java | 2 +- .../ConfigBuilder/ConfigBuilderPlugin.java | 2 +- .../androidaps/plugins/Food/FoodFragment.java | 2 +- .../androidaps/plugins/Loop/LoopPlugin.java | 3 +-- .../plugins/NSClientInternal}/NSUpload.java | 16 +++++++++++----- .../plugins/OpenAPSSMB/OpenAPSSMBPlugin.java | 2 +- .../Overview/Dialogs/ErrorHelperActivity.java | 2 +- .../plugins/Overview/Dialogs/NewCarbsDialog.java | 2 +- .../plugins/Overview/OverviewFragment.java | 3 +-- .../PumpDanaR/activities/DanaRNSHistorySync.java | 2 +- .../plugins/PumpDanaR/comm/MsgError.java | 2 +- .../services/DanaRExecutionService.java | 2 +- .../services/DanaRKoreanExecutionService.java | 2 +- .../comm/DanaRS_Packet_Notify_Alarm.java | 2 +- .../plugins/PumpDanaRS/services/BLEComm.java | 2 +- .../PumpDanaRS/services/DanaRSService.java | 2 +- .../services/DanaRv2ExecutionService.java | 2 +- .../plugins/PumpInsight/InsightPlugin.java | 2 +- .../history/HistoryIntentAdapter.java | 2 +- .../plugins/PumpVirtual/VirtualPumpPlugin.java | 2 +- .../SmsCommunicator/SmsCommunicatorPlugin.java | 2 +- .../plugins/Source/BGSourceFragment.java | 2 +- .../plugins/Source/SourceDexcomG5Plugin.java | 2 +- .../plugins/Source/SourcePoctechPlugin.java | 2 +- .../plugins/Treatments/TreatmentsPlugin.java | 2 +- .../fragments/TreatmentsBolusFragment.java | 5 +---- .../fragments/TreatmentsCareportalFragment.java | 2 +- .../TreatmentsExtendedBolusesFragment.java | 5 +---- .../TreatmentsProfileSwitchFragment.java | 2 +- .../fragments/TreatmentsTempTargetFragment.java | 2 +- .../TreatmentsTemporaryBasalsFragment.java | 2 +- .../java/info/nightscout/utils/HardLimits.java | 1 + .../info/nightscout/utils/LocalAlertUtils.java | 1 + .../Dialogs/NewNSTreatmentDialogTest.java | 3 +-- 37 files changed, 47 insertions(+), 50 deletions(-) rename app/src/main/java/info/nightscout/{utils => androidaps/plugins/NSClientInternal}/NSUpload.java (98%) diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.java b/app/src/main/java/info/nightscout/androidaps/MainApp.java index dbb6ddee8b..3870799929 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.java +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.java @@ -10,7 +10,6 @@ import android.support.v4.content.LocalBroadcastManager; import com.crashlytics.android.Crashlytics; import com.crashlytics.android.answers.Answers; -import com.crashlytics.android.answers.CustomEvent; import com.j256.ormlite.android.apptools.OpenHelperManager; import com.squareup.otto.Bus; import com.squareup.otto.LoggingBus; @@ -78,7 +77,7 @@ import info.nightscout.androidaps.receivers.DataReceiver; import info.nightscout.androidaps.receivers.KeepAliveReceiver; import info.nightscout.androidaps.receivers.NSAlarmReceiver; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import io.fabric.sdk.android.Fabric; diff --git a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java index ba6f2e5dd0..19a20bdfc4 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java +++ b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java @@ -28,7 +28,6 @@ import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.data.OverlappingIntervals; import info.nightscout.androidaps.data.Profile; @@ -48,7 +47,7 @@ import info.nightscout.androidaps.plugins.PumpDanaR.activities.DanaRNSHistorySyn import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.PumpVirtual.VirtualPumpPlugin; import info.nightscout.utils.JsonHelper; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.PercentageSplitter; import info.nightscout.utils.ToastUtils; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/FillDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/FillDialog.java index 558a7c381c..cd649d30cd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/FillDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/FillDialog.java @@ -39,7 +39,7 @@ import info.nightscout.androidaps.plugins.Overview.Dialogs.ErrorHelperActivity; import info.nightscout.androidaps.queue.Callback; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.NumberPicker; import info.nightscout.utils.SP; import info.nightscout.utils.SafeParse; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java index 666a4a27a3..802a072002 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java @@ -55,7 +55,7 @@ import info.nightscout.utils.DefaultValueHelper; import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.HardLimits; import info.nightscout.utils.JsonHelper; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.NumberPicker; import info.nightscout.utils.SP; import info.nightscout.utils.SafeParse; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java index eb35a3cc60..8a1b4a9764 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java @@ -47,7 +47,7 @@ import info.nightscout.androidaps.plugins.Sensitivity.SensitivityOref0Plugin; import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.CommandQueue; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; import info.nightscout.utils.ToastUtils; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Food/FoodFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Food/FoodFragment.java index 1acf6ea083..677fac5fb2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Food/FoodFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Food/FoodFragment.java @@ -33,7 +33,7 @@ import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventFoodDatabaseChanged; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SpinnerHelper; /** diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java index 480646ccfc..3e49e9b2e2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java @@ -32,7 +32,6 @@ import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.events.Event; import info.nightscout.androidaps.events.EventNewBG; -import info.nightscout.androidaps.events.EventTreatmentChange; import info.nightscout.androidaps.interfaces.APSInterface; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.PluginBase; @@ -48,7 +47,7 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; /** diff --git a/app/src/main/java/info/nightscout/utils/NSUpload.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSUpload.java similarity index 98% rename from app/src/main/java/info/nightscout/utils/NSUpload.java rename to app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSUpload.java index 00d5e39821..46ef2fae73 100644 --- a/app/src/main/java/info/nightscout/utils/NSUpload.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSUpload.java @@ -1,4 +1,4 @@ -package info.nightscout.utils; +package info.nightscout.androidaps.plugins.NSClientInternal; import android.content.Context; import android.content.Intent; @@ -21,6 +21,8 @@ import java.util.Date; import java.util.List; import java.util.Locale; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.Services.Intents; @@ -37,13 +39,16 @@ import info.nightscout.androidaps.plugins.Loop.APSResult; import info.nightscout.androidaps.plugins.Loop.DeviceStatus; import info.nightscout.androidaps.plugins.Loop.LoopPlugin; import info.nightscout.androidaps.plugins.NSClientInternal.data.DbLogger; +import info.nightscout.utils.BatteryLevel; +import info.nightscout.utils.DateUtil; +import info.nightscout.utils.SP; /** * Created by mike on 26.05.2017. */ public class NSUpload { - private static Logger log = LoggerFactory.getLogger(NSUpload.class); + private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); public static void uploadTempBasalStartAbsolute(TemporaryBasal temporaryBasal, Double originalExtendedAmount) { try { @@ -232,7 +237,8 @@ public class NSUpload { deviceStatus.enacted.put("requested", requested); } } else { - log.debug("OpenAPS data too old to upload"); + if (Config.logNsclient) + log.debug("OpenAPS data too old to upload"); } deviceStatus.device = "openaps://" + Build.MANUFACTURER + " " + Build.MODEL; JSONObject pumpstatus = ConfigBuilderPlugin.getActivePump().getJSONStatus(profile, profileName); @@ -490,7 +496,7 @@ public class NSUpload { try { data.put("eventType", "Note"); data.put("created_at", DateUtil.toISOString(new Date())); - data.put("notes", MainApp.gs(R.string.androidaps_start)+" - "+ Build.MANUFACTURER + " "+ Build.MODEL); + data.put("notes", MainApp.gs(R.string.androidaps_start) + " - " + Build.MANUFACTURER + " " + Build.MODEL); } catch (JSONException e) { log.error("Unhandled exception", e); } @@ -500,7 +506,7 @@ public class NSUpload { intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES); context.sendBroadcast(intent); DbLogger.dbAdd(intent, data.toString()); - } + } } public static void uploadEvent(String careportalEvent, long time, @Nullable String notes) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java index 570b76502f..455a87df40 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java @@ -33,7 +33,7 @@ import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateRes import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; import info.nightscout.utils.HardLimits; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.Profiler; import info.nightscout.utils.Round; import info.nightscout.utils.ToastUtils; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/ErrorHelperActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/ErrorHelperActivity.java index 90cf9aecd5..c556a6c844 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/ErrorHelperActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/ErrorHelperActivity.java @@ -4,7 +4,7 @@ import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import info.nightscout.androidaps.R; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; public class ErrorHelperActivity extends AppCompatActivity { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java index b51270938d..cd03cb7b6a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java @@ -21,7 +21,7 @@ import android.widget.RadioButton; import com.google.common.base.Joiner; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java index b5e97a59d8..b0655d894e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java @@ -86,7 +86,6 @@ import info.nightscout.androidaps.plugins.Careportal.OptionsToShow; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; -import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.CobInfo; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; @@ -115,7 +114,7 @@ import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.DefaultValueHelper; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.OKDialog; import info.nightscout.utils.Profiler; import info.nightscout.utils.SP; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java index 0967952240..0697389c48 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java @@ -18,7 +18,7 @@ import info.nightscout.androidaps.db.DanaRHistoryRecord; import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus; import info.nightscout.utils.DateUtil; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; /** * Created by mike on 20.07.2016. diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java index dcd6a4c819..8c41d47c7f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java @@ -8,7 +8,7 @@ import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; public class MsgError extends MessageBase { private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java index 730c43643b..22c7f8187b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java @@ -62,7 +62,7 @@ import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRNewStatus; import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; public class DanaRExecutionService extends AbstractDanaRExecutionService { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java index 25a4e21b72..579aa916d2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java @@ -54,7 +54,7 @@ import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgSettingBasal_k import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgStatusBasic_k; import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.queue.commands.Command; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Alarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Alarm.java index 2723dc03a4..ba81fe1a77 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Alarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Alarm.java @@ -9,7 +9,7 @@ import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; public class DanaRS_Packet_Notify_Alarm extends DanaRS_Packet { private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java index 5e948c09f5..7ba99a75ba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java @@ -36,7 +36,7 @@ import info.nightscout.androidaps.plugins.PumpDanaRS.comm.DanaRSMessageHashTable import info.nightscout.androidaps.plugins.PumpDanaRS.comm.DanaRS_Packet; import info.nightscout.androidaps.plugins.PumpDanaRS.events.EventDanaRSPacket; import info.nightscout.androidaps.plugins.PumpDanaRS.events.EventDanaRSPairingSuccess; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; /** diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java index 0264e2148a..87d2b45c18 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java @@ -78,7 +78,7 @@ import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.utils.DateUtil; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; import info.nightscout.utils.T; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java index 770af49e75..1b75e15246 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java @@ -70,7 +70,7 @@ import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.utils.DateUtil; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; import info.nightscout.utils.T; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java index 5fd8e25f26..3d8863bd3e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java @@ -51,7 +51,7 @@ import info.nightscout.androidaps.plugins.PumpInsight.utils.StatusItem; import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; import sugar.free.sightparser.applayer.descriptors.ActiveBolus; import sugar.free.sightparser.applayer.descriptors.ActiveBolusType; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryIntentAdapter.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryIntentAdapter.java index 2c2235bf47..87e427737b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryIntentAdapter.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/history/HistoryIntentAdapter.java @@ -6,7 +6,7 @@ import info.nightscout.androidaps.R; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.db.TDD; import info.nightscout.utils.DateUtil; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; import org.json.JSONException; import org.json.JSONObject; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java index 12977b89bf..1586522791 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java @@ -30,7 +30,7 @@ import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.PumpVirtual.events.EventVirtualPumpUpdateGui; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; /** diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java index 55f7ee9e50..a318715253 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java @@ -45,7 +45,7 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.androidaps.queue.Callback; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; import info.nightscout.utils.SafeParse; import info.nightscout.utils.T; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/BGSourceFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/BGSourceFragment.java index 3e9a79d459..cdd77ca1b2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/BGSourceFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/BGSourceFragment.java @@ -27,7 +27,7 @@ import info.nightscout.androidaps.events.EventNewBG; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.utils.DateUtil; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; /** * Created by mike on 16.10.2017. diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5Plugin.java index b47f8ae1e1..b9f707a914 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5Plugin.java @@ -18,7 +18,7 @@ import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; /** diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourcePoctechPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourcePoctechPlugin.java index 071943065d..321c1b5394 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourcePoctechPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourcePoctechPlugin.java @@ -19,7 +19,7 @@ import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.utils.JsonHelper; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; /** diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java index 0a1ed1c2d7..dca46916f5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java @@ -48,7 +48,7 @@ import info.nightscout.androidaps.plugins.Sensitivity.SensitivityAAPSPlugin; import info.nightscout.androidaps.plugins.Sensitivity.SensitivityWeightedAveragePlugin; import info.nightscout.utils.DateUtil; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; import info.nightscout.utils.T; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsBolusFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsBolusFragment.java index ee62733596..dfb63cd3a7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsBolusFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsBolusFragment.java @@ -20,9 +20,6 @@ import android.widget.TextView; import com.crashlytics.android.answers.CustomEvent; import com.squareup.otto.Subscribe; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.util.List; import info.nightscout.androidaps.MainApp; @@ -40,7 +37,7 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; import static info.nightscout.utils.DateUtil.now; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsCareportalFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsCareportalFragment.java index 7e69883a3d..f5da54e1ac 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsCareportalFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsCareportalFragment.java @@ -28,7 +28,7 @@ import info.nightscout.androidaps.events.EventCareportalEventChange; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.androidaps.plugins.NSClientInternal.UploadQueue; import info.nightscout.utils.DateUtil; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; import info.nightscout.utils.Translator; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsExtendedBolusesFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsExtendedBolusesFragment.java index 389965c6fd..037a1a0023 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsExtendedBolusesFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsExtendedBolusesFragment.java @@ -18,9 +18,6 @@ import android.widget.TextView; import com.crashlytics.android.answers.CustomEvent; import com.squareup.otto.Subscribe; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Intervals; @@ -35,7 +32,7 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; public class TreatmentsExtendedBolusesFragment extends SubscriberFragment { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsProfileSwitchFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsProfileSwitchFragment.java index 307f9c8ee6..90350c312d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsProfileSwitchFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsProfileSwitchFragment.java @@ -33,7 +33,7 @@ import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.androidaps.plugins.NSClientInternal.UploadQueue; import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; /** diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTempTargetFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTempTargetFragment.java index df67349839..d1fb7bbf3c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTempTargetFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTempTargetFragment.java @@ -31,7 +31,7 @@ import info.nightscout.androidaps.plugins.NSClientInternal.UploadQueue; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; /** diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTemporaryBasalsFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTemporaryBasalsFragment.java index 957c5c02f1..9b61eba2ae 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTemporaryBasalsFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTemporaryBasalsFragment.java @@ -33,7 +33,7 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; public class TreatmentsTemporaryBasalsFragment extends SubscriberFragment { diff --git a/app/src/main/java/info/nightscout/utils/HardLimits.java b/app/src/main/java/info/nightscout/utils/HardLimits.java index 8e1a05db0d..1a36561b62 100644 --- a/app/src/main/java/info/nightscout/utils/HardLimits.java +++ b/app/src/main/java/info/nightscout/utils/HardLimits.java @@ -5,6 +5,7 @@ import org.slf4j.LoggerFactory; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; /** * Created by mike on 22.02.2017. diff --git a/app/src/main/java/info/nightscout/utils/LocalAlertUtils.java b/app/src/main/java/info/nightscout/utils/LocalAlertUtils.java index 5556cae935..9fabe03ec2 100644 --- a/app/src/main/java/info/nightscout/utils/LocalAlertUtils.java +++ b/app/src/main/java/info/nightscout/utils/LocalAlertUtils.java @@ -14,6 +14,7 @@ import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Loop.LoopPlugin; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; diff --git a/app/src/test/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialogTest.java b/app/src/test/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialogTest.java index 185f400e4f..b02750b5b8 100644 --- a/app/src/test/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialogTest.java +++ b/app/src/test/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialogTest.java @@ -18,12 +18,11 @@ import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.db.ProfileSwitch; -import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.ProfileNS.NSProfilePlugin; import info.nightscout.androidaps.plugins.Treatments.TreatmentService; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; -import info.nightscout.utils.NSUpload; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; import static info.nightscout.androidaps.plugins.Careportal.CareportalFragment.PROFILESWITCH; From a4935b5d38a31048d2d62eb5f09b9b6b9d2a71e8 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 29 Jul 2018 00:00:48 +0200 Subject: [PATCH 21/37] Services refactor --- app/src/main/AndroidManifest.xml | 4 ++-- app/src/main/java/info/nightscout/androidaps/MainApp.java | 2 +- .../nightscout/androidaps/plugins/Loop/DeviceStatus.java | 8 -------- .../androidaps/plugins/NSClientInternal/NSUpload.java | 2 +- .../NSClientInternal/broadcasts/BroadcastAckAlarm.java | 8 +------- .../NSClientInternal/broadcasts/BroadcastAlarm.java | 7 +------ .../broadcasts/BroadcastAnnouncement.java | 8 +------- .../NSClientInternal/broadcasts/BroadcastCals.java | 7 +------ .../NSClientInternal/broadcasts/BroadcastClearAlarm.java | 7 +------ .../broadcasts/BroadcastDeviceStatus.java | 6 +----- .../NSClientInternal/broadcasts/BroadcastFood.java | 8 +------- .../NSClientInternal/broadcasts/BroadcastMbgs.java | 7 +------ .../NSClientInternal/broadcasts/BroadcastProfile.java | 8 +------- .../NSClientInternal/broadcasts/BroadcastSgvs.java | 6 +----- .../NSClientInternal/broadcasts/BroadcastStatus.java | 5 +---- .../NSClientInternal/broadcasts/BroadcastTreatment.java | 2 +- .../NSClientInternal/broadcasts/BroadcastUrgentAlarm.java | 7 +------ .../androidaps/plugins/Overview/Dialogs/ErrorDialog.java | 2 +- .../plugins/Overview/notifications/NotificationStore.java | 2 +- .../androidaps/plugins/ProfileNS/NSProfilePlugin.java | 2 +- .../plugins/SmsCommunicator/SmsCommunicatorPlugin.java | 2 +- .../androidaps/plugins/Source/SourceXdripPlugin.java | 2 +- .../Treatments/fragments/TreatmentsBolusFragment.java | 2 +- .../fragments/TreatmentsCareportalFragment.java | 2 +- .../fragments/TreatmentsProfileSwitchFragment.java | 2 +- .../fragments/TreatmentsTempTargetFragment.java | 2 +- .../nightscout/androidaps/receivers/DataReceiver.java | 2 +- .../nightscout/androidaps/receivers/NSAlarmReceiver.java | 2 +- .../{Services => services}/AlarmSoundService.java | 2 +- .../androidaps/{Services => services}/DataService.java | 2 +- .../androidaps/{Services => services}/Intents.java | 2 +- .../java/info/nightscout/utils/XdripCalibrations.java | 4 +--- 32 files changed, 32 insertions(+), 102 deletions(-) rename app/src/main/java/info/nightscout/androidaps/{Services => services}/AlarmSoundService.java (98%) rename app/src/main/java/info/nightscout/androidaps/{Services => services}/DataService.java (99%) rename app/src/main/java/info/nightscout/androidaps/{Services => services}/Intents.java (98%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index bcc1e93abd..83ed7c1885 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -129,7 +129,7 @@ App diff --git a/app/src/main/java/info/nightscout/utils/XdripCalibrations.java b/app/src/main/java/info/nightscout/utils/XdripCalibrations.java index 66ec6bd3df..8ac6433676 100644 --- a/app/src/main/java/info/nightscout/utils/XdripCalibrations.java +++ b/app/src/main/java/info/nightscout/utils/XdripCalibrations.java @@ -10,14 +10,12 @@ import android.support.v7.app.AlertDialog; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Date; import java.util.List; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.Services.Intents; -import info.nightscout.androidaps.data.Profile; +import info.nightscout.androidaps.services.Intents; /** * Created by mike on 10.02.2017. From 75bb38ba1ff6379cdf393a4ac95c4a890afe0fca Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 29 Jul 2018 00:08:28 +0200 Subject: [PATCH 22/37] move activities to new package --- app/src/main/AndroidManifest.xml | 10 +++++----- .../java/info/nightscout/androidaps/MainActivity.java | 4 ++++ .../androidaps/{ => activities}/AgreementActivity.java | 4 +++- .../{ => activities}/HistoryBrowseActivity.java | 4 +++- .../{ => activities}/PreferencesActivity.java | 5 ++++- .../{ => activities}/SingleFragmentActivity.java | 7 ++++--- .../androidaps/{ => activities}/TDDStatsActivity.java | 6 +++--- .../androidaps/plugins/Actions/ActionsFragment.java | 4 ++-- .../plugins/ConfigBuilder/ConfigBuilderFragment.java | 2 +- .../androidaps/plugins/PumpDanaR/DanaRFragment.java | 3 +-- .../androidaps/setupwizard/SWDefinition.java | 8 +------- app/src/main/res/layout/activity_agreement.xml | 2 +- app/src/main/res/layout/activity_historybrowse.xml | 2 +- 13 files changed, 33 insertions(+), 28 deletions(-) rename app/src/main/java/info/nightscout/androidaps/{ => activities}/AgreementActivity.java (91%) rename app/src/main/java/info/nightscout/androidaps/{ => activities}/HistoryBrowseActivity.java (99%) rename app/src/main/java/info/nightscout/androidaps/{ => activities}/PreferencesActivity.java (98%) rename app/src/main/java/info/nightscout/androidaps/{ => activities}/SingleFragmentActivity.java (91%) rename app/src/main/java/info/nightscout/androidaps/{ => activities}/TDDStatsActivity.java (99%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 83ed7c1885..df47773259 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -40,17 +40,17 @@ - + - + - + @@ -66,7 +66,7 @@ - + - diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.java b/app/src/main/java/info/nightscout/androidaps/MainActivity.java index 1742f3349f..a4370ff683 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.java @@ -38,6 +38,10 @@ import com.squareup.otto.Subscribe; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.activities.AgreementActivity; +import info.nightscout.androidaps.activities.HistoryBrowseActivity; +import info.nightscout.androidaps.activities.PreferencesActivity; +import info.nightscout.androidaps.activities.SingleFragmentActivity; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.events.EventAppExit; import info.nightscout.androidaps.events.EventFeatureRunning; diff --git a/app/src/main/java/info/nightscout/androidaps/AgreementActivity.java b/app/src/main/java/info/nightscout/androidaps/activities/AgreementActivity.java similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/AgreementActivity.java rename to app/src/main/java/info/nightscout/androidaps/activities/AgreementActivity.java index 3a30659884..582b10d57d 100644 --- a/app/src/main/java/info/nightscout/androidaps/AgreementActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/activities/AgreementActivity.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps; +package info.nightscout.androidaps.activities; import android.app.Activity; import android.content.Intent; @@ -9,6 +9,8 @@ import android.view.View; import android.widget.Button; import android.widget.CheckBox; +import info.nightscout.androidaps.MainActivity; +import info.nightscout.androidaps.R; import info.nightscout.utils.SP; public class AgreementActivity extends Activity { diff --git a/app/src/main/java/info/nightscout/androidaps/HistoryBrowseActivity.java b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.java similarity index 99% rename from app/src/main/java/info/nightscout/androidaps/HistoryBrowseActivity.java rename to app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.java index d106fb9985..8d4b691116 100644 --- a/app/src/main/java/info/nightscout/androidaps/HistoryBrowseActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps; +package info.nightscout.androidaps.activities; import android.os.Bundle; import android.os.SystemClock; @@ -29,6 +29,8 @@ import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; import butterknife.OnLongClick; +import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.events.EventCustomCalculationFinished; import info.nightscout.androidaps.interfaces.PumpInterface; diff --git a/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java b/app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.java similarity index 98% rename from app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java rename to app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.java index 349828b7cb..8876737be3 100644 --- a/app/src/main/java/info/nightscout/androidaps/PreferencesActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/activities/PreferencesActivity.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps; +package info.nightscout.androidaps.activities; import android.content.SharedPreferences; import android.os.Bundle; @@ -11,6 +11,9 @@ import android.preference.PreferenceGroup; import android.preference.PreferenceManager; import android.text.TextUtils; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.events.EventRefreshGui; import info.nightscout.androidaps.interfaces.PluginBase; diff --git a/app/src/main/java/info/nightscout/androidaps/SingleFragmentActivity.java b/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.java similarity index 91% rename from app/src/main/java/info/nightscout/androidaps/SingleFragmentActivity.java rename to app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.java index 567799fe5e..04fd7a6be7 100644 --- a/app/src/main/java/info/nightscout/androidaps/SingleFragmentActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/activities/SingleFragmentActivity.java @@ -1,16 +1,17 @@ -package info.nightscout.androidaps; +package info.nightscout.androidaps.activities; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; -import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.view.Menu; import android.view.MenuItem; +import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.R; +import info.nightscout.androidaps.activities.PreferencesActivity; import info.nightscout.androidaps.interfaces.PluginBase; -import info.nightscout.androidaps.tabs.TabPageAdapter; import info.nightscout.utils.PasswordProtection; public class SingleFragmentActivity extends AppCompatActivity { diff --git a/app/src/main/java/info/nightscout/androidaps/TDDStatsActivity.java b/app/src/main/java/info/nightscout/androidaps/activities/TDDStatsActivity.java similarity index 99% rename from app/src/main/java/info/nightscout/androidaps/TDDStatsActivity.java rename to app/src/main/java/info/nightscout/androidaps/activities/TDDStatsActivity.java index 7bc3ee31c5..34e5fa42ae 100644 --- a/app/src/main/java/info/nightscout/androidaps/TDDStatsActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/activities/TDDStatsActivity.java @@ -1,4 +1,4 @@ -package info.nightscout.androidaps; +package info.nightscout.androidaps.activities; import android.app.Activity; import android.graphics.Color; @@ -33,14 +33,14 @@ import java.util.Date; import java.util.LinkedList; import java.util.List; +import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; -import info.nightscout.androidaps.db.DanaRHistoryRecord; import info.nightscout.androidaps.db.TDD; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin; -import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus; import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; import info.nightscout.androidaps.plugins.PumpDanaRS.DanaRSPlugin; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsFragment.java index 0fb505bda7..96d3bbc3d2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsFragment.java @@ -14,10 +14,10 @@ import com.crashlytics.android.answers.CustomEvent; import com.squareup.otto.Subscribe; import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.HistoryBrowseActivity; +import info.nightscout.androidaps.activities.HistoryBrowseActivity; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.TDDStatsActivity; +import info.nightscout.androidaps.activities.TDDStatsActivity; import info.nightscout.androidaps.db.ExtendedBolus; import info.nightscout.androidaps.db.TemporaryBasal; import info.nightscout.androidaps.events.EventExtendedBolusChange; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderFragment.java index 3e60ca2b77..3df78c9a28 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderFragment.java @@ -26,7 +26,7 @@ import butterknife.ButterKnife; import butterknife.OnClick; import butterknife.Unbinder; import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.PreferencesActivity; +import info.nightscout.androidaps.activities.PreferencesActivity; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventConfigBuilderChange; import info.nightscout.androidaps.events.EventRefreshGui; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java index bbb363cc9d..db1b10ddbe 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java @@ -27,7 +27,7 @@ import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.TDDStatsActivity; +import info.nightscout.androidaps.activities.TDDStatsActivity; import info.nightscout.androidaps.db.ExtendedBolus; import info.nightscout.androidaps.events.EventExtendedBolusChange; import info.nightscout.androidaps.events.EventPumpStatusChanged; @@ -44,7 +44,6 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.androidaps.queue.events.EventQueueChanged; import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; -import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.SetWarnColor; public class DanaRFragment extends SubscriberFragment { diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.java b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.java index c1669b73d0..acd967f24a 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.java +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.java @@ -1,13 +1,8 @@ package info.nightscout.androidaps.setupwizard; import android.Manifest; -import android.content.ActivityNotFoundException; -import android.content.Context; import android.content.Intent; -import android.net.Uri; import android.os.Build; -import android.os.PowerManager; -import android.provider.Settings; import android.support.v7.app.AppCompatActivity; import com.squareup.otto.Subscribe; @@ -21,7 +16,7 @@ import java.util.List; import info.nightscout.androidaps.BuildConfig; import info.nightscout.androidaps.Config; import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.PreferencesActivity; +import info.nightscout.androidaps.activities.PreferencesActivity; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventConfigBuilderChange; import info.nightscout.androidaps.events.EventPumpStatusChanged; @@ -59,7 +54,6 @@ import info.nightscout.utils.ImportExportPrefs; import info.nightscout.utils.LocaleHelper; import info.nightscout.utils.PasswordProtection; import info.nightscout.utils.SP; -import info.nightscout.utils.ToastUtils; public class SWDefinition { private static Logger log = LoggerFactory.getLogger(SWDefinition.class); diff --git a/app/src/main/res/layout/activity_agreement.xml b/app/src/main/res/layout/activity_agreement.xml index e5f5c8ddf1..9a17432930 100644 --- a/app/src/main/res/layout/activity_agreement.xml +++ b/app/src/main/res/layout/activity_agreement.xml @@ -4,7 +4,7 @@ android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizo android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" -tools:context="info.nightscout.androidaps.AgreementActivity"> +tools:context="info.nightscout.androidaps.activities.AgreementActivity"> + tools:context="info.nightscout.androidaps.activities.HistoryBrowseActivity"> Date: Sun, 29 Jul 2018 00:20:41 +0200 Subject: [PATCH 23/37] cleanup --- .../info/nightscout/androidaps/Config.java | 42 +++++++++---------- .../androidaps/db/DatabaseHelper.java | 10 ++--- .../NSClientInternal/data/DbLogger.java | 4 +- .../services/NSClientService.java | 15 +++---- .../plugins/ProfileNS/NSProfilePlugin.java | 2 +- .../androidaps/receivers/DataReceiver.java | 5 ++- .../androidaps/services/DataService.java | 4 +- 7 files changed, 39 insertions(+), 43 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index 3ee273207a..361ccf33f0 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -23,28 +23,26 @@ public class Config { public static final boolean SMSCOMMUNICATORENABLED = !BuildConfig.NSCLIENTOLNY && !BuildConfig.G5UPLOADER; - public static final boolean detailedLog = true; - public static final boolean logFunctionCalls = true; - public static final boolean logIncommingData = true; - public static final boolean logAPSResult = true; - public static final boolean logPrefsChange = true; - public static final boolean logConfigBuilder = true; - public static final boolean logNSUpload = true; - public static final boolean logCongigBuilderActions = true; - public static final boolean logAutosensData = false; - public static final boolean logEvents = false; - public static final boolean logQueue = true; - public static final boolean logBgSource = true; - public static final boolean logOverview = true; - public static final boolean logNotification = true; - public static final boolean logAlarm = false; - public static final boolean logDataService = true; - public static final boolean logDataFood = true; - public static final boolean logDataTreatments = true; - public static final boolean logNsclient = true; - public static final boolean logObjectives = false; - public static final boolean logPump = true; + public static boolean logFunctionCalls = true; + public static boolean logAPSResult = true; + public static boolean logPrefsChange = true; + public static boolean logConfigBuilder = true; + public static boolean logCongigBuilderActions = true; + public static boolean logAutosensData = false; + public static boolean logEvents = false; + public static boolean logQueue = true; + public static boolean logBgSource = true; + public static boolean logOverview = true; + public static boolean logNotification = true; + public static boolean logAlarm = false; + public static boolean logDataService = true; + public static boolean logDataFood = true; + public static boolean logDataTreatments = true; + public static boolean logDatabase = true; + public static boolean logNsclient = true; + public static boolean logObjectives = false; + public static boolean logPump = true; public static boolean logPumpComm = true; - public static final boolean logPumpBtComm = false; + public static boolean logPumpBtComm = false; } diff --git a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java index 19a20bdfc4..c0aff525ae 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java +++ b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java @@ -769,7 +769,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { } else if (list.size() == 1) { DanaRHistoryRecord record = list.get(0); if (record._id == null || !record._id.equals(trJson.getString("_id"))) { - if (Config.logIncommingData) + if (Config.logDatabase) log.debug("Updating _id in DanaR history database: " + trJson.getString("_id")); record._id = trJson.getString("_id"); getDaoDanaRHistory().update(record); @@ -1320,11 +1320,11 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { if (list.size() == 1) { CareportalEvent record = list.get(0); - if (Config.logIncommingData) + if (Config.logDatabase) log.debug("Removing CareportalEvent record from database: " + record.log()); delete(record); } else { - if (Config.logIncommingData) + if (Config.logDatabase) log.debug("CareportalEvent not found database: " + _id); } } catch (SQLException e) { @@ -1344,12 +1344,12 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { if (list.size() == 0) { careportalEvent = new CareportalEvent(); careportalEvent.source = Source.NIGHTSCOUT; - if (Config.logIncommingData) + if (Config.logDatabase) log.debug("Adding CareportalEvent record to database: " + trJson.toString()); // Record does not exists. add } else if (list.size() == 1) { careportalEvent = list.get(0); - if (Config.logIncommingData) + if (Config.logDatabase) log.debug("Updating CareportalEvent record in database: " + trJson.toString()); } else { log.error("Something went wrong"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java index 4c237d91c9..8ab0e783cf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java @@ -25,7 +25,7 @@ public class DbLogger { if (q.size() < 1) { ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.nsclientnotinstalled)); log.error("DBADD No receivers"); - } else if (Config.logNSUpload) { + } else if (Config.logNsclient) { if (Config.logNsclient) log.debug("DBADD dbAdd " + q.size() + " receivers " + data); } @@ -36,7 +36,7 @@ public class DbLogger { if (q.size() < 1) { ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.nsclientnotinstalled)); log.error("DBREMOVE No receivers"); - } else if (Config.logNSUpload) { + } else if (Config.logNsclient) { if (Config.logNsclient) log.debug("DBREMOVE dbRemove " + q.size() + " receivers " + data); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java index a97069f015..536a9fe819 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java @@ -9,7 +9,6 @@ import android.os.HandlerThread; import android.os.IBinder; import android.os.PowerManager; - import com.google.common.base.Charsets; import com.google.common.hash.Hashing; import com.j256.ormlite.dao.CloseableIterator; @@ -23,7 +22,6 @@ import org.slf4j.LoggerFactory; import java.net.URISyntaxException; import java.sql.SQLException; -import java.util.Date; import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; @@ -356,13 +354,12 @@ public class NSClientService extends Service { log.error("Unhandled exception", e); return; } - if (Config.detailedLog) - try { - MainApp.bus().post(new EventNSClientNewLog("ANNOUNCEMENT", JsonHelper.safeGetString(data, "message", "received"))); - } catch (Exception e) { - FabricPrivacy.logException(e); - log.error("Unhandled exception", e); - } + try { + MainApp.bus().post(new EventNSClientNewLog("ANNOUNCEMENT", JsonHelper.safeGetString(data, "message", "received"))); + } catch (Exception e) { + FabricPrivacy.logException(e); + log.error("Unhandled exception", e); + } BroadcastAnnouncement.handleAnnouncement(data, getApplicationContext()); if (Config.logNsclient) log.debug(data.toString()); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java index 98afb4f004..e86772fc36 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java @@ -77,7 +77,7 @@ public class NSProfilePlugin extends PluginBase implements ProfileInterface { MainApp.bus().post(new EventProfileStoreChanged()); MainApp.bus().post(new EventNSProfileUpdateGUI()); } - if (Config.logIncommingData) + if (Config.logNsclient) log.debug("Received profileStore: " + activeProfile + " " + profile); } catch (JSONException e) { log.error("Unhandled exception", e); diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.java b/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.java index 7e3597c0f3..535f64c85f 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.java @@ -7,15 +7,16 @@ import android.support.v4.content.WakefulBroadcastReceiver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.services.DataService; import info.nightscout.androidaps.Config; public class DataReceiver extends WakefulBroadcastReceiver { - private static Logger log = LoggerFactory.getLogger(DataReceiver.class); + private static Logger log = LoggerFactory.getLogger(Constants.DATASERVICE); @Override public void onReceive(Context context, Intent intent) { - if (Config.logFunctionCalls) + if (Config.logDataService) log.debug("onReceive " + intent); startWakefulService(context, new Intent(context, DataService.class) .setAction(intent.getAction()) diff --git a/app/src/main/java/info/nightscout/androidaps/services/DataService.java b/app/src/main/java/info/nightscout/androidaps/services/DataService.java index e790da3a5f..95b3e70195 100644 --- a/app/src/main/java/info/nightscout/androidaps/services/DataService.java +++ b/app/src/main/java/info/nightscout/androidaps/services/DataService.java @@ -124,7 +124,7 @@ public class DataService extends IntentService { private void handleNewDataFromNSClient(Intent intent) { Bundle bundles = intent.getExtras(); if (bundles == null) return; - if (Config.logIncommingData) + if (Config.logDataService) log.debug("Got intent: " + intent.getAction()); @@ -254,7 +254,7 @@ public class DataService extends IntentService { NSMbg nsMbg = new NSMbg(mbgJson); CareportalEvent careportalEvent = new CareportalEvent(nsMbg); MainApp.getDbHelper().createOrUpdate(careportalEvent); - if (Config.logIncommingData) + if (Config.logDataService) log.debug("Adding/Updating new MBG: " + careportalEvent.log()); } From ce9e5b91650168dae8c99001b632c0a2f24f5086 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 29 Jul 2018 11:10:06 +0200 Subject: [PATCH 24/37] APS logging --- .../info/nightscout/androidaps/Config.java | 2 +- .../info/nightscout/androidaps/Constants.java | 1 + .../androidaps/plugins/Loop/APSResult.java | 3 +- .../androidaps/plugins/Loop/DeviceStatus.java | 12 +- .../androidaps/plugins/Loop/LoopFragment.java | 2 - .../androidaps/plugins/Loop/LoopPlugin.java | 39 +++--- .../DetermineBasalAdapterAMAJS.java | 62 ++++----- .../OpenAPSAMA/DetermineBasalResultAMA.java | 5 +- .../OpenAPSAMA/OpenAPSAMAFragment.java | 118 ++++++++---------- .../plugins/OpenAPSAMA/OpenAPSAMAPlugin.java | 39 +++--- .../OpenAPSMA/DetermineBasalAdapterMAJS.java | 30 ++--- .../OpenAPSMA/DetermineBasalResultMA.java | 13 +- .../plugins/OpenAPSMA/LoggerCallback.java | 25 ++-- .../plugins/OpenAPSMA/OpenAPSMAFragment.java | 63 ++++------ .../plugins/OpenAPSMA/OpenAPSMAPlugin.java | 26 ++-- .../events/EventOpenAPSUpdateResultGui.java | 2 +- .../DetermineBasalAdapterSMBJS.java | 69 +++++----- .../OpenAPSSMB/DetermineBasalResultSMB.java | 3 +- .../OpenAPSSMB/OpenAPSSMBFragment.java | 95 +++++++------- .../plugins/OpenAPSSMB/OpenAPSSMBPlugin.java | 43 +++---- 20 files changed, 298 insertions(+), 354 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index 361ccf33f0..b5072b1e91 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -24,7 +24,6 @@ public class Config { public static boolean logFunctionCalls = true; - public static boolean logAPSResult = true; public static boolean logPrefsChange = true; public static boolean logConfigBuilder = true; public static boolean logCongigBuilderActions = true; @@ -44,5 +43,6 @@ public class Config { public static boolean logPump = true; public static boolean logPumpComm = true; public static boolean logPumpBtComm = false; + public static boolean logAps = true; } diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index bb6d8d5655..911b703d5d 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -84,4 +84,5 @@ public class Constants { public static final String PUMPQUEUE = "PUMPQUEUE"; public static final String PUMPCOMM = "PUMPCOMM"; public static final String PUMPBTCOMM = "PUMPBTCOMM"; + public static final String APS = "APS"; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/APSResult.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/APSResult.java index ce63ad67e5..569b9ed09c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/APSResult.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/APSResult.java @@ -12,6 +12,7 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.IobTotal; @@ -25,7 +26,7 @@ import info.nightscout.utils.DecimalFormatter; * Created by mike on 09.06.2016. */ public class APSResult { - private static Logger log = LoggerFactory.getLogger(APSResult.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); public long date = 0; public String reason; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/DeviceStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/DeviceStatus.java index 739b01588f..c8d65169cd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/DeviceStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/DeviceStatus.java @@ -5,6 +5,8 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; + /* { "_id": "576cfd15217b0bed77d63641", @@ -363,7 +365,7 @@ import org.slf4j.LoggerFactory; */ public class DeviceStatus { - private static Logger log = LoggerFactory.getLogger(DeviceStatus.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); public String device = null; public JSONObject pump = null; @@ -373,12 +375,12 @@ public class DeviceStatus { public int uploaderBattery = 0; public String created_at = null; - public JSONObject mongoRecord () { + public JSONObject mongoRecord() { JSONObject record = new JSONObject(); try { - if (device != null) record.put("device" , device); - if (pump != null) record.put("pump" , pump); + if (device != null) record.put("device", device); + if (pump != null) record.put("pump", pump); if (suggested != null) { JSONObject openaps = new JSONObject(); if (enacted != null) openaps.put("enacted", enacted); @@ -387,7 +389,7 @@ public class DeviceStatus { record.put("openaps", openaps); } if (uploaderBattery != 0) record.put("uploaderBattery", uploaderBattery); - if (created_at != null) record.put("created_at" , created_at); + if (created_at != null) record.put("created_at", created_at); } catch (JSONException e) { log.error("Unhandled exception", e); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopFragment.java index 7fa810f8c0..0c0e31fb03 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopFragment.java @@ -28,8 +28,6 @@ import info.nightscout.androidaps.plugins.Loop.events.EventLoopUpdateGui; import info.nightscout.utils.FabricPrivacy; public class LoopFragment extends SubscriberFragment { - private static Logger log = LoggerFactory.getLogger(LoopFragment.class); - @BindView(R.id.loop_run) Button runNowButton; @BindView(R.id.loop_lastrun) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java index 3e49e9b2e2..0e9a189e4e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java @@ -43,24 +43,24 @@ import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensC import info.nightscout.androidaps.plugins.Loop.events.EventLoopSetLastRunGui; import info.nightscout.androidaps.plugins.Loop.events.EventLoopUpdateGui; import info.nightscout.androidaps.plugins.Loop.events.EventNewOpenLoopNotification; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; /** * Created by mike on 05.08.2016. */ public class LoopPlugin extends PluginBase { - private static Logger log = LoggerFactory.getLogger(LoopPlugin.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); - public static final String CHANNEL_ID = "AndroidAPS-Openloop"; + private static final String CHANNEL_ID = "AndroidAPS-Openloop"; - long lastBgTriggeredRun = 0; + private long lastBgTriggeredRun = 0; - protected static LoopPlugin loopPlugin; + private static LoopPlugin loopPlugin; @NonNull public static LoopPlugin getPlugin() { @@ -131,15 +131,15 @@ public class LoopPlugin extends PluginBase { PumpInterface pump = ConfigBuilderPlugin.getActivePump(); return pump == null || pump.getPumpDescription().isTempBasalCapable; } - + /** * This method is triggered once autosens calculation has completed, so the LoopPlugin * has current data to work with. However, autosens calculation can be triggered by multiple * sources and currently only a new BG should trigger a loop run. Hence we return early if * the event causing the calculation is not EventNewBg. - * - * Callers of {@link info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin#runCalculation(String, long, boolean, Event)} - * are sources triggering a calculation which triggers this method upon completion. + *

    + * Callers of {@link info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin#runCalculation(String, long, boolean, Event)} + * are sources triggering a calculation which triggers this method upon completion. */ @Subscribe public void onStatusEvent(final EventAutosensCalculationFinished ev) { @@ -248,19 +248,20 @@ public class LoopPlugin extends PluginBase { return isDisconnected; } - public synchronized void invoke(String initiator, boolean allowNotification){ + public synchronized void invoke(String initiator, boolean allowNotification) { invoke(initiator, allowNotification, false); } public synchronized void invoke(String initiator, boolean allowNotification, boolean tempBasalFallback) { try { - if (Config.logFunctionCalls) + if (Config.logAps) log.debug("invoke from " + initiator); Constraint loopEnabled = MainApp.getConstraintChecker().isLoopInvokationAllowed(); if (!loopEnabled.value()) { String message = MainApp.gs(R.string.loopdisabled) + "\n" + loopEnabled.getReasons(); - log.debug(message); + if (Config.logAps) + log.debug(message); MainApp.bus().post(new EventLoopSetLastRunGui(message)); return; } @@ -273,7 +274,8 @@ public class LoopPlugin extends PluginBase { Profile profile = MainApp.getConfigBuilder().getProfile(); if (!MainApp.getConfigBuilder().isProfileValid("Loop")) { - log.debug(MainApp.gs(R.string.noprofileselected)); + if (Config.logAps) + log.debug(MainApp.gs(R.string.noprofileselected)); MainApp.bus().post(new EventLoopSetLastRunGui(MainApp.gs(R.string.noprofileselected))); return; } @@ -303,7 +305,8 @@ public class LoopPlugin extends PluginBase { // safety check for multiple SMBs long lastBolusTime = TreatmentsPlugin.getPlugin().getLastBolusTime(); if (lastBolusTime != 0 && lastBolusTime + 3 * 60 * 1000 > System.currentTimeMillis()) { - log.debug("SMB requsted but still in 3 min interval"); + if (Config.logAps) + log.debug("SMB requsted but still in 3 min interval"); resultAfterConstraints.smb = 0; } @@ -318,13 +321,15 @@ public class LoopPlugin extends PluginBase { NSUpload.uploadDeviceStatus(); if (isSuspended()) { - log.debug(MainApp.gs(R.string.loopsuspended)); + if (Config.logAps) + log.debug(MainApp.gs(R.string.loopsuspended)); MainApp.bus().post(new EventLoopSetLastRunGui(MainApp.gs(R.string.loopsuspended))); return; } if (pump.isSuspended()) { - log.debug(MainApp.gs(R.string.pumpsuspended)); + if (Config.logAps) + log.debug(MainApp.gs(R.string.pumpsuspended)); MainApp.bus().post(new EventLoopSetLastRunGui(MainApp.gs(R.string.pumpsuspended))); return; } @@ -411,7 +416,7 @@ public class LoopPlugin extends PluginBase { MainApp.bus().post(new EventLoopUpdateGui()); } finally { - if (Config.logFunctionCalls) + if (Config.logAps) log.debug("invoke end"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java index 4c8de10b9c..d178c8a5a5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.OpenAPSAMA; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; -import org.mozilla.javascript.Callable; import org.mozilla.javascript.Context; import org.mozilla.javascript.Function; import org.mozilla.javascript.NativeJSON; @@ -35,7 +34,7 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.SP; public class DetermineBasalAdapterAMAJS { - private static Logger log = LoggerFactory.getLogger(DetermineBasalAdapterAMAJS.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); private ScriptReader mScriptReader = null; @@ -56,23 +55,24 @@ public class DetermineBasalAdapterAMAJS { private String scriptDebug = ""; - public DetermineBasalAdapterAMAJS(ScriptReader scriptReader) throws IOException { + public DetermineBasalAdapterAMAJS(ScriptReader scriptReader) { mScriptReader = scriptReader; } public DetermineBasalResultAMA invoke() { - - log.debug(">>> Invoking detemine_basal <<<"); - log.debug("Glucose status: " + (storedGlucoseStatus = mGlucoseStatus.toString())); - log.debug("IOB data: " + (storedIobData = mIobData.toString())); - log.debug("Current temp: " + (storedCurrentTemp = mCurrentTemp.toString())); - log.debug("Profile: " + (storedProfile = mProfile.toString())); - log.debug("Meal data: " + (storedMeal_data = mMealData.toString())); - if (mAutosensData != null) - log.debug("Autosens data: " + (storedAutosens_data = mAutosensData.toString())); - else - log.debug("Autosens data: " + (storedAutosens_data = "undefined")); + if (Config.logAps) { + log.debug(">>> Invoking detemine_basal <<<"); + log.debug("Glucose status: " + (storedGlucoseStatus = mGlucoseStatus.toString())); + log.debug("IOB data: " + (storedIobData = mIobData.toString())); + log.debug("Current temp: " + (storedCurrentTemp = mCurrentTemp.toString())); + log.debug("Profile: " + (storedProfile = mProfile.toString())); + log.debug("Meal data: " + (storedMeal_data = mMealData.toString())); + if (mAutosensData != null) + log.debug("Autosens data: " + (storedAutosens_data = mAutosensData.toString())); + else + log.debug("Autosens data: " + (storedAutosens_data = "undefined")); + } DetermineBasalResultAMA determineBasalResultAMA = null; @@ -119,7 +119,7 @@ public class DetermineBasalAdapterAMAJS { // Parse the jsResult object to a JSON-String String result = NativeJSON.stringify(rhino, scope, jsResult, null, null).toString(); - if (Config.logAPSResult) + if (Config.logAps) log.debug("Result: " + result); try { determineBasalResultAMA = new DetermineBasalResultAMA(jsResult, new JSONObject(result)); @@ -127,17 +127,13 @@ public class DetermineBasalAdapterAMAJS { log.error("Unhandled exception", e); } } else { - log.debug("Problem loading JS Functions"); + log.error("Problem loading JS Functions"); } } catch (IOException e) { - log.debug("IOException"); + log.error("IOException"); } catch (RhinoException e) { log.error("RhinoException: (" + e.lineNumber() + "," + e.columnNumber() + ") " + e.toString()); - } catch (IllegalAccessException e) { - log.error(e.toString()); - } catch (InstantiationException e) { - log.error(e.toString()); - } catch (InvocationTargetException e) { + } catch (IllegalAccessException | InstantiationException | InvocationTargetException e) { log.error(e.toString()); } finally { Context.exit(); @@ -214,7 +210,7 @@ public class DetermineBasalAdapterAMAJS { mProfile.put("temptargetSet", tempTargetSet); mProfile.put("autosens_adjust_targets", SP.getBoolean(R.string.key_openapsama_autosens_adjusttargets, true)); //align with max-absorption model in AMA sensitivity - if(mealData.usedMinCarbsImpact > 0){ + if (mealData.usedMinCarbsImpact > 0) { mProfile.put("min_5m_carbimpact", mealData.usedMinCarbsImpact); } else { mProfile.put("min_5m_carbimpact", SP.getDouble(R.string.key_openapsama_min_5m_carbimpact, SMBDefaults.min_5m_carbimpact)); @@ -265,31 +261,21 @@ public class DetermineBasalAdapterAMAJS { } - public Object makeParam(JSONObject jsonObject, Context rhino, Scriptable scope) { + private Object makeParam(JSONObject jsonObject, Context rhino, Scriptable scope) { if (jsonObject == null) return Undefined.instance; - Object param = NativeJSON.parse(rhino, scope, jsonObject.toString(), new Callable() { - @Override - public Object call(Context context, Scriptable scriptable, Scriptable scriptable1, Object[] objects) { - return objects[1]; - } - }); + Object param = NativeJSON.parse(rhino, scope, jsonObject.toString(), (context, scriptable, scriptable1, objects) -> objects[1]); return param; } - public Object makeParamArray(JSONArray jsonArray, Context rhino, Scriptable scope) { + private Object makeParamArray(JSONArray jsonArray, Context rhino, Scriptable scope) { //Object param = NativeJSON.parse(rhino, scope, "{myarray: " + jsonArray.toString() + " }", new Callable() { - Object param = NativeJSON.parse(rhino, scope, jsonArray.toString(), new Callable() { - @Override - public Object call(Context context, Scriptable scriptable, Scriptable scriptable1, Object[] objects) { - return objects[1]; - } - }); + Object param = NativeJSON.parse(rhino, scope, jsonArray.toString(), (context, scriptable, scriptable1, objects) -> objects[1]); return param; } - public String readFile(String filename) throws IOException { + private String readFile(String filename) throws IOException { byte[] bytes = mScriptReader.readFile(filename); String string = new String(bytes, "UTF-8"); if (string.startsWith("#!/usr/bin/env node")) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalResultAMA.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalResultAMA.java index ac7a7c2b49..324336f0d2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalResultAMA.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalResultAMA.java @@ -6,11 +6,12 @@ import org.mozilla.javascript.NativeObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.Loop.APSResult; import info.nightscout.utils.DateUtil; public class DetermineBasalResultAMA extends APSResult { - private static Logger log = LoggerFactory.getLogger(DetermineBasalResultAMA.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); private double eventualBG; private double snoozeBG; @@ -47,7 +48,7 @@ public class DetermineBasalResultAMA extends APSResult { bolusRequested = false; } - public DetermineBasalResultAMA() { + private DetermineBasalResultAMA() { hasPredictions = true; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAFragment.java index f05b0ac696..6e22ac028b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAFragment.java @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.OpenAPSAMA; import android.app.Activity; import android.os.Bundle; -import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -17,6 +16,7 @@ import org.json.JSONException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; @@ -26,7 +26,7 @@ import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.JSONFormatter; public class OpenAPSAMAFragment extends SubscriberFragment implements View.OnClickListener { - private static Logger log = LoggerFactory.getLogger(OpenAPSAMAFragment.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); Button run; TextView lastRunView; @@ -43,29 +43,23 @@ public class OpenAPSAMAFragment extends SubscriberFragment implements View.OnCli @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - try { - View view = inflater.inflate(R.layout.openapsama_fragment, container, false); + View view = inflater.inflate(R.layout.openapsama_fragment, container, false); - run = (Button) view.findViewById(R.id.openapsma_run); - run.setOnClickListener(this); - lastRunView = (TextView) view.findViewById(R.id.openapsma_lastrun); - glucoseStatusView = (TextView) view.findViewById(R.id.openapsma_glucosestatus); - currentTempView = (TextView) view.findViewById(R.id.openapsma_currenttemp); - iobDataView = (TextView) view.findViewById(R.id.openapsma_iobdata); - profileView = (TextView) view.findViewById(R.id.openapsma_profile); - mealDataView = (TextView) view.findViewById(R.id.openapsma_mealdata); - autosensDataView = (TextView) view.findViewById(R.id.openapsma_autosensdata); - scriptdebugView = (TextView) view.findViewById(R.id.openapsma_scriptdebugdata); - resultView = (TextView) view.findViewById(R.id.openapsma_result); - requestView = (TextView) view.findViewById(R.id.openapsma_request); + run = (Button) view.findViewById(R.id.openapsma_run); + run.setOnClickListener(this); + lastRunView = (TextView) view.findViewById(R.id.openapsma_lastrun); + glucoseStatusView = (TextView) view.findViewById(R.id.openapsma_glucosestatus); + currentTempView = (TextView) view.findViewById(R.id.openapsma_currenttemp); + iobDataView = (TextView) view.findViewById(R.id.openapsma_iobdata); + profileView = (TextView) view.findViewById(R.id.openapsma_profile); + mealDataView = (TextView) view.findViewById(R.id.openapsma_mealdata); + autosensDataView = (TextView) view.findViewById(R.id.openapsma_autosensdata); + scriptdebugView = (TextView) view.findViewById(R.id.openapsma_scriptdebugdata); + resultView = (TextView) view.findViewById(R.id.openapsma_result); + requestView = (TextView) view.findViewById(R.id.openapsma_request); - updateGUI(); - return view; - } catch (Exception e) { - FabricPrivacy.logException(e); - } - - return null; + updateGUI(); + return view; } @Override @@ -93,35 +87,32 @@ public class OpenAPSAMAFragment extends SubscriberFragment implements View.OnCli protected void updateGUI() { Activity activity = getActivity(); if (activity != null) - activity.runOnUiThread(new Runnable() { - @Override - public void run() { - DetermineBasalResultAMA lastAPSResult = OpenAPSAMAPlugin.getPlugin().lastAPSResult; - if (lastAPSResult != null) { - resultView.setText(JSONFormatter.format(lastAPSResult.json)); - requestView.setText(lastAPSResult.toSpanned()); - } - DetermineBasalAdapterAMAJS determineBasalAdapterAMAJS = OpenAPSAMAPlugin.getPlugin().lastDetermineBasalAdapterAMAJS; - if (determineBasalAdapterAMAJS != null) { - glucoseStatusView.setText(JSONFormatter.format(determineBasalAdapterAMAJS.getGlucoseStatusParam())); - currentTempView.setText(JSONFormatter.format(determineBasalAdapterAMAJS.getCurrentTempParam())); - try { - JSONArray iobArray = new JSONArray(determineBasalAdapterAMAJS.getIobDataParam()); - iobDataView.setText(String.format(MainApp.gs(R.string.array_of_elements), iobArray.length()) + "\n" + JSONFormatter.format(iobArray.getString(0))); - } catch (JSONException e) { - log.error("Unhandled exception", e); - iobDataView.setText("JSONException"); - } - profileView.setText(JSONFormatter.format(determineBasalAdapterAMAJS.getProfileParam())); - mealDataView.setText(JSONFormatter.format(determineBasalAdapterAMAJS.getMealDataParam())); - scriptdebugView.setText(determineBasalAdapterAMAJS.getScriptDebug()); - } - if (OpenAPSAMAPlugin.getPlugin().lastAPSRun != null) { - lastRunView.setText(OpenAPSAMAPlugin.getPlugin().lastAPSRun.toLocaleString()); - } - if (OpenAPSAMAPlugin.getPlugin().lastAutosensResult != null) { - autosensDataView.setText(JSONFormatter.format(OpenAPSAMAPlugin.getPlugin().lastAutosensResult.json())); + activity.runOnUiThread(() -> { + DetermineBasalResultAMA lastAPSResult = OpenAPSAMAPlugin.getPlugin().lastAPSResult; + if (lastAPSResult != null) { + resultView.setText(JSONFormatter.format(lastAPSResult.json)); + requestView.setText(lastAPSResult.toSpanned()); + } + DetermineBasalAdapterAMAJS determineBasalAdapterAMAJS = OpenAPSAMAPlugin.getPlugin().lastDetermineBasalAdapterAMAJS; + if (determineBasalAdapterAMAJS != null) { + glucoseStatusView.setText(JSONFormatter.format(determineBasalAdapterAMAJS.getGlucoseStatusParam())); + currentTempView.setText(JSONFormatter.format(determineBasalAdapterAMAJS.getCurrentTempParam())); + try { + JSONArray iobArray = new JSONArray(determineBasalAdapterAMAJS.getIobDataParam()); + iobDataView.setText(String.format(MainApp.gs(R.string.array_of_elements), iobArray.length()) + "\n" + JSONFormatter.format(iobArray.getString(0))); + } catch (JSONException e) { + log.error("Unhandled exception", e); + iobDataView.setText("JSONException"); } + profileView.setText(JSONFormatter.format(determineBasalAdapterAMAJS.getProfileParam())); + mealDataView.setText(JSONFormatter.format(determineBasalAdapterAMAJS.getMealDataParam())); + scriptdebugView.setText(determineBasalAdapterAMAJS.getScriptDebug()); + } + if (OpenAPSAMAPlugin.getPlugin().lastAPSRun != null) { + lastRunView.setText(OpenAPSAMAPlugin.getPlugin().lastAPSRun.toLocaleString()); + } + if (OpenAPSAMAPlugin.getPlugin().lastAutosensResult != null) { + autosensDataView.setText(JSONFormatter.format(OpenAPSAMAPlugin.getPlugin().lastAutosensResult.json())); } }); } @@ -129,20 +120,17 @@ public class OpenAPSAMAFragment extends SubscriberFragment implements View.OnCli void updateResultGUI(final String text) { Activity activity = getActivity(); if (activity != null) - activity.runOnUiThread(new Runnable() { - @Override - public void run() { - resultView.setText(text); - glucoseStatusView.setText(""); - currentTempView.setText(""); - iobDataView.setText(""); - profileView.setText(""); - mealDataView.setText(""); - autosensDataView.setText(""); - scriptdebugView.setText(""); - requestView.setText(""); - lastRunView.setText(""); - } + activity.runOnUiThread(() -> { + resultView.setText(text); + glucoseStatusView.setText(""); + currentTempView.setText(""); + iobDataView.setText(""); + profileView.setText(""); + mealDataView.setText(""); + autosensDataView.setText(""); + scriptdebugView.setText(""); + requestView.setText(""); + lastRunView.setText(""); }); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java index f73752faa2..905b595331 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java @@ -1,14 +1,13 @@ package info.nightscout.androidaps.plugins.OpenAPSAMA; -import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import org.json.JSONException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; import java.util.Date; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.GlucoseStatus; @@ -23,6 +22,7 @@ import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.Loop.APSResult; @@ -39,7 +39,7 @@ import info.nightscout.utils.Round; * Created by mike on 05.08.2016. */ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { - private static Logger log = LoggerFactory.getLogger(OpenAPSAMAPlugin.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); private static OpenAPSAMAPlugin openAPSAMAPlugin; @@ -91,15 +91,11 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { @Override public void invoke(String initiator, boolean tempBasalFallback) { - log.debug("invoke from " + initiator + " tempBasalFallback: " + tempBasalFallback); + if (Config.logAps) + log.debug("invoke from " + initiator + " tempBasalFallback: " + tempBasalFallback); lastAPSResult = null; DetermineBasalAdapterAMAJS determineBasalAdapterAMAJS; - try { - determineBasalAdapterAMAJS = new DetermineBasalAdapterAMAJS(new ScriptReader(MainApp.instance().getBaseContext())); - } catch (IOException e) { - log.error(e.getMessage(), e); - return; - } + determineBasalAdapterAMAJS = new DetermineBasalAdapterAMAJS(new ScriptReader(MainApp.instance().getBaseContext())); GlucoseStatus glucoseStatus = GlucoseStatus.getGlucoseStatusData(); Profile profile = MainApp.getConfigBuilder().getProfile(); @@ -107,21 +103,21 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { if (profile == null) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.noprofileselected))); - if (Config.logAPSResult) + if (Config.logAps) log.debug(MainApp.gs(R.string.noprofileselected)); return; } if (!isEnabled(PluginType.APS)) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.openapsma_disabled))); - if (Config.logAPSResult) + if (Config.logAps) log.debug(MainApp.gs(R.string.openapsma_disabled)); return; } if (glucoseStatus == null) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.openapsma_noglucosedata))); - if (Config.logAPSResult) + if (Config.logAps) log.debug(MainApp.gs(R.string.openapsma_noglucosedata)); return; } @@ -139,11 +135,13 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { Date start = new Date(); Date startPart = new Date(); IobTotal[] iobArray = IobCobCalculatorPlugin.getPlugin().calculateIobArrayInDia(profile); - Profiler.log(log, "calculateIobArrayInDia()", startPart); + if (Config.logAps) + Profiler.log(log, "calculateIobArrayInDia()", startPart); startPart = new Date(); MealData mealData = TreatmentsPlugin.getPlugin().getMealData(); - Profiler.log(log, "getMealData()", startPart); + if (Config.logAps) + Profiler.log(log, "getMealData()", startPart); double maxIob = MainApp.getConstraintChecker().getMaxIOBAllowed().value(); @@ -163,7 +161,7 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { if (!HardLimits.checkOnlyHardLimits(profile.getDia(), "dia", HardLimits.MINDIA, HardLimits.MAXDIA)) return; - if (!HardLimits.checkOnlyHardLimits(profile.getIcTimeFromMidnight(profile.secondsFromMidnight()), "carbratio", HardLimits.MINIC, HardLimits.MAXIC)) + if (!HardLimits.checkOnlyHardLimits(profile.getIcTimeFromMidnight(Profile.secondsFromMidnight()), "carbratio", HardLimits.MINIC, HardLimits.MAXIC)) return; if (!HardLimits.checkOnlyHardLimits(Profile.toMgdl(profile.getIsf(), units), "sens", HardLimits.MINISF, HardLimits.MAXISF)) return; @@ -184,8 +182,10 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { lastAutosensResult = new AutosensResult(); lastAutosensResult.sensResult = "autosens disabled"; } - Profiler.log(log, "detectSensitivityandCarbAbsorption()", startPart); - Profiler.log(log, "AMA data gathering", start); + if (Config.logAps) + Profiler.log(log, "detectSensitivityandCarbAbsorption()", startPart); + if (Config.logAps) + Profiler.log(log, "AMA data gathering", start); start = new Date(); @@ -200,7 +200,8 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { DetermineBasalResultAMA determineBasalResultAMA = determineBasalAdapterAMAJS.invoke(); - Profiler.log(log, "AMA calculation", start); + if (Config.logAps) + Profiler.log(log, "AMA calculation", start); // Fix bug determine basal if (determineBasalResultAMA.rate == 0d && determineBasalResultAMA.duration == 0 && !TreatmentsPlugin.getPlugin().isTempBasalInProgress()) determineBasalResultAMA.tempBasalRequested = false; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterMAJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterMAJS.java index 6275154450..0dd8d6e288 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterMAJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterMAJS.java @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.OpenAPSMA; import org.json.JSONException; import org.json.JSONObject; -import org.mozilla.javascript.Callable; import org.mozilla.javascript.Context; import org.mozilla.javascript.Function; import org.mozilla.javascript.NativeJSON; @@ -29,9 +28,9 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.SP; public class DetermineBasalAdapterMAJS { - private static Logger log = LoggerFactory.getLogger(DetermineBasalAdapterMAJS.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); - private ScriptReader mScriptReader = null; + private ScriptReader mScriptReader; private JSONObject mProfile; private JSONObject mGlucoseStatus; private JSONObject mIobData; @@ -39,12 +38,12 @@ public class DetermineBasalAdapterMAJS { private JSONObject mCurrentTemp; private String storedCurrentTemp = null; - public String storedIobData = null; + private String storedIobData = null; private String storedGlucoseStatus = null; private String storedProfile = null; private String storedMeal_data = null; - public DetermineBasalAdapterMAJS(ScriptReader scriptReader) throws IOException { + DetermineBasalAdapterMAJS(ScriptReader scriptReader) { mScriptReader = scriptReader; } @@ -97,7 +96,7 @@ public class DetermineBasalAdapterMAJS { // Parse the jsResult object to a JSON-String String result = NativeJSON.stringify(rhino, scope, jsResult, null, null).toString(); - if (Config.logAPSResult) + if (Config.logAps) log.debug("Result: " + result); try { determineBasalResultMA = new DetermineBasalResultMA(jsResult, new JSONObject(result)); @@ -108,14 +107,10 @@ public class DetermineBasalAdapterMAJS { log.debug("Problem loading JS Functions"); } } catch (IOException e) { - log.debug("IOException"); + log.error("IOException"); } catch (RhinoException e) { log.error("RhinoException: (" + e.lineNumber() + "," + e.columnNumber() + ") " + e.toString()); - } catch (IllegalAccessException e) { - log.error(e.toString()); - } catch (InstantiationException e) { - log.error(e.toString()); - } catch (InvocationTargetException e) { + } catch (IllegalAccessException | InstantiationException | InvocationTargetException e) { log.error(e.toString()); } finally { Context.exit(); @@ -210,7 +205,7 @@ public class DetermineBasalAdapterMAJS { mMealData.put("boluses", mealData.boluses); } - public String readFile(String filename) throws IOException { + private String readFile(String filename) throws IOException { byte[] bytes = mScriptReader.readFile(filename); String string = new String(bytes, "UTF-8"); if (string.startsWith("#!/usr/bin/env node")) { @@ -219,13 +214,8 @@ public class DetermineBasalAdapterMAJS { return string; } - public Object makeParam(JSONObject jsonObject, Context rhino, Scriptable scope) { - Object param = NativeJSON.parse(rhino, scope, jsonObject.toString(), new Callable() { - @Override - public Object call(Context context, Scriptable scriptable, Scriptable scriptable1, Object[] objects) { - return objects[1]; - } - }); + private Object makeParam(JSONObject jsonObject, Context rhino, Scriptable scope) { + Object param = NativeJSON.parse(rhino, scope, jsonObject.toString(), (context, scriptable, scriptable1, objects) -> objects[1]); return param; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalResultMA.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalResultMA.java index 75928f09d0..006b4343e3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalResultMA.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalResultMA.java @@ -6,17 +6,18 @@ import org.mozilla.javascript.NativeObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.Loop.APSResult; public class DetermineBasalResultMA extends APSResult { - private static Logger log = LoggerFactory.getLogger(DetermineBasalResultMA.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); public JSONObject json = new JSONObject(); - public double eventualBG; - public double snoozeBG; - public String mealAssist; + private double eventualBG; + private double snoozeBG; + private String mealAssist; - public DetermineBasalResultMA(NativeObject result, JSONObject j) { + DetermineBasalResultMA(NativeObject result, JSONObject j) { json = j; if (result.containsKey("error")) { reason = (String) result.get("error"); @@ -49,7 +50,7 @@ public class DetermineBasalResultMA extends APSResult { } } - public DetermineBasalResultMA() { + private DetermineBasalResultMA() { } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/LoggerCallback.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/LoggerCallback.java index 991ec2b25e..8f7fd181e0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/LoggerCallback.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/LoggerCallback.java @@ -4,8 +4,8 @@ import org.mozilla.javascript.ScriptableObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.MainApp; -import info.nightscout.utils.ToastUtils; +import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; /** * Created by adrian on 15/10/17. @@ -14,10 +14,10 @@ import info.nightscout.utils.ToastUtils; public class LoggerCallback extends ScriptableObject { - private static Logger log = LoggerFactory.getLogger(DetermineBasalAdapterMAJS.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); - static StringBuffer errorBuffer = new StringBuffer(); - static StringBuffer logBuffer = new StringBuffer(); + private static StringBuffer errorBuffer = new StringBuffer(); + private static StringBuffer logBuffer = new StringBuffer(); public LoggerCallback() { @@ -36,26 +36,27 @@ public class LoggerCallback extends ScriptableObject { } public void jsFunction_log(Object obj1) { - log.debug(obj1.toString()); + if (Config.logAps) + log.debug(obj1.toString()); logBuffer.append(obj1.toString()); logBuffer.append(' '); } public void jsFunction_error(Object obj1) { - log.error(obj1.toString()); + if (Config.logAps) + log.error(obj1.toString()); errorBuffer.append(obj1.toString()); errorBuffer.append(' '); } - - public static String getScriptDebug(){ + public static String getScriptDebug() { String ret = ""; - if(errorBuffer.length() > 0){ + if (errorBuffer.length() > 0) { ret += "e:\n" + errorBuffer.toString(); } - if(ret.length() > 0 && logBuffer.length() > 0) ret += '\n'; - if(logBuffer.length() > 0){ + if (ret.length() > 0 && logBuffer.length() > 0) ret += '\n'; + if (logBuffer.length() > 0) { ret += "d:\n" + logBuffer.toString(); } return ret; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAFragment.java index 7360bb8b2a..bcbc8119f7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAFragment.java @@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.OpenAPSMA; import android.app.Activity; import android.os.Bundle; -import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -12,10 +11,6 @@ import android.widget.TextView; import com.crashlytics.android.answers.CustomEvent; import com.squareup.otto.Subscribe; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateGui; @@ -24,8 +19,6 @@ import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.JSONFormatter; public class OpenAPSMAFragment extends SubscriberFragment implements View.OnClickListener { - private static Logger log = LoggerFactory.getLogger(OpenAPSMAFragment.class); - Button run; TextView lastRunView; TextView glucoseStatusView; @@ -87,25 +80,22 @@ public class OpenAPSMAFragment extends SubscriberFragment implements View.OnClic protected void updateGUI() { Activity activity = getActivity(); if (activity != null) - activity.runOnUiThread(new Runnable() { - @Override - public void run() { - DetermineBasalResultMA lastAPSResult = OpenAPSMAPlugin.getPlugin().lastAPSResult; - if (lastAPSResult != null) { - resultView.setText(JSONFormatter.format(lastAPSResult.json)); - requestView.setText(lastAPSResult.toSpanned()); - } - DetermineBasalAdapterMAJS determineBasalAdapterMAJS = OpenAPSMAPlugin.getPlugin().lastDetermineBasalAdapterMAJS; - if (determineBasalAdapterMAJS != null) { - glucoseStatusView.setText(JSONFormatter.format(determineBasalAdapterMAJS.getGlucoseStatusParam())); - currentTempView.setText(JSONFormatter.format(determineBasalAdapterMAJS.getCurrentTempParam())); - iobDataView.setText(JSONFormatter.format(determineBasalAdapterMAJS.getIobDataParam())); - profileView.setText(JSONFormatter.format(determineBasalAdapterMAJS.getProfileParam())); - mealDataView.setText(JSONFormatter.format(determineBasalAdapterMAJS.getMealDataParam())); - } - if (OpenAPSMAPlugin.getPlugin().lastAPSRun != null) { - lastRunView.setText(OpenAPSMAPlugin.getPlugin().lastAPSRun.toLocaleString()); - } + activity.runOnUiThread(() -> { + DetermineBasalResultMA lastAPSResult = OpenAPSMAPlugin.getPlugin().lastAPSResult; + if (lastAPSResult != null) { + resultView.setText(JSONFormatter.format(lastAPSResult.json)); + requestView.setText(lastAPSResult.toSpanned()); + } + DetermineBasalAdapterMAJS determineBasalAdapterMAJS = OpenAPSMAPlugin.getPlugin().lastDetermineBasalAdapterMAJS; + if (determineBasalAdapterMAJS != null) { + glucoseStatusView.setText(JSONFormatter.format(determineBasalAdapterMAJS.getGlucoseStatusParam())); + currentTempView.setText(JSONFormatter.format(determineBasalAdapterMAJS.getCurrentTempParam())); + iobDataView.setText(JSONFormatter.format(determineBasalAdapterMAJS.getIobDataParam())); + profileView.setText(JSONFormatter.format(determineBasalAdapterMAJS.getProfileParam())); + mealDataView.setText(JSONFormatter.format(determineBasalAdapterMAJS.getMealDataParam())); + } + if (OpenAPSMAPlugin.getPlugin().lastAPSRun != null) { + lastRunView.setText(OpenAPSMAPlugin.getPlugin().lastAPSRun.toLocaleString()); } }); } @@ -113,18 +103,15 @@ public class OpenAPSMAFragment extends SubscriberFragment implements View.OnClic private void updateResultGUI(final String text) { Activity activity = getActivity(); if (activity != null) - activity.runOnUiThread(new Runnable() { - @Override - public void run() { - resultView.setText(text); - glucoseStatusView.setText(""); - currentTempView.setText(""); - iobDataView.setText(""); - profileView.setText(""); - mealDataView.setText(""); - requestView.setText(""); - lastRunView.setText(""); - } + activity.runOnUiThread(() -> { + resultView.setText(text); + glucoseStatusView.setText(""); + currentTempView.setText(""); + iobDataView.setText(""); + profileView.setText(""); + mealDataView.setText(""); + requestView.setText(""); + lastRunView.setText(""); }); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java index 39d05f8ffb..a7a96e3bf4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java @@ -4,10 +4,10 @@ import org.json.JSONException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; import java.util.Date; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.GlucoseStatus; @@ -39,7 +39,7 @@ import static info.nightscout.utils.HardLimits.verifyHardLimits; * Created by mike on 05.08.2016. */ public class OpenAPSMAPlugin extends PluginBase implements APSInterface { - private static Logger log = LoggerFactory.getLogger(OpenAPSMAPlugin.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); private static OpenAPSMAPlugin openAPSMAPlugin; @@ -90,15 +90,11 @@ public class OpenAPSMAPlugin extends PluginBase implements APSInterface { @Override public void invoke(String initiator, boolean tempBasalFallback) { - log.debug("invoke from " + initiator + " tempBasalFallback: " + tempBasalFallback); + if (Config.logAps) + log.debug("invoke from " + initiator + " tempBasalFallback: " + tempBasalFallback); lastAPSResult = null; DetermineBasalAdapterMAJS determineBasalAdapterMAJS = null; - try { - determineBasalAdapterMAJS = new DetermineBasalAdapterMAJS(new ScriptReader(MainApp.instance().getBaseContext())); - } catch (IOException e) { - log.error(e.getMessage(), e); - return; - } + determineBasalAdapterMAJS = new DetermineBasalAdapterMAJS(new ScriptReader(MainApp.instance().getBaseContext())); GlucoseStatus glucoseStatus = GlucoseStatus.getGlucoseStatusData(); Profile profile = MainApp.getConfigBuilder().getProfile(); @@ -106,21 +102,21 @@ public class OpenAPSMAPlugin extends PluginBase implements APSInterface { if (profile == null) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.noprofileselected))); - if (Config.logAPSResult) + if (Config.logAps) log.debug(MainApp.gs(R.string.noprofileselected)); return; } if (!isEnabled(PluginType.APS)) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.openapsma_disabled))); - if (Config.logAPSResult) + if (Config.logAps) log.debug(MainApp.gs(R.string.openapsma_disabled)); return; } if (glucoseStatus == null) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.openapsma_noglucosedata))); - if (Config.logAPSResult) + if (Config.logAps) log.debug(MainApp.gs(R.string.openapsma_noglucosedata)); return; } @@ -147,7 +143,8 @@ public class OpenAPSMAPlugin extends PluginBase implements APSInterface { MealData mealData = TreatmentsPlugin.getPlugin().getMealData(); double maxIob = MainApp.getConstraintChecker().getMaxIOBAllowed().value(); - Profiler.log(log, "MA data gathering", start); + if (Config.logAps) + Profiler.log(log, "MA data gathering", start); minBg = verifyHardLimits(minBg, "minBg", HardLimits.VERY_HARD_LIMIT_MIN_BG[0], HardLimits.VERY_HARD_LIMIT_MIN_BG[1]); maxBg = verifyHardLimits(maxBg, "maxBg", HardLimits.VERY_HARD_LIMIT_MAX_BG[0], HardLimits.VERY_HARD_LIMIT_MAX_BG[1]); @@ -177,7 +174,8 @@ public class OpenAPSMAPlugin extends PluginBase implements APSInterface { } catch (JSONException e) { log.error("Unhandled exception", e); } - Profiler.log(log, "MA calculation", start); + if (Config.logAps) + Profiler.log(log, "MA calculation", start); long now = System.currentTimeMillis(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/events/EventOpenAPSUpdateResultGui.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/events/EventOpenAPSUpdateResultGui.java index e65cdd2c57..177133f155 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/events/EventOpenAPSUpdateResultGui.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/events/EventOpenAPSUpdateResultGui.java @@ -6,7 +6,7 @@ import info.nightscout.androidaps.events.EventUpdateGui; * Created by mike on 05.08.2016. */ public class EventOpenAPSUpdateResultGui extends EventUpdateGui { - public String text = null; + public String text; public EventOpenAPSUpdateResultGui(String text) { this.text = text; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java index 48a4c16ccd..4fc3604bef 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java @@ -3,7 +3,6 @@ package info.nightscout.androidaps.plugins.OpenAPSSMB; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; -import org.mozilla.javascript.Callable; import org.mozilla.javascript.Context; import org.mozilla.javascript.Function; import org.mozilla.javascript.NativeJSON; @@ -35,10 +34,10 @@ import info.nightscout.utils.SP; import info.nightscout.utils.SafeParse; public class DetermineBasalAdapterSMBJS { - private static Logger log = LoggerFactory.getLogger(DetermineBasalAdapterSMBJS.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); - private ScriptReader mScriptReader = null; + private ScriptReader mScriptReader; private JSONObject mProfile; private JSONObject mGlucoseStatus; private JSONArray mIobData; @@ -64,7 +63,7 @@ public class DetermineBasalAdapterSMBJS { * Main code */ - public DetermineBasalAdapterSMBJS(ScriptReader scriptReader) throws IOException { + DetermineBasalAdapterSMBJS(ScriptReader scriptReader) { mScriptReader = scriptReader; } @@ -72,19 +71,21 @@ public class DetermineBasalAdapterSMBJS { public DetermineBasalResultSMB invoke() { - log.debug(">>> Invoking detemine_basal <<<"); - log.debug("Glucose status: " + (storedGlucoseStatus = mGlucoseStatus.toString())); - log.debug("IOB data: " + (storedIobData = mIobData.toString())); - log.debug("Current temp: " + (storedCurrentTemp = mCurrentTemp.toString())); - log.debug("Profile: " + (storedProfile = mProfile.toString())); - log.debug("Meal data: " + (storedMeal_data = mMealData.toString())); - if (mAutosensData != null) - log.debug("Autosens data: " + (storedAutosens_data = mAutosensData.toString())); - else - log.debug("Autosens data: " + (storedAutosens_data = "undefined")); - log.debug("Reservoir data: " + "undefined"); - log.debug("MicroBolusAllowed: " + (storedMicroBolusAllowed = "" + mMicrobolusAllowed)); - log.debug("SMBAlwaysAllowed: " + (storedSMBAlwaysAllowed = "" + mSMBAlwaysAllowed)); + if (Config.logAps) { + log.debug(">>> Invoking detemine_basal <<<"); + log.debug("Glucose status: " + (storedGlucoseStatus = mGlucoseStatus.toString())); + log.debug("IOB data: " + (storedIobData = mIobData.toString())); + log.debug("Current temp: " + (storedCurrentTemp = mCurrentTemp.toString())); + log.debug("Profile: " + (storedProfile = mProfile.toString())); + log.debug("Meal data: " + (storedMeal_data = mMealData.toString())); + if (mAutosensData != null) + log.debug("Autosens data: " + (storedAutosens_data = mAutosensData.toString())); + else + log.debug("Autosens data: " + (storedAutosens_data = "undefined")); + log.debug("Reservoir data: " + "undefined"); + log.debug("MicroBolusAllowed: " + (storedMicroBolusAllowed = "" + mMicrobolusAllowed)); + log.debug("SMBAlwaysAllowed: " + (storedSMBAlwaysAllowed = "" + mSMBAlwaysAllowed)); + } DetermineBasalResultSMB determineBasalResultSMB = null; @@ -135,7 +136,7 @@ public class DetermineBasalAdapterSMBJS { // Parse the jsResult object to a JSON-String String result = NativeJSON.stringify(rhino, scope, jsResult, null, null).toString(); - if (Config.logAPSResult) + if (Config.logAps) log.debug("Result: " + result); try { determineBasalResultSMB = new DetermineBasalResultSMB(new JSONObject(result)); @@ -143,17 +144,13 @@ public class DetermineBasalAdapterSMBJS { log.error("Unhandled exception", e); } } else { - log.debug("Problem loading JS Functions"); + log.error("Problem loading JS Functions"); } } catch (IOException e) { - log.debug("IOException"); + log.error("IOException"); } catch (RhinoException e) { log.error("RhinoException: (" + e.lineNumber() + "," + e.columnNumber() + ") " + e.toString()); - } catch (IllegalAccessException e) { - log.error(e.toString()); - } catch (InstantiationException e) { - log.error(e.toString()); - } catch (InvocationTargetException e) { + } catch (IllegalAccessException | InstantiationException | InvocationTargetException e) { log.error(e.toString()); } finally { Context.exit(); @@ -244,7 +241,7 @@ public class DetermineBasalAdapterSMBJS { mProfile.put("maxCOB", SMBDefaults.maxCOB); mProfile.put("skip_neutral_temps", SMBDefaults.skip_neutral_temps); //align with max-absorption model in AMA sensitivity - if(mealData.usedMinCarbsImpact > 0){ + if (mealData.usedMinCarbsImpact > 0) { mProfile.put("min_5m_carbimpact", mealData.usedMinCarbsImpact); } else { mProfile.put("min_5m_carbimpact", SP.getDouble(R.string.key_openapsama_min_5m_carbimpact, SMBDefaults.min_5m_carbimpact)); @@ -319,31 +316,21 @@ public class DetermineBasalAdapterSMBJS { } - public Object makeParam(JSONObject jsonObject, Context rhino, Scriptable scope) { + private Object makeParam(JSONObject jsonObject, Context rhino, Scriptable scope) { if (jsonObject == null) return Undefined.instance; - Object param = NativeJSON.parse(rhino, scope, jsonObject.toString(), new Callable() { - @Override - public Object call(Context context, Scriptable scriptable, Scriptable scriptable1, Object[] objects) { - return objects[1]; - } - }); + Object param = NativeJSON.parse(rhino, scope, jsonObject.toString(), (context, scriptable, scriptable1, objects) -> objects[1]); return param; } - public Object makeParamArray(JSONArray jsonArray, Context rhino, Scriptable scope) { + private Object makeParamArray(JSONArray jsonArray, Context rhino, Scriptable scope) { //Object param = NativeJSON.parse(rhino, scope, "{myarray: " + jsonArray.toString() + " }", new Callable() { - Object param = NativeJSON.parse(rhino, scope, jsonArray.toString(), new Callable() { - @Override - public Object call(Context context, Scriptable scriptable, Scriptable scriptable1, Object[] objects) { - return objects[1]; - } - }); + Object param = NativeJSON.parse(rhino, scope, jsonArray.toString(), (context, scriptable, scriptable1, objects) -> objects[1]); return param; } - public String readFile(String filename) throws IOException { + private String readFile(String filename) throws IOException { byte[] bytes = mScriptReader.readFile(filename); String string = new String(bytes, "UTF-8"); if (string.startsWith("#!/usr/bin/env node")) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalResultSMB.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalResultSMB.java index d5f108bf4f..a4241e29d7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalResultSMB.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalResultSMB.java @@ -5,11 +5,12 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.plugins.Loop.APSResult; import info.nightscout.utils.DateUtil; public class DetermineBasalResultSMB extends APSResult { - private static final Logger log = LoggerFactory.getLogger(DetermineBasalResultSMB.class); + private static final Logger log = LoggerFactory.getLogger(Constants.APS); private double eventualBG; private double snoozeBG; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBFragment.java index 20ccd46b40..58138e974a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBFragment.java @@ -19,6 +19,7 @@ import org.slf4j.LoggerFactory; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; @@ -28,7 +29,7 @@ import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.JSONFormatter; public class OpenAPSSMBFragment extends SubscriberFragment { - private static Logger log = LoggerFactory.getLogger(OpenAPSSMBFragment.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); @BindView(R.id.openapsma_run) Button run; @@ -84,40 +85,37 @@ public class OpenAPSSMBFragment extends SubscriberFragment { protected void updateGUI() { Activity activity = getActivity(); if (activity != null) - activity.runOnUiThread(new Runnable() { - @Override - public void run() { - synchronized (OpenAPSSMBFragment.this) { - if (!isBound()) return; - OpenAPSSMBPlugin plugin = OpenAPSSMBPlugin.getPlugin(); - DetermineBasalResultSMB lastAPSResult = plugin.lastAPSResult; - if (lastAPSResult != null) { - resultView.setText(JSONFormatter.format(lastAPSResult.json)); - requestView.setText(lastAPSResult.toSpanned()); - } - DetermineBasalAdapterSMBJS determineBasalAdapterSMBJS = plugin.lastDetermineBasalAdapterSMBJS; - if (determineBasalAdapterSMBJS != null) { - glucoseStatusView.setText(JSONFormatter.format(determineBasalAdapterSMBJS.getGlucoseStatusParam()).toString().trim()); - currentTempView.setText(JSONFormatter.format(determineBasalAdapterSMBJS.getCurrentTempParam()).toString().trim()); - try { - JSONArray iobArray = new JSONArray(determineBasalAdapterSMBJS.getIobDataParam()); - iobDataView.setText((String.format(MainApp.gs(R.string.array_of_elements), iobArray.length()) + "\n" + JSONFormatter.format(iobArray.getString(0))).trim()); - } catch (JSONException e) { - log.error("Unhandled exception", e); - iobDataView.setText("JSONException see log for details"); - } - profileView.setText(JSONFormatter.format(determineBasalAdapterSMBJS.getProfileParam()).toString().trim()); - mealDataView.setText(JSONFormatter.format(determineBasalAdapterSMBJS.getMealDataParam()).toString().trim()); - scriptdebugView.setText(determineBasalAdapterSMBJS.getScriptDebug().trim()); - if (lastAPSResult != null && lastAPSResult.inputConstraints != null) - constraintsView.setText(lastAPSResult.inputConstraints.getReasons().trim()); - } - if (plugin.lastAPSRun != null) { - lastRunView.setText(plugin.lastAPSRun.toLocaleString().trim()); - } - if (plugin.lastAutosensResult != null) { - autosensDataView.setText(JSONFormatter.format(plugin.lastAutosensResult.json()).toString().trim()); + activity.runOnUiThread(() -> { + synchronized (OpenAPSSMBFragment.this) { + if (!isBound()) return; + OpenAPSSMBPlugin plugin = OpenAPSSMBPlugin.getPlugin(); + DetermineBasalResultSMB lastAPSResult = plugin.lastAPSResult; + if (lastAPSResult != null) { + resultView.setText(JSONFormatter.format(lastAPSResult.json)); + requestView.setText(lastAPSResult.toSpanned()); + } + DetermineBasalAdapterSMBJS determineBasalAdapterSMBJS = plugin.lastDetermineBasalAdapterSMBJS; + if (determineBasalAdapterSMBJS != null) { + glucoseStatusView.setText(JSONFormatter.format(determineBasalAdapterSMBJS.getGlucoseStatusParam()).toString().trim()); + currentTempView.setText(JSONFormatter.format(determineBasalAdapterSMBJS.getCurrentTempParam()).toString().trim()); + try { + JSONArray iobArray = new JSONArray(determineBasalAdapterSMBJS.getIobDataParam()); + iobDataView.setText((String.format(MainApp.gs(R.string.array_of_elements), iobArray.length()) + "\n" + JSONFormatter.format(iobArray.getString(0))).trim()); + } catch (JSONException e) { + log.error("Unhandled exception", e); + iobDataView.setText("JSONException see log for details"); } + profileView.setText(JSONFormatter.format(determineBasalAdapterSMBJS.getProfileParam()).toString().trim()); + mealDataView.setText(JSONFormatter.format(determineBasalAdapterSMBJS.getMealDataParam()).toString().trim()); + scriptdebugView.setText(determineBasalAdapterSMBJS.getScriptDebug().trim()); + if (lastAPSResult != null && lastAPSResult.inputConstraints != null) + constraintsView.setText(lastAPSResult.inputConstraints.getReasons().trim()); + } + if (plugin.lastAPSRun != null) { + lastRunView.setText(plugin.lastAPSRun.toLocaleString().trim()); + } + if (plugin.lastAutosensResult != null) { + autosensDataView.setText(JSONFormatter.format(plugin.lastAutosensResult.json()).toString().trim()); } } }); @@ -126,22 +124,19 @@ public class OpenAPSSMBFragment extends SubscriberFragment { void updateResultGUI(final String text) { Activity activity = getActivity(); if (activity != null) - activity.runOnUiThread(new Runnable() { - @Override - public void run() { - synchronized (OpenAPSSMBFragment.this) { - if (isBound()) { - resultView.setText(text); - glucoseStatusView.setText(""); - currentTempView.setText(""); - iobDataView.setText(""); - profileView.setText(""); - mealDataView.setText(""); - autosensDataView.setText(""); - scriptdebugView.setText(""); - requestView.setText(""); - lastRunView.setText(""); - } + activity.runOnUiThread(() -> { + synchronized (OpenAPSSMBFragment.this) { + if (isBound()) { + resultView.setText(text); + glucoseStatusView.setText(""); + currentTempView.setText(""); + iobDataView.setText(""); + profileView.setText(""); + mealDataView.setText(""); + autosensDataView.setText(""); + scriptdebugView.setText(""); + requestView.setText(""); + lastRunView.setText(""); } } }); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java index 455a87df40..b3788cf1f2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java @@ -1,14 +1,13 @@ package info.nightscout.androidaps.plugins.OpenAPSSMB; -import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import org.json.JSONException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.io.IOException; import java.util.Date; import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.GlucoseStatus; @@ -24,16 +23,17 @@ import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.Loop.APSResult; import info.nightscout.androidaps.plugins.Loop.ScriptReader; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateGui; import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateResultGui; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; import info.nightscout.utils.HardLimits; -import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.Profiler; import info.nightscout.utils.Round; import info.nightscout.utils.ToastUtils; @@ -42,7 +42,7 @@ import info.nightscout.utils.ToastUtils; * Created by mike on 05.08.2016. */ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { - private static Logger log = LoggerFactory.getLogger(OpenAPSSMBPlugin.class); + private static Logger log = LoggerFactory.getLogger(Constants.APS); private static OpenAPSSMBPlugin openAPSSMBPlugin; @@ -94,15 +94,11 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { @Override public void invoke(String initiator, boolean tempBasalFallback) { - log.debug("invoke from " + initiator + " tempBasalFallback: " + tempBasalFallback); + if (Config.logAps) + log.debug("invoke from " + initiator + " tempBasalFallback: " + tempBasalFallback); lastAPSResult = null; - DetermineBasalAdapterSMBJS determineBasalAdapterSMBJS = null; - try { - determineBasalAdapterSMBJS = new DetermineBasalAdapterSMBJS(new ScriptReader(MainApp.instance().getBaseContext())); - } catch (IOException e) { - log.error(e.getMessage(), e); - return; - } + DetermineBasalAdapterSMBJS determineBasalAdapterSMBJS; + determineBasalAdapterSMBJS = new DetermineBasalAdapterSMBJS(new ScriptReader(MainApp.instance().getBaseContext())); GlucoseStatus glucoseStatus = GlucoseStatus.getGlucoseStatusData(); Profile profile = MainApp.getConfigBuilder().getProfile(); @@ -110,21 +106,21 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { if (profile == null) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.noprofileselected))); - if (Config.logAPSResult) + if (Config.logAps) log.debug(MainApp.gs(R.string.noprofileselected)); return; } if (!isEnabled(PluginType.APS)) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.openapsma_disabled))); - if (Config.logAPSResult) + if (Config.logAps) log.debug(MainApp.gs(R.string.openapsma_disabled)); return; } if (glucoseStatus == null) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.openapsma_noglucosedata))); - if (Config.logAPSResult) + if (Config.logAps) log.debug(MainApp.gs(R.string.openapsma_noglucosedata)); return; } @@ -146,11 +142,13 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { Date start = new Date(); Date startPart = new Date(); IobTotal[] iobArray = IobCobCalculatorPlugin.getPlugin().calculateIobArrayForSMB(profile); - Profiler.log(log, "calculateIobArrayInDia()", startPart); + if (Config.logAps) + Profiler.log(log, "calculateIobArrayInDia()", startPart); startPart = new Date(); MealData mealData = TreatmentsPlugin.getPlugin().getMealData(); - Profiler.log(log, "getMealData()", startPart); + if (Config.logAps) + Profiler.log(log, "getMealData()", startPart); double maxIob = MainApp.getConstraintChecker().getMaxIOBAllowed().value(); @@ -170,7 +168,7 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { if (!checkOnlyHardLimits(profile.getDia(), "dia", HardLimits.MINDIA, HardLimits.MAXDIA)) return; - if (!checkOnlyHardLimits(profile.getIcTimeFromMidnight(profile.secondsFromMidnight()), "carbratio", HardLimits.MINIC, HardLimits.MAXIC)) + if (!checkOnlyHardLimits(profile.getIcTimeFromMidnight(Profile.secondsFromMidnight()), "carbratio", HardLimits.MINIC, HardLimits.MAXIC)) return; if (!checkOnlyHardLimits(Profile.toMgdl(profile.getIsf(), units), "sens", HardLimits.MINISF, HardLimits.MAXISF)) return; @@ -200,8 +198,10 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { MainApp.getConstraintChecker().isAdvancedFilteringEnabled(advancedFiltering); inputConstraints.copyReasons(advancedFiltering); - Profiler.log(log, "detectSensitivityandCarbAbsorption()", startPart); - Profiler.log(log, "SMB data gathering", start); + if (Config.logAps) + Profiler.log(log, "detectSensitivityandCarbAbsorption()", startPart); + if (Config.logAps) + Profiler.log(log, "SMB data gathering", start); start = new Date(); try { @@ -219,7 +219,8 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { long now = System.currentTimeMillis(); DetermineBasalResultSMB determineBasalResultSMB = determineBasalAdapterSMBJS.invoke(); - Profiler.log(log, "SMB calculation", start); + if (Config.logAps) + Profiler.log(log, "SMB calculation", start); // TODO still needed with oref1? // Fix bug determine basal if (determineBasalResultSMB.rate == 0d && determineBasalResultSMB.duration == 0 && !TreatmentsPlugin.getPlugin().isTempBasalInProgress()) From 54c83dc374ff1332afbc4ad6118cdf2f9b6585b5 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 29 Jul 2018 14:39:56 +0200 Subject: [PATCH 25/37] L.class --- .../java/com/squareup/otto/LoggingBus.java | 4 +- .../info/nightscout/androidaps/Config.java | 17 --- .../info/nightscout/androidaps/Constants.java | 17 --- .../info/nightscout/androidaps/MainApp.java | 3 +- .../androidaps/db/DatabaseHelper.java | 123 +++++++++++------- .../logging}/BundleLogger.java | 2 +- .../DetailedBolusInfoStorage.java | 10 +- .../ObjectivesPlugin.java | 8 +- .../androidaps/plugins/Food/FoodService.java | 17 ++- .../IobCobCalculator/AutosensData.java | 9 +- .../IobCobCalculator/AutosensResult.java | 4 +- .../IobCobCalculatorPlugin.java | 89 ++++++++----- .../IobCobCalculator/IobCobOref1Thread.java | 40 +++--- .../IobCobCalculator/IobCobThread.java | 40 +++--- .../androidaps/plugins/Loop/APSResult.java | 4 +- .../androidaps/plugins/Loop/DeviceStatus.java | 4 +- .../androidaps/plugins/Loop/LoopPlugin.java | 18 +-- .../NSClientInternal/NSClientPlugin.java | 9 +- .../plugins/NSClientInternal/NSUpload.java | 7 +- .../plugins/NSClientInternal/UploadQueue.java | 15 +-- .../NSClientInternal/acks/NSAddAck.java | 7 +- .../NSClientInternal/acks/NSUpdateAck.java | 4 +- .../broadcasts/BroadcastStatus.java | 4 +- .../broadcasts/BroadcastTreatment.java | 4 +- .../NSClientInternal/data/DbLogger.java | 13 +- .../NSClientInternal/data/NSAlarm.java | 4 +- .../plugins/NSClientInternal/data/NSCal.java | 4 +- .../NSClientInternal/data/NSDeviceStatus.java | 9 +- .../plugins/NSClientInternal/data/NSMbg.java | 4 +- .../data/NSSettingsStatus.java | 12 +- .../plugins/NSClientInternal/data/NSSgv.java | 4 +- .../NSClientInternal/data/NSTreatment.java | 4 +- .../receivers/AckAlarmReceiver.java | 8 +- .../receivers/DBAccessReceiver.java | 4 +- .../services/NSClientService.java | 20 +-- .../DetermineBasalAdapterAMAJS.java | 8 +- .../OpenAPSAMA/DetermineBasalResultAMA.java | 4 +- .../OpenAPSAMA/OpenAPSAMAFragment.java | 4 +- .../plugins/OpenAPSAMA/OpenAPSAMAPlugin.java | 23 ++-- .../OpenAPSMA/DetermineBasalAdapterMAJS.java | 6 +- .../OpenAPSMA/DetermineBasalResultMA.java | 4 +- .../plugins/OpenAPSMA/LoggerCallback.java | 9 +- .../plugins/OpenAPSMA/OpenAPSMAPlugin.java | 17 ++- .../DetermineBasalAdapterSMBJS.java | 8 +- .../OpenAPSSMB/DetermineBasalResultSMB.java | 4 +- .../OpenAPSSMB/OpenAPSSMBFragment.java | 4 +- .../plugins/OpenAPSSMB/OpenAPSSMBPlugin.java | 23 ++-- .../plugins/Overview/OverviewFragment.java | 15 ++- .../plugins/Overview/OverviewPlugin.java | 4 +- .../plugins/Overview/graphData/GraphData.java | 6 +- .../NotificationRecyclerViewAdapter.java | 9 +- .../notifications/NotificationStore.java | 10 +- .../plugins/ProfileNS/NSProfilePlugin.java | 3 +- .../plugins/PumpCombo/ComboPlugin.java | 67 +++++----- .../PumpDanaR/AbstractDanaRPlugin.java | 17 ++- .../plugins/PumpDanaR/DanaRFragment.java | 7 +- .../plugins/PumpDanaR/DanaRPlugin.java | 42 +++--- .../plugins/PumpDanaR/DanaRPump.java | 6 +- .../plugins/PumpDanaR/SerialIOThread.java | 21 ++- .../activities/DanaRHistoryActivity.java | 6 +- .../activities/DanaRNSHistorySync.java | 29 ++--- .../activities/DanaRUserOptionsActivity.java | 6 +- .../plugins/PumpDanaR/comm/MessageBase.java | 7 +- .../PumpDanaR/comm/MessageOriginalNames.java | 4 +- .../PumpDanaR/comm/MsgBolusProgress.java | 9 +- .../plugins/PumpDanaR/comm/MsgBolusStart.java | 11 +- .../comm/MsgBolusStartWithSpeed.java | 11 +- .../plugins/PumpDanaR/comm/MsgBolusStop.java | 9 +- .../plugins/PumpDanaR/comm/MsgCheckValue.java | 11 +- .../plugins/PumpDanaR/comm/MsgError.java | 9 +- .../PumpDanaR/comm/MsgHistoryAlarm.java | 7 +- .../plugins/PumpDanaR/comm/MsgHistoryAll.java | 7 +- .../PumpDanaR/comm/MsgHistoryAllDone.java | 9 +- .../PumpDanaR/comm/MsgHistoryBasalHour.java | 7 +- .../PumpDanaR/comm/MsgHistoryBolus.java | 7 +- .../PumpDanaR/comm/MsgHistoryCarbo.java | 7 +- .../comm/MsgHistoryDailyInsulin.java | 7 +- .../PumpDanaR/comm/MsgHistoryDone.java | 9 +- .../PumpDanaR/comm/MsgHistoryError.java | 7 +- .../PumpDanaR/comm/MsgHistoryGlucose.java | 7 +- .../plugins/PumpDanaR/comm/MsgHistoryNew.java | 7 +- .../PumpDanaR/comm/MsgHistoryNewDone.java | 9 +- .../PumpDanaR/comm/MsgHistoryRefill.java | 7 +- .../PumpDanaR/comm/MsgHistorySuspend.java | 7 +- .../comm/MsgInitConnStatusBasic.java | 11 +- .../comm/MsgInitConnStatusBolus.java | 9 +- .../comm/MsgInitConnStatusOption.java | 9 +- .../PumpDanaR/comm/MsgInitConnStatusTime.java | 9 +- .../PumpDanaR/comm/MsgPCCommStart.java | 9 +- .../plugins/PumpDanaR/comm/MsgPCCommStop.java | 9 +- .../comm/MsgSetActivateBasalProfile.java | 13 +- .../PumpDanaR/comm/MsgSetBasalProfile.java | 13 +- .../PumpDanaR/comm/MsgSetCarbsEntry.java | 13 +- .../comm/MsgSetExtendedBolusStart.java | 13 +- .../comm/MsgSetExtendedBolusStop.java | 11 +- .../comm/MsgSetSingleBasalProfile.java | 11 +- .../PumpDanaR/comm/MsgSetTempBasalStart.java | 11 +- .../PumpDanaR/comm/MsgSetTempBasalStop.java | 11 +- .../plugins/PumpDanaR/comm/MsgSetTime.java | 9 +- .../PumpDanaR/comm/MsgSetUserOptions.java | 11 +- .../comm/MsgSettingActiveProfile.java | 9 +- .../PumpDanaR/comm/MsgSettingBasal.java | 9 +- .../comm/MsgSettingBasalProfileAll.java | 11 +- .../PumpDanaR/comm/MsgSettingGlucose.java | 9 +- .../PumpDanaR/comm/MsgSettingMaxValues.java | 9 +- .../PumpDanaR/comm/MsgSettingMeal.java | 9 +- .../comm/MsgSettingProfileRatios.java | 9 +- .../comm/MsgSettingProfileRatiosAll.java | 9 +- .../PumpDanaR/comm/MsgSettingPumpTime.java | 9 +- .../comm/MsgSettingShippingInfo.java | 9 +- .../PumpDanaR/comm/MsgSettingUserOptions.java | 9 +- .../plugins/PumpDanaR/comm/MsgStatus.java | 9 +- .../PumpDanaR/comm/MsgStatusBasic.java | 9 +- .../comm/MsgStatusBolusExtended.java | 9 +- .../PumpDanaR/comm/MsgStatusProfile.java | 9 +- .../PumpDanaR/comm/MsgStatusTempBasal.java | 9 +- .../AbstractDanaRExecutionService.java | 9 +- .../services/DanaRExecutionService.java | 18 +-- .../PumpDanaRKorean/DanaRKoreanPlugin.java | 40 +++--- .../PumpDanaRKorean/SerialIOThread.java | 21 ++- .../PumpDanaRKorean/comm/MsgCheckValue_k.java | 14 +- .../comm/MsgInitConnStatusBasic_k.java | 9 +- .../comm/MsgInitConnStatusBolus_k.java | 9 +- .../comm/MsgInitConnStatusTime_k.java | 9 +- .../comm/MsgSettingBasalProfileAll_k.java | 9 +- .../comm/MsgSettingBasal_k.java | 9 +- .../comm/MsgStatusBasic_k.java | 9 +- .../PumpDanaRKorean/comm/MsgStatus_k.java | 9 +- .../services/DanaRKoreanExecutionService.java | 14 +- .../plugins/PumpDanaRS/DanaRSPlugin.java | 47 ++++--- .../comm/DanaRSMessageHashTable.java | 9 +- ..._Packet_APS_Basal_Set_Temporary_Basal.java | 19 ++- .../DanaRS_Packet_APS_History_Events.java | 45 ++++--- .../DanaRS_Packet_APS_Set_Event_History.java | 11 +- .../DanaRS_Packet_Basal_Get_Basal_Rate.java | 9 +- ...S_Packet_Basal_Get_Profile_Basal_Rate.java | 9 +- ...anaRS_Packet_Basal_Get_Profile_Number.java | 9 +- ...acket_Basal_Get_Temporary_Basal_State.java | 9 +- .../DanaRS_Packet_Basal_Set_Basal_Rate.java | 9 +- ...cket_Basal_Set_Cancel_Temporary_Basal.java | 9 +- ...S_Packet_Basal_Set_Profile_Basal_Rate.java | 9 +- ...anaRS_Packet_Basal_Set_Profile_Number.java | 9 +- .../DanaRS_Packet_Basal_Set_Suspend_Off.java | 9 +- .../DanaRS_Packet_Basal_Set_Suspend_On.java | 9 +- ...naRS_Packet_Basal_Set_Temporary_Basal.java | 9 +- .../DanaRS_Packet_Bolus_Get_Bolus_Option.java | 9 +- .../DanaRS_Packet_Bolus_Get_CIR_CF_Array.java | 9 +- ...ket_Bolus_Get_Calculation_Information.java | 9 +- ..._Carbohydrate_Calculation_Information.java | 9 +- .../DanaRS_Packet_Bolus_Get_Dual_Bolus.java | 9 +- ...anaRS_Packet_Bolus_Get_Extended_Bolus.java | 9 +- ...Packet_Bolus_Get_Extended_Bolus_State.java | 9 +- ..._Bolus_Get_Extended_Menu_Option_State.java | 9 +- ...DanaRS_Packet_Bolus_Get_Initial_Bolus.java | 9 +- ...cket_Bolus_Get_Step_Bolus_Information.java | 9 +- .../DanaRS_Packet_Bolus_Set_Bolus_Option.java | 9 +- .../DanaRS_Packet_Bolus_Set_CIR_CF_Array.java | 9 +- .../DanaRS_Packet_Bolus_Set_Dual_Bolus.java | 9 +- ...anaRS_Packet_Bolus_Set_Extended_Bolus.java | 9 +- ...acket_Bolus_Set_Extended_Bolus_Cancel.java | 9 +- ...DanaRS_Packet_Bolus_Set_Initial_Bolus.java | 9 +- ...aRS_Packet_Bolus_Set_Step_Bolus_Start.java | 9 +- ...naRS_Packet_Bolus_Set_Step_Bolus_Stop.java | 9 +- .../DanaRS_Packet_Etc_Keep_Connection.java | 9 +- .../DanaRS_Packet_Etc_Set_History_Save.java | 9 +- ...DanaRS_Packet_General_Delivery_Status.java | 9 +- ...S_Packet_General_Get_More_Information.java | 9 +- .../DanaRS_Packet_General_Get_Password.java | 9 +- .../DanaRS_Packet_General_Get_Pump_Check.java | 9 +- ...cket_General_Get_Shipping_Information.java | 9 +- ...cket_General_Get_Today_Delivery_Total.java | 9 +- ...ket_General_Get_User_Time_Change_Flag.java | 9 +- ...et_General_Initial_Screen_Information.java | 9 +- ...acket_General_Set_History_Upload_Mode.java | 9 +- ...neral_Set_User_Time_Change_Flag_Clear.java | 9 +- .../comm/DanaRS_Packet_History_.java | 13 +- .../comm/DanaRS_Packet_History_Alarm.java | 7 +- .../DanaRS_Packet_History_All_History.java | 7 +- .../comm/DanaRS_Packet_History_Basal.java | 7 +- .../DanaRS_Packet_History_Blood_Glucose.java | 7 +- .../comm/DanaRS_Packet_History_Bolus.java | 7 +- .../DanaRS_Packet_History_Carbohydrate.java | 7 +- .../comm/DanaRS_Packet_History_Daily.java | 7 +- .../comm/DanaRS_Packet_History_Prime.java | 7 +- .../comm/DanaRS_Packet_History_Refill.java | 7 +- .../comm/DanaRS_Packet_History_Suspend.java | 7 +- .../comm/DanaRS_Packet_History_Temporary.java | 7 +- .../comm/DanaRS_Packet_Notify_Alarm.java | 9 +- ...anaRS_Packet_Notify_Delivery_Complete.java | 9 +- ...S_Packet_Notify_Delivery_Rate_Display.java | 9 +- ...naRS_Packet_Notify_Missed_Bolus_Alarm.java | 9 +- .../DanaRS_Packet_Option_Get_Pump_Time.java | 9 +- .../DanaRS_Packet_Option_Get_User_Option.java | 9 +- .../DanaRS_Packet_Option_Set_Pump_Time.java | 9 +- .../DanaRS_Packet_Option_Set_User_Option.java | 11 +- .../comm/DanaRS_Packet_Review_Bolus_Avg.java | 9 +- .../plugins/PumpDanaRS/services/BLEComm.java | 71 +++++----- .../PumpDanaRS/services/DanaRSService.java | 28 ++-- .../plugins/PumpDanaRv2/DanaRv2Plugin.java | 30 ++--- .../plugins/PumpDanaRv2/SerialIOThread.java | 19 ++- .../PumpDanaRv2/comm/MsgCheckValue_v2.java | 11 +- .../PumpDanaRv2/comm/MsgHistoryEvents_v2.java | 43 +++--- .../comm/MsgSetAPSTempBasalStart_v2.java | 19 ++- .../comm/MsgSetHistoryEntry_v2.java | 11 +- .../PumpDanaRv2/comm/MsgStatusAPS_v2.java | 9 +- .../comm/MsgStatusBolusExtended_v2.java | 9 +- .../comm/MsgStatusTempBasal_v2.java | 9 +- .../services/DanaRv2ExecutionService.java | 20 +-- .../plugins/PumpInsight/InsightPlugin.java | 11 +- .../androidaps/plugins/PumpMDI/MDIPlugin.java | 12 +- .../PumpVirtual/VirtualPumpPlugin.java | 13 +- .../AbstractSensitivityPlugin.java | 7 +- .../Sensitivity/SensitivityAAPSPlugin.java | 19 +-- .../Sensitivity/SensitivityOref0Plugin.java | 21 +-- .../Sensitivity/SensitivityOref1Plugin.java | 27 ++-- .../SensitivityWeightedAveragePlugin.java | 22 ++-- .../plugins/Source/SourceDexcomG5Plugin.java | 8 +- .../plugins/Source/SourceGlimpPlugin.java | 9 +- .../plugins/Source/SourceMM640gPlugin.java | 9 +- .../plugins/Source/SourceNSClientPlugin.java | 8 +- .../plugins/Source/SourcePoctechPlugin.java | 7 +- .../plugins/Source/SourceXdripPlugin.java | 9 +- .../plugins/Treatments/TreatmentService.java | 29 ++--- .../plugins/Treatments/TreatmentsPlugin.java | 20 +-- .../androidaps/queue/CommandQueue.java | 25 ++-- .../androidaps/queue/QueueThread.java | 26 ++-- .../androidaps/queue/commands/Command.java | 7 +- .../queue/commands/CommandBolus.java | 7 +- .../commands/CommandCancelExtendedBolus.java | 7 +- .../commands/CommandCancelTempBasal.java | 7 +- .../queue/commands/CommandExtendedBolus.java | 7 +- .../queue/commands/CommandLoadEvents.java | 7 +- .../queue/commands/CommandLoadHistory.java | 7 +- .../queue/commands/CommandLoadTDDs.java | 7 +- .../queue/commands/CommandReadStatus.java | 7 +- .../queue/commands/CommandSMBBolus.java | 11 +- .../queue/commands/CommandSetProfile.java | 9 +- .../commands/CommandSetUserSettings.java | 7 +- .../commands/CommandTempBasalAbsolute.java | 7 +- .../commands/CommandTempBasalPercent.java | 7 +- .../androidaps/receivers/DataReceiver.java | 7 +- .../services/AlarmSoundService.java | 11 +- .../androidaps/services/DataService.java | 15 +-- 243 files changed, 1406 insertions(+), 1544 deletions(-) rename app/src/main/java/info/nightscout/{utils => androidaps/logging}/BundleLogger.java (90%) diff --git a/app/src/main/java/com/squareup/otto/LoggingBus.java b/app/src/main/java/com/squareup/otto/LoggingBus.java index 13b69c5029..f75cd5b8d3 100644 --- a/app/src/main/java/com/squareup/otto/LoggingBus.java +++ b/app/src/main/java/com/squareup/otto/LoggingBus.java @@ -10,8 +10,8 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.events.Event; +import info.nightscout.androidaps.logging.L; /** Logs events has they're being posted to and dispatched from the event bus. * @@ -19,7 +19,7 @@ import info.nightscout.androidaps.events.Event; * after 10s (after startup) and then again every 60s. * */ public class LoggingBus extends Bus { - private static Logger log = LoggerFactory.getLogger(Constants.EVENTS); + private static Logger log = LoggerFactory.getLogger(L.EVENTS); private static long everyMinute = System.currentTimeMillis() + 10 * 1000; private Map> event2Receiver = new HashMap<>(); diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index b5072b1e91..4d183476e9 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -27,22 +27,5 @@ public class Config { public static boolean logPrefsChange = true; public static boolean logConfigBuilder = true; public static boolean logCongigBuilderActions = true; - public static boolean logAutosensData = false; - public static boolean logEvents = false; - public static boolean logQueue = true; - public static boolean logBgSource = true; - public static boolean logOverview = true; - public static boolean logNotification = true; - public static boolean logAlarm = false; - public static boolean logDataService = true; - public static boolean logDataFood = true; - public static boolean logDataTreatments = true; - public static boolean logDatabase = true; - public static boolean logNsclient = true; - public static boolean logObjectives = false; - public static boolean logPump = true; - public static boolean logPumpComm = true; - public static boolean logPumpBtComm = false; - public static boolean logAps = true; } diff --git a/app/src/main/java/info/nightscout/androidaps/Constants.java b/app/src/main/java/info/nightscout/androidaps/Constants.java index 911b703d5d..ffe227dc1b 100644 --- a/app/src/main/java/info/nightscout/androidaps/Constants.java +++ b/app/src/main/java/info/nightscout/androidaps/Constants.java @@ -68,21 +68,4 @@ public class Constants { //SMS Communicator public static final long SMS_CONFIRM_TIMEOUT = T.mins(5).msecs(); - // logging - public static final String AUTOSENS = "AUTOSENS"; - public static final String EVENTS = "EVENTS"; - public static final String BGSOURCE = "BGSOURCE"; - public static final String OVERVIEW = "OVERVIEW"; - public static final String NOTIFICATION = "NOTIFICATION"; - public static final String ALARM = "ALARM"; - public static final String DATASERVICE = "DATASERVICE"; - public static final String DATAFOOD = "DATAFOOD"; - public static final String DATATREATMENTS = "DATATREATMENTS"; - public static final String NSCLIENT = "NSCLIENT"; - public static final String OBJECTIVES = "OBJECTIVES"; - public static final String PUMP = "PUMP"; - public static final String PUMPQUEUE = "PUMPQUEUE"; - public static final String PUMPCOMM = "PUMPCOMM"; - public static final String PUMPBTCOMM = "PUMPBTCOMM"; - public static final String APS = "APS"; } diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.java b/app/src/main/java/info/nightscout/androidaps/MainApp.java index 59fa8b3ad0..d4845a51dd 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.java +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.java @@ -24,6 +24,7 @@ import java.io.File; import java.util.ArrayList; import ch.qos.logback.classic.LoggerContext; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.data.ConstraintChecker; import info.nightscout.androidaps.db.DatabaseHelper; @@ -132,7 +133,7 @@ public class MainApp extends Application { engineeringMode = engineeringModeSemaphore.exists() && engineeringModeSemaphore.isFile(); devBranch = BuildConfig.VERSION.contains("dev"); - sBus = Config.logEvents ? new LoggingBus(ThreadEnforcer.ANY) : new Bus(ThreadEnforcer.ANY); + sBus = L.isEnabled(L.EVENTS) ? new LoggingBus(ThreadEnforcer.ANY) : new Bus(ThreadEnforcer.ANY); registerLocalBroadcastReceiver(); diff --git a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java index c0aff525ae..099c725036 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java +++ b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java @@ -27,7 +27,6 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.data.OverlappingIntervals; import info.nightscout.androidaps.data.Profile; @@ -42,12 +41,13 @@ import info.nightscout.androidaps.events.EventReloadTempBasalData; import info.nightscout.androidaps.events.EventReloadTreatmentData; import info.nightscout.androidaps.events.EventTempBasalChange; import info.nightscout.androidaps.events.EventTempTargetChange; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventNewHistoryData; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.androidaps.plugins.PumpDanaR.activities.DanaRNSHistorySync; import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.PumpVirtual.VirtualPumpPlugin; import info.nightscout.utils.JsonHelper; -import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.PercentageSplitter; import info.nightscout.utils.ToastUtils; @@ -60,7 +60,7 @@ import info.nightscout.utils.ToastUtils; * direct calls to the corresponding methods (eg. resetDatabases) should be done by a central service. */ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { - private static Logger log = LoggerFactory.getLogger(DatabaseHelper.class); + private static Logger log = LoggerFactory.getLogger(L.DATABASE); public static final String DATABASE_NAME = "AndroidAPSDb"; public static final String DATABASE_BGREADINGS = "BgReadings"; @@ -107,7 +107,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { @Override public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) { try { - log.info("onCreate"); + if (L.isEnabled(L.DATABASE)) + log.info("onCreate"); TableUtils.createTableIfNotExists(connectionSource, TempTarget.class); TableUtils.createTableIfNotExists(connectionSource, BgReading.class); TableUtils.createTableIfNotExists(connectionSource, DanaRHistoryRecord.class); @@ -325,15 +326,18 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { BgReading old = getDaoBgReadings().queryForId(bgReading.date); if (old == null) { getDaoBgReadings().create(bgReading); - log.debug("BG: New record from: " + from + " " + bgReading.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("BG: New record from: " + from + " " + bgReading.toString()); scheduleBgChange(bgReading); return true; } if (!old.isEqual(bgReading)) { - log.debug("BG: Similiar found: " + old.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("BG: Similiar found: " + old.toString()); old.copyFrom(bgReading); getDaoBgReadings().update(old); - log.debug("BG: Updating record from: " + from + " New data: " + old.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("BG: Updating record from: " + from + " New data: " + old.toString()); scheduleBgChange(bgReading); return false; } @@ -355,7 +359,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { private static void scheduleBgChange(@Nullable final BgReading bgReading) { class PostRunnable implements Runnable { public void run() { - log.debug("Firing EventNewBg"); + if (L.isEnabled(L.DATABASE)) + log.debug("Firing EventNewBg"); MainApp.bus().post(new EventNewBG(bgReading)); scheduledBgPost = null; } @@ -387,7 +392,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { bgList = daoBgReadings.query(preparedQuery); } catch (SQLException e) { - log.debug(e.getMessage(), e); + log.error("Unhandled exception", e); } if (bgList != null && bgList.size() > 0) return bgList.get(0); @@ -595,7 +600,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { getDaoTempTargets().delete(old); // need to delete/create because date may change too old.copyFrom(tempTarget); getDaoTempTargets().create(old); - log.debug("TEMPTARGET: Updating record by date from: " + Source.getString(tempTarget.source) + " " + old.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("TEMPTARGET: Updating record by date from: " + Source.getString(tempTarget.source) + " " + old.toString()); scheduleTemporaryTargetChange(); return true; } @@ -614,20 +620,23 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { getDaoTempTargets().delete(old); // need to delete/create because date may change too old.copyFrom(tempTarget); getDaoTempTargets().create(old); - log.debug("TEMPTARGET: Updating record by _id from: " + Source.getString(tempTarget.source) + " " + old.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("TEMPTARGET: Updating record by _id from: " + Source.getString(tempTarget.source) + " " + old.toString()); scheduleTemporaryTargetChange(); return true; } } } getDaoTempTargets().create(tempTarget); - log.debug("TEMPTARGET: New record from: " + Source.getString(tempTarget.source) + " " + tempTarget.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("TEMPTARGET: New record from: " + Source.getString(tempTarget.source) + " " + tempTarget.toString()); scheduleTemporaryTargetChange(); return true; } if (tempTarget.source == Source.USER) { getDaoTempTargets().create(tempTarget); - log.debug("TEMPTARGET: New record from: " + Source.getString(tempTarget.source) + " " + tempTarget.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("TEMPTARGET: New record from: " + Source.getString(tempTarget.source) + " " + tempTarget.toString()); scheduleTemporaryTargetChange(); return true; } @@ -649,7 +658,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { private static void scheduleTemporaryTargetChange() { class PostRunnable implements Runnable { public void run() { - log.debug("Firing EventTempTargetChange"); + if (L.isEnabled(L.DATABASE)) + log.debug("Firing EventTempTargetChange"); MainApp.bus().post(new EventTempTargetChange()); scheduledTemTargetPost = null; } @@ -769,7 +779,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { } else if (list.size() == 1) { DanaRHistoryRecord record = list.get(0); if (record._id == null || !record._id.equals(trJson.getString("_id"))) { - if (Config.logDatabase) + if (L.isEnabled(L.DATABASE)) log.debug("Updating _id in DanaR history database: " + trJson.getString("_id")); record._id = trJson.getString("_id"); getDaoDanaRHistory().update(record); @@ -799,11 +809,13 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { List trList = getDaoTemporaryBasal().query(preparedQuery); if (trList.size() > 0) { // do nothing, pump history record cannot be changed - log.debug("TEMPBASAL: Already exists from: " + Source.getString(tempBasal.source) + " " + tempBasal.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("TEMPBASAL: Already exists from: " + Source.getString(tempBasal.source) + " " + tempBasal.toString()); return false; } getDaoTemporaryBasal().create(tempBasal); - log.debug("TEMPBASAL: New record from: " + Source.getString(tempBasal.source) + " " + tempBasal.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("TEMPBASAL: New record from: " + Source.getString(tempBasal.source) + " " + tempBasal.toString()); updateEarliestDataChange(tempBasal.date); scheduleTemporaryBasalChange(); return true; @@ -820,7 +832,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { getDaoTemporaryBasal().delete(old); // need to delete/create because date may change too old.copyFrom(tempBasal); getDaoTemporaryBasal().create(old); - log.debug("TEMPBASAL: Updating record by date from: " + Source.getString(tempBasal.source) + " " + old.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("TEMPBASAL: Updating record by date from: " + Source.getString(tempBasal.source) + " " + old.toString()); updateEarliestDataChange(oldDate); updateEarliestDataChange(old.date); scheduleTemporaryBasalChange(); @@ -842,7 +855,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { getDaoTemporaryBasal().delete(old); // need to delete/create because date may change too old.copyFrom(tempBasal); getDaoTemporaryBasal().create(old); - log.debug("TEMPBASAL: Updating record by _id from: " + Source.getString(tempBasal.source) + " " + old.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("TEMPBASAL: Updating record by _id from: " + Source.getString(tempBasal.source) + " " + old.toString()); updateEarliestDataChange(oldDate); updateEarliestDataChange(old.date); scheduleTemporaryBasalChange(); @@ -851,14 +865,16 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { } } getDaoTemporaryBasal().create(tempBasal); - log.debug("TEMPBASAL: New record from: " + Source.getString(tempBasal.source) + " " + tempBasal.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("TEMPBASAL: New record from: " + Source.getString(tempBasal.source) + " " + tempBasal.toString()); updateEarliestDataChange(tempBasal.date); scheduleTemporaryBasalChange(); return true; } if (tempBasal.source == Source.USER) { getDaoTemporaryBasal().create(tempBasal); - log.debug("TEMPBASAL: New record from: " + Source.getString(tempBasal.source) + " " + tempBasal.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("TEMPBASAL: New record from: " + Source.getString(tempBasal.source) + " " + tempBasal.toString()); updateEarliestDataChange(tempBasal.date); scheduleTemporaryBasalChange(); return true; @@ -898,7 +914,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { private static void scheduleTemporaryBasalChange() { class PostRunnable implements Runnable { public void run() { - log.debug("Firing EventTempBasalChange"); + if (L.isEnabled(L.DATABASE)) + log.debug("Firing EventTempBasalChange"); MainApp.bus().post(new EventReloadTempBasalData()); MainApp.bus().post(new EventTempBasalChange()); if (earliestDataChange != null) @@ -990,7 +1007,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { public void deleteTempBasalById(String _id) { TemporaryBasal stored = findTempBasalById(_id); if (stored != null) { - log.debug("TEMPBASAL: Removing TempBasal record from database: " + stored.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("TEMPBASAL: Removing TempBasal record from database: " + stored.toString()); delete(stored); updateEarliestDataChange(stored.date); scheduleTemporaryBasalChange(); @@ -1036,7 +1054,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { return false; } getDaoExtendedBolus().create(extendedBolus); - log.debug("EXTENDEDBOLUS: New record from: " + Source.getString(extendedBolus.source) + " " + extendedBolus.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("EXTENDEDBOLUS: New record from: " + Source.getString(extendedBolus.source) + " " + extendedBolus.toString()); updateEarliestDataChange(extendedBolus.date); scheduleExtendedBolusChange(); return true; @@ -1049,7 +1068,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { getDaoExtendedBolus().delete(old); // need to delete/create because date may change too old.copyFrom(extendedBolus); getDaoExtendedBolus().create(old); - log.debug("EXTENDEDBOLUS: Updating record by date from: " + Source.getString(extendedBolus.source) + " " + old.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("EXTENDEDBOLUS: Updating record by date from: " + Source.getString(extendedBolus.source) + " " + old.toString()); updateEarliestDataChange(oldDate); updateEarliestDataChange(old.date); scheduleExtendedBolusChange(); @@ -1071,7 +1091,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { getDaoExtendedBolus().delete(old); // need to delete/create because date may change too old.copyFrom(extendedBolus); getDaoExtendedBolus().create(old); - log.debug("EXTENDEDBOLUS: Updating record by _id from: " + Source.getString(extendedBolus.source) + " " + old.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("EXTENDEDBOLUS: Updating record by _id from: " + Source.getString(extendedBolus.source) + " " + old.toString()); updateEarliestDataChange(oldDate); updateEarliestDataChange(old.date); scheduleExtendedBolusChange(); @@ -1080,14 +1101,16 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { } } getDaoExtendedBolus().create(extendedBolus); - log.debug("EXTENDEDBOLUS: New record from: " + Source.getString(extendedBolus.source) + " " + extendedBolus.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("EXTENDEDBOLUS: New record from: " + Source.getString(extendedBolus.source) + " " + extendedBolus.toString()); updateEarliestDataChange(extendedBolus.date); scheduleExtendedBolusChange(); return true; } if (extendedBolus.source == Source.USER) { getDaoExtendedBolus().create(extendedBolus); - log.debug("EXTENDEDBOLUS: New record from: " + Source.getString(extendedBolus.source) + " " + extendedBolus.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("EXTENDEDBOLUS: New record from: " + Source.getString(extendedBolus.source) + " " + extendedBolus.toString()); updateEarliestDataChange(extendedBolus.date); scheduleExtendedBolusChange(); return true; @@ -1127,7 +1150,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { public void deleteExtendedBolusById(String _id) { ExtendedBolus stored = findExtendedBolusById(_id); if (stored != null) { - log.debug("EXTENDEDBOLUS: Removing ExtendedBolus record from database: " + stored.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("EXTENDEDBOLUS: Removing ExtendedBolus record from database: " + stored.toString()); delete(stored); updateEarliestDataChange(stored.date); scheduleExtendedBolusChange(); @@ -1180,7 +1204,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { private static void scheduleExtendedBolusChange() { class PostRunnable implements Runnable { public void run() { - log.debug("Firing EventExtendedBolusChange"); + if (L.isEnabled(L.DATABASE)) + log.debug("Firing EventExtendedBolusChange"); MainApp.bus().post(new EventReloadTreatmentData(new EventExtendedBolusChange())); if (earliestDataChange != null) MainApp.bus().post(new EventNewHistoryData(earliestDataChange)); @@ -1320,11 +1345,11 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { if (list.size() == 1) { CareportalEvent record = list.get(0); - if (Config.logDatabase) + if (L.isEnabled(L.DATABASE)) log.debug("Removing CareportalEvent record from database: " + record.log()); delete(record); } else { - if (Config.logDatabase) + if (L.isEnabled(L.DATABASE)) log.debug("CareportalEvent not found database: " + _id); } } catch (SQLException e) { @@ -1344,12 +1369,12 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { if (list.size() == 0) { careportalEvent = new CareportalEvent(); careportalEvent.source = Source.NIGHTSCOUT; - if (Config.logDatabase) + if (L.isEnabled(L.DATABASE)) log.debug("Adding CareportalEvent record to database: " + trJson.toString()); // Record does not exists. add } else if (list.size() == 1) { careportalEvent = list.get(0); - if (Config.logDatabase) + if (L.isEnabled(L.DATABASE)) log.debug("Updating CareportalEvent record in database: " + trJson.toString()); } else { log.error("Something went wrong"); @@ -1368,7 +1393,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { private static void scheduleCareportalEventChange() { class PostRunnable implements Runnable { public void run() { - log.debug("Firing scheduleCareportalEventChange"); + if (L.isEnabled(L.DATABASE)) + log.debug("Firing scheduleCareportalEventChange"); MainApp.bus().post(new EventCareportalEventChange()); scheduledCareportalEventPost = null; } @@ -1414,7 +1440,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { profileSwitch.profileName = old.profileName; // preserver profileName to prevent multiple CPP extension getDaoProfileSwitch().delete(old); // need to delete/create because date may change too getDaoProfileSwitch().create(profileSwitch); - log.debug("PROFILESWITCH: Updating record by date from: " + Source.getString(profileSwitch.source) + " " + old.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("PROFILESWITCH: Updating record by date from: " + Source.getString(profileSwitch.source) + " " + old.toString()); scheduleProfileSwitchChange(); return true; } @@ -1433,7 +1460,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { getDaoProfileSwitch().delete(old); // need to delete/create because date may change too old.copyFrom(profileSwitch); getDaoProfileSwitch().create(old); - log.debug("PROFILESWITCH: Updating record by _id from: " + Source.getString(profileSwitch.source) + " " + old.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("PROFILESWITCH: Updating record by _id from: " + Source.getString(profileSwitch.source) + " " + old.toString()); scheduleProfileSwitchChange(); return true; } @@ -1442,13 +1470,15 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { // look for already added percentage from NS profileSwitch.profileName = PercentageSplitter.pureName(profileSwitch.profileName); getDaoProfileSwitch().create(profileSwitch); - log.debug("PROFILESWITCH: New record from: " + Source.getString(profileSwitch.source) + " " + profileSwitch.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("PROFILESWITCH: New record from: " + Source.getString(profileSwitch.source) + " " + profileSwitch.toString()); scheduleProfileSwitchChange(); return true; } if (profileSwitch.source == Source.USER) { getDaoProfileSwitch().create(profileSwitch); - log.debug("PROFILESWITCH: New record from: " + Source.getString(profileSwitch.source) + " " + profileSwitch.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("PROFILESWITCH: New record from: " + Source.getString(profileSwitch.source) + " " + profileSwitch.toString()); scheduleProfileSwitchChange(); return true; } @@ -1470,7 +1500,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { private static void scheduleProfileSwitchChange() { class PostRunnable implements Runnable { public void run() { - log.debug("Firing EventProfileSwitchChange"); + if (L.isEnabled(L.DATABASE)) + log.debug("Firing EventProfileSwitchChange"); MainApp.bus().post(new EventReloadProfileSwitchData()); MainApp.bus().post(new EventProfileSwitchChange()); scheduledProfileSwitchEventPost = null; @@ -1520,15 +1551,18 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { Profile profile = store.getSpecificProfile(profileSwitch.profileName); if (profile != null) { profileSwitch.profileJson = profile.getData().toString(); - log.debug("Profile switch prefilled with JSON from local store"); + if (L.isEnabled(L.DATABASE)) + log.debug("Profile switch prefilled with JSON from local store"); // Update data in NS NSUpload.updateProfileSwitch(profileSwitch); } else { - log.debug("JSON for profile switch doesn't exist. Ignoring: " + trJson.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("JSON for profile switch doesn't exist. Ignoring: " + trJson.toString()); return; } } else { - log.debug("Store for profile switch doesn't exist. Ignoring: " + trJson.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("Store for profile switch doesn't exist. Ignoring: " + trJson.toString()); return; } } @@ -1543,7 +1577,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { public void deleteProfileSwitchById(String _id) { ProfileSwitch stored = findProfileSwitchById(_id); if (stored != null) { - log.debug("PROFILESWITCH: Removing ProfileSwitch record from database: " + stored.toString()); + if (L.isEnabled(L.DATABASE)) + log.debug("PROFILESWITCH: Removing ProfileSwitch record from database: " + stored.toString()); delete(stored); scheduleTemporaryTargetChange(); } diff --git a/app/src/main/java/info/nightscout/utils/BundleLogger.java b/app/src/main/java/info/nightscout/androidaps/logging/BundleLogger.java similarity index 90% rename from app/src/main/java/info/nightscout/utils/BundleLogger.java rename to app/src/main/java/info/nightscout/androidaps/logging/BundleLogger.java index ba6ffff869..b559c7af7e 100644 --- a/app/src/main/java/info/nightscout/utils/BundleLogger.java +++ b/app/src/main/java/info/nightscout/androidaps/logging/BundleLogger.java @@ -1,4 +1,4 @@ -package info.nightscout.utils; +package info.nightscout.androidaps.logging; import android.os.Bundle; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/DetailedBolusInfoStorage.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/DetailedBolusInfoStorage.java index d469faa568..35effd4249 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/DetailedBolusInfoStorage.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/DetailedBolusInfoStorage.java @@ -6,19 +6,17 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; -import java.util.Date; import java.util.List; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.DetailedBolusInfo; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 08.08.2017. */ public class DetailedBolusInfoStorage { - private static Logger log = LoggerFactory.getLogger(Constants.PUMP); + private static Logger log = LoggerFactory.getLogger(L.PUMP); private static List store = new ArrayList<>(); public static synchronized void add(DetailedBolusInfo detailedBolusInfo) { @@ -31,7 +29,7 @@ public class DetailedBolusInfoStorage { DetailedBolusInfo found = null; for (int i = 0; i < store.size(); i++) { long infoTime = store.get(i).date; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Existing bolus info: " + store.get(i)); if (bolustime > infoTime - 60 * 1000 && bolustime < infoTime + 60 * 1000) { found = store.get(i); @@ -45,7 +43,7 @@ public class DetailedBolusInfoStorage { for (int i = 0; i < store.size(); i++) { long infoTime = store.get(i).date; if (bolustime > infoTime - 60 * 1000 && bolustime < infoTime + 60 * 1000) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Removing bolus info: " + store.get(i)); store.remove(i); break; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java index 10ec7e1fb0..df62fd3eb9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java @@ -7,7 +7,6 @@ import java.util.ArrayList; import java.util.List; import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.interfaces.Constraint; @@ -16,6 +15,7 @@ import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.ConstraintsObjectives.events.EventObjectivesSaved; import info.nightscout.androidaps.plugins.ConstraintsObjectives.objectives.Objective; @@ -33,7 +33,7 @@ import info.nightscout.utils.SP; * Created by mike on 05.08.2016. */ public class ObjectivesPlugin extends PluginBase implements ConstraintsInterface { - private static Logger log = LoggerFactory.getLogger(Constants.OBJECTIVES); + private static Logger log = LoggerFactory.getLogger(L.OBJECTIVES); private static ObjectivesPlugin objectivesPlugin; @@ -95,7 +95,7 @@ public class ObjectivesPlugin extends PluginBase implements ConstraintsInterface SP.putBoolean("Objectives" + "bgIsAvailableInNS", bgIsAvailableInNS); SP.putBoolean("Objectives" + "pumpStatusIsAvailableInNS", pumpStatusIsAvailableInNS); SP.putString("Objectives" + "manualEnacts", Integer.toString(manualEnacts)); - if (Config.logObjectives) + if (L.isEnabled(L.OBJECTIVES)) log.debug("Objectives stored"); MainApp.bus().post(new EventObjectivesSaved()); } @@ -108,7 +108,7 @@ public class ObjectivesPlugin extends PluginBase implements ConstraintsInterface } catch (Exception e) { log.error("Unhandled exception", e); } - if (Config.logObjectives) + if (L.isEnabled(L.OBJECTIVES)) log.debug("Objectives loaded"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Food/FoodService.java b/app/src/main/java/info/nightscout/androidaps/plugins/Food/FoodService.java index f1e4159248..c864c623db 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Food/FoodService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Food/FoodService.java @@ -27,21 +27,20 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.db.ICallback; import info.nightscout.androidaps.events.Event; import info.nightscout.androidaps.events.EventFoodDatabaseChanged; import info.nightscout.androidaps.events.EventNsFood; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 24.09.2017. */ public class FoodService extends OrmLiteBaseService { - private Logger log = LoggerFactory.getLogger(Constants.DATAFOOD); + private Logger log = LoggerFactory.getLogger(L.DATAFOOD); private static final ScheduledExecutorService foodEventWorker = Executors.newSingleThreadScheduledExecutor(); private static ScheduledFuture scheduledFoodEventPost = null; @@ -112,7 +111,7 @@ public class FoodService extends OrmLiteBaseService { public void onCreate() { super.onCreate(); try { - if (Config.logDataFood) + if (L.isEnabled(L.DATAFOOD)) log.info("onCreate"); TableUtils.createTableIfNotExists(this.getConnectionSource(), Food.class); } catch (SQLException e) { @@ -125,7 +124,7 @@ public class FoodService extends OrmLiteBaseService { if (oldVersion == 7 && newVersion == 8) { log.debug("Upgrading database from v7 to v8"); } else { - if (Config.logDataFood) + if (L.isEnabled(L.DATAFOOD)) log.info("onUpgrade"); // this.resetFood(); } @@ -165,7 +164,7 @@ public class FoodService extends OrmLiteBaseService { class PostRunnable implements Runnable { public void run() { - if (Config.logDataFood) + if (L.isEnabled(L.DATAFOOD)) log.debug("Firing EventFoodChange"); MainApp.bus().post(event); callback.setPost(null); @@ -276,7 +275,7 @@ public class FoodService extends OrmLiteBaseService { public void deleteByNSId(String _id) throws SQLException { Food stored = this.findByNSId(_id); if (stored != null) { - if (Config.logDataFood) + if (L.isEnabled(L.DATAFOOD)) log.debug("Removing Food record from database: " + stored.toString()); this.delete(stored); } @@ -330,7 +329,7 @@ public class FoodService extends OrmLiteBaseService { public void createOrUpdate(Food food) { try { this.getDao().createOrUpdate(food); - if (Config.logDataFood) + if (L.isEnabled(L.DATAFOOD)) log.debug("Created or Updated: " + food.toString()); } catch (SQLException e) { log.error("Unable to createOrUpdate Food", e); @@ -341,7 +340,7 @@ public class FoodService extends OrmLiteBaseService { public void create(Food food) { try { this.getDao().create(food); - if (Config.logDataFood) + if (L.isEnabled(L.DATAFOOD)) log.debug("New record: " + food.toString()); } catch (SQLException e) { log.error("Unable to create Food", e); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java index 95a3976155..499984e3dc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java @@ -12,6 +12,7 @@ import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; import info.nightscout.androidaps.plugins.Overview.graphExtensions.DataPointWithLabelInterface; import info.nightscout.androidaps.plugins.Overview.graphExtensions.PointsWithLabelGraphSeries; @@ -26,7 +27,7 @@ import info.nightscout.utils.SP; */ public class AutosensData implements DataPointWithLabelInterface { - private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); + private static Logger log = LoggerFactory.getLogger(L.AUTOSENS); public void setChartTime(long chartTime) { this.chartTime = chartTime; @@ -48,7 +49,8 @@ public class AutosensData implements DataPointWithLabelInterface { double sens = Profile.toMgdl(profile.getIsf(t.date), profile.getUnits()); double ic = profile.getIc(t.date); min5minCarbImpact = t.carbs / (maxAbsorptionHours * 60 / 5) * sens / ic; - log.debug("Min 5m carbs impact for " + carbs + "g @" + new Date(t.date).toLocaleString() + " for " + maxAbsorptionHours + "h calculated to " + min5minCarbImpact + " ISF: " + sens + " IC: " + ic); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Min 5m carbs impact for " + carbs + "g @" + new Date(t.date).toLocaleString() + " for " + maxAbsorptionHours + "h calculated to " + min5minCarbImpact + " ISF: " + sens + " IC: " + ic); } else { min5minCarbImpact = SP.getDouble(R.string.key_openapsama_min_5m_carbimpact, SMBDefaults.min_5m_carbimpact); } @@ -107,7 +109,8 @@ public class AutosensData implements DataPointWithLabelInterface { activeCarbsList.remove(i--); if (c.remaining > 0) cob -= c.remaining; - log.debug("Removing carbs at " + new Date(toTime).toLocaleString() + " + after " + maxAbsorptionHours + "h :" + new Date(c.time).toLocaleString()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Removing carbs at " + new Date(toTime).toLocaleString() + " + after " + maxAbsorptionHours + "h :" + new Date(c.time).toLocaleString()); } } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java index 92a5ad1217..7bd01fa7b2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java @@ -5,13 +5,13 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 06.01.2017. */ public class AutosensResult { - private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); + private static Logger log = LoggerFactory.getLogger(L.AUTOSENS); //default values to show when autosens algorithm is not called public double ratio = 1d; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java index daabef245a..824a0eda9b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java @@ -1,7 +1,6 @@ package info.nightscout.androidaps.plugins.IobCobCalculator; import android.os.SystemClock; -import android.provider.SyncStateContract; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.util.LongSparseArray; @@ -16,7 +15,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -33,6 +31,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventNewHistoryData; import info.nightscout.androidaps.plugins.OpenAPSSMB.OpenAPSSMBPlugin; @@ -49,7 +48,7 @@ import static info.nightscout.utils.DateUtil.now; */ public class IobCobCalculatorPlugin extends PluginBase { - private Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); + private Logger log = LoggerFactory.getLogger(L.AUTOSENS); private static IobCobCalculatorPlugin plugin = null; @@ -112,13 +111,15 @@ public class IobCobCalculatorPlugin extends PluginBase { //log.debug("Locking getBucketedData"); synchronized (dataLock) { if (bucketed_data == null) { - log.debug("No bucketed data available"); + if (L.isEnabled(L.AUTOSENS)) + log.debug("No bucketed data available"); return null; } int index = indexNewerThan(fromTime); if (index > -1) { List part = bucketed_data.subList(0, index); - log.debug("Bucketed data striped off: " + part.size() + "/" + bucketed_data.size()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Bucketed data striped off: " + part.size() + "/" + bucketed_data.size()); return part; } } @@ -144,7 +145,8 @@ public class IobCobCalculatorPlugin extends PluginBase { void loadBgData(long now) { long start = (long) (now - 60 * 60 * 1000L * (24 + dia)); bgReadings = MainApp.getDbHelper().getBgreadingsDataFromTime(start, now, false); - log.debug("BG data loaded. Size: " + bgReadings.size() + " Start date: " + DateUtil.dateAndTimeString(start) + " End date: " + DateUtil.dateAndTimeString(now)); + if (L.isEnabled(L.AUTOSENS)) + log.debug("BG data loaded. Size: " + bgReadings.size() + " Start date: " + DateUtil.dateAndTimeString(start) + " End date: " + DateUtil.dateAndTimeString(now)); } private boolean isAbout5minData() { @@ -160,13 +162,15 @@ public class IobCobCalculatorPlugin extends PluginBase { totalDiff += diff; if (diff > 30 * 1000 && diff < 270 * 1000) { // 0:30 - 4:30 log.debug("Interval detection: values: " + bgReadings.size() + " diff: " + (diff / 1000) + "sec is5minData: " + false); - return false; + if (L.isEnabled(L.AUTOSENS)) + return false; } } double intervals = totalDiff / (5 * 60 * 1000d); double variability = Math.abs(intervals - Math.round(intervals)); boolean is5mindata = variability < 0.02; - log.debug("Interval detection: values: " + bgReadings.size() + " variability: " + variability + " is5minData: " + is5mindata); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Interval detection: values: " + bgReadings.size() + " variability: " + variability + " is5minData: " + is5mindata); return is5mindata; } } @@ -293,7 +297,8 @@ public class IobCobCalculatorPlugin extends PluginBase { //log.error("***** Average"); } } - log.debug("Bucketed data created. Size: " + bucketed_data.size()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Bucketed data created. Size: " + bucketed_data.size()); } public long calculateDetectionStart(long from, boolean limitDataToOldestAvailable) { @@ -306,7 +311,8 @@ public class IobCobCalculatorPlugin extends PluginBase { if (limitDataToOldestAvailable) { getBGDataFrom = Math.max(oldestDataAvailable, (long) (from - T.hours(1).msecs() * (24 + dia))); if (getBGDataFrom == oldestDataAvailable) - log.debug("Limiting data to oldest available temps: " + new Date(oldestDataAvailable).toString()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Limiting data to oldest available temps: " + new Date(oldestDataAvailable).toString()); } else getBGDataFrom = (long) (from - T.hours(1).msecs() * (24 + dia)); return getBGDataFrom; @@ -413,12 +419,14 @@ public class IobCobCalculatorPlugin extends PluginBase { @Nullable public AutosensData getLastAutosensDataSynchronized(String reason) { if (thread != null && thread.isAlive()) { - log.debug("AUTOSENSDATA is waiting for calculation thread: " + reason); + if (L.isEnabled(L.AUTOSENS)) + log.debug("AUTOSENSDATA is waiting for calculation thread: " + reason); try { thread.join(5000); } catch (InterruptedException ignored) { } - log.debug("AUTOSENSDATA finished waiting for calculation thread: " + reason); + if (L.isEnabled(L.AUTOSENS)) + log.debug("AUTOSENSDATA finished waiting for calculation thread: " + reason); } synchronized (dataLock) { return getLastAutosensData(reason); @@ -456,7 +464,8 @@ public class IobCobCalculatorPlugin extends PluginBase { @Nullable public AutosensData getLastAutosensData(String reason) { if (autosensDataTable.size() < 1) { - log.debug("AUTOSENSDATA null: autosensDataTable empty (" + reason + ")"); + if (L.isEnabled(L.AUTOSENS)) + log.debug("AUTOSENSDATA null: autosensDataTable empty (" + reason + ")"); return null; } AutosensData data; @@ -470,10 +479,12 @@ public class IobCobCalculatorPlugin extends PluginBase { return null; } if (data.time < System.currentTimeMillis() - 11 * 60 * 1000) { - log.debug("AUTOSENSDATA null: data is old (" + reason + ") size()=" + autosensDataTable.size() + " lastdata=" + DateUtil.dateAndTimeString(data.time)); + if (L.isEnabled(L.AUTOSENS)) + log.debug("AUTOSENSDATA null: data is old (" + reason + ") size()=" + autosensDataTable.size() + " lastdata=" + DateUtil.dateAndTimeString(data.time)); return null; } else { - log.debug("AUTOSENSDATA (" + reason + ") " + data.toString()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("AUTOSENSDATA (" + reason + ") " + data.toString()); return data; } } @@ -535,7 +546,8 @@ public class IobCobCalculatorPlugin extends PluginBase { @SuppressWarnings("unused") public void onEventAppInitialized(EventAppInitialized ev) { if (this != getPlugin()) { - log.debug("Ignoring event for non default instance"); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Ignoring event for non default instance"); return; } runCalculation("onEventAppInitialized", System.currentTimeMillis(), true, true, ev); @@ -545,7 +557,8 @@ public class IobCobCalculatorPlugin extends PluginBase { @SuppressWarnings("unused") public void onEventNewBG(EventNewBG ev) { if (this != getPlugin()) { - log.debug("Ignoring event for non default instance"); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Ignoring event for non default instance"); return; } stopCalculation("onEventNewBG"); @@ -555,16 +568,19 @@ public class IobCobCalculatorPlugin extends PluginBase { public void stopCalculation(String from) { if (thread != null && thread.getState() != Thread.State.TERMINATED) { stopCalculationTrigger = true; - log.debug("Stopping calculation thread: " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Stopping calculation thread: " + from); while (thread.getState() != Thread.State.TERMINATED) { SystemClock.sleep(100); } - log.debug("Calculation thread stopped: " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Calculation thread stopped: " + from); } } public void runCalculation(String from, long end, boolean bgDataReload, boolean limitDataToOldestAvailable, Event cause) { - log.debug("Starting calculation thread: " + from + " to " + DateUtil.dateAndTimeString(end)); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Starting calculation thread: " + from + " to " + DateUtil.dateAndTimeString(end)); if (thread == null || thread.getState() == Thread.State.TERMINATED) { if (SensitivityOref1Plugin.getPlugin().isEnabled(PluginType.SENSITIVITY)) thread = new IobCobOref1Thread(this, from, end, bgDataReload, limitDataToOldestAvailable, cause); @@ -577,7 +593,8 @@ public class IobCobCalculatorPlugin extends PluginBase { @Subscribe public void onNewProfile(EventNewBasalProfile ev) { if (this != getPlugin()) { - log.debug("Ignoring event for non default instance"); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Ignoring event for non default instance"); return; } if (MainApp.getConfigBuilder() == null) @@ -591,7 +608,8 @@ public class IobCobCalculatorPlugin extends PluginBase { } stopCalculation("onNewProfile"); synchronized (dataLock) { - log.debug("Invalidating cached data because of new profile. IOB: " + iobTable.size() + " Autosens: " + autosensDataTable.size() + " records"); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Invalidating cached data because of new profile. IOB: " + iobTable.size() + " Autosens: " + autosensDataTable.size() + " records"); iobTable = new LongSparseArray<>(); autosensDataTable = new LongSparseArray<>(); } @@ -601,7 +619,8 @@ public class IobCobCalculatorPlugin extends PluginBase { @Subscribe public void onEventPreferenceChange(EventPreferenceChange ev) { if (this != getPlugin()) { - log.debug("Ignoring event for non default instance"); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Ignoring event for non default instance"); return; } if (ev.isChanged(R.string.key_openapsama_autosens_period) || @@ -614,7 +633,8 @@ public class IobCobCalculatorPlugin extends PluginBase { ) { stopCalculation("onEventPreferenceChange"); synchronized (dataLock) { - log.debug("Invalidating cached data because of preference change. IOB: " + iobTable.size() + " Autosens: " + autosensDataTable.size() + " records"); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Invalidating cached data because of preference change. IOB: " + iobTable.size() + " Autosens: " + autosensDataTable.size() + " records"); iobTable = new LongSparseArray<>(); autosensDataTable = new LongSparseArray<>(); } @@ -625,12 +645,14 @@ public class IobCobCalculatorPlugin extends PluginBase { @Subscribe public void onEventConfigBuilderChange(EventConfigBuilderChange ev) { if (this != getPlugin()) { - log.debug("Ignoring event for non default instance"); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Ignoring event for non default instance"); return; } stopCalculation("onEventConfigBuilderChange"); synchronized (dataLock) { - log.debug("Invalidating cached data because of configuration change. IOB: " + iobTable.size() + " Autosens: " + autosensDataTable.size() + " records"); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Invalidating cached data because of configuration change. IOB: " + iobTable.size() + " Autosens: " + autosensDataTable.size() + " records"); iobTable = new LongSparseArray<>(); autosensDataTable = new LongSparseArray<>(); } @@ -641,7 +663,8 @@ public class IobCobCalculatorPlugin extends PluginBase { @Subscribe public void onEventNewHistoryData(EventNewHistoryData ev) { if (this != getPlugin()) { - log.debug("Ignoring event for non default instance"); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Ignoring event for non default instance"); return; } //log.debug("Locking onNewHistoryData"); @@ -649,10 +672,11 @@ public class IobCobCalculatorPlugin extends PluginBase { synchronized (dataLock) { // clear up 5 min back for proper COB calculation long time = ev.time - 5 * 60 * 1000L; - log.debug("Invalidating cached data to: " + new Date(time).toLocaleString()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Invalidating cached data to: " + new Date(time).toLocaleString()); for (int index = iobTable.size() - 1; index >= 0; index--) { if (iobTable.keyAt(index) > time) { - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Removing from iobTable: " + new Date(iobTable.keyAt(index)).toLocaleString()); iobTable.removeAt(index); } else { @@ -661,7 +685,7 @@ public class IobCobCalculatorPlugin extends PluginBase { } for (int index = autosensDataTable.size() - 1; index >= 0; index--) { if (autosensDataTable.keyAt(index) > time) { - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Removing from autosensDataTable: " + new Date(autosensDataTable.keyAt(index)).toLocaleString()); autosensDataTable.removeAt(index); } else { @@ -670,7 +694,7 @@ public class IobCobCalculatorPlugin extends PluginBase { } for (int index = basalDataTable.size() - 1; index >= 0; index--) { if (basalDataTable.keyAt(index) > time) { - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Removing from basalDataTable: " + new Date(basalDataTable.keyAt(index)).toLocaleString()); basalDataTable.removeAt(index); } else { @@ -684,7 +708,8 @@ public class IobCobCalculatorPlugin extends PluginBase { public void clearCache() { synchronized (dataLock) { - log.debug("Clearing cached data."); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Clearing cached data."); iobTable = new LongSparseArray<>(); autosensDataTable = new LongSparseArray<>(); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java index a51e0e95f4..30d087d71c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java @@ -17,7 +17,6 @@ import java.util.GregorianCalendar; import java.util.List; import info.nightscout.androidaps.BuildConfig; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -26,6 +25,7 @@ import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.db.TempTarget; import info.nightscout.androidaps.events.Event; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventIobCalculationProgress; import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; @@ -43,7 +43,7 @@ import static java.util.Calendar.MINUTE; */ public class IobCobOref1Thread extends Thread { - private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); + private static Logger log = LoggerFactory.getLogger(L.AUTOSENS); private final Event cause; private IobCobCalculatorPlugin iobCobCalculatorPlugin; @@ -72,13 +72,16 @@ public class IobCobOref1Thread extends Thread { public final void run() { mWakeLock.acquire(); try { - log.debug("AUTOSENSDATA thread started: " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("AUTOSENSDATA thread started: " + from); if (MainApp.getConfigBuilder() == null) { - log.debug("Aborting calculation thread (ConfigBuilder not ready): " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Aborting calculation thread (ConfigBuilder not ready): " + from); return; // app still initializing } if (!MainApp.getConfigBuilder().isProfileValid("IobCobThread")) { - log.debug("Aborting calculation thread (No profile): " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Aborting calculation thread (No profile): " + from); return; // app still initializing } //log.debug("Locking calculateSensitivityData"); @@ -94,12 +97,14 @@ public class IobCobOref1Thread extends Thread { LongSparseArray autosensDataTable = iobCobCalculatorPlugin.getAutosensDataTable(); if (bucketed_data == null || bucketed_data.size() < 3) { - log.debug("Aborting calculation thread (No bucketed data available): " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Aborting calculation thread (No bucketed data available): " + from); return; } long prevDataTime = IobCobCalculatorPlugin.roundUpTime(bucketed_data.get(bucketed_data.size() - 3).date); - log.debug("Prev data time: " + new Date(prevDataTime).toLocaleString()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Prev data time: " + new Date(prevDataTime).toLocaleString()); AutosensData previous = autosensDataTable.get(prevDataTime); // start from oldest to be able sub cob for (int i = bucketed_data.size() - 4; i >= 0; i--) { @@ -108,7 +113,8 @@ public class IobCobOref1Thread extends Thread { if (iobCobCalculatorPlugin.stopCalculationTrigger) { iobCobCalculatorPlugin.stopCalculationTrigger = false; - log.debug("Aborting calculation thread (trigger): " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Aborting calculation thread (trigger): " + from); return; } // check if data already exists @@ -125,11 +131,12 @@ public class IobCobOref1Thread extends Thread { Profile profile = MainApp.getConfigBuilder().getProfile(bgTime); if (profile == null) { - log.debug("Aborting calculation thread (no profile): " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Aborting calculation thread (no profile): " + from); return; // profile not set yet } - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Processing calculation thread: " + from + " (" + i + "/" + bucketed_data.size() + ")"); double sens = Profile.toMgdl(profile.getIsf(bgTime), profile.getUnits()); @@ -171,7 +178,7 @@ public class IobCobOref1Thread extends Thread { AutosensData hourAgoData = iobCobCalculatorPlugin.getAutosensData(hourago); if (hourAgoData != null) { int initialIndex = autosensDataTable.indexOfKey(hourAgoData.time); - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug(">>>>> bucketed_data.size()=" + bucketed_data.size() + " i=" + i + "hourAgoData=" + hourAgoData.toString()); int past = 1; try { @@ -187,7 +194,7 @@ public class IobCobOref1Thread extends Thread { minDeviation = ad.avgDeviation; } - //if (Config.logAutosensData) + //if (Config.isEnabled(L.AUTOSENS)) // log.debug("Deviations: " + new Date(bgTime) + new Date(ad.time) + " avgDeviation=" + avgDeviation + " deviationSlope=" + deviationSlope + " slopeFromMaxDeviation=" + slopeFromMaxDeviation + " slopeFromMinDeviation=" + slopeFromMinDeviation); } } catch (Exception e) { @@ -340,13 +347,13 @@ public class IobCobOref1Thread extends Thread { previous = autosensData; if (bgTime < now()) autosensDataTable.put(bgTime, autosensData); - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Running detectSensitivity from: " + DateUtil.dateAndTimeString(oldestTimeWithData) + " to: " + DateUtil.dateAndTimeString(bgTime) + " lastDataTime:" + iobCobCalculatorPlugin.lastDataTime()); AutosensResult sensitivity = iobCobCalculatorPlugin.detectSensitivityWithLock(oldestTimeWithData, bgTime); - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Sensitivity result: " + sensitivity.toString()); autosensData.autosensResult = sensitivity; - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug(autosensData.toString()); } } @@ -357,7 +364,8 @@ public class IobCobOref1Thread extends Thread { } finally { mWakeLock.release(); MainApp.bus().post(new EventIobCalculationProgress("")); - log.debug("AUTOSENSDATA thread ended: " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("AUTOSENSDATA thread ended: " + from); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java index 3c072abb99..251e5f7b90 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java @@ -15,7 +15,6 @@ import java.util.Date; import java.util.List; import info.nightscout.androidaps.BuildConfig; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -24,6 +23,7 @@ import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.events.Event; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventIobCalculationProgress; import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; @@ -42,7 +42,7 @@ import static info.nightscout.utils.DateUtil.now; */ public class IobCobThread extends Thread { - private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); + private static Logger log = LoggerFactory.getLogger(L.AUTOSENS); private final Event cause; private IobCobCalculatorPlugin iobCobCalculatorPlugin; @@ -71,13 +71,16 @@ public class IobCobThread extends Thread { public final void run() { mWakeLock.acquire(); try { - log.debug("AUTOSENSDATA thread started: " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("AUTOSENSDATA thread started: " + from); if (MainApp.getConfigBuilder() == null) { - log.debug("Aborting calculation thread (ConfigBuilder not ready): " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Aborting calculation thread (ConfigBuilder not ready): " + from); return; // app still initializing } if (!MainApp.getConfigBuilder().isProfileValid("IobCobThread")) { - log.debug("Aborting calculation thread (No profile): " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Aborting calculation thread (No profile): " + from); return; // app still initializing } //log.debug("Locking calculateSensitivityData"); @@ -93,12 +96,14 @@ public class IobCobThread extends Thread { LongSparseArray autosensDataTable = iobCobCalculatorPlugin.getAutosensDataTable(); if (bucketed_data == null || bucketed_data.size() < 3) { - log.debug("Aborting calculation thread (No bucketed data available): " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Aborting calculation thread (No bucketed data available): " + from); return; } long prevDataTime = IobCobCalculatorPlugin.roundUpTime(bucketed_data.get(bucketed_data.size() - 3).date); - log.debug("Prev data time: " + new Date(prevDataTime).toLocaleString()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Prev data time: " + new Date(prevDataTime).toLocaleString()); AutosensData previous = autosensDataTable.get(prevDataTime); // start from oldest to be able sub cob for (int i = bucketed_data.size() - 4; i >= 0; i--) { @@ -107,7 +112,8 @@ public class IobCobThread extends Thread { if (iobCobCalculatorPlugin.stopCalculationTrigger) { iobCobCalculatorPlugin.stopCalculationTrigger = false; - log.debug("Aborting calculation thread (trigger): " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Aborting calculation thread (trigger): " + from); return; } // check if data already exists @@ -124,11 +130,12 @@ public class IobCobThread extends Thread { Profile profile = MainApp.getConfigBuilder().getProfile(bgTime); if (profile == null) { - log.debug("Aborting calculation thread (no profile): " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("Aborting calculation thread (no profile): " + from); return; // profile not set yet } - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Processing calculation thread: " + from + " (" + i + "/" + bucketed_data.size() + ")"); double sens = Profile.toMgdl(profile.getIsf(bgTime), profile.getUnits()); @@ -170,7 +177,7 @@ public class IobCobThread extends Thread { AutosensData hourAgoData = iobCobCalculatorPlugin.getAutosensData(hourago); if (hourAgoData != null) { int initialIndex = autosensDataTable.indexOfKey(hourAgoData.time); - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug(">>>>> bucketed_data.size()=" + bucketed_data.size() + " i=" + i + "hourAgoData=" + hourAgoData.toString()); int past = 1; try { @@ -186,7 +193,7 @@ public class IobCobThread extends Thread { minDeviation = ad.avgDeviation; } - //if (Config.logAutosensData) + //if (Config.isEnabled(L.AUTOSENS)) // log.debug("Deviations: " + new Date(bgTime) + new Date(ad.time) + " avgDeviation=" + avgDeviation + " deviationSlope=" + deviationSlope + " slopeFromMaxDeviation=" + slopeFromMaxDeviation + " slopeFromMinDeviation=" + slopeFromMinDeviation); } } catch (Exception e) { @@ -267,13 +274,13 @@ public class IobCobThread extends Thread { previous = autosensData; if (bgTime < now()) autosensDataTable.put(bgTime, autosensData); - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Running detectSensitivity from: " + DateUtil.dateAndTimeString(oldestTimeWithData) + " to: " + DateUtil.dateAndTimeString(bgTime) + " lastDataTime:" + iobCobCalculatorPlugin.lastDataTime()); AutosensResult sensitivity = iobCobCalculatorPlugin.detectSensitivityWithLock(oldestTimeWithData, bgTime); - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Sensitivity result: " + sensitivity.toString()); autosensData.autosensResult = sensitivity; - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug(autosensData.toString()); } } @@ -284,7 +291,8 @@ public class IobCobThread extends Thread { } finally { mWakeLock.release(); MainApp.bus().post(new EventIobCalculationProgress("")); - log.debug("AUTOSENSDATA thread ended: " + from); + if (L.isEnabled(L.AUTOSENS)) + log.debug("AUTOSENSDATA thread ended: " + from); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/APSResult.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/APSResult.java index 569b9ed09c..8ea19fe8a7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/APSResult.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/APSResult.java @@ -12,13 +12,13 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.IobTotal; import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.utils.DecimalFormatter; @@ -26,7 +26,7 @@ import info.nightscout.utils.DecimalFormatter; * Created by mike on 09.06.2016. */ public class APSResult { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); public long date = 0; public String reason; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/DeviceStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/DeviceStatus.java index c8d65169cd..2c2bb1a2ee 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/DeviceStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/DeviceStatus.java @@ -5,7 +5,7 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /* { @@ -365,7 +365,7 @@ import info.nightscout.androidaps.Constants; */ public class DeviceStatus { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); public String device = null; public JSONObject pump = null; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java index 0e9a189e4e..4200317cef 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java @@ -21,7 +21,6 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainActivity; import info.nightscout.androidaps.MainApp; @@ -38,6 +37,7 @@ import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; import info.nightscout.androidaps.plugins.Loop.events.EventLoopSetLastRunGui; @@ -54,7 +54,7 @@ import info.nightscout.utils.SP; * Created by mike on 05.08.2016. */ public class LoopPlugin extends PluginBase { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); private static final String CHANNEL_ID = "AndroidAPS-Openloop"; @@ -254,13 +254,13 @@ public class LoopPlugin extends PluginBase { public synchronized void invoke(String initiator, boolean allowNotification, boolean tempBasalFallback) { try { - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug("invoke from " + initiator); Constraint loopEnabled = MainApp.getConstraintChecker().isLoopInvokationAllowed(); if (!loopEnabled.value()) { String message = MainApp.gs(R.string.loopdisabled) + "\n" + loopEnabled.getReasons(); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(message); MainApp.bus().post(new EventLoopSetLastRunGui(message)); return; @@ -274,7 +274,7 @@ public class LoopPlugin extends PluginBase { Profile profile = MainApp.getConfigBuilder().getProfile(); if (!MainApp.getConfigBuilder().isProfileValid("Loop")) { - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.noprofileselected)); MainApp.bus().post(new EventLoopSetLastRunGui(MainApp.gs(R.string.noprofileselected))); return; @@ -305,7 +305,7 @@ public class LoopPlugin extends PluginBase { // safety check for multiple SMBs long lastBolusTime = TreatmentsPlugin.getPlugin().getLastBolusTime(); if (lastBolusTime != 0 && lastBolusTime + 3 * 60 * 1000 > System.currentTimeMillis()) { - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug("SMB requsted but still in 3 min interval"); resultAfterConstraints.smb = 0; } @@ -321,14 +321,14 @@ public class LoopPlugin extends PluginBase { NSUpload.uploadDeviceStatus(); if (isSuspended()) { - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.loopsuspended)); MainApp.bus().post(new EventLoopSetLastRunGui(MainApp.gs(R.string.loopsuspended))); return; } if (pump.isSuspended()) { - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.pumpsuspended)); MainApp.bus().post(new EventLoopSetLastRunGui(MainApp.gs(R.string.pumpsuspended))); return; @@ -416,7 +416,7 @@ public class LoopPlugin extends PluginBase { MainApp.bus().post(new EventLoopUpdateGui()); } finally { - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug("invoke end"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientPlugin.java index f08e4e8e23..cc9d843368 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientPlugin.java @@ -29,6 +29,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientNewLog; import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientStatus; import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientUpdateGUI; @@ -37,7 +38,7 @@ import info.nightscout.utils.SP; import info.nightscout.utils.ToastUtils; public class NSClientPlugin extends PluginBase { - private Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private Logger log = LoggerFactory.getLogger(L.NSCLIENT); static NSClientPlugin nsClientPlugin; @@ -132,13 +133,13 @@ public class NSClientPlugin extends PluginBase { private ServiceConnection mConnection = new ServiceConnection() { public void onServiceDisconnected(ComponentName name) { - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("Service is disconnected"); nsClientService = null; } public void onServiceConnected(ComponentName name, IBinder service) { - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("Service is connected"); NSClientService.LocalBinder mLocalBinder = (NSClientService.LocalBinder) service; if (mLocalBinder != null) // is null when running in roboelectric @@ -157,7 +158,7 @@ public class NSClientPlugin extends PluginBase { @Subscribe public void onStatusEvent(final EventNSClientNewLog ev) { addToLog(ev); - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug(ev.action + " " + ev.logText); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSUpload.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSUpload.java index 4b9c443ecb..a3094a4646 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSUpload.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSUpload.java @@ -21,10 +21,9 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.Profile; @@ -48,7 +47,7 @@ import info.nightscout.utils.SP; */ public class NSUpload { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); public static void uploadTempBasalStartAbsolute(TemporaryBasal temporaryBasal, Double originalExtendedAmount) { try { @@ -237,7 +236,7 @@ public class NSUpload { deviceStatus.enacted.put("requested", requested); } } else { - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("OpenAPS data too old to upload"); } deviceStatus.device = "openaps://" + Build.MANUFACTURER + " " + Build.MODEL; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/UploadQueue.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/UploadQueue.java index 3b516a2ec7..9c0284029c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/UploadQueue.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/UploadQueue.java @@ -13,18 +13,17 @@ import org.slf4j.LoggerFactory; import java.sql.SQLException; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.db.DbRequest; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientService; /** * Created by mike on 21.02.2016. */ public class UploadQueue { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); public static String status() { return "QUEUE: " + MainApp.getDbHelper().size(DatabaseHelper.DATABASE_DBREQUESTS); @@ -46,7 +45,7 @@ public class UploadQueue { startService(); if (NSClientService.handler != null) { NSClientService.handler.post(() -> { - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("Adding to queue: " + dbr.data); MainApp.getDbHelper().create(dbr); NSClientPlugin plugin = NSClientPlugin.getPlugin(); @@ -61,10 +60,10 @@ public class UploadQueue { startService(); if (NSClientService.handler != null) { NSClientService.handler.post(() -> { - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("ClearQueue"); MainApp.getDbHelper().deleteAllDbRequests(); - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug(status()); }); } @@ -82,7 +81,7 @@ public class UploadQueue { return; } if (MainApp.getDbHelper().deleteDbRequest(id) == 1) { - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("Removed item from UploadQueue. " + UploadQueue.status()); } } catch (JSONException e) { @@ -99,7 +98,7 @@ public class UploadQueue { if (NSClientService.handler != null) { NSClientService.handler.post(() -> { MainApp.getDbHelper().deleteDbRequestbyMongoId(action, _id); - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("Removing " + _id + " from UploadQueue. " + UploadQueue.status()); }); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java index d4cf775356..ed9c4c3013 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java @@ -5,10 +5,9 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.events.Event; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientRestart; import io.socket.client.Ack; @@ -16,7 +15,7 @@ import io.socket.client.Ack; * Created by mike on 29.12.2015. */ public class NSAddAck extends Event implements Ack { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); public String _id = null; public String nsClientID = null; public JSONObject json = null; @@ -48,7 +47,7 @@ public class NSAddAck extends Event implements Ack { MainApp.bus().post(new EventNSClientRestart()); return; } - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("DBACCESS " + response.getString("result")); } return; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSUpdateAck.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSUpdateAck.java index 7081318c01..42534387b2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSUpdateAck.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSUpdateAck.java @@ -5,16 +5,16 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.events.Event; +import info.nightscout.androidaps.logging.L; import io.socket.client.Ack; /** * Created by mike on 21.02.2016. */ public class NSUpdateAck extends Event implements Ack { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); public boolean result = false; public String _id; public String action; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastStatus.java index 48eec4f25e..da28fe9881 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastStatus.java @@ -9,9 +9,9 @@ import android.support.v4.content.LocalBroadcastManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSettingsStatus; import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientService; @@ -21,7 +21,7 @@ import info.nightscout.utils.SP; * Created by mike on 24.02.2016. */ public class BroadcastStatus { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); public static void handleNewStatus(NSSettingsStatus status, Context context, boolean isDelta) { LocalBroadcastManager.getInstance(MainApp.instance()) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastTreatment.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastTreatment.java index 3c0076f46b..dc834215a9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastTreatment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastTreatment.java @@ -13,9 +13,9 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.services.Intents; import info.nightscout.utils.SP; @@ -23,7 +23,7 @@ import info.nightscout.utils.SP; * Created by mike on 20.02.2016. */ public class BroadcastTreatment { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); public static void handleNewTreatment(JSONObject treatment, boolean isDelta, boolean isLocalBypass) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java index 8ab0e783cf..ec31141002 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java @@ -8,25 +8,24 @@ import org.slf4j.LoggerFactory; import java.util.List; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.utils.ToastUtils; /** * Created by mike on 02.07.2016. */ public class DbLogger { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); public static void dbAdd(Intent intent, String data) { List q = MainApp.instance().getApplicationContext().getPackageManager().queryBroadcastReceivers(intent, 0); if (q.size() < 1) { ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.nsclientnotinstalled)); log.error("DBADD No receivers"); - } else if (Config.logNsclient) { - if (Config.logNsclient) + } else if (L.isEnabled(L.NSCLIENT)) { + if (L.isEnabled(L.NSCLIENT)) log.debug("DBADD dbAdd " + q.size() + " receivers " + data); } } @@ -36,8 +35,8 @@ public class DbLogger { if (q.size() < 1) { ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.nsclientnotinstalled)); log.error("DBREMOVE No receivers"); - } else if (Config.logNsclient) { - if (Config.logNsclient) + } else if (L.isEnabled(L.NSCLIENT)) { + if (L.isEnabled(L.NSCLIENT)) log.debug("DBREMOVE dbRemove " + q.size() + " receivers " + data); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSAlarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSAlarm.java index 3506c3aa1b..7ad82220da 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSAlarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSAlarm.java @@ -5,14 +5,14 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 11.06.2017. */ public class NSAlarm { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); JSONObject data; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSCal.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSCal.java index bb50d6ce75..83fe44073e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSCal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSCal.java @@ -5,10 +5,10 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class NSCal { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); public long date; public double slope; public double intercept; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSDeviceStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSDeviceStatus.java index 9d1ef6439f..1c8aea9b83 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSDeviceStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSDeviceStatus.java @@ -15,12 +15,11 @@ import java.util.HashMap; import java.util.Iterator; import java.util.Map; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin; import info.nightscout.androidaps.plugins.Loop.APSResult; -import info.nightscout.utils.BundleLogger; +import info.nightscout.androidaps.logging.BundleLogger; import info.nightscout.utils.DateUtil; import info.nightscout.utils.Round; import info.nightscout.utils.SP; @@ -80,7 +79,7 @@ import info.nightscout.utils.SP; } */ public class NSDeviceStatus { - private Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private Logger log = LoggerFactory.getLogger(L.NSCLIENT); private static NSDeviceStatus instance = null; @@ -99,7 +98,7 @@ public class NSDeviceStatus { Bundle bundle = intent.getExtras(); if (bundle == null) return; - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("Got NS devicestatus: " + BundleLogger.log(bundle)); try { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSMbg.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSMbg.java index 92ac6de937..cd4cd9cdba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSMbg.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSMbg.java @@ -5,10 +5,10 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class NSMbg { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); public long date; public double mbg; public String json; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSettingsStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSettingsStatus.java index 2a45b1a1a1..dc3c9f742e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSettingsStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSettingsStatus.java @@ -14,14 +14,14 @@ import java.util.Date; import java.util.Objects; import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.OverviewPlugin; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; -import info.nightscout.utils.BundleLogger; +import info.nightscout.androidaps.logging.BundleLogger; /* { @@ -114,7 +114,7 @@ import info.nightscout.utils.BundleLogger; } */ public class NSSettingsStatus { - private Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private Logger log = LoggerFactory.getLogger(L.NSCLIENT); private static NSSettingsStatus instance = null; @@ -140,7 +140,7 @@ public class NSSettingsStatus { Bundle bundle = intent.getExtras(); if (bundle == null) return; - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("Got NS status: " + BundleLogger.log(bundle)); if (bundle.containsKey("nsclientversioncode")) { @@ -149,7 +149,7 @@ public class NSSettingsStatus { nightscoutVersionName = bundle.getString("nightscoutversionname"); Integer nsClientVersionCode = bundle.getInt("nsclientversioncode"); String nsClientVersionName = bundle.getString("nsclientversionname"); - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("Got versions: NSClient: " + nsClientVersionName + " Nightscout: " + nightscoutVersionName); try { if (nsClientVersionCode < MainApp.instance().getPackageManager().getPackageInfo(MainApp.instance().getPackageName(), 0).versionCode) { @@ -175,7 +175,7 @@ public class NSSettingsStatus { try { JSONObject statusJson = new JSONObject(bundle.getString("status")); setData(statusJson); - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("Received status: " + statusJson.toString()); Double targetHigh = getThreshold("bgTargetTop"); Double targetlow = getThreshold("bgTargetBottom"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSgv.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSgv.java index c9b8605e9e..2212884a3e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSgv.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSgv.java @@ -5,14 +5,14 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * * {"mgdl":105,"mills":1455136282375,"device":"xDrip-BluetoothWixel","direction":"Flat","filtered":98272,"unfiltered":98272,"noise":1,"rssi":100} */ public class NSSgv { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); private JSONObject data; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSTreatment.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSTreatment.java index a494024928..d4ee20e2a1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSTreatment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSTreatment.java @@ -7,10 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class NSTreatment { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); private JSONObject data; private String action = null; // "update", "remove" or null (add) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/AckAlarmReceiver.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/AckAlarmReceiver.java index 6145a57b50..f23533e9ab 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/AckAlarmReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/AckAlarmReceiver.java @@ -9,19 +9,17 @@ import android.os.PowerManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.NSClientInternal.NSClientPlugin; import info.nightscout.androidaps.plugins.NSClientInternal.data.AlarmAck; import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientService; import info.nightscout.utils.SP; public class AckAlarmReceiver extends BroadcastReceiver { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); @Override @@ -34,7 +32,7 @@ public class AckAlarmReceiver extends BroadcastReceiver { return; } if (SP.getBoolean(R.string.key_ns_noupload, false)) { - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("Upload disabled. Message dropped"); return; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/DBAccessReceiver.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/DBAccessReceiver.java index 996e62b306..a1300f7b99 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/DBAccessReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/DBAccessReceiver.java @@ -11,11 +11,11 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.db.DbRequest; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.NSClientInternal.NSClientPlugin; import info.nightscout.androidaps.plugins.NSClientInternal.UploadQueue; import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastTreatment; @@ -23,7 +23,7 @@ import info.nightscout.utils.DateUtil; import info.nightscout.utils.SP; public class DBAccessReceiver extends BroadcastReceiver { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java index 536a9fe819..d7066705b9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java @@ -24,7 +24,6 @@ import java.net.URISyntaxException; import java.sql.SQLException; import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.ProfileStore; @@ -33,6 +32,7 @@ import info.nightscout.androidaps.events.EventAppExit; import info.nightscout.androidaps.events.EventConfigBuilderChange; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.NSClientInternal.NSClientPlugin; import info.nightscout.androidaps.plugins.NSClientInternal.UploadQueue; import info.nightscout.androidaps.plugins.NSClientInternal.acks.NSAddAck; @@ -69,7 +69,7 @@ import io.socket.client.Socket; import io.socket.emitter.Emitter; public class NSClientService extends Service { - private static Logger log = LoggerFactory.getLogger(Constants.NSCLIENT); + private static Logger log = LoggerFactory.getLogger(L.NSCLIENT); static public PowerManager.WakeLock mWakeLock; private IBinder mBinder = new NSClientService.LocalBinder(); @@ -155,13 +155,13 @@ public class NSClientService extends Service { @Subscribe public void onStatusEvent(EventAppExit event) { - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("EventAppExit received"); destroy(); stopSelf(); - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("EventAppExit finished"); } @@ -249,7 +249,7 @@ public class NSClientService extends Service { private Emitter.Listener onDisconnect = new Emitter.Listener() { @Override public void call(Object... args) { - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("disconnect reason: {}", args); MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "disconnect event")); } @@ -361,7 +361,7 @@ public class NSClientService extends Service { log.error("Unhandled exception", e); } BroadcastAnnouncement.handleAnnouncement(data, getApplicationContext()); - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug(data.toString()); } }; @@ -392,7 +392,7 @@ public class NSClientService extends Service { return; } BroadcastAlarm.handleAlarm(data, getApplicationContext()); - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug(data.toString()); } }; @@ -423,7 +423,7 @@ public class NSClientService extends Service { } MainApp.bus().post(new EventNSClientNewLog("URGENTALARM", "received")); BroadcastUrgentAlarm.handleUrgentAlarm(data, getApplicationContext()); - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug(data.toString()); } }; @@ -449,7 +449,7 @@ public class NSClientService extends Service { } MainApp.bus().post(new EventNSClientNewLog("CLEARALARM", "received")); BroadcastClearAlarm.handleClearAlarm(data, getApplicationContext()); - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug(data.toString()); } }; @@ -759,7 +759,7 @@ public class NSClientService extends Service { if (mSocket == null || !mSocket.connected()) return; if (lastResendTime > System.currentTimeMillis() - 10 * 1000L) { - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("Skipping resend by lastResendTime: " + ((System.currentTimeMillis() - lastResendTime) / 1000L) + " sec"); return; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java index d178c8a5a5..50e79d1e37 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java @@ -17,7 +17,6 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.lang.reflect.InvocationTargetException; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -26,6 +25,7 @@ import info.nightscout.androidaps.data.IobTotal; import info.nightscout.androidaps.data.MealData; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.TemporaryBasal; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.Loop.ScriptReader; import info.nightscout.androidaps.plugins.OpenAPSMA.LoggerCallback; @@ -34,7 +34,7 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.SP; public class DetermineBasalAdapterAMAJS { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); private ScriptReader mScriptReader = null; @@ -61,7 +61,7 @@ public class DetermineBasalAdapterAMAJS { public DetermineBasalResultAMA invoke() { - if (Config.logAps) { + if (L.isEnabled(L.APS)) { log.debug(">>> Invoking detemine_basal <<<"); log.debug("Glucose status: " + (storedGlucoseStatus = mGlucoseStatus.toString())); log.debug("IOB data: " + (storedIobData = mIobData.toString())); @@ -119,7 +119,7 @@ public class DetermineBasalAdapterAMAJS { // Parse the jsResult object to a JSON-String String result = NativeJSON.stringify(rhino, scope, jsResult, null, null).toString(); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug("Result: " + result); try { determineBasalResultAMA = new DetermineBasalResultAMA(jsResult, new JSONObject(result)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalResultAMA.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalResultAMA.java index 324336f0d2..7d57f52efb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalResultAMA.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalResultAMA.java @@ -6,12 +6,12 @@ import org.mozilla.javascript.NativeObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Loop.APSResult; import info.nightscout.utils.DateUtil; public class DetermineBasalResultAMA extends APSResult { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); private double eventualBG; private double snoozeBG; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAFragment.java index 6e22ac028b..0eb327c608 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAFragment.java @@ -16,9 +16,9 @@ import org.json.JSONException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateGui; import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateResultGui; @@ -26,7 +26,7 @@ import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.JSONFormatter; public class OpenAPSAMAFragment extends SubscriberFragment implements View.OnClickListener { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); Button run; TextView lastRunView; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java index 905b595331..1c6bf3e39d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java @@ -6,8 +6,6 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.GlucoseStatus; @@ -21,6 +19,7 @@ import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; @@ -39,7 +38,7 @@ import info.nightscout.utils.Round; * Created by mike on 05.08.2016. */ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); private static OpenAPSAMAPlugin openAPSAMAPlugin; @@ -91,7 +90,7 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { @Override public void invoke(String initiator, boolean tempBasalFallback) { - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug("invoke from " + initiator + " tempBasalFallback: " + tempBasalFallback); lastAPSResult = null; DetermineBasalAdapterAMAJS determineBasalAdapterAMAJS; @@ -103,21 +102,21 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { if (profile == null) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.noprofileselected))); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.noprofileselected)); return; } if (!isEnabled(PluginType.APS)) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.openapsma_disabled))); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.openapsma_disabled)); return; } if (glucoseStatus == null) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.openapsma_noglucosedata))); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.openapsma_noglucosedata)); return; } @@ -135,12 +134,12 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { Date start = new Date(); Date startPart = new Date(); IobTotal[] iobArray = IobCobCalculatorPlugin.getPlugin().calculateIobArrayInDia(profile); - if (Config.logAps) + if (L.isEnabled(L.APS)) Profiler.log(log, "calculateIobArrayInDia()", startPart); startPart = new Date(); MealData mealData = TreatmentsPlugin.getPlugin().getMealData(); - if (Config.logAps) + if (L.isEnabled(L.APS)) Profiler.log(log, "getMealData()", startPart); double maxIob = MainApp.getConstraintChecker().getMaxIOBAllowed().value(); @@ -182,9 +181,9 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { lastAutosensResult = new AutosensResult(); lastAutosensResult.sensResult = "autosens disabled"; } - if (Config.logAps) + if (L.isEnabled(L.APS)) Profiler.log(log, "detectSensitivityandCarbAbsorption()", startPart); - if (Config.logAps) + if (L.isEnabled(L.APS)) Profiler.log(log, "AMA data gathering", start); start = new Date(); @@ -200,7 +199,7 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { DetermineBasalResultAMA determineBasalResultAMA = determineBasalAdapterAMAJS.invoke(); - if (Config.logAps) + if (L.isEnabled(L.APS)) Profiler.log(log, "AMA calculation", start); // Fix bug determine basal if (determineBasalResultAMA.rate == 0d && determineBasalResultAMA.duration == 0 && !TreatmentsPlugin.getPlugin().isTempBasalInProgress()) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterMAJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterMAJS.java index 0dd8d6e288..1574665dc4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterMAJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterMAJS.java @@ -15,7 +15,6 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.lang.reflect.InvocationTargetException; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.GlucoseStatus; @@ -23,12 +22,13 @@ import info.nightscout.androidaps.data.IobTotal; import info.nightscout.androidaps.data.MealData; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.TemporaryBasal; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Loop.ScriptReader; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.SP; public class DetermineBasalAdapterMAJS { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); private ScriptReader mScriptReader; private JSONObject mProfile; @@ -96,7 +96,7 @@ public class DetermineBasalAdapterMAJS { // Parse the jsResult object to a JSON-String String result = NativeJSON.stringify(rhino, scope, jsResult, null, null).toString(); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug("Result: " + result); try { determineBasalResultMA = new DetermineBasalResultMA(jsResult, new JSONObject(result)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalResultMA.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalResultMA.java index 006b4343e3..3f0e9abea9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalResultMA.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalResultMA.java @@ -6,11 +6,11 @@ import org.mozilla.javascript.NativeObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Loop.APSResult; public class DetermineBasalResultMA extends APSResult { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); public JSONObject json = new JSONObject(); private double eventualBG; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/LoggerCallback.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/LoggerCallback.java index 8f7fd181e0..8907166951 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/LoggerCallback.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/LoggerCallback.java @@ -4,8 +4,7 @@ import org.mozilla.javascript.ScriptableObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by adrian on 15/10/17. @@ -14,7 +13,7 @@ import info.nightscout.androidaps.Constants; public class LoggerCallback extends ScriptableObject { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); private static StringBuffer errorBuffer = new StringBuffer(); private static StringBuffer logBuffer = new StringBuffer(); @@ -36,14 +35,14 @@ public class LoggerCallback extends ScriptableObject { } public void jsFunction_log(Object obj1) { - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(obj1.toString()); logBuffer.append(obj1.toString()); logBuffer.append(' '); } public void jsFunction_error(Object obj1) { - if (Config.logAps) + if (L.isEnabled(L.APS)) log.error(obj1.toString()); errorBuffer.append(obj1.toString()); errorBuffer.append(' '); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java index a7a96e3bf4..ce350011cd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java @@ -6,8 +6,6 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.GlucoseStatus; @@ -21,6 +19,7 @@ import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Loop.APSResult; import info.nightscout.androidaps.plugins.Loop.ScriptReader; @@ -39,7 +38,7 @@ import static info.nightscout.utils.HardLimits.verifyHardLimits; * Created by mike on 05.08.2016. */ public class OpenAPSMAPlugin extends PluginBase implements APSInterface { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); private static OpenAPSMAPlugin openAPSMAPlugin; @@ -90,7 +89,7 @@ public class OpenAPSMAPlugin extends PluginBase implements APSInterface { @Override public void invoke(String initiator, boolean tempBasalFallback) { - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug("invoke from " + initiator + " tempBasalFallback: " + tempBasalFallback); lastAPSResult = null; DetermineBasalAdapterMAJS determineBasalAdapterMAJS = null; @@ -102,21 +101,21 @@ public class OpenAPSMAPlugin extends PluginBase implements APSInterface { if (profile == null) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.noprofileselected))); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.noprofileselected)); return; } if (!isEnabled(PluginType.APS)) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.openapsma_disabled))); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.openapsma_disabled)); return; } if (glucoseStatus == null) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.openapsma_noglucosedata))); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.openapsma_noglucosedata)); return; } @@ -143,7 +142,7 @@ public class OpenAPSMAPlugin extends PluginBase implements APSInterface { MealData mealData = TreatmentsPlugin.getPlugin().getMealData(); double maxIob = MainApp.getConstraintChecker().getMaxIOBAllowed().value(); - if (Config.logAps) + if (L.isEnabled(L.APS)) Profiler.log(log, "MA data gathering", start); minBg = verifyHardLimits(minBg, "minBg", HardLimits.VERY_HARD_LIMIT_MIN_BG[0], HardLimits.VERY_HARD_LIMIT_MIN_BG[1]); @@ -174,7 +173,7 @@ public class OpenAPSMAPlugin extends PluginBase implements APSInterface { } catch (JSONException e) { log.error("Unhandled exception", e); } - if (Config.logAps) + if (L.isEnabled(L.APS)) Profiler.log(log, "MA calculation", start); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java index 4fc3604bef..7ede714c10 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalAdapterSMBJS.java @@ -17,7 +17,6 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.lang.reflect.InvocationTargetException; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -26,6 +25,7 @@ import info.nightscout.androidaps.data.IobTotal; import info.nightscout.androidaps.data.MealData; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.TemporaryBasal; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.Loop.ScriptReader; import info.nightscout.androidaps.plugins.OpenAPSMA.LoggerCallback; @@ -34,7 +34,7 @@ import info.nightscout.utils.SP; import info.nightscout.utils.SafeParse; public class DetermineBasalAdapterSMBJS { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); private ScriptReader mScriptReader; @@ -71,7 +71,7 @@ public class DetermineBasalAdapterSMBJS { public DetermineBasalResultSMB invoke() { - if (Config.logAps) { + if (L.isEnabled(L.APS)) { log.debug(">>> Invoking detemine_basal <<<"); log.debug("Glucose status: " + (storedGlucoseStatus = mGlucoseStatus.toString())); log.debug("IOB data: " + (storedIobData = mIobData.toString())); @@ -136,7 +136,7 @@ public class DetermineBasalAdapterSMBJS { // Parse the jsResult object to a JSON-String String result = NativeJSON.stringify(rhino, scope, jsResult, null, null).toString(); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug("Result: " + result); try { determineBasalResultSMB = new DetermineBasalResultSMB(new JSONObject(result)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalResultSMB.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalResultSMB.java index a4241e29d7..bd41120e30 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalResultSMB.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/DetermineBasalResultSMB.java @@ -5,12 +5,12 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Loop.APSResult; import info.nightscout.utils.DateUtil; public class DetermineBasalResultSMB extends APSResult { - private static final Logger log = LoggerFactory.getLogger(Constants.APS); + private static final Logger log = LoggerFactory.getLogger(L.APS); private double eventualBG; private double snoozeBG; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBFragment.java index 58138e974a..91b488e742 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBFragment.java @@ -19,9 +19,9 @@ import org.slf4j.LoggerFactory; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateGui; import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateResultGui; @@ -29,7 +29,7 @@ import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.JSONFormatter; public class OpenAPSSMBFragment extends SubscriberFragment { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); @BindView(R.id.openapsma_run) Button run; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java index b3788cf1f2..64daaed9c1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java @@ -6,8 +6,6 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.GlucoseStatus; @@ -22,6 +20,7 @@ import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; @@ -42,7 +41,7 @@ import info.nightscout.utils.ToastUtils; * Created by mike on 05.08.2016. */ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { - private static Logger log = LoggerFactory.getLogger(Constants.APS); + private static Logger log = LoggerFactory.getLogger(L.APS); private static OpenAPSSMBPlugin openAPSSMBPlugin; @@ -94,7 +93,7 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { @Override public void invoke(String initiator, boolean tempBasalFallback) { - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug("invoke from " + initiator + " tempBasalFallback: " + tempBasalFallback); lastAPSResult = null; DetermineBasalAdapterSMBJS determineBasalAdapterSMBJS; @@ -106,21 +105,21 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { if (profile == null) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.noprofileselected))); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.noprofileselected)); return; } if (!isEnabled(PluginType.APS)) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.openapsma_disabled))); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.openapsma_disabled)); return; } if (glucoseStatus == null) { MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.gs(R.string.openapsma_noglucosedata))); - if (Config.logAps) + if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.openapsma_noglucosedata)); return; } @@ -142,12 +141,12 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { Date start = new Date(); Date startPart = new Date(); IobTotal[] iobArray = IobCobCalculatorPlugin.getPlugin().calculateIobArrayForSMB(profile); - if (Config.logAps) + if (L.isEnabled(L.APS)) Profiler.log(log, "calculateIobArrayInDia()", startPart); startPart = new Date(); MealData mealData = TreatmentsPlugin.getPlugin().getMealData(); - if (Config.logAps) + if (L.isEnabled(L.APS)) Profiler.log(log, "getMealData()", startPart); double maxIob = MainApp.getConstraintChecker().getMaxIOBAllowed().value(); @@ -198,9 +197,9 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { MainApp.getConstraintChecker().isAdvancedFilteringEnabled(advancedFiltering); inputConstraints.copyReasons(advancedFiltering); - if (Config.logAps) + if (L.isEnabled(L.APS)) Profiler.log(log, "detectSensitivityandCarbAbsorption()", startPart); - if (Config.logAps) + if (L.isEnabled(L.APS)) Profiler.log(log, "SMB data gathering", start); start = new Date(); @@ -219,7 +218,7 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { long now = System.currentTimeMillis(); DetermineBasalResultSMB determineBasalResultSMB = determineBasalAdapterSMBJS.invoke(); - if (Config.logAps) + if (L.isEnabled(L.APS)) Profiler.log(log, "SMB calculation", start); // TODO still needed with oref1? // Fix bug determine basal diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java index b0655d894e..91dbb29042 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java @@ -80,6 +80,7 @@ import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Careportal.CareportalFragment; import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog; import info.nightscout.androidaps.plugins.Careportal.OptionsToShow; @@ -125,7 +126,7 @@ import info.nightscout.utils.ToastUtils; import static info.nightscout.utils.DateUtil.now; public class OverviewFragment extends Fragment implements View.OnClickListener, View.OnLongClickListener { - private static Logger log = LoggerFactory.getLogger(Constants.OVERVIEW); + private static Logger log = LoggerFactory.getLogger(L.OVERVIEW); TextView timeView; TextView bgView; @@ -825,7 +826,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, builder.setPositiveButton(MainApp.gs(R.string.ok), (dialog, id) -> { synchronized (builder) { if (accepted) { - if (Config.logOverview) + if (L.isEnabled(L.OVERVIEW)) log.debug("guarding: already accepted"); return; } @@ -1031,7 +1032,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, @SuppressLint("SetTextI18n") public void updateGUI(final String from) { - if (Config.logOverview) + if (L.isEnabled(L.OVERVIEW)) log.debug("updateGUI entered from: " + from); final Date updateGUIStart = new Date(); @@ -1427,7 +1428,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, final long now = System.currentTimeMillis(); // ------------------ 1st graph - if (Config.logOverview) + if (L.isEnabled(L.OVERVIEW)) Profiler.log(log, from + " - 1st graph - START", updateGUIStart); final GraphData graphData = new GraphData(bgGraph, IobCobCalculatorPlugin.getPlugin()); @@ -1460,7 +1461,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, graphData.addNowLine(now); // ------------------ 2nd graph - if (Config.logOverview) + if (L.isEnabled(L.OVERVIEW)) Profiler.log(log, from + " - 2nd graph - START", updateGUIStart); final GraphData secondGraphData = new GraphData(iobGraph, IobCobCalculatorPlugin.getPlugin()); @@ -1515,13 +1516,13 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, // finally enforce drawing of graphs graphData.performUpdate(); secondGraphData.performUpdate(); - if (Config.logOverview) + if (L.isEnabled(L.OVERVIEW)) Profiler.log(log, from + " - onDataChanged", updateGUIStart); }); } }).start(); - if (Config.logOverview) + if (L.isEnabled(L.OVERVIEW)) Profiler.log(log, from, updateGUIStart); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java index eea249c2e2..dfd6b9970c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java @@ -7,7 +7,6 @@ import org.json.JSONException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; @@ -16,6 +15,7 @@ import info.nightscout.androidaps.events.EventRefreshOverview; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.NotificationStore; @@ -25,7 +25,7 @@ import info.nightscout.utils.SP; * Created by mike on 05.08.2016. */ public class OverviewPlugin extends PluginBase { - private static Logger log = LoggerFactory.getLogger(Constants.OVERVIEW); + private static Logger log = LoggerFactory.getLogger(L.OVERVIEW); private static OverviewPlugin overviewPlugin = new OverviewPlugin(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java index d750965d38..72fbbff5a5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java @@ -18,7 +18,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -28,6 +27,7 @@ import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.db.ExtendedBolus; import info.nightscout.androidaps.db.ProfileSwitch; import info.nightscout.androidaps.db.TempTarget; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.BasalData; @@ -51,7 +51,7 @@ import info.nightscout.utils.Round; */ public class GraphData { - private static Logger log = LoggerFactory.getLogger(Constants.OVERVIEW); + private static Logger log = LoggerFactory.getLogger(L.OVERVIEW); private GraphView graph; public double maxY = Double.MIN_VALUE; @@ -75,7 +75,7 @@ public class GraphData { List bgListArray = new ArrayList<>(); if (bgReadingsArray == null || bgReadingsArray.size() == 0) { - if (Config.logOverview) + if (L.isEnabled(L.OVERVIEW)) log.debug("No BG data."); return; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/NotificationRecyclerViewAdapter.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/NotificationRecyclerViewAdapter.java index 02390154b6..9af6be3be3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/NotificationRecyclerViewAdapter.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/NotificationRecyclerViewAdapter.java @@ -15,10 +15,9 @@ import org.slf4j.LoggerFactory; import java.util.List; import java.util.Objects; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastAckAlarm; import info.nightscout.androidaps.plugins.Overview.OverviewPlugin; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; @@ -26,7 +25,7 @@ import info.nightscout.utils.DateUtil; import info.nightscout.utils.SP; public class NotificationRecyclerViewAdapter extends RecyclerView.Adapter { - private static Logger log = LoggerFactory.getLogger(Constants.NOTIFICATION); + private static Logger log = LoggerFactory.getLogger(L.NOTIFICATION); private List notificationsList; @@ -98,12 +97,12 @@ public class NotificationRecyclerViewAdapter extends RecyclerView.Adapter store = new ArrayList<>(); private boolean usesChannels; @@ -52,7 +52,7 @@ public class NotificationStore { } public synchronized boolean add(Notification n) { - if (Config.logNotification) + if (L.isEnabled(L.NOTIFICATION)) log.debug("Notification received: " + n.text); for (Notification storeNotification : store) { if (storeNotification.id == n.id) { @@ -108,7 +108,7 @@ public class NotificationStore { } public void snoozeTo(long timeToSnooze) { - if (Config.logNotification) + if (L.isEnabled(L.NOTIFICATION)) log.debug("Snoozing alarm until: " + timeToSnooze); SP.putLong("snoozedTo", timeToSnooze); } @@ -118,7 +118,7 @@ public class NotificationStore { Notification notification = new Notification(Notification.NSALARM, MainApp.gs(R.string.nsalarm_staledata), Notification.URGENT); SP.putLong("snoozedTo", System.currentTimeMillis()); add(notification); - if (Config.logNotification) + if (L.isEnabled(L.NOTIFICATION)) log.debug("Snoozed to current time and added back notification!"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java index e86772fc36..522964e557 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java @@ -13,6 +13,7 @@ import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.data.ProfileStore; import info.nightscout.androidaps.events.EventProfileStoreChanged; @@ -77,7 +78,7 @@ public class NSProfilePlugin extends PluginBase implements ProfileInterface { MainApp.bus().post(new EventProfileStoreChanged()); MainApp.bus().post(new EventNSProfileUpdateGUI()); } - if (Config.logNsclient) + if (L.isEnabled(L.NSCLIENT)) log.debug("Received profileStore: " + activeProfile + " " + profile); } catch (JSONException e) { log.error("Unhandled exception", e); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java index 7361f15850..7116056657 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java @@ -22,8 +22,6 @@ import java.util.HashSet; import java.util.List; import info.nightscout.androidaps.BuildConfig; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -42,6 +40,7 @@ import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; @@ -71,7 +70,7 @@ import info.nightscout.utils.SP; * Created by mike on 05.08.2016. */ public class ComboPlugin extends PluginBase implements PumpInterface, ConstraintsInterface { - private static final Logger log = LoggerFactory.getLogger(Constants.PUMP); + private static final Logger log = LoggerFactory.getLogger(L.PUMP); static final String COMBO_TBRS_SET = "combo_tbrs_set"; static final String COMBO_BOLUSES_DELIVERED = "combo_boluses_delivered"; @@ -209,14 +208,14 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint public void onClick(DialogInterface dialog, int id) { pluginSwitcher.invoke(); SP.putBoolean("allow_hardware_pump", true); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("First time HW pump allowed!"); } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.cancel(); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("User does not allow switching to HW pump!"); } }); @@ -264,7 +263,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint @Override public void disconnect(String reason) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Disconnect called with reason: " + reason); ruffyScripter.disconnect(); } @@ -364,7 +363,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint */ @Override public synchronized void getPumpStatus() { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("getPumpStatus called"); if (!pump.initialized) { initializePump(); @@ -377,11 +376,11 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint private synchronized void initializePump() { long maxWait = System.currentTimeMillis() + 15 * 1000; while (!ruffyScripter.isPumpAvailable()) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Waiting for ruffy service to come up ..."); SystemClock.sleep(100); if (System.currentTimeMillis() > maxWait) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("ruffy service unavailable, wtf"); return; } @@ -401,7 +400,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint // note that since the history is checked upon every connect, the above already updated // the DB with any changed history records if (pumpHistoryChanged) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Pump history has changed and was imported"); pumpHistoryChanged = false; } @@ -551,7 +550,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint // within the last 1-2 minutes if (Math.abs(previousBolus.amount - detailedBolusInfo.insulin) < 0.01 && previousBolus.timestamp + 60 * 1000 > System.currentTimeMillis()) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Bolus request rejected, same bolus was successfully delivered very recently"); return new PumpEnactResult().success(false).enacted(false) .comment(MainApp.gs(R.string.bolus_frequency_exceeded)); @@ -572,7 +571,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint return new PumpEnactResult().success(false).enacted(false) .comment(MainApp.gs(R.string.combo_error_no_connection_no_bolus_delivered)); } - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Waiting for pump clock to advance for the next unused bolus record timestamp"); SystemClock.sleep(2000); timeCheckResult = runCommand(null, 0, ruffyScripter::readPumpState); @@ -584,7 +583,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION) .putCustomAttribute("version", BuildConfig.VERSION) .putCustomAttribute("waitTimeSecs", String.valueOf(waitDuration))); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Waited " + waitDuration + "s for pump to switch to a fresh minute before bolusing"); } @@ -747,12 +746,12 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint */ @Override public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes, Profile profile, boolean force) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute called with a rate of " + absoluteRate + " for " + durationInMinutes + " min."); int unroundedPercentage = Double.valueOf(absoluteRate / getBaseBasalRate() * 100).intValue(); int roundedPercentage = (int) (Math.round(absoluteRate / getBaseBasalRate() * 10) * 10); if (unroundedPercentage != roundedPercentage) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Rounded requested rate " + unroundedPercentage + "% -> " + roundedPercentage + "%"); } @@ -771,7 +770,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint } private PumpEnactResult setTempBasalPercent(Integer percent, final Integer durationInMinutes) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalPercent called with " + percent + "% for " + durationInMinutes + "min"); if (pumpHistoryChanged && percent > 110) { @@ -782,14 +781,14 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint int adjustedPercent = percent; if (adjustedPercent > pumpDescription.maxTempPercent) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Reducing requested TBR to the maximum support by the pump: " + percent + " -> " + pumpDescription.maxTempPercent); adjustedPercent = pumpDescription.maxTempPercent; } if (adjustedPercent % 10 != 0) { Long rounded = Math.round(adjustedPercent / 10d) * 10; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Rounded requested percentage:" + adjustedPercent + " -> " + rounded); adjustedPercent = rounded.intValue(); } @@ -839,7 +838,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint */ @Override public PumpEnactResult cancelTempBasal(boolean enforceNew) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("cancelTempBasal called"); final TemporaryBasal activeTemp = TreatmentsPlugin.getPlugin().getTempBasalFromHistory(System.currentTimeMillis()); if (enforceNew) { @@ -850,7 +849,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint if (!stateResult.state.tbrActive) { return new PumpEnactResult().success(true).enacted(false); } - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("cancelTempBasal: hard-cancelling TBR since force requested"); CommandResult cancelResult = runCommand(MainApp.gs(R.string.combo_pump_action_cancelling_tbr), 2, ruffyScripter::cancelTbr); if (!cancelResult.success) { @@ -872,7 +871,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint // Let fake neutral temp keep run (see below) // Note that since this runs on the queue a connection is opened regardless, but this // case doesn't occur all that often, so it's not worth optimizing (1.3k SetTBR vs 4 cancelTBR). - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("cancelTempBasal: skipping changing tbr since it already is at " + activeTemp.percentRate + "% and running for another " + activeTemp.getPlannedRemainingMinutes() + " mins."); return new PumpEnactResult().success(true).enacted(true) .comment("cancelTempBasal skipping changing tbr since it already is at " @@ -882,7 +881,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint // Set a fake neutral temp to avoid TBR cancel alert. Decide 90% vs 110% based on // on whether the TBR we're cancelling is above or below 100%. final int percentage = (activeTemp.percentRate > 100) ? 110 : 90; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("cancelTempBasal: changing TBR to " + percentage + "% for 15 mins."); return setTempBasalPercent(percentage, 15); } @@ -922,7 +921,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint if (!commandResult.success && retries > 0) { for (int retryAttempts = 1; !commandResult.success && retryAttempts <= retries; retryAttempts++) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Command was not successful, retries requested, doing retry #" + retryAttempts); commandResult = commandExecution.execute(); } @@ -1004,7 +1003,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint long now = System.currentTimeMillis(); TemporaryBasal aapsTbr = TreatmentsPlugin.getPlugin().getTempBasalFromHistory(now); if (aapsTbr == null || aapsTbr.percentRate != 0) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Creating 15m zero temp since pump is suspended"); TemporaryBasal newTempBasal = new TemporaryBasal() .date(now) @@ -1065,12 +1064,12 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint if (state.pumpTime == 0) { // time couldn't be read (e.g. a warning is displayed on the menu , hiding the time field) } else if (Math.abs(state.pumpTime - System.currentTimeMillis()) >= 10 * 60 * 1000) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Pump clock needs update, pump time: " + state.pumpTime + " (" + new Date(state.pumpTime) + ")"); Notification notification = new Notification(Notification.COMBO_PUMP_ALARM, MainApp.gs(R.string.combo_notification_check_time_date), Notification.URGENT); MainApp.bus().post(new EventNewNotification(notification)); } else if (Math.abs(state.pumpTime - System.currentTimeMillis()) >= 3 * 60 * 1000) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Pump clock needs update, pump time: " + state.pumpTime + " (" + new Date(state.pumpTime) + ")"); Notification notification = new Notification(Notification.COMBO_PUMP_ALARM, MainApp.gs(R.string.combo_notification_check_time_date), Notification.NORMAL); MainApp.bus().post(new EventNewNotification(notification)); @@ -1133,7 +1132,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint long now = System.currentTimeMillis(); TemporaryBasal aapsTbr = TreatmentsPlugin.getPlugin().getTempBasalFromHistory(now); if (aapsTbr == null && state.tbrActive && state.tbrRemainingDuration > 2) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Creating temp basal from pump TBR"); FabricPrivacy.getInstance().logCustom(new CustomEvent("ComboTbrMismatch") .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION) @@ -1146,7 +1145,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint .source(Source.USER); TreatmentsPlugin.getPlugin().addToHistoryTempBasal(newTempBasal); } else if (aapsTbr != null && aapsTbr.getPlannedRemainingMinutes() > 2 && !state.tbrActive) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Ending AAPS-TBR since pump has no TBR active"); FabricPrivacy.getInstance().logCustom(new CustomEvent("ComboTbrMismatch") .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION) @@ -1160,7 +1159,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint } else if (aapsTbr != null && state.tbrActive && (aapsTbr.percentRate != state.tbrPercent || Math.abs(aapsTbr.getPlannedRemainingMinutes() - state.tbrRemainingDuration) > 2)) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("AAPSs and pump-TBR differ; ending AAPS-TBR and creating new TBR based on pump TBR"); FabricPrivacy.getInstance().logCustom(new CustomEvent("ComboTbrMismatch") .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION) @@ -1246,7 +1245,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint // no history, nothing to check or complain about if (quickInfoResult.history == null || quickInfoResult.history.bolusHistory.isEmpty()) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Setting 'pumpHistoryChanged' false"); pumpHistoryChanged = false; return null; @@ -1256,14 +1255,14 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint List initialPumpBolusHistory = quickInfoResult.history.bolusHistory; if (recentBoluses.size() == 1 && initialPumpBolusHistory.size() >= 1 && recentBoluses.get(0).equals(quickInfoResult.history.bolusHistory.get(0))) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Setting 'pumpHistoryChanged' false"); pumpHistoryChanged = false; return null; } else if (recentBoluses.size() == 2 && initialPumpBolusHistory.size() >= 2 && recentBoluses.get(0).equals(quickInfoResult.history.bolusHistory.get(0)) && recentBoluses.get(1).equals(quickInfoResult.history.bolusHistory.get(1))) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Setting 'pumpHistoryChanged' false"); pumpHistoryChanged = false; return null; @@ -1284,7 +1283,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint // for. HashSet bolusSet = new HashSet<>(historyResult.history.bolusHistory); if (bolusSet.size() != historyResult.history.bolusHistory.size()) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Bolus with same amount within the same minute imported. Only one will make it to the DB."); FabricPrivacy.getInstance().logCustom(new CustomEvent("ComboBolusToDbError") .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION) @@ -1298,7 +1297,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint pumpHistoryChanged = updateDbFromPumpHistory(historyResult.history); if (pumpHistoryChanged) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Setting 'pumpHistoryChanged' true"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java index 434630d14a..81f301b81b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/AbstractDanaRPlugin.java @@ -10,8 +10,6 @@ import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.BuildConfig; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; @@ -28,6 +26,7 @@ import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.ProfileInterface; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; @@ -45,7 +44,7 @@ import info.nightscout.utils.SP; */ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInterface, DanaRInterface, ConstraintsInterface, ProfileInterface { - protected Logger log = LoggerFactory.getLogger(Constants.PUMP); + protected Logger log = LoggerFactory.getLogger(L.PUMP); protected AbstractDanaRExecutionService sExecutionService; @@ -135,7 +134,7 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte Double profileValue = profile.getBasalTimeFromMidnight(h * basalIncrement); if (profileValue == null) return true; if (Math.abs(pumpValue - profileValue) > getPumpDescription().basalStep) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Diff found. Hour: " + h + " Pump: " + pumpValue + " Profile: " + profileValue); return false; } @@ -186,7 +185,7 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalPercent: Correct value already set"); return result; } @@ -200,7 +199,7 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalPercent: OK"); return result; } @@ -228,7 +227,7 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte result.absolute = pump.extendedBolusAbsoluteRate; result.isPercent = false; result.isTempCancel = false; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setExtendedBolus: Correct extended bolus already set. Current: " + pump.extendedBolusAmount + " Asked: " + insulin); return result; } @@ -243,7 +242,7 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte if (!SP.getBoolean("danar_useextended", false)) result.bolusDelivered = pump.extendedBolusAmount; result.isPercent = false; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setExtendedBolus: OK"); return result; } @@ -266,7 +265,7 @@ public abstract class AbstractDanaRPlugin extends PluginBase implements PumpInte if (!pump.isExtendedInProgress) { result.success = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("cancelExtendedBolus: OK"); return result; } else { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java index db1b10ddbe..f261bc470d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java @@ -23,8 +23,6 @@ import org.slf4j.LoggerFactory; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.activities.TDDStatsActivity; @@ -33,6 +31,7 @@ import info.nightscout.androidaps.events.EventExtendedBolusChange; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.events.EventTempBasalChange; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.PumpDanaR.Dialogs.ProfileViewDialog; @@ -47,7 +46,7 @@ import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.SetWarnColor; public class DanaRFragment extends SubscriberFragment { - private static Logger log = LoggerFactory.getLogger(Constants.PUMP); + private static Logger log = LoggerFactory.getLogger(L.PUMP); private Handler loopHandler = new Handler(); private Runnable refreshLoop = new Runnable() { @@ -146,7 +145,7 @@ public class DanaRFragment extends SubscriberFragment { @OnClick(R.id.danar_btconnection) void onBtConnectionClick() { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Clicked connect to pump"); DanaRPump.getInstance().lastConnection = 0; ConfigBuilderPlugin.getCommandQueue().readStatus("Clicked connect to pump", null); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java index b600417a3a..68ea3fe851 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java @@ -11,9 +11,6 @@ import android.support.v7.app.AlertDialog; import com.squareup.otto.Subscribe; -import org.slf4j.LoggerFactory; - -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -21,6 +18,7 @@ import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.db.ExtendedBolus; import info.nightscout.androidaps.db.TemporaryBasal; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusStartWithSpeed; import info.nightscout.androidaps.plugins.Treatments.Treatment; @@ -93,14 +91,14 @@ public class DanaRPlugin extends AbstractDanaRPlugin { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.invoke(); SP.putBoolean("allow_hardware_pump", true); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("First time HW pump allowed!"); } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.cancel(); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("User does not allow switching to HW pump!"); } }); @@ -128,13 +126,13 @@ public class DanaRPlugin extends AbstractDanaRPlugin { private ServiceConnection mConnection = new ServiceConnection() { public void onServiceDisconnected(ComponentName name) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Service is disconnected"); sExecutionService = null; } public void onServiceConnected(ComponentName name, IBinder service) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Service is connected"); DanaRExecutionService.LocalBinder mLocalBinder = (DanaRExecutionService.LocalBinder) service; sExecutionService = mLocalBinder.getServiceInstance(); @@ -198,7 +196,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { result.comment = String.format(MainApp.gs(R.string.boluserrorcode), detailedBolusInfo.insulin, t.insulin, MsgBolusStartWithSpeed.errorCode); else result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered); detailedBolusInfo.insulin = t.insulin; detailedBolusInfo.date = System.currentTimeMillis(); @@ -240,13 +238,13 @@ public class DanaRPlugin extends AbstractDanaRPlugin { if (doTempOff) { // If extended in progress if (activeExtended != null && useExtendedBoluses) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Stopping extended bolus (doTempOff)"); return cancelExtendedBolus(); } // If temp in progress if (activeTemp != null) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Stopping temp basal (doTempOff)"); return cancelRealTempBasal(); } @@ -255,7 +253,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { result.percent = 100; result.isPercent = true; result.isTempCancel = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: doTempOff OK"); return result; } @@ -267,12 +265,12 @@ public class DanaRPlugin extends AbstractDanaRPlugin { if (percentRate > getPumpDescription().maxTempPercent) { percentRate = getPumpDescription().maxTempPercent; } - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Calculated percent rate: " + percentRate); // If extended in progress if (activeExtended != null && useExtendedBoluses) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Stopping extended bolus (doLowTemp || doHighTemp)"); result = cancelExtendedBolus(); if (!result.success) { @@ -283,7 +281,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { // Check if some temp is already in progress if (activeTemp != null) { // Correct basal already set ? - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: currently running: " + activeTemp.toString()); if (activeTemp.percentRate == percentRate) { if (enforceNew) { @@ -295,21 +293,21 @@ public class DanaRPlugin extends AbstractDanaRPlugin { result.duration = activeTemp.getPlannedRemainingMinutes(); result.isPercent = true; result.isTempCancel = false; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)"); return result; } } } // Convert duration from minutes to hours - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Setting temp basal " + percentRate + "% for " + durationInMinutes + " mins (doLowTemp || doHighTemp)"); return setTempBasalPercent(percentRate, durationInMinutes, profile, false); } if (doExtendedTemp) { // Check if some temp is already in progress if (activeTemp != null) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Stopping temp basal (doExtendedTemp)"); result = cancelRealTempBasal(); // Check for proper result @@ -328,7 +326,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { extendedRateToSet = Round.roundTo(extendedRateToSet, pumpDescription.extendedBolusStep * 2); // *2 because of halfhours // What is current rate of extended bolusing in u/h? - if (Config.logPump) { + if (L.isEnabled(L.PUMP)) { log.debug("setTempBasalAbsolute: Extended bolus in progress: " + (activeExtended != null) + " rate: " + pump.extendedBolusAbsoluteRate + "U/h duration remaining: " + pump.extendedBolusRemainingMinutes + "min"); log.debug("setTempBasalAbsolute: Rate to set: " + extendedRateToSet + "U/h"); } @@ -342,21 +340,21 @@ public class DanaRPlugin extends AbstractDanaRPlugin { result.duration = pump.extendedBolusRemainingMinutes; result.isPercent = false; result.isTempCancel = false; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Correct extended already set"); return result; } // Now set new extended, no need to to stop previous (if running) because it's replaced Double extendedAmount = extendedRateToSet / 2 * durationInHalfHours; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Setting extended: " + extendedAmount + "U halfhours: " + durationInHalfHours); result = setExtendedBolus(extendedAmount, durationInMinutes); if (!result.success) { log.error("setTempBasalAbsolute: Failed to set extended bolus"); return result; } - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Extended bolus set ok"); result.absolute = result.absolute + getBaseBasalRate(); return result; @@ -395,7 +393,7 @@ public class DanaRPlugin extends AbstractDanaRPlugin { result.success = true; result.isTempCancel = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("cancelRealTempBasal: OK"); return result; } else { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPump.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPump.java index f5c7f7f652..b5c1e6030e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPump.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPump.java @@ -9,18 +9,18 @@ import org.slf4j.LoggerFactory; import java.text.DecimalFormat; import java.util.Date; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.ProfileStore; +import info.nightscout.androidaps.logging.L; import info.nightscout.utils.SP; /** * Created by mike on 04.07.2016. */ public class DanaRPump { - private Logger log = LoggerFactory.getLogger(Constants.PUMP); + private Logger log = LoggerFactory.getLogger(L.PUMP); private static DanaRPump instance = null; @@ -242,7 +242,7 @@ public class DanaRPump { //Some values get truncated to the next lower one. // -> round them to two decimals and make sure we are a small delta larger (that will get truncated) double value = Math.round(100d * nsProfile.getBasalTimeFromMidnight((Integer) (hour * 60 * 60)))/100d + 0.00001; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("NS basal value for " + hour + ":00 is " + value); record[hour] = value; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/SerialIOThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/SerialIOThread.java index 295393cc1a..a319353d63 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/SerialIOThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/SerialIOThread.java @@ -10,8 +10,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageHashTable; import info.nightscout.androidaps.plugins.PumpDanaR.services.AbstractSerialIOThread; @@ -21,7 +20,7 @@ import info.nightscout.utils.CRC; * Created by mike on 17.07.2016. */ public class SerialIOThread extends AbstractSerialIOThread { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPBTCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPBTCOMM); private InputStream mInputStream = null; private OutputStream mOutputStream = null; @@ -72,7 +71,7 @@ public class SerialIOThread extends AbstractSerialIOThread { message = MessageHashTable.findMessage(command); } - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("<<<<< " + message.getMessageName() + " " + message.toHexString(extractedBuff)); // process the message content @@ -148,7 +147,7 @@ public class SerialIOThread extends AbstractSerialIOThread { processedMessage = message; byte[] messageBytes = message.getRawMessageBytes(); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(">>>>> " + message.getMessageName() + " " + message.toHexString(messageBytes)); try { @@ -170,7 +169,7 @@ public class SerialIOThread extends AbstractSerialIOThread { log.warn("Reply not received " + message.getMessageName()); if (message.getCommand() == 0xF0F1) { DanaRPump.getInstance().isNewPump = false; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Old firmware detected"); } } @@ -182,28 +181,28 @@ public class SerialIOThread extends AbstractSerialIOThread { try { mInputStream.close(); } catch (Exception e) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(e.getMessage()); } try { mOutputStream.close(); } catch (Exception e) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(e.getMessage()); } try { mRfCommSocket.close(); } catch (Exception e) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(e.getMessage()); } try { System.runFinalization(); } catch (Exception e) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(e.getMessage()); } - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("Disconnected: " + reason); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRHistoryActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRHistoryActivity.java index 154c08ee95..444a11b5c4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRHistoryActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRHistoryActivity.java @@ -24,7 +24,6 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -32,6 +31,7 @@ import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.DanaRHistoryRecord; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus; @@ -43,7 +43,7 @@ import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.ToastUtils; public class DanaRHistoryActivity extends Activity { - private static Logger log = LoggerFactory.getLogger(Constants.PUMP); + private static Logger log = LoggerFactory.getLogger(L.PUMP); private Handler mHandler; @@ -349,7 +349,7 @@ public class DanaRHistoryActivity extends Activity { @Subscribe public void onStatusEvent(final EventDanaRSyncStatus s) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("EventDanaRSyncStatus: " + s.message); runOnUiThread( () -> statusView.setText(s.message)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java index 0697389c48..36bad4f6fa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java @@ -8,13 +8,12 @@ import org.slf4j.LoggerFactory; import java.util.Calendar; import java.util.List; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.db.DanaRHistoryRecord; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus; import info.nightscout.utils.DateUtil; @@ -25,7 +24,7 @@ import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; */ public class DanaRNSHistorySync { - private static Logger log = LoggerFactory.getLogger(Constants.PUMP); + private static Logger log = LoggerFactory.getLogger(L.PUMP); private List historyRecords; public final static int SYNC_BOLUS = 0b00000001; @@ -50,7 +49,7 @@ public class DanaRNSHistorySync { long records = historyRecords.size(); long processing = 0; long uploaded = 0; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Database contains " + records + " records"); EventDanaRSyncStatus ev = new EventDanaRSyncStatus(); for (DanaRHistoryRecord record : historyRecords) { @@ -64,7 +63,7 @@ public class DanaRNSHistorySync { if ((what & SYNC_BOLUS) == 0) break; switch (record.bolusType) { case "S": - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Syncing standard bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "Meal Bolus"); @@ -77,7 +76,7 @@ public class DanaRNSHistorySync { break; case "E": if (record.recordDuration > 0) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Syncing extended bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", CareportalEvent.COMBOBOLUS); @@ -94,12 +93,12 @@ public class DanaRNSHistorySync { uploaded++; ev.message += MainApp.gs(R.string.danar_ebolus); } else { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("NOT Syncing extended bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate) + " zero duration"); } break; case "DS": - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Syncing dual(S) bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", CareportalEvent.COMBOBOLUS); @@ -113,7 +112,7 @@ public class DanaRNSHistorySync { ev.message += MainApp.gs(R.string.danar_dsbolus); break; case "DE": - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Syncing dual(E) bolus record " + record.recordValue + "U " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", CareportalEvent.COMBOBOLUS); @@ -136,7 +135,7 @@ public class DanaRNSHistorySync { break; case RecordTypes.RECORD_TYPE_ERROR: if ((what & SYNC_ERROR) == 0) break; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Syncing error record " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "Note"); @@ -149,7 +148,7 @@ public class DanaRNSHistorySync { break; case RecordTypes.RECORD_TYPE_REFILL: if ((what & SYNC_REFILL) == 0) break; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Syncing refill record " + record.recordValue + " " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "Insulin Change"); @@ -162,7 +161,7 @@ public class DanaRNSHistorySync { break; case RecordTypes.RECORD_TYPE_BASALHOUR: if ((what & SYNC_BASALHOURS) == 0) break; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Syncing basal hour record " + record.recordValue + " " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", CareportalEvent.TEMPBASAL); @@ -179,7 +178,7 @@ public class DanaRNSHistorySync { break; case RecordTypes.RECORD_TYPE_GLUCOSE: if ((what & SYNC_GLUCOSE) == 0) break; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Syncing glucose record " + record.recordValue + " " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "BG Check"); @@ -193,7 +192,7 @@ public class DanaRNSHistorySync { break; case RecordTypes.RECORD_TYPE_CARBO: if ((what & SYNC_CARBO) == 0) break; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Syncing carbo record " + record.recordValue + "g " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "Meal Bolus"); @@ -206,7 +205,7 @@ public class DanaRNSHistorySync { break; case RecordTypes.RECORD_TYPE_ALARM: if ((what & SYNC_ALARM) == 0) break; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Syncing alarm record " + record.recordAlarm + " " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "Note"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRUserOptionsActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRUserOptionsActivity.java index f0af9c863a..336c526d82 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRUserOptionsActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRUserOptionsActivity.java @@ -14,12 +14,12 @@ import org.slf4j.LoggerFactory; import java.text.DecimalFormat; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventInitializationChanged; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaRS.DanaRSPlugin; @@ -31,7 +31,7 @@ import info.nightscout.utils.NumberPicker; */ public class DanaRUserOptionsActivity extends Activity { - private static Logger log = LoggerFactory.getLogger(Constants.PUMP); + private static Logger log = LoggerFactory.getLogger(L.PUMP); Switch timeFormat; Switch buttonScroll; @@ -86,7 +86,7 @@ public class DanaRUserOptionsActivity extends Activity { DanaRPump pump = DanaRPump.getInstance(); //used for debugging - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("UserOptionsLoaded:" + (System.currentTimeMillis() - pump.lastConnection) / 1000 + " s ago" + "\ntimeDisplayType:" + pump.timeDisplayType + "\nbuttonScroll:" + pump.buttonScrollOnOff diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageBase.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageBase.java index 31da5c9f21..b48940807d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageBase.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageBase.java @@ -12,8 +12,7 @@ import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.utils.CRC; /* @@ -23,7 +22,7 @@ import info.nightscout.utils.CRC; */ public class MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); protected byte[] buffer = new byte[512]; private int position = 6; @@ -96,7 +95,7 @@ public class MessageBase { } public void handleMessage(byte[] bytes) { - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (bytes.length > 6) { int command = (bytes[5] & 0xFF) | ((bytes[4] << 8) & 0xFF00); log.debug("UNPROCESSED MSG: " + getMessageName() + " Command: " + String.format("%04X", command) + " Data: " + toHexString(bytes)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageOriginalNames.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageOriginalNames.java index 1c656060f0..a285ce5120 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageOriginalNames.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageOriginalNames.java @@ -5,13 +5,13 @@ import org.slf4j.LoggerFactory; import java.util.HashMap; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 28.05.2016. */ public class MessageOriginalNames { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private static HashMap messageNames; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusProgress.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusProgress.java index dbff4ec3dc..873824f966 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusProgress.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusProgress.java @@ -3,15 +3,14 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.Treatments.Treatment; public class MsgBolusProgress extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private static Treatment t; private static double amount; @@ -28,7 +27,7 @@ public class MsgBolusProgress extends MessageBase { this.amount = amount; this.t = t; lastReceive = System.currentTimeMillis(); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message: amount: " + amount + " treatment: " + t.toString()); } @@ -43,7 +42,7 @@ public class MsgBolusProgress extends MessageBase { bolusingEvent.t = t; bolusingEvent.percent = Math.min((int) (done / amount * 100), 100); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Bolus remaining: " + progress + " delivered: " + done); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java index 7932db46a3..06200d1f0c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java @@ -3,13 +3,12 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.interfaces.Constraint; +import info.nightscout.androidaps.logging.L; public class MsgBolusStart extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public static int errorCode; @@ -25,7 +24,7 @@ public class MsgBolusStart extends MessageBase { AddParamInt((int) (amount * 100)); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Bolus start : " + amount); } @@ -34,10 +33,10 @@ public class MsgBolusStart extends MessageBase { errorCode = intFromBuff(bytes, 0, 1); if (errorCode != 2) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Messsage response: " + errorCode + " FAILED!!"); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Messsage response: " + errorCode + " OK"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStartWithSpeed.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStartWithSpeed.java index 5f2a368a58..a3160ff887 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStartWithSpeed.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStartWithSpeed.java @@ -3,13 +3,12 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.interfaces.Constraint; +import info.nightscout.androidaps.logging.L; public class MsgBolusStartWithSpeed extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public static int errorCode; @@ -26,7 +25,7 @@ public class MsgBolusStartWithSpeed extends MessageBase { AddParamInt((int) (amount * 100)); AddParamByte((byte) speed); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Bolus start : " + amount + " speed: " + speed); } @@ -35,10 +34,10 @@ public class MsgBolusStartWithSpeed extends MessageBase { errorCode = intFromBuff(bytes, 0, 1); if (errorCode != 2) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Messsage response: " + errorCode + " FAILED!!"); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Messsage response: " + errorCode + " OK"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStop.java index d03a12ea84..fe5d47c131 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStop.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStop.java @@ -3,15 +3,14 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.Treatments.Treatment; public class MsgBolusStop extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private static Treatment t; private static Double amount; @@ -28,13 +27,13 @@ public class MsgBolusStop extends MessageBase { this.t = t; this.amount = amount; forced = false; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Bolus stop: amount: " + amount + " treatment: " + t.toString()); } @Override public void handleMessage(byte[] bytes) { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Messsage received"); EventOverviewBolusProgress bolusingEvent = EventOverviewBolusProgress.getInstance(); stopped = true; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgCheckValue.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgCheckValue.java index a8171774b6..e04d9243e7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgCheckValue.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgCheckValue.java @@ -3,9 +3,8 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; @@ -13,11 +12,11 @@ import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; * Created by mike on 30.06.2016. */ public class MsgCheckValue extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgCheckValue() { SetCommand(0xF0F1); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -26,7 +25,7 @@ public class MsgCheckValue extends MessageBase { DanaRPump pump = DanaRPump.getInstance(); pump.isNewPump = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New firmware confirmed"); pump.model = intFromBuff(bytes, 0, 1); @@ -37,7 +36,7 @@ public class MsgCheckValue extends MessageBase { log.debug("Wrong model selected"); } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Model: " + String.format("%02X ", pump.model)); log.debug("Protocol: " + String.format("%02X ", pump.protocol)); log.debug("Product Code: " + String.format("%02X ", pump.productCode)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java index 8c41d47c7f..b5d4267203 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java @@ -3,19 +3,18 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; public class MsgError extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgError() { SetCommand(0x0601); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -50,7 +49,7 @@ public class MsgError extends MessageBase { bolusingEvent.status = errorString; MainApp.bus().post(bolusingEvent); } - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Error detected: " + errorString); NSUpload.uploadError(errorString); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAlarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAlarm.java index 686bb3eb85..7adb335e93 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAlarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAlarm.java @@ -3,17 +3,16 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 20.07.2016. */ public class MsgHistoryAlarm extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgHistoryAlarm() { SetCommand(0x3105); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } // Handle message taken from MsgHistoryAll diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAll.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAll.java index e9da6ef92a..a0e1075056 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAll.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAll.java @@ -5,19 +5,18 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.db.DanaRHistoryRecord; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus; import info.nightscout.utils.DateUtil; public class MsgHistoryAll extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgHistoryAll() { SetCommand(0x41F2); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAllDone.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAllDone.java index c4c27da436..e78771f99d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAllDone.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAllDone.java @@ -3,24 +3,23 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class MsgHistoryAllDone extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public static boolean received = false; public MsgHistoryAllDone() { SetCommand(0x41F1); received = false; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @Override public void handleMessage(byte[] bytes) { received = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("History all done received"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBasalHour.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBasalHour.java index d288914395..f56e2af273 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBasalHour.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBasalHour.java @@ -3,17 +3,16 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 20.07.2016. */ public class MsgHistoryBasalHour extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgHistoryBasalHour() { SetCommand(0x310A); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } // Handle message taken from MsgHistoryAll diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBolus.java index d89891e652..d675ddc488 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBolus.java @@ -3,18 +3,17 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 20.07.2016. */ public class MsgHistoryBolus extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgHistoryBolus() { SetCommand(0x3101); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } // Handle message taken from MsgHistoryAll diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryCarbo.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryCarbo.java index 5114b190c6..6755800bba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryCarbo.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryCarbo.java @@ -3,17 +3,16 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 20.07.2016. */ public class MsgHistoryCarbo extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgHistoryCarbo() { SetCommand(0x3107); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } // Handle message taken from MsgHistoryAll diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDailyInsulin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDailyInsulin.java index 51765af0d1..68d46f0d20 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDailyInsulin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDailyInsulin.java @@ -3,17 +3,16 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 20.07.2016. */ public class MsgHistoryDailyInsulin extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgHistoryDailyInsulin() { SetCommand(0x3102); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } // Handle message taken from MsgHistoryAll diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDone.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDone.java index a507bef445..63e51e24ba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDone.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDone.java @@ -3,27 +3,26 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 20.07.2016. */ public class MsgHistoryDone extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public static boolean received = false; public MsgHistoryDone() { SetCommand(0x31F1); received = false; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @Override public void handleMessage(byte[] bytes) { received = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("History done received"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryError.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryError.java index 5c57a4f9f3..8d6d0615d4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryError.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryError.java @@ -3,18 +3,17 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 20.07.2016. */ public class MsgHistoryError extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgHistoryError() { SetCommand(0x3106); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } // Handle message taken from MsgHistoryAll diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryGlucose.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryGlucose.java index 2eeee09057..10fd68e3ab 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryGlucose.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryGlucose.java @@ -3,18 +3,17 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 20.07.2016. */ public class MsgHistoryGlucose extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgHistoryGlucose() { SetCommand(0x3104); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } // Handle message taken from MsgHistoryAll diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNew.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNew.java index 7213ddef9d..01f7197434 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNew.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNew.java @@ -3,18 +3,17 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 20.07.2016. */ public class MsgHistoryNew extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgHistoryNew() { SetCommand(0x42F2); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } // Handle message taken from MsgHistoryAll diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNewDone.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNewDone.java index 33c820d158..fb9118e629 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNewDone.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNewDone.java @@ -3,27 +3,26 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 20.07.2016. */ public class MsgHistoryNewDone extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public static boolean received = false; public MsgHistoryNewDone() { SetCommand(0x42F1); received = false; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @Override public void handleMessage(byte[] bytes) { received = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("History new done received"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryRefill.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryRefill.java index 582e76e3ff..238a606cfb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryRefill.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryRefill.java @@ -3,18 +3,17 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 20.07.2016. */ public class MsgHistoryRefill extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgHistoryRefill() { SetCommand(0x3108); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } // Handle message taken from MsgHistoryAll diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistorySuspend.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistorySuspend.java index 8d209fc13e..7182722f97 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistorySuspend.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistorySuspend.java @@ -3,18 +3,17 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 20.07.2016. */ public class MsgHistorySuspend extends MsgHistoryAll { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgHistorySuspend() { SetCommand(0x3109); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } // Handle message taken from MsgHistoryAll diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBasic.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBasic.java index 8d71ed9e1d..61150079cd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBasic.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBasic.java @@ -3,16 +3,15 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class MsgInitConnStatusBasic extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgInitConnStatusBasic() { SetCommand(0x0303); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -42,7 +41,7 @@ public class MsgInitConnStatusBasic extends MessageBase { boolean deliveryStepBolus = (bolusConfig & DanaRPump.DELIVERY_STEP_BOLUS) != 0; boolean deliveryBasal = (bolusConfig & DanaRPump.DELIVERY_BASAL) != 0; boolean deliveryExtBolus = (bolusConfig & DanaRPump.DELIVERY_EXT_BOLUS) != 0; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Delivery prime: " + deliveryPrime); log.debug("Delivery step bolus: " + deliveryStepBolus); log.debug("Delivery basal: " + deliveryBasal); @@ -52,7 +51,7 @@ public class MsgInitConnStatusBasic extends MessageBase { log.error("Unhadled exception", e); } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Pump suspended: " + pump.pumpSuspended); log.debug("Calculator enabled: " + pump.calculatorEnabled); log.debug("Daily total units: " + pump.dailyTotalUnits); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBolus.java index 163bf7d252..49e00e1bbb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBolus.java @@ -3,10 +3,9 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; @@ -16,11 +15,11 @@ import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; * Created by mike on 28.05.2016. */ public class MsgInitConnStatusBolus extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgInitConnStatusBolus() { SetCommand(0x0302); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -37,7 +36,7 @@ public class MsgInitConnStatusBolus extends MessageBase { pump.maxBolus = intFromBuff(bytes, 2, 2) / 100d; //int bolusRate = intFromBuff(bytes, 4, 8); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Is Extended bolus enabled: " + pump.isExtendedBolusEnabled); log.debug("Bolus increment: " + pump.bolusStep); log.debug("Bolus max: " + pump.maxBolus); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusOption.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusOption.java index 2ff0e77636..c3b73c0ae1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusOption.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusOption.java @@ -3,19 +3,18 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; /** * Created by mike on 28.05.2016. */ public class MsgInitConnStatusOption extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgInitConnStatusOption() { SetCommand(0x0304); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -32,7 +31,7 @@ public class MsgInitConnStatusOption extends MessageBase { //int none = intFromBuff(bytes, 8, 1); if (bytes.length >= 21) { DanaRPump.getInstance().password = intFromBuff(bytes, 9, 2) ^ 0x3463; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Pump password: " + DanaRPump.getInstance().password); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusTime.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusTime.java index 1cb10b0d28..93bea19218 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusTime.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusTime.java @@ -5,12 +5,11 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventRefreshGui; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; @@ -19,11 +18,11 @@ import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; public class MsgInitConnStatusTime extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgInitConnStatusTime() { SetCommand(0x0301); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -56,7 +55,7 @@ public class MsgInitConnStatusTime extends MessageBase { Date time = dateTimeSecFromBuff(bytes, 0); int versionCode = intFromBuff(bytes, 6, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Pump time: " + time); log.debug("Version code: " + versionCode); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStart.java index ea01c94ad3..6f92c3241c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStart.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStart.java @@ -3,21 +3,20 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class MsgPCCommStart extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgPCCommStart() { SetCommand(0x3001); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @Override public void handleMessage(byte[] bytes) { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("PC comm start received"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStop.java index e53d71b611..255bb17532 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStop.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStop.java @@ -3,20 +3,19 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class MsgPCCommStop extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgPCCommStop() { SetCommand(0x3002); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @Override public void handleMessage(byte[] bytes) { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("PC comm stop received"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetActivateBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetActivateBasalProfile.java index 8da1f48586..2d222f9601 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetActivateBasalProfile.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetActivateBasalProfile.java @@ -3,15 +3,14 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class MsgSetActivateBasalProfile extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSetActivateBasalProfile() { SetCommand(0x330C); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -19,7 +18,7 @@ public class MsgSetActivateBasalProfile extends MessageBase { public MsgSetActivateBasalProfile(byte index) { this(); AddParamByte(index); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Activate basal profile: " + index); } @@ -28,10 +27,10 @@ public class MsgSetActivateBasalProfile extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Activate basal profile result: " + result + " FAILED!!!"); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Activate basal profile result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetBasalProfile.java index c95a49f89f..3e87e4bf41 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetBasalProfile.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetBasalProfile.java @@ -3,19 +3,18 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; public class MsgSetBasalProfile extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSetBasalProfile() { SetCommand(0x3306); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -26,7 +25,7 @@ public class MsgSetBasalProfile extends MessageBase { for (Integer i = 0; i < 24; i++) { AddParamInt((int) (values[i] * 100)); } - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set basal profile: " + index); } @@ -35,12 +34,12 @@ public class MsgSetBasalProfile extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set basal profile result: " + result + " FAILED!!!"); Notification reportFail = new Notification(Notification.PROFILE_SET_FAILED, MainApp.gs(R.string.profile_set_failed), Notification.URGENT); MainApp.bus().post(new EventNewNotification(reportFail)); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set basal profile result: " + result); Notification reportOK = new Notification(Notification.PROFILE_SET_OK, MainApp.gs(R.string.profile_set_ok), Notification.INFO, 60); MainApp.bus().post(new EventNewNotification(reportOK)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetCarbsEntry.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetCarbsEntry.java index e446c2498a..59cbcdafa0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetCarbsEntry.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetCarbsEntry.java @@ -5,15 +5,14 @@ import org.slf4j.LoggerFactory; import java.util.Calendar; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class MsgSetCarbsEntry extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSetCarbsEntry() { SetCommand(0x0402); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -30,7 +29,7 @@ public class MsgSetCarbsEntry extends MessageBase { AddParamByte((byte) (calendar.get(Calendar.SECOND))); AddParamByte((byte) 0x43); //?? AddParamInt(amount); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set carb entry: " + amount + " date " + calendar.getTime().toString()); } @@ -39,10 +38,10 @@ public class MsgSetCarbsEntry extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set carb entry result: " + result + " FAILED!!!"); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set carb entry result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStart.java index 6de2fc251c..a7f2a0e1b8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStart.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStart.java @@ -3,17 +3,16 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.interfaces.Constraint; +import info.nightscout.androidaps.logging.L; public class MsgSetExtendedBolusStart extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSetExtendedBolusStart() { SetCommand(0x0407); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -27,7 +26,7 @@ public class MsgSetExtendedBolusStart extends MessageBase { AddParamInt((int) (amount * 100)); AddParamByte(halfhours); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set extended bolus start: " + (((int) (amount * 100)) / 100d) + "U halfhours: " + (int) halfhours); } @@ -36,10 +35,10 @@ public class MsgSetExtendedBolusStart extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set extended bolus start result: " + result + " FAILED!!!"); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set extended bolus start result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStop.java index 01060b290d..504db719ea 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStop.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStop.java @@ -3,15 +3,14 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class MsgSetExtendedBolusStop extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSetExtendedBolusStop() { SetCommand(0x0406); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -20,10 +19,10 @@ public class MsgSetExtendedBolusStop extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set extended bolus stop result: " + result + " FAILED!!!"); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set extended bolus stop result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetSingleBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetSingleBasalProfile.java index 9d84650d01..eabf383b94 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetSingleBasalProfile.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetSingleBasalProfile.java @@ -3,15 +3,14 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; public class MsgSetSingleBasalProfile extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSetSingleBasalProfile() { SetCommand(0x3302); @@ -23,7 +22,7 @@ public class MsgSetSingleBasalProfile extends MessageBase { for (Integer i = 0; i < 24; i++) { AddParamInt((int) (values[i] * 100)); } - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -32,12 +31,12 @@ public class MsgSetSingleBasalProfile extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set basal profile result: " + result + " FAILED!!!"); Notification reportFail = new Notification(Notification.PROFILE_SET_FAILED, MainApp.gs(R.string.profile_set_failed), Notification.URGENT); MainApp.bus().post(new EventNewNotification(reportFail)); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set basal profile result: " + result); Notification reportOK = new Notification(Notification.PROFILE_SET_OK, MainApp.gs(R.string.profile_set_ok), Notification.INFO, 60); MainApp.bus().post(new EventNewNotification(reportOK)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStart.java index d688fd9698..c756af3491 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStart.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStart.java @@ -3,11 +3,10 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class MsgSetTempBasalStart extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSetTempBasalStart() { SetCommand(0x0401); @@ -25,7 +24,7 @@ public class MsgSetTempBasalStart extends MessageBase { AddParamByte((byte) (percent & 255)); AddParamByte((byte) (durationInHours & 255)); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Temp basal start percent: " + percent + " duration hours: " + durationInHours); } @@ -33,10 +32,10 @@ public class MsgSetTempBasalStart extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set temp basal start result: " + result + " FAILED!!!"); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set temp basal start result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStop.java index dc9812a225..7b14e8e3e3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStop.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStop.java @@ -3,15 +3,14 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class MsgSetTempBasalStop extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSetTempBasalStop() { SetCommand(0x0403); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Temp basal stop"); } @@ -19,10 +18,10 @@ public class MsgSetTempBasalStop extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set temp basal stop result: " + result + " FAILED!!!"); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set temp basal stop result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTime.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTime.java index a5ef58fbd6..6d33aef8cf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTime.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTime.java @@ -5,8 +5,7 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.utils.DateUtil; /** @@ -14,21 +13,21 @@ import info.nightscout.utils.DateUtil; */ public class MsgSetTime extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private static Date time; public MsgSetTime(Date time) { SetCommand(0x330a); this.time = time; AddParamDateTime(time); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message: time:" + DateUtil.dateAndTimeString(time)); } public void handleMessage(byte[] bytes) { int result = intFromBuff(bytes, 0, 1); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Result of setting time: " + time + " is " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetUserOptions.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetUserOptions.java index 02c16aff69..7484966dba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetUserOptions.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetUserOptions.java @@ -3,8 +3,7 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; /** @@ -12,7 +11,7 @@ import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; */ public class MsgSetUserOptions extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public boolean done; @@ -36,7 +35,7 @@ public class MsgSetUserOptions extends MessageBase { for (int i = 0; i < pump.userOptionsFrompump.length; i++) { AddParamByte(pump.userOptionsFrompump[i]); } - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -44,10 +43,10 @@ public class MsgSetUserOptions extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Setting user options: " + result + " FAILED!!!"); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Setting user options: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingActiveProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingActiveProfile.java index 1261802a23..57ab6367b0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingActiveProfile.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingActiveProfile.java @@ -3,26 +3,25 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; /** * Created by mike on 05.07.2016. */ public class MsgSettingActiveProfile extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingActiveProfile() { SetCommand(0x320C); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } public void handleMessage(byte[] bytes) { DanaRPump.getInstance().activeProfile = intFromBuff(bytes, 0, 1); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Active profile number: " + DanaRPump.getInstance().activeProfile); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasal.java index bb9abdc090..899a5a08f0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasal.java @@ -3,8 +3,7 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; @@ -12,11 +11,11 @@ import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; * Created by mike on 05.07.2016. */ public class MsgSettingBasal extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingBasal() { SetCommand(0x3202); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -30,7 +29,7 @@ public class MsgSettingBasal extends MessageBase { pump.pumpProfiles[pump.activeProfile][index] = basal / 100d; } - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) for (int index = 0; index < 24; index++) { log.debug("Basal " + String.format("%02d", index) + "h: " + pump.pumpProfiles[pump.activeProfile][index]); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasalProfileAll.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasalProfileAll.java index 5f343d89e5..cca35401d9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasalProfileAll.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasalProfileAll.java @@ -3,8 +3,7 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; @@ -15,11 +14,11 @@ import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; * THIS IS BROKEN IN PUMP... SENDING ONLY 1 PROFILE */ public class MsgSettingBasalProfileAll extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingBasalProfileAll() { SetCommand(0x3206); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -44,14 +43,14 @@ public class MsgSettingBasalProfileAll extends MessageBase { for (int index = 0; index < 24; index++) { int basal = intFromBuff(bytes, 59 * profile + 2 * index + 1, 2); if (basal < 10) basal = 0; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("position " + position + " index " + index); pump.pumpProfiles[position][index] = basal / 100d; } } } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (pump.basal48Enable) { for (int profile = 0; profile < 4; profile++) { for (int index = 0; index < 24; index++) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingGlucose.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingGlucose.java index 9256e2df2b..ded78c6272 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingGlucose.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingGlucose.java @@ -3,19 +3,18 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; /** * Created by mike on 05.07.2016. */ public class MsgSettingGlucose extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingGlucose() { SetCommand(0x3209); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -24,7 +23,7 @@ public class MsgSettingGlucose extends MessageBase { pump.units = intFromBuff(bytes, 0, 1); pump.easyBasalMode = intFromBuff(bytes, 1, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Pump units: " + (pump.units == DanaRPump.UNITS_MGDL ? "MGDL" : "MMOL")); log.debug("Easy basal mode: " + pump.easyBasalMode); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMaxValues.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMaxValues.java index 4d888155da..3c640e1870 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMaxValues.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMaxValues.java @@ -3,8 +3,7 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; @@ -12,11 +11,11 @@ import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; * Created by mike on 05.07.2016. */ public class MsgSettingMaxValues extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingMaxValues() { SetCommand(0x3205); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -26,7 +25,7 @@ public class MsgSettingMaxValues extends MessageBase { pump.maxBasal = intFromBuff(bytes, 2, 2) / 100d; pump.maxDailyTotalUnits = intFromBuff(bytes, 4, 2) / 100; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Max bolus: " + pump.maxBolus); log.debug("Max basal: " + pump.maxBasal); log.debug("Total daily max units: " + pump.maxDailyTotalUnits); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMeal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMeal.java index 54d45ccfcf..558b8953c0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMeal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMeal.java @@ -3,11 +3,10 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; @@ -19,11 +18,11 @@ import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; */ public class MsgSettingMeal extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingMeal() { SetCommand(0x3203); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -36,7 +35,7 @@ public class MsgSettingMeal extends MessageBase { int blockTime = intFromBuff(bytes, 4, 1); pump.isConfigUD = intFromBuff(bytes, 5, 1) == 1; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Basal step: " + pump.basalStep); log.debug("Bolus step: " + pump.bolusStep); log.debug("Bolus enabled: " + bolusEnabled); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatios.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatios.java index 480a38f85e..5b6ea9b6cf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatios.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatios.java @@ -3,19 +3,18 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; /** * Created by mike on 05.07.2016. */ public class MsgSettingProfileRatios extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingProfileRatios() { SetCommand(0x3204); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -35,7 +34,7 @@ public class MsgSettingProfileRatios extends MessageBase { pump.currentAIDR = intFromBuff(bytes, 8, 1); } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Pump units (saved): " + (pump.units == DanaRPump.UNITS_MGDL ? "MGDL" : "MMOL")); log.debug("Current pump CIR: " + pump.currentCIR); log.debug("Current pump CF: " + pump.currentCF); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatiosAll.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatiosAll.java index b754fe0818..10d424657b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatiosAll.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatiosAll.java @@ -3,19 +3,18 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; /** * Created by mike on 05.07.2016. */ public class MsgSettingProfileRatiosAll extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingProfileRatiosAll() { SetCommand(0x320D); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -41,7 +40,7 @@ public class MsgSettingProfileRatiosAll extends MessageBase { pump.nightCF = intFromBuff(bytes, 14, 2) / 100d; } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Pump units: " + (pump.units == DanaRPump.UNITS_MGDL ? "MGDL" : "MMOL")); log.debug("Current pump morning CIR: " + pump.morningCIR); log.debug("Current pump morning CF: " + pump.morningCF); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingPumpTime.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingPumpTime.java index 7721b6f1a4..e50f5b4841 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingPumpTime.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingPumpTime.java @@ -5,16 +5,15 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class MsgSettingPumpTime extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingPumpTime() { SetCommand(0x320A); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -29,7 +28,7 @@ public class MsgSettingPumpTime extends MessageBase { intFromBuff(bytes, 0, 1) ); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Pump time: " + time + " Phone time: " + new Date()); DanaRPump.getInstance().pumpTime = time; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingShippingInfo.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingShippingInfo.java index ae872767bb..b700b0baa0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingShippingInfo.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingShippingInfo.java @@ -3,19 +3,18 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; /** * Created by mike on 05.07.2016. */ public class MsgSettingShippingInfo extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingShippingInfo() { SetCommand(0x3207); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -24,7 +23,7 @@ public class MsgSettingShippingInfo extends MessageBase { pump.serialNumber = stringFromBuff(bytes, 0, 10); pump.shippingDate = dateFromBuff(bytes, 10); pump.shippingCountry = asciiStringFromBuff(bytes, 13, 3); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Serial number: " + pump.serialNumber); log.debug("Shipping date: " + pump.shippingDate); log.debug("Shipping country: " + pump.shippingCountry); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingUserOptions.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingUserOptions.java index 48f799f0fb..e45e2050db 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingUserOptions.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingUserOptions.java @@ -5,8 +5,7 @@ import org.slf4j.LoggerFactory; import java.util.Arrays; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; /** @@ -15,11 +14,11 @@ import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class MsgSettingUserOptions extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingUserOptions() { SetCommand(0x320B); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -46,7 +45,7 @@ public class MsgSettingUserOptions extends MessageBase { int selectableLanguage5 = bytes[14]; */ - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("timeDisplayType: " + pump.timeDisplayType); log.debug("Button scroll: " + pump.buttonScrollOnOff); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatus.java index 9f76baa284..474c29daa1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatus.java @@ -3,16 +3,15 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class MsgStatus extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgStatus() { SetCommand(0x020B); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -29,7 +28,7 @@ public class MsgStatus extends MessageBase { } pump.iob = intFromBuff(bytes, 15, 2) / 100d; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Daily total: " + pump.dailyTotalUnits); log.debug("Is extended bolus running: " + pump.isExtendedInProgress); log.debug("Extended bolus min: " + pump.extendedBolusMinutes); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBasic.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBasic.java index dc550a5174..8f81220885 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBasic.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBasic.java @@ -3,17 +3,16 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class MsgStatusBasic extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgStatusBasic() { SetCommand(0x020A); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -33,7 +32,7 @@ public class MsgStatusBasic extends MessageBase { //pump.isTempBasalInProgress = intFromBuff(bytes, 15, 1) == 1; pump.batteryRemaining = intFromBuff(bytes, 20, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Pump suspended: " + pump.pumpSuspended); log.debug("Calculator enabled: " + pump.calculatorEnabled); log.debug("Daily total units: " + pump.dailyTotalUnits); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBolusExtended.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBolusExtended.java index 0e7fb2d5cc..72f5a98dbf 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBolusExtended.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBolusExtended.java @@ -7,20 +7,19 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.db.ExtendedBolus; import info.nightscout.androidaps.db.Source; import info.nightscout.androidaps.interfaces.TreatmentsInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; public class MsgStatusBolusExtended extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgStatusBolusExtended() { SetCommand(0x0207); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -51,7 +50,7 @@ public class MsgStatusBolusExtended extends MessageBase { updateExtendedBolusInDB(); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Is extended bolus running: " + isExtendedInProgress); log.debug("Extended bolus min: " + extendedBolusMinutes); log.debug("Extended bolus amount: " + extendedBolusAmount); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusProfile.java index 70bbda2e08..079357c6ee 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusProfile.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusProfile.java @@ -3,19 +3,18 @@ package info.nightscout.androidaps.plugins.PumpDanaR.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; /** * Created by mike on 05.07.2016. */ public class MsgStatusProfile extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgStatusProfile() { SetCommand(0x0204); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -33,7 +32,7 @@ public class MsgStatusProfile extends MessageBase { pump.currentTarget = intFromBuff(bytes, 6, 2) / 100d; } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Pump units (saved): " + (pump.units == DanaRPump.UNITS_MGDL ? "MGDL" : "MMOL")); log.debug("Current pump CIR: " + pump.currentCIR); log.debug("Current pump CF: " + pump.currentCF); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusTempBasal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusTempBasal.java index 4b81e4eae0..05436956e8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusTempBasal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusTempBasal.java @@ -7,19 +7,18 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.db.Source; import info.nightscout.androidaps.db.TemporaryBasal; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; public class MsgStatusTempBasal extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgStatusTempBasal() { SetCommand(0x0205); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -45,7 +44,7 @@ public class MsgStatusTempBasal extends MessageBase { updateTempBasalInDB(); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Is temp basal running: " + isTempBasalInProgress); log.debug("Is APS temp basal running: " + isAPSTempBasalInProgress); log.debug("Current temp basal percent: " + tempBasalPercent); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/AbstractDanaRExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/AbstractDanaRExecutionService.java index cb6ff28d03..d800301cfc 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/AbstractDanaRExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/AbstractDanaRExecutionService.java @@ -17,13 +17,12 @@ import java.io.IOException; import java.util.Set; import java.util.UUID; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.events.EventPumpStatusChanged; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusStop; @@ -49,7 +48,7 @@ import info.nightscout.utils.ToastUtils; */ public abstract class AbstractDanaRExecutionService extends Service { - protected Logger log = LoggerFactory.getLogger(Constants.PUMP); + protected Logger log = LoggerFactory.getLogger(L.PUMP); protected String mDevName; @@ -102,7 +101,7 @@ public abstract class AbstractDanaRExecutionService extends Service { BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); String action = intent.getAction(); if (BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(action)) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Device was disconnected " + device.getName());//Device was disconnected if (mBTDevice != null && mBTDevice.getName() != null && mBTDevice.getName().equals(device.getName())) { if (mSerialIOThread != null) { @@ -169,7 +168,7 @@ public abstract class AbstractDanaRExecutionService extends Service { } public void bolusStop() { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("bolusStop >>>>> @ " + (mBolusingTreatment == null ? "" : mBolusingTreatment.insulin)); MsgBolusStop stop = new MsgBolusStop(); stop.forced = true; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java index 22c7f8187b..0f1dc5dbf9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java @@ -10,7 +10,6 @@ import com.squareup.otto.Subscribe; import java.io.IOException; import java.util.Date; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -22,6 +21,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.events.EventProfileSwitchChange; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; @@ -193,13 +193,13 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumptime))); mSerialIOThread.sendMessage(new MsgSettingPumpTime()); long timeDiff = (mDanaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Pump time difference: " + timeDiff + " seconds"); if (Math.abs(timeDiff) > 10) { mSerialIOThread.sendMessage(new MsgSetTime(new Date())); mSerialIOThread.sendMessage(new MsgSettingPumpTime()); timeDiff = (mDanaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Pump time difference: " + timeDiff + " seconds"); } mDanaRPump.lastSettingsRead = now; @@ -209,7 +209,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { MainApp.bus().post(new EventInitializationChanged()); NSUpload.uploadDeviceStatus(); if (mDanaRPump.dailyTotalUnits > mDanaRPump.maxDailyTotalUnits * Constants.dailyLimitWarning) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Approaching daily limit: " + mDanaRPump.dailyTotalUnits + "/" + mDanaRPump.maxDailyTotalUnits); if (System.currentTimeMillis() > lastApproachingDailyLimit + 30 * 60 * 1000) { Notification reportFail = new Notification(Notification.APPROACHING_DAILY_LIMIT, MainApp.gs(R.string.approachingdailylimit), Notification.URGENT); @@ -301,7 +301,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { if ((System.currentTimeMillis() - progress.lastReceive) > 15 * 1000L) { // if i didn't receive status for more than 15 sec expecting broken comm stop.stopped = true; stop.forced = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Communication stopped"); } } @@ -345,10 +345,10 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { public void run() { if (mDanaRPump.lastBolusTime.getTime() > System.currentTimeMillis() - 60 * 1000L) { // last bolus max 1 min old t.insulin = mDanaRPump.lastBolusAmount; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Used bolus amount from history: " + mDanaRPump.lastBolusAmount); } else { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Bolus amount in history too old: " + mDanaRPump.lastBolusTime.toLocaleString()); } synchronized (o) { @@ -402,7 +402,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { @Subscribe public void onStatusEvent(EventAppExit event) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("EventAppExit received"); if (mSerialIOThread != null) @@ -411,7 +411,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { MainApp.instance().getApplicationContext().unregisterReceiver(receiver); stopSelf(); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("EventAppExit finished"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java index 2e8aac4643..327a8a5dea 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java @@ -11,7 +11,6 @@ import android.support.v7.app.AlertDialog; import com.squareup.otto.Subscribe; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -24,6 +23,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpDescription; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.PumpDanaR.AbstractDanaRPlugin; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusStart; @@ -93,14 +93,14 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.invoke(); SP.putBoolean("allow_hardware_pump", true); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("First time HW pump allowed!"); } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.cancel(); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("User does not allow switching to HW pump!"); } }); @@ -129,13 +129,13 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { private ServiceConnection mConnection = new ServiceConnection() { public void onServiceDisconnected(ComponentName name) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Service is disconnected"); sExecutionService = null; } public void onServiceConnected(ComponentName name, IBinder service) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Service is connected"); DanaRKoreanExecutionService.LocalBinder mLocalBinder = (DanaRKoreanExecutionService.LocalBinder) service; sExecutionService = mLocalBinder.getServiceInstance(); @@ -199,7 +199,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { result.comment = String.format(MainApp.gs(R.string.boluserrorcode), detailedBolusInfo.insulin, t.insulin, MsgBolusStart.errorCode); else result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered); detailedBolusInfo.insulin = t.insulin; detailedBolusInfo.date = System.currentTimeMillis(); @@ -241,13 +241,13 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { if (doTempOff) { // If extended in progress if (activeExtended != null && useExtendedBoluses) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Stopping extended bolus (doTempOff)"); return cancelExtendedBolus(); } // If temp in progress if (activeTemp != null) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Stopping temp basal (doTempOff)"); return cancelRealTempBasal(); } @@ -256,7 +256,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { result.percent = 100; result.isPercent = true; result.isTempCancel = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: doTempOff OK"); return result; } @@ -268,12 +268,12 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { if (percentRate > getPumpDescription().maxTempPercent) { percentRate = getPumpDescription().maxTempPercent; } - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Calculated percent rate: " + percentRate); // If extended in progress if (activeExtended != null && useExtendedBoluses) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Stopping extended bolus (doLowTemp || doHighTemp)"); result = cancelExtendedBolus(); if (!result.success) { @@ -284,7 +284,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { // Check if some temp is already in progress if (activeTemp != null) { // Correct basal already set ? - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: currently running: " + activeTemp.toString()); if (activeTemp.percentRate == percentRate) { if (enforceNew) { @@ -296,21 +296,21 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { result.duration = activeTemp.getPlannedRemainingMinutes(); result.isPercent = true; result.isTempCancel = false; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)"); return result; } } } // Convert duration from minutes to hours - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Setting temp basal " + percentRate + "% for " + durationInMinutes + " mins (doLowTemp || doHighTemp)"); return setTempBasalPercent(percentRate, durationInMinutes, profile, false); } if (doExtendedTemp) { // Check if some temp is already in progress if (activeTemp != null) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Stopping temp basal (doExtendedTemp)"); result = cancelRealTempBasal(); // Check for proper result @@ -329,7 +329,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { extendedRateToSet = Round.roundTo(extendedRateToSet, pumpDescription.extendedBolusStep * 2); // *2 because of halfhours // What is current rate of extended bolusing in u/h? - if (Config.logPump) { + if (L.isEnabled(L.PUMP)) { log.debug("setTempBasalAbsolute: Extended bolus in progress: " + (activeExtended != null) + " rate: " + pump.extendedBolusAbsoluteRate + "U/h duration remaining: " + pump.extendedBolusRemainingMinutes + "min"); log.debug("setTempBasalAbsolute: Rate to set: " + extendedRateToSet + "U/h"); } @@ -343,21 +343,21 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { result.duration = pump.extendedBolusRemainingMinutes; result.isPercent = false; result.isTempCancel = false; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Correct extended already set"); return result; } // Now set new extended, no need to to stop previous (if running) because it's replaced Double extendedAmount = extendedRateToSet / 2 * durationInHalfHours; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Setting extended: " + extendedAmount + "U halfhours: " + durationInHalfHours); result = setExtendedBolus(extendedAmount, durationInMinutes); if (!result.success) { log.error("setTempBasalAbsolute: Failed to set extended bolus"); return result; } - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Extended bolus set ok"); result.absolute = result.absolute + getBaseBasalRate(); return result; @@ -396,7 +396,7 @@ public class DanaRKoreanPlugin extends AbstractDanaRPlugin { result.success = true; result.isTempCancel = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("cancelRealTempBasal: OK"); return result; } else { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/SerialIOThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/SerialIOThread.java index 6a36e565a9..ea12b2b9c4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/SerialIOThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/SerialIOThread.java @@ -10,8 +10,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; import info.nightscout.androidaps.plugins.PumpDanaR.services.AbstractSerialIOThread; @@ -22,7 +21,7 @@ import info.nightscout.utils.CRC; * Created by mike on 17.07.2016. */ public class SerialIOThread extends AbstractSerialIOThread { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPBTCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPBTCOMM); private InputStream mInputStream = null; private OutputStream mOutputStream = null; @@ -73,7 +72,7 @@ public class SerialIOThread extends AbstractSerialIOThread { message = MessageHashTable_k.findMessage(command); } - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("<<<<< " + message.getMessageName() + " " + message.toHexString(extractedBuff)); // process the message content @@ -149,7 +148,7 @@ public class SerialIOThread extends AbstractSerialIOThread { processedMessage = message; byte[] messageBytes = message.getRawMessageBytes(); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(">>>>> " + message.getMessageName() + " " + message.toHexString(messageBytes)); try { @@ -168,7 +167,7 @@ public class SerialIOThread extends AbstractSerialIOThread { SystemClock.sleep(200); if (!message.received) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.warn("Reply not received " + message.getMessageName()); if (message.getCommand() == 0xF0F1) { DanaRPump.getInstance().isNewPump = false; @@ -183,28 +182,28 @@ public class SerialIOThread extends AbstractSerialIOThread { try { mInputStream.close(); } catch (Exception e) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(e.getMessage()); } try { mOutputStream.close(); } catch (Exception e) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(e.getMessage()); } try { mRfCommSocket.close(); } catch (Exception e) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(e.getMessage()); } try { System.runFinalization(); } catch (Exception e) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(e.getMessage()); } - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("Disconnected: " + reason); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgCheckValue_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgCheckValue_k.java index 0f08000a5a..7bde73d5a1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgCheckValue_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgCheckValue_k.java @@ -3,24 +3,20 @@ package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; -import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; -import info.nightscout.utils.ToastUtils; /** * Created by mike on 30.06.2016. */ public class MsgCheckValue_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgCheckValue_k() { SetCommand(0xF0F1); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -29,7 +25,7 @@ public class MsgCheckValue_k extends MessageBase { DanaRPump pump = DanaRPump.getInstance(); pump.isNewPump = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("New firmware confirmed"); pump.model = intFromBuff(bytes, 0, 1); @@ -40,7 +36,7 @@ public class MsgCheckValue_k extends MessageBase { log.error("Wrong model selected"); } - if (Config.logPump) { + if (L.isEnabled(L.PUMP)) { log.debug("Model: " + String.format("%02X ", pump.model)); log.debug("Protocol: " + String.format("%02X ", pump.protocol)); log.debug("Product Code: " + String.format("%02X ", pump.productCode)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBasic_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBasic_k.java index 6eefefe34c..46222938d7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBasic_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBasic_k.java @@ -3,10 +3,9 @@ package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; @@ -14,11 +13,11 @@ import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgInitConnStatusBasic_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgInitConnStatusBasic_k() { SetCommand(0x0303); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -33,7 +32,7 @@ public class MsgInitConnStatusBasic_k extends MessageBase { pump.isEasyModeEnabled = intFromBuff(bytes, 2, 1) == 1; int easyUIMode = intFromBuff(bytes, 3, 1); pump.password = intFromBuff(bytes, 4, 2) ^ 0x3463; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("isStatusSuspendOn: " + pump.pumpSuspended); log.debug("isUtilityEnable: " + isUtilityEnable); log.debug("Is EasyUI Enabled: " + pump.isEasyModeEnabled); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBolus_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBolus_k.java index 4412457b09..4be04f538f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBolus_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBolus_k.java @@ -3,10 +3,9 @@ package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; @@ -17,11 +16,11 @@ import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; * Created by mike on 28.05.2016. */ public class MsgInitConnStatusBolus_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgInitConnStatusBolus_k() { SetCommand(0x0302); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -39,7 +38,7 @@ public class MsgInitConnStatusBolus_k extends MessageBase { //int bolusRate = intFromBuff(bytes, 4, 8); int deliveryStatus = intFromBuff(bytes, 12, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Is Extended bolus enabled: " + pump.isExtendedBolusEnabled); log.debug("Bolus increment: " + pump.bolusStep); log.debug("Bolus max: " + pump.maxBolus); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusTime_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusTime_k.java index 8f4642999a..5aadfeae42 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusTime_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusTime_k.java @@ -5,12 +5,11 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventRefreshGui; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; @@ -20,11 +19,11 @@ import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; public class MsgInitConnStatusTime_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgInitConnStatusTime_k() { SetCommand(0x0301); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -61,7 +60,7 @@ public class MsgInitConnStatusTime_k extends MessageBase { int versionCode3 = intFromBuff(bytes, 8, 1); int versionCode4 = intFromBuff(bytes, 9, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Pump time: " + time); log.debug("Version code1: " + versionCode1); log.debug("Version code2: " + versionCode2); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasalProfileAll_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasalProfileAll_k.java index 9890201485..2455f59e14 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasalProfileAll_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasalProfileAll_k.java @@ -3,8 +3,7 @@ package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; @@ -16,11 +15,11 @@ import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; * THIS IS BROKEN IN PUMP... SENDING ONLY 1 PROFILE */ public class MsgSettingBasalProfileAll_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingBasalProfileAll_k() { SetCommand(0x3206); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -52,7 +51,7 @@ public class MsgSettingBasalProfileAll_k extends MessageBase { } } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (pump.basal48Enable) { for (int profile = 0; profile < 4; profile++) { for (int index = 0; index < 24; index++) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasal_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasal_k.java index c5767e1bbc..b149ceb2ad 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasal_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasal_k.java @@ -3,8 +3,7 @@ package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; @@ -13,11 +12,11 @@ import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; * Created by mike on 05.07.2016. */ public class MsgSettingBasal_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSettingBasal_k() { SetCommand(0x3202); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -31,7 +30,7 @@ public class MsgSettingBasal_k extends MessageBase { pump.pumpProfiles[pump.activeProfile][index] = basal / 100d; } - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) for (int index = 0; index < 24; index++) { log.debug("Basal " + String.format("%02d", index) + "h: " + pump.pumpProfiles[pump.activeProfile][index]); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBasic_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBasic_k.java index f905593db0..d22c6e376a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBasic_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBasic_k.java @@ -3,18 +3,17 @@ package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgStatusBasic_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgStatusBasic_k() { SetCommand(0x020A); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -32,7 +31,7 @@ public class MsgStatusBasic_k extends MessageBase { pump.currentBasal = currentBasal; pump.batteryRemaining = batteryRemaining; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Daily total units: " + dailyTotalUnits); log.debug("Max daily total units: " + maxDailyTotalUnits); log.debug("Reservoir remaining units: " + reservoirRemainingUnits); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatus_k.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatus_k.java index c81f010f16..4d8b012244 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatus_k.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatus_k.java @@ -3,17 +3,16 @@ package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgStatus_k extends MessageBase { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgStatus_k() { SetCommand(0x020B); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -30,7 +29,7 @@ public class MsgStatus_k extends MessageBase { // } pump.iob = intFromBuff(bytes, 15, 2) / 100d; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Daily total: " + pump.dailyTotalUnits); log.debug("Is extended bolus running: " + pump.isExtendedInProgress); log.debug("Extended bolus min: " + pump.extendedBolusMinutes); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java index 579aa916d2..e54dd7be83 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java @@ -10,7 +10,6 @@ import com.squareup.otto.Subscribe; import java.io.IOException; import java.util.Date; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -22,6 +21,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.events.EventProfileSwitchChange; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; @@ -83,7 +83,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { @Subscribe public void onStatusEvent(EventAppExit event) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("EventAppExit received"); if (mSerialIOThread != null) @@ -92,7 +92,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { MainApp.instance().getApplicationContext().unregisterReceiver(receiver); stopSelf(); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("EventAppExit finished"); } @@ -193,13 +193,13 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumptime))); mSerialIOThread.sendMessage(new MsgSettingPumpTime()); long timeDiff = (mDanaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Pump time difference: " + timeDiff + " seconds"); if (Math.abs(timeDiff) > 10) { mSerialIOThread.sendMessage(new MsgSetTime(new Date())); mSerialIOThread.sendMessage(new MsgSettingPumpTime()); timeDiff = (mDanaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Pump time difference: " + timeDiff + " seconds"); } mDanaRPump.lastSettingsRead = now; @@ -209,7 +209,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { MainApp.bus().post(new EventInitializationChanged()); NSUpload.uploadDeviceStatus(); if (mDanaRPump.dailyTotalUnits > mDanaRPump.maxDailyTotalUnits * Constants.dailyLimitWarning) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Approaching daily limit: " + mDanaRPump.dailyTotalUnits + "/" + mDanaRPump.maxDailyTotalUnits); if (System.currentTimeMillis() > lastApproachingDailyLimit + 30 * 60 * 1000) { Notification reportFail = new Notification(Notification.APPROACHING_DAILY_LIMIT, MainApp.gs(R.string.approachingdailylimit), Notification.URGENT); @@ -296,7 +296,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { if ((System.currentTimeMillis() - progress.lastReceive) > 15 * 1000L) { // if i didn't receive status for more than 15 sec expecting broken comm stop.stopped = true; stop.forced = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Communication stopped"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java index 613d77a44d..ae314f77a7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java @@ -20,8 +20,6 @@ import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.BuildConfig; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -40,6 +38,7 @@ import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.ProfileInterface; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; @@ -65,7 +64,7 @@ import info.nightscout.utils.T; */ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInterface, ConstraintsInterface, ProfileInterface { - private Logger log = LoggerFactory.getLogger(Constants.PUMP); + private Logger log = LoggerFactory.getLogger(L.PUMP); private static DanaRSPlugin plugin = null; public static DanaRSPlugin getPlugin() { @@ -165,14 +164,14 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte public void onClick(DialogInterface dialog, int id) { pluginSwitcher.invoke(); SP.putBoolean("allow_hardware_pump", true); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("First time HW pump allowed!"); } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.cancel(); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("User does not allow switching to HW pump!"); } }); @@ -183,13 +182,13 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte private ServiceConnection mConnection = new ServiceConnection() { public void onServiceDisconnected(ComponentName name) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Service is disconnected"); danaRSService = null; } public void onServiceConnected(ComponentName name, IBinder service) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Service is connected"); DanaRSService.LocalBinder mLocalBinder = (DanaRSService.LocalBinder) service; danaRSService = mLocalBinder.getServiceInstance(); @@ -210,7 +209,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte @Override public void connect(String from) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("RS connect from: " + from); if (danaRSService != null && !mDeviceAddress.equals("") && !mDeviceName.equals("")) { final Object o = new Object(); @@ -231,7 +230,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte @Override public void disconnect(String from) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("RS disconnect from: " + from); if (danaRSService != null) danaRSService.disconnect(from); } @@ -378,7 +377,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte Double profileValue = profile.getBasalTimeFromMidnight((Integer) (h * basalIncrement)); if (profileValue == null) return true; if (Math.abs(pumpValue - profileValue) > getPumpDescription().basalStep) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Diff found. Hour: " + h + " Pump: " + pumpValue + " Profile: " + profileValue); return false; } @@ -439,7 +438,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.comment = String.format(MainApp.gs(R.string.boluserrorcode), detailedBolusInfo.insulin, t.insulin, DanaRS_Packet_Bolus_Set_Step_Bolus_Start.errorCode); else result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered); return result; } else { @@ -483,7 +482,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte if (doTempOff) { // If temp in progress if (TreatmentsPlugin.getPlugin().isTempBasalInProgress()) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Stopping temp basal (doTempOff)"); return cancelTempBasal(false); } @@ -492,7 +491,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.percent = 100; result.isPercent = true; result.isTempCancel = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: doTempOff OK"); return result; } @@ -506,7 +505,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte // Check if some temp is already in progress TemporaryBasal activeTemp = TreatmentsPlugin.getPlugin().getTempBasalFromHistory(System.currentTimeMillis()); if (activeTemp != null) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: currently running: " + activeTemp.toString()); // Correct basal already set ? if (activeTemp.percentRate == percentRate) { @@ -517,14 +516,14 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.duration = activeTemp.getPlannedRemainingMinutes(); result.isPercent = true; result.isTempCancel = false; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)"); return result; } } } // Convert duration from minutes to hours - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Setting temp basal " + percentRate + "% for " + durationInMinutes + " mins (doLowTemp || doHighTemp)"); if (percentRate == 0 && durationInMinutes > 30) { result = setTempBasalPercent(percentRate, durationInMinutes, profile, false); @@ -536,7 +535,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte log.error("setTempBasalAbsolute: Failed to set hightemp basal"); return result; } - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: hightemp basal set ok"); return result; } @@ -571,7 +570,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalPercent: Correct value already set"); return result; } @@ -590,7 +589,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalPercent: OK"); return result; } @@ -612,7 +611,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setHighTempBasalPercent: OK"); return result; } @@ -639,7 +638,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.absolute = pump.extendedBolusAbsoluteRate; result.isPercent = false; result.isTempCancel = false; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setExtendedBolus: Correct extended bolus already set. Current: " + pump.extendedBolusAmount + " Asked: " + insulin); return result; } @@ -653,7 +652,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.absolute = pump.extendedBolusAbsoluteRate; result.bolusDelivered = pump.extendedBolusAmount; result.isPercent = false; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setExtendedBolus: OK"); return result; } @@ -677,7 +676,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte result.success = true; result.isTempCancel = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("cancelRealTempBasal: OK"); return result; } else { @@ -701,7 +700,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte if (!pump.isExtendedInProgress) { result.success = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("cancelExtendedBolus: OK"); return result; } else { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRSMessageHashTable.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRSMessageHashTable.java index 9827d42ba7..bda5d42207 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRSMessageHashTable.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRSMessageHashTable.java @@ -1,11 +1,8 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import java.util.HashMap; -import info.nightscout.androidaps.Config; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 28.05.2016. @@ -15,9 +12,6 @@ public class DanaRSMessageHashTable { static { if (messages == null) { - boolean savedState = Config.logPumpComm; - Config.logPumpComm = false; - messages = new HashMap<>(); put(new DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal()); put(new DanaRS_Packet_Basal_Get_Basal_Rate()); @@ -87,7 +81,6 @@ public class DanaRSMessageHashTable { put(new DanaRS_Packet_APS_History_Events()); put(new DanaRS_Packet_APS_Set_Event_History()); - Config.logPumpComm = savedState; } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Basal_Set_Temporary_Basal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Basal_Set_Temporary_Basal.java index b145c0d8fe..c33cd7b405 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Basal_Set_Temporary_Basal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Basal_Set_Temporary_Basal.java @@ -5,11 +5,10 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_APS_Basal_Set_Temporary_Basal extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); int temporaryBasalRatio; int temporaryBasalDuration; @@ -26,7 +25,7 @@ public class DanaRS_Packet_APS_Basal_Set_Temporary_Basal extends DanaRS_Packet { public DanaRS_Packet_APS_Basal_Set_Temporary_Basal(int percent) { this(); setParams(percent); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message: percent: " + percent); } @@ -38,11 +37,11 @@ public class DanaRS_Packet_APS_Basal_Set_Temporary_Basal extends DanaRS_Packet { temporaryBasalRatio = percent; if (percent < 100) { temporaryBasalDuration = PARAM30MIN; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("APS Temp basal start percent: " + percent + " duration 30 min"); } else { temporaryBasalDuration = PARAM15MIN; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("APS Temp basal start percent: " + percent + " duration 15 min"); } } @@ -60,11 +59,11 @@ public class DanaRS_Packet_APS_Basal_Set_Temporary_Basal extends DanaRS_Packet { temporaryBasalRatio = percent; if (thirtyMinutes && percent <= 200) { // 30 min is allowed up to 200% temporaryBasalDuration = PARAM30MIN; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("APS Temp basal start percent: " + percent + " duration 30 min"); } else { temporaryBasalDuration = PARAM15MIN; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("APS Temp basal start percent: " + percent + " duration 15 min"); } } @@ -83,11 +82,11 @@ public class DanaRS_Packet_APS_Basal_Set_Temporary_Basal extends DanaRS_Packet { int result = byteArrayToInt(getBytes(data, DATA_START, 1)); if (result != 0) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set APS temp basal start result: " + result + " FAILED!!!"); } else { failed = false; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set APS temp basal start result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_History_Events.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_History_Events.java index 76994861fb..60e640bc77 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_History_Events.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_History_Events.java @@ -9,8 +9,6 @@ import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -18,13 +16,14 @@ import info.nightscout.androidaps.db.ExtendedBolus; import info.nightscout.androidaps.db.Source; import info.nightscout.androidaps.db.TemporaryBasal; import info.nightscout.androidaps.events.EventPumpStatusChanged; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int year = 0; private int month = 0; @@ -56,7 +55,7 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { hour = cal.get(Calendar.HOUR_OF_DAY); min = cal.get(Calendar.MINUTE); sec = cal.get(Calendar.SECOND); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Loading event history from: " + new Date(cal.getTimeInMillis()).toLocaleString()); } @@ -79,7 +78,7 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { // Last record if (recordCode == (byte) 0xFF) { done = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Last record received"); return; } @@ -97,11 +96,11 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { DetailedBolusInfo detailedBolusInfo = DetailedBolusInfoStorage.findDetailedBolusInfo(datetime.getTime()); if (detailedBolusInfo == null) { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Detailed bolus info not found for " + datetime.toLocaleString()); detailedBolusInfo = new DetailedBolusInfo(); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Detailed bolus info found: " + detailedBolusInfo); } detailedBolusInfo.date = datetime.getTime(); @@ -112,7 +111,7 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { switch (recordCode) { case DanaRPump.TEMPSTART: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT TEMPSTART (" + recordCode + ") " + datetime.toLocaleString() + " Ratio: " + param1 + "% Duration: " + param2 + "min"); temporaryBasal.percentRate = param1; temporaryBasal.durationInMinutes = param2; @@ -120,13 +119,13 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { status = "TEMPSTART " + DateUtil.timeString(datetime); break; case DanaRPump.TEMPSTOP: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT TEMPSTOP (" + recordCode + ") " + datetime.toLocaleString()); TreatmentsPlugin.getPlugin().addToHistoryTempBasal(temporaryBasal); status = "TEMPSTOP " + DateUtil.timeString(datetime); break; case DanaRPump.EXTENDEDSTART: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT EXTENDEDSTART (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + (param1 / 100d) + "U Duration: " + param2 + "min"); extendedBolus.insulin = param1 / 100d; extendedBolus.durationInMinutes = param2; @@ -134,7 +133,7 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { status = "EXTENDEDSTART " + DateUtil.timeString(datetime); break; case DanaRPump.EXTENDEDSTOP: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT EXTENDEDSTOP (" + recordCode + ") " + datetime.toLocaleString() + " Delivered: " + (param1 / 100d) + "U RealDuration: " + param2 + "min"); TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); status = "EXTENDEDSTOP " + DateUtil.timeString(datetime); @@ -142,7 +141,7 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { case DanaRPump.BOLUS: detailedBolusInfo.insulin = param1 / 100d; boolean newRecord = TreatmentsPlugin.getPlugin().addToHistoryTreatment(detailedBolusInfo, false); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug((newRecord ? "**NEW** " : "") + "EVENT BOLUS (" + recordCode + ") " + datetime.toLocaleString() + " Bolus: " + (param1 / 100d) + "U Duration: " + param2 + "min"); DetailedBolusInfoStorage.remove(detailedBolusInfo.date); status = "BOLUS " + DateUtil.timeString(datetime); @@ -150,13 +149,13 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { case DanaRPump.DUALBOLUS: detailedBolusInfo.insulin = param1 / 100d; newRecord = TreatmentsPlugin.getPlugin().addToHistoryTreatment(detailedBolusInfo, false); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug((newRecord ? "**NEW** " : "") + "EVENT DUALBOLUS (" + recordCode + ") " + datetime.toLocaleString() + " Bolus: " + (param1 / 100d) + "U Duration: " + param2 + "min"); DetailedBolusInfoStorage.remove(detailedBolusInfo.date); status = "DUALBOLUS " + DateUtil.timeString(datetime); break; case DanaRPump.DUALEXTENDEDSTART: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT DUALEXTENDEDSTART (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + (param1 / 100d) + "U Duration: " + param2 + "min"); extendedBolus.insulin = param1 / 100d; extendedBolus.durationInMinutes = param2; @@ -164,33 +163,33 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { status = "DUALEXTENDEDSTART " + DateUtil.timeString(datetime); break; case DanaRPump.DUALEXTENDEDSTOP: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT DUALEXTENDEDSTOP (" + recordCode + ") " + datetime.toLocaleString() + " Delivered: " + (param1 / 100d) + "U RealDuration: " + param2 + "min"); TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); status = "DUALEXTENDEDSTOP " + DateUtil.timeString(datetime); break; case DanaRPump.SUSPENDON: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT SUSPENDON (" + recordCode + ") " + datetime.toLocaleString()); status = "SUSPENDON " + DateUtil.timeString(datetime); break; case DanaRPump.SUSPENDOFF: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT SUSPENDOFF (" + recordCode + ") " + datetime.toLocaleString()); status = "SUSPENDOFF " + DateUtil.timeString(datetime); break; case DanaRPump.REFILL: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT REFILL (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); status = "REFILL " + DateUtil.timeString(datetime); break; case DanaRPump.PRIME: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT PRIME (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); status = "PRIME " + DateUtil.timeString(datetime); break; case DanaRPump.PROFILECHANGE: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT PROFILECHANGE (" + recordCode + ") " + datetime.toLocaleString() + " No: " + param1 + " CurrentRate: " + (param2 / 100d) + "U/h"); status = "PROFILECHANGE " + DateUtil.timeString(datetime); break; @@ -201,17 +200,17 @@ public class DanaRS_Packet_APS_History_Events extends DanaRS_Packet { emptyCarbsInfo.source = Source.PUMP; emptyCarbsInfo.pumpId = datetime.getTime(); newRecord = TreatmentsPlugin.getPlugin().addToHistoryTreatment(emptyCarbsInfo, false); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug((newRecord ? "**NEW** " : "") + "EVENT CARBS (" + recordCode + ") " + datetime.toLocaleString() + " Carbs: " + param1 + "g"); status = "CARBS " + DateUtil.timeString(datetime); break; case DanaRPump.PRIMECANNULA: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT PRIMECANNULA(" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); status = "PRIMECANNULA " + DateUtil.timeString(datetime); break; default: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Event: " + recordCode + " " + datetime.toLocaleString() + " Param1: " + param1 + " Param2: " + param2); status = "UNKNOWN " + DateUtil.timeString(datetime); break; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Set_Event_History.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Set_Event_History.java index efd3aaa8f4..2a5e9eade6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Set_Event_History.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_APS_Set_Event_History.java @@ -8,12 +8,11 @@ import org.slf4j.LoggerFactory; import java.util.Calendar; import java.util.GregorianCalendar; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.utils.DateUtil; public class DanaRS_Packet_APS_Set_Event_History extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int type; private long time; @@ -32,7 +31,7 @@ public class DanaRS_Packet_APS_Set_Event_History extends DanaRS_Packet { this.time = time; this.param1 = param1; this.param2 = param2; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set history entry: " + DateUtil.dateAndTimeString(time) + " type: " + type + " param1: " + param1 + " param2: " + param2); } @@ -67,10 +66,10 @@ public class DanaRS_Packet_APS_Set_Event_History extends DanaRS_Packet { int result = intFromBuff(data, 0, 1); if (result != 0) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.error("Set history entry result: " + result + " FAILED!!!"); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set history entry result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Basal_Rate.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Basal_Rate.java index f358cbdcd0..a067d2976d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Basal_Rate.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Basal_Rate.java @@ -6,23 +6,22 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Basal_Get_Basal_Rate extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Basal_Get_Basal_Rate() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__GET_BASAL_RATE; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Requesting basal rates"); } } @@ -46,7 +45,7 @@ public class DanaRS_Packet_Basal_Get_Basal_Rate extends DanaRS_Packet { dataSize = 2; pump.pumpProfiles[pump.activeProfile][i] = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Max basal: " + pump.maxBasal + " U"); log.debug("Basal step: " + pump.basalStep + " U"); for (int index = 0; index < 24; index++) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Basal_Rate.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Basal_Rate.java index 2b4e830644..8cc73ac3a6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Basal_Rate.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Basal_Rate.java @@ -5,12 +5,11 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Basal_Get_Profile_Basal_Rate extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int profileNumber; @@ -23,7 +22,7 @@ public class DanaRS_Packet_Basal_Get_Profile_Basal_Rate extends DanaRS_Packet { public DanaRS_Packet_Basal_Get_Profile_Basal_Rate(int profileNumber) { this(); this.profileNumber = profileNumber; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Requesting basal rates for profile " + profileNumber); } } @@ -49,7 +48,7 @@ public class DanaRS_Packet_Basal_Get_Profile_Basal_Rate extends DanaRS_Packet { dataIndex += dataSize; dataSize = 2; } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { for (int index = 0; index < 24; index++) log.debug("Basal " + String.format("%02d", index) + "h: " + pump.pumpProfiles[profileNumber][index]); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Number.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Number.java index c376a35cba..1beadfd705 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Number.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Profile_Number.java @@ -5,17 +5,16 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Basal_Get_Profile_Number extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Basal_Get_Profile_Number() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__GET_PROFILE_NUMBER; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Requesting active profile"); } } @@ -27,7 +26,7 @@ public class DanaRS_Packet_Basal_Get_Profile_Number extends DanaRS_Packet { int dataIndex = DATA_START; int dataSize = 1; pump.activeProfile = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Active profile: " + pump.activeProfile); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Temporary_Basal_State.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Temporary_Basal_State.java index 0b892c8335..c6f434d1ba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Temporary_Basal_State.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Get_Temporary_Basal_State.java @@ -9,17 +9,16 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Basal_Get_Temporary_Basal_State extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Basal_Get_Temporary_Basal_State() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__TEMPORARY_BASAL_STATE; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Requesting temporary basal status"); } } @@ -55,7 +54,7 @@ public class DanaRS_Packet_Basal_Get_Temporary_Basal_State extends DanaRS_Packet int tempBasalRemainingMin = (pump.tempBasalTotalSec - runningMin * 60) / 60; Date tempBasalStart = pump.isTempBasalInProgress ? getDateFromTempBasalSecAgo(runningMin * 60) : new Date(0); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Error code: " + error); log.debug("Is temp basal running: " + pump.isTempBasalInProgress); log.debug("Is APS temp basal running: " + isAPSTempBasalInProgress); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Basal_Rate.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Basal_Rate.java index bf6f6922a0..19b53ba53c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Basal_Rate.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Basal_Rate.java @@ -3,13 +3,12 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import com.cozmo.danar.util.BleCommandUtil; public class DanaRS_Packet_Basal_Set_Basal_Rate extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private double[] profileBasalRate; @@ -21,7 +20,7 @@ public class DanaRS_Packet_Basal_Set_Basal_Rate extends DanaRS_Packet { public DanaRS_Packet_Basal_Set_Basal_Rate(double[] profileBasalRate) { this(); this.profileBasalRate = profileBasalRate; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Setting new basal rates"); } } @@ -40,7 +39,7 @@ public class DanaRS_Packet_Basal_Set_Basal_Rate extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal.java index 667360202d..e8a288a258 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal.java @@ -5,16 +5,15 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__CANCEL_TEMPORARY_BASAL; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Canceling temp basal"); } } @@ -22,7 +21,7 @@ public class DanaRS_Packet_Basal_Set_Cancel_Temporary_Basal extends DanaRS_Packe @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Basal_Rate.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Basal_Rate.java index 29df6e69ac..004e9d69b2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Basal_Rate.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Basal_Rate.java @@ -5,11 +5,10 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Basal_Set_Profile_Basal_Rate extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int profileNumber; // 0 - 4 private double[] profileBasalRate; @@ -23,7 +22,7 @@ public class DanaRS_Packet_Basal_Set_Profile_Basal_Rate extends DanaRS_Packet { this(); this.profileNumber = profileNumber; this.profileBasalRate = profileBasalRate; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Setting new basal rates for profile " + profileNumber); } } @@ -43,7 +42,7 @@ public class DanaRS_Packet_Basal_Set_Profile_Basal_Rate extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Number.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Number.java index dcb03a89ae..613c3d6f8b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Number.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Profile_Number.java @@ -5,11 +5,10 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Basal_Set_Profile_Number extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int profileNumber; public DanaRS_Packet_Basal_Set_Profile_Number() { @@ -20,7 +19,7 @@ public class DanaRS_Packet_Basal_Set_Profile_Number extends DanaRS_Packet { public DanaRS_Packet_Basal_Set_Profile_Number(int profileNumber) { this(); this.profileNumber = profileNumber; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Setting profile number " + profileNumber); } } @@ -35,7 +34,7 @@ public class DanaRS_Packet_Basal_Set_Profile_Number extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_Off.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_Off.java index 7614488a78..2c4c46eb2e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_Off.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_Off.java @@ -5,16 +5,15 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Basal_Set_Suspend_Off extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Basal_Set_Suspend_Off() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__SET_SUSPEND_OFF; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Turning off suspend"); } } @@ -22,7 +21,7 @@ public class DanaRS_Packet_Basal_Set_Suspend_Off extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_On.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_On.java index 72049bc033..25d55968a9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_On.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Suspend_On.java @@ -5,16 +5,15 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Basal_Set_Suspend_On extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Basal_Set_Suspend_On() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BASAL__SET_SUSPEND_ON; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Turning on suspend"); } } @@ -22,7 +21,7 @@ public class DanaRS_Packet_Basal_Set_Suspend_On extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Temporary_Basal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Temporary_Basal.java index fa23fa08f8..15de10f742 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Temporary_Basal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Basal_Set_Temporary_Basal.java @@ -5,11 +5,10 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Basal_Set_Temporary_Basal extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int temporaryBasalRatio; private int temporaryBasalDuration; @@ -23,7 +22,7 @@ public class DanaRS_Packet_Basal_Set_Temporary_Basal extends DanaRS_Packet { this(); this.temporaryBasalRatio = temporaryBasalRatio; this.temporaryBasalDuration = temporaryBasalDuration; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Setting temporary basal of " + temporaryBasalRatio + "% for " + temporaryBasalDuration + " hours"); } } @@ -39,7 +38,7 @@ public class DanaRS_Packet_Basal_Set_Temporary_Basal extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Bolus_Option.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Bolus_Option.java index 84b0bf1736..e2c5d5fae6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Bolus_Option.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Bolus_Option.java @@ -5,22 +5,21 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Bolus_Option extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Bolus_Option() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_BOLUS_OPTION; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -111,7 +110,7 @@ public class DanaRS_Packet_Bolus_Get_Bolus_Option extends DanaRS_Packet { MainApp.bus().post(new EventDismissNotification(Notification.EXTENDED_BOLUS_DISABLED)); } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Extended bolus enabled: " + pump.isExtendedBolusEnabled); log.debug("Missed bolus config: " + pump.missedBolusConfig); log.debug("missedBolus01StartHour: " + missedBolus01StartHour); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_CIR_CF_Array.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_CIR_CF_Array.java index fd4f942d1b..2a834806f6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_CIR_CF_Array.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_CIR_CF_Array.java @@ -6,17 +6,16 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_CIR_CF_Array extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Bolus_Get_CIR_CF_Array() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_CIR_CF_ARRAY; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -120,7 +119,7 @@ public class DanaRS_Packet_Bolus_Get_CIR_CF_Array extends DanaRS_Packet { pump.nightCF = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Language: " + language); log.debug("Pump units: " + (pump.units == DanaRPump.UNITS_MGDL ? "MGDL" : "MMOL")); log.debug("Current pump morning CIR: " + pump.morningCIR); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Calculation_Information.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Calculation_Information.java index a16368a8b3..67768df866 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Calculation_Information.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Calculation_Information.java @@ -5,17 +5,16 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Calculation_Information extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Calculation_Information() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_CALCULATION_INFORMATION; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -60,7 +59,7 @@ public class DanaRS_Packet_Bolus_Get_Calculation_Information extends DanaRS_Pack pump.currentTarget = pump.currentTarget / 100d; currentBG = currentBG / 100d; } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Result: " + error); log.debug("Pump units: " + (pump.units == DanaRPump.UNITS_MGDL ? "MGDL" : "MMOL")); log.debug("Current BG: " + currentBG); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information.java index deb68ebac9..ba93dde999 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information.java @@ -5,17 +5,16 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_CARBOHYDRATE_CALCULATION_INFORMATION; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -35,7 +34,7 @@ public class DanaRS_Packet_Bolus_Get_Carbohydrate_Calculation_Information extend dataSize = 2; pump.currentCIR = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Result: " + error); log.debug("Carbs: " + carbs); log.debug("Current CIR: " + pump.currentCIR); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Dual_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Dual_Bolus.java index 7c5aaf7e9e..230a9d2480 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Dual_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Dual_Bolus.java @@ -5,17 +5,16 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Dual_Bolus extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Dual_Bolus() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_DUAL_BOLUS; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -43,7 +42,7 @@ public class DanaRS_Packet_Bolus_Get_Dual_Bolus extends DanaRS_Packet { dataSize = 1; double bolusIncrement = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Result: " + error); log.debug("Bolus step: " + pump.bolusStep + " U"); log.debug("Extended bolus running: " + pump.extendedBolusAbsoluteRate + " U/h"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus.java index bd7b1fb38a..695f21c0a1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus.java @@ -5,17 +5,16 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Extended_Bolus extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Extended_Bolus() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_EXTENDED_BOLUS; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -39,7 +38,7 @@ public class DanaRS_Packet_Bolus_Get_Extended_Bolus extends DanaRS_Packet { dataSize = 1; pump.bolusStep = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Result: " + error); log.debug("Extended bolus running: " + pump.extendedBolusAbsoluteRate + " U/h"); log.debug("Max bolus: " + pump.maxBolus + " U"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus_State.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus_State.java index a793de020c..95c96ea322 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus_State.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Bolus_State.java @@ -5,17 +5,16 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Extended_Bolus_State extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Extended_Bolus_State() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_EXTENDED_BOLUS_STATE; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -47,7 +46,7 @@ public class DanaRS_Packet_Bolus_Get_Extended_Bolus_State extends DanaRS_Packet dataSize = 2; pump.extendedBolusDeliveredSoFar = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Result: " + error); log.debug("Is extended bolus running: " + pump.isExtendedInProgress); log.debug("Extended bolus running: " + pump.extendedBolusAbsoluteRate + " U/h"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State.java index e6512522a8..fda8778d08 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State.java @@ -5,17 +5,16 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_EXTENDED_MENU_OPTION_STATE; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -31,7 +30,7 @@ public class DanaRS_Packet_Bolus_Get_Extended_Menu_Option_State extends DanaRS_P dataSize = 1; pump.isExtendedInProgress = byteArrayToInt(getBytes(data, dataIndex, dataSize)) == 0x01; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("extendedMenuOption: " + extendedMenuOption); log.debug("Is extended bolus running: " + pump.isExtendedInProgress); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Initial_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Initial_Bolus.java index 6b67bd66e7..d52bd50ea1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Initial_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Initial_Bolus.java @@ -5,16 +5,15 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Bolus_Get_Initial_Bolus extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Initial_Bolus() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_BOLUS_RATE; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -35,7 +34,7 @@ public class DanaRS_Packet_Bolus_Get_Initial_Bolus extends DanaRS_Packet { dataIndex += dataSize; dataSize = 2; double initialBolusValue04 = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Initial bolus amount 01: " + initialBolusValue01); log.debug("Initial bolus amount 02: " + initialBolusValue02); log.debug("Initial bolus amount 03: " + initialBolusValue03); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Step_Bolus_Information.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Step_Bolus_Information.java index a4cdd49416..ce38e0ba28 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Step_Bolus_Information.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Get_Step_Bolus_Information.java @@ -7,17 +7,16 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Bolus_Get_Step_Bolus_Information extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Bolus_Get_Step_Bolus_Information() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__GET_STEP_BOLUS_INFORMATION; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -58,7 +57,7 @@ public class DanaRS_Packet_Bolus_Get_Step_Bolus_Information extends DanaRS_Packe dataSize = 1; pump.bolusStep = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Result: " + error); log.debug("BolusType: " + bolusType); log.debug("Initial bolus amount: " + pump.initialBolusAmount + " U"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Bolus_Option.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Bolus_Option.java index 7d9fe980e1..4f53ba9632 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Bolus_Option.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Bolus_Option.java @@ -5,11 +5,10 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Bolus_Set_Bolus_Option extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int extendedBolusOptionOnOff; private int bolusCalculationOption; @@ -77,7 +76,7 @@ public class DanaRS_Packet_Bolus_Set_Bolus_Option extends DanaRS_Packet { this.missedBolus04EndHour = missedBolus04EndHour; this.missedBolus04EndMin = missedBolus04EndMin; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Setting bolus options"); } } @@ -114,7 +113,7 @@ public class DanaRS_Packet_Bolus_Set_Bolus_Option extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_CIR_CF_Array.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_CIR_CF_Array.java index 9a468457c9..23581d4d0c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_CIR_CF_Array.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_CIR_CF_Array.java @@ -5,11 +5,10 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Bolus_Set_CIR_CF_Array extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int cir01; private int cir02; @@ -47,7 +46,7 @@ public class DanaRS_Packet_Bolus_Set_CIR_CF_Array extends DanaRS_Packet { this.cf05 = cf05; this.cf06 = cf06; this.cf07 = cf07; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -88,7 +87,7 @@ public class DanaRS_Packet_Bolus_Set_CIR_CF_Array extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Dual_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Dual_Bolus.java index 079da8b688..8953ce020e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Dual_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Dual_Bolus.java @@ -5,11 +5,10 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Bolus_Set_Dual_Bolus extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private double amount; private double extendedAmount; @@ -26,7 +25,7 @@ public class DanaRS_Packet_Bolus_Set_Dual_Bolus extends DanaRS_Packet { this.extendedAmount = extendedAmount; this.extendedBolusDurationInHalfHours = extendedBolusDurationInHalfHours; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Dual bolus start : " + amount + " U extended: " + extendedAmount + " U halfhours: " + extendedBolusDurationInHalfHours); } @@ -47,7 +46,7 @@ public class DanaRS_Packet_Bolus_Set_Dual_Bolus extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus.java index 2d444ded1d..fb899b73d6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus.java @@ -5,11 +5,10 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Bolus_Set_Extended_Bolus extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private double extendedAmount; private int extendedBolusDurationInHalfHours; @@ -24,7 +23,7 @@ public class DanaRS_Packet_Bolus_Set_Extended_Bolus extends DanaRS_Packet { this.extendedAmount = extendedAmount; this.extendedBolusDurationInHalfHours = extendedBolusDurationInHalfHours; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Extended bolus start : " + extendedAmount + " U halfhours: " + extendedBolusDurationInHalfHours); } @@ -42,7 +41,7 @@ public class DanaRS_Packet_Bolus_Set_Extended_Bolus extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel.java index d012c380e3..ab887c0fab 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel.java @@ -5,24 +5,23 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Bolus_Set_Extended_Bolus_Cancel() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_BOLUS__SET_EXTENDED_BOLUS_CANCEL; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Cancel extended bolus"); } @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Initial_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Initial_Bolus.java index c30c803688..faaf505293 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Initial_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Initial_Bolus.java @@ -5,11 +5,10 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Bolus_Set_Initial_Bolus extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int bolusRate01; private int bolusRate02; @@ -27,7 +26,7 @@ public class DanaRS_Packet_Bolus_Set_Initial_Bolus extends DanaRS_Packet { this.bolusRate02 = (int) (bolusRate02 / 100d); this.bolusRate03 = (int) (bolusRate03 / 100d); this.bolusRate04 = (int) (bolusRate04 / 100d); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -48,7 +47,7 @@ public class DanaRS_Packet_Bolus_Set_Initial_Bolus extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Start.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Start.java index 06be965ee3..2d423eb7ef 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Start.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Start.java @@ -5,13 +5,12 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.interfaces.Constraint; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Bolus_Set_Step_Bolus_Start extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private double amount; private int speed; @@ -34,7 +33,7 @@ public class DanaRS_Packet_Bolus_Set_Step_Bolus_Start extends DanaRS_Packet { this.amount = amount; this.speed = speed; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Bolus start : " + amount + " speed: " + speed); } @@ -51,7 +50,7 @@ public class DanaRS_Packet_Bolus_Set_Step_Bolus_Start extends DanaRS_Packet { @Override public void handleMessage(byte[] data) { errorCode = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (errorCode == 0) { log.debug("Result OK"); failed = false; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Stop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Stop.java index f5f4736b21..eef9afe0e5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Stop.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Bolus_Set_Step_Bolus_Stop.java @@ -3,18 +3,17 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import com.cozmo.danar.util.BleCommandUtil; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; public class DanaRS_Packet_Bolus_Set_Step_Bolus_Stop extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private static Treatment t; private static Double amount; @@ -32,14 +31,14 @@ public class DanaRS_Packet_Bolus_Set_Step_Bolus_Stop extends DanaRS_Packet { this.amount = amount; forced = false; stopped = false; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Stop bolus: amount: " + amount + " treatment: " + t.toString()); } @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Keep_Connection.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Keep_Connection.java index 7f8c41fa8a..071ca66410 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Keep_Connection.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Keep_Connection.java @@ -3,18 +3,17 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import com.cozmo.danar.util.BleCommandUtil; public class DanaRS_Packet_Etc_Keep_Connection extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Etc_Keep_Connection() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_ETC__KEEP_CONNECTION; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -23,7 +22,7 @@ public class DanaRS_Packet_Etc_Keep_Connection extends DanaRS_Packet { int dataIndex = DATA_START; int dataSize = 1; int error = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Result: " + error); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Set_History_Save.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Set_History_Save.java index f09c81da2c..a7ace37421 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Set_History_Save.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Etc_Set_History_Save.java @@ -3,13 +3,12 @@ package info.nightscout.androidaps.plugins.PumpDanaRS.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import com.cozmo.danar.util.BleCommandUtil; public class DanaRS_Packet_Etc_Set_History_Save extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int historyType; private int historyYear; @@ -37,7 +36,7 @@ public class DanaRS_Packet_Etc_Set_History_Save extends DanaRS_Packet { this.historySecond = historySecond; this.historyCode = historyCode; this.historyValue = historyValue; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -62,7 +61,7 @@ public class DanaRS_Packet_Etc_Set_History_Save extends DanaRS_Packet { int dataIndex = DATA_START; int dataSize = 1; int error = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Result: " + error); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Delivery_Status.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Delivery_Status.java index 991f588de7..f505f9c619 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Delivery_Status.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Delivery_Status.java @@ -5,16 +5,15 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_General_Delivery_Status extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_General_Delivery_Status() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__DELIVERY_STATUS; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -23,7 +22,7 @@ public class DanaRS_Packet_General_Delivery_Status extends DanaRS_Packet { int dataIndex = DATA_START; int dataSize = 1; int status = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Status: " + status); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_More_Information.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_More_Information.java index 9199264377..24bfc4b8a7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_More_Information.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_More_Information.java @@ -7,17 +7,16 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_General_Get_More_Information extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_General_Get_More_Information() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_MORE_INFORMATION; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -58,7 +57,7 @@ public class DanaRS_Packet_General_Get_More_Information extends DanaRS_Packet { dataSize = 2; pump.lastBolusAmount = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Daily total units: " + pump.dailyTotalUnits + " U"); log.debug("Is extended in progress: " + pump.isExtendedInProgress); log.debug("Extended bolus remaining minutes: " + pump.extendedBolusRemainingMinutes); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Password.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Password.java index 9c23754a47..276653ff0f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Password.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Password.java @@ -5,17 +5,16 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_General_Get_Password extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_General_Get_Password() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_PASSWORD; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -26,7 +25,7 @@ public class DanaRS_Packet_General_Get_Password extends DanaRS_Packet { int pass = ((data[DATA_START + 1] & 0x000000FF) << 8) + (data[DATA_START + 0] & 0x000000FF); pass = pass ^ 3463; pump.rs_password = Integer.toHexString(pass); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Pump password: " + pump.rs_password); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Pump_Check.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Pump_Check.java index 0a893791c0..618ea29ed0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Pump_Check.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Pump_Check.java @@ -5,21 +5,20 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_General_Get_Pump_Check extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_General_Get_Pump_Check() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_PUMP_CHECK; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -39,7 +38,7 @@ public class DanaRS_Packet_General_Get_Pump_Check extends DanaRS_Packet { dataSize = 1; pump.productCode = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Model: " + String.format("%02X ", pump.model)); log.debug("Protocol: " + String.format("%02X ", pump.protocol)); log.debug("Product Code: " + String.format("%02X ", pump.productCode)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Shipping_Information.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Shipping_Information.java index 1e7668568a..fe7f9b40ed 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Shipping_Information.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Shipping_Information.java @@ -5,17 +5,16 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_General_Get_Shipping_Information extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_General_Get_Shipping_Information() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_SHIPPING_INFORMATION; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -35,7 +34,7 @@ public class DanaRS_Packet_General_Get_Shipping_Information extends DanaRS_Packe dataSize = 3; pump.shippingCountry = asciiStringFromBuff(data, dataIndex, dataSize); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Serial number: " + pump.serialNumber); log.debug("Shipping date: " + pump.shippingDate); log.debug("Shipping country: " + pump.shippingCountry); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Today_Delivery_Total.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Today_Delivery_Total.java index 3fded09f97..aa686aaa05 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Today_Delivery_Total.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_Today_Delivery_Total.java @@ -5,17 +5,16 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_General_Get_Today_Delivery_Total extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_General_Get_Today_Delivery_Total() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_TODAY_DELIVERY_TOTAL; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -35,7 +34,7 @@ public class DanaRS_Packet_General_Get_Today_Delivery_Total extends DanaRS_Packe dataSize = 2; pump.dailyTotalBolusUnits = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Daily total: " + pump.dailyTotalUnits + " U"); log.debug("Daily total bolus: " + pump.dailyTotalBolusUnits + " U"); log.debug("Daily total basal: " + pump.dailyTotalBasalUnits + " U"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_User_Time_Change_Flag.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_User_Time_Change_Flag.java index e97e366ba4..156c5acc4f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_User_Time_Change_Flag.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Get_User_Time_Change_Flag.java @@ -5,16 +5,15 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_General_Get_User_Time_Change_Flag extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_General_Get_User_Time_Change_Flag() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__GET_USER_TIME_CHANGE_FLAG; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -24,7 +23,7 @@ public class DanaRS_Packet_General_Get_User_Time_Change_Flag extends DanaRS_Pack int dataSize = 1; int userTimeChangeFlag = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("UserTimeChangeFlag: " + userTimeChangeFlag); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Initial_Screen_Information.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Initial_Screen_Information.java index 195a3ce846..6b8f569c6d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Initial_Screen_Information.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Initial_Screen_Information.java @@ -5,18 +5,17 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_General_Initial_Screen_Information extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_General_Initial_Screen_Information() { super(); type = BleCommandUtil.DANAR_PACKET__TYPE_RESPONSE; opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__INITIAL_SCREEN_INFORMATION; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -65,7 +64,7 @@ public class DanaRS_Packet_General_Initial_Screen_Information extends DanaRS_Pac dataSize = 2; pump.iob = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Pump suspended: " + pump.pumpSuspended); log.debug("Temp basal in progress: " + pump.isTempBasalInProgress); log.debug("Extended in progress: " + pump.isExtendedInProgress); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_History_Upload_Mode.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_History_Upload_Mode.java index 1b5658ebcd..cd5a843336 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_History_Upload_Mode.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_History_Upload_Mode.java @@ -5,11 +5,10 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_General_Set_History_Upload_Mode extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int mode; @@ -21,7 +20,7 @@ public class DanaRS_Packet_General_Set_History_Upload_Mode extends DanaRS_Packet public DanaRS_Packet_General_Set_History_Upload_Mode(int mode) { this(); this.mode = mode; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message: mode: " + mode); } @@ -36,7 +35,7 @@ public class DanaRS_Packet_General_Set_History_Upload_Mode extends DanaRS_Packet @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear.java index ebdcd4c976..07403d6908 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear.java @@ -5,23 +5,22 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_General_Set_User_Time_Change_Flag_Clear() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__SET_USER_TIME_CHANGE_FLAG_CLEAR; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @Override public void handleMessage(byte[] data) { int result = intFromBuff(data, 0, 1); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (result == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_.java index c882e5afbb..70fece9864 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_.java @@ -7,16 +7,15 @@ import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.db.DanaRHistoryRecord; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus; import info.nightscout.utils.DateUtil; public abstract class DanaRS_Packet_History_ extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int year = 0; private int month = 0; @@ -47,7 +46,7 @@ public abstract class DanaRS_Packet_History_ extends DanaRS_Packet { hour = cal.get(Calendar.HOUR_OF_DAY); min = cal.get(Calendar.MINUTE); sec = cal.get(Calendar.SECOND); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Loading event history from: " + new Date(cal.getTimeInMillis()).toLocaleString()); } @@ -72,7 +71,7 @@ public abstract class DanaRS_Packet_History_ extends DanaRS_Packet { int dataSize = 1; error = byteArrayToInt(getBytes(data, dataIndex, dataSize)); done = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("History end. Code: " + error + " Success: " + (error == 0x00)); } else if (data.length == 5) { int dataIndex = DATA_START; @@ -83,7 +82,7 @@ public abstract class DanaRS_Packet_History_ extends DanaRS_Packet { dataIndex += dataSize; dataSize = 2; totalCount = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("History end. Code: " + error + " Success: " + (error == 0x00) + " Toatal count: " + totalCount); } else { int recordCode = byteArrayToInt(getBytes(data, DATA_START, 1)); @@ -106,7 +105,7 @@ public abstract class DanaRS_Packet_History_ extends DanaRS_Packet { int value = ((data[DATA_START + 8] & 0xFF) << 8) + (data[DATA_START + 9] & 0xFF); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("History packet: " + recordCode + " Date: " + datetimewihtsec.toLocaleString() + " Code: " + historyCode + " Value: " + value); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Alarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Alarm.java index 7744e22ecd..541091954f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Alarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Alarm.java @@ -7,11 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_History_Alarm extends DanaRS_Packet_History_ { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_History_Alarm() { super(); @@ -21,7 +20,7 @@ public class DanaRS_Packet_History_Alarm extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Alarm(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__ALARM; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_All_History.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_All_History.java index 19ce9b6da0..1bf2bd302a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_All_History.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_All_History.java @@ -7,11 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_History_All_History extends DanaRS_Packet_History_ { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_History_All_History() { super(); @@ -21,7 +20,7 @@ public class DanaRS_Packet_History_All_History extends DanaRS_Packet_History_ { public DanaRS_Packet_History_All_History(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__ALL_HISTORY; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Basal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Basal.java index a8797a49f9..917e3956f4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Basal.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Basal.java @@ -7,11 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_History_Basal extends DanaRS_Packet_History_ { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_History_Basal() { super(); @@ -21,7 +20,7 @@ public class DanaRS_Packet_History_Basal extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Basal(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__BASAL; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Blood_Glucose.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Blood_Glucose.java index 423f4345d3..176d92b1fb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Blood_Glucose.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Blood_Glucose.java @@ -7,11 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_History_Blood_Glucose extends DanaRS_Packet_History_ { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_History_Blood_Glucose() { super(); @@ -21,7 +20,7 @@ public class DanaRS_Packet_History_Blood_Glucose extends DanaRS_Packet_History_ public DanaRS_Packet_History_Blood_Glucose(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__BLOOD_GLUCOSE; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Bolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Bolus.java index 3f25c37ec0..e1b8ac1010 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Bolus.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Bolus.java @@ -7,11 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_History_Bolus extends DanaRS_Packet_History_ { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_History_Bolus() { super(); @@ -21,7 +20,7 @@ public class DanaRS_Packet_History_Bolus extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Bolus(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__BOLUS; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Carbohydrate.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Carbohydrate.java index 5cdec9f3e7..47a9b8fe11 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Carbohydrate.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Carbohydrate.java @@ -7,11 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_History_Carbohydrate extends DanaRS_Packet_History_ { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_History_Carbohydrate() { super(); @@ -21,7 +20,7 @@ public class DanaRS_Packet_History_Carbohydrate extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Carbohydrate(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__CARBOHYDRATE; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Daily.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Daily.java index 90b16d4ce5..12b7abc35b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Daily.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Daily.java @@ -7,11 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_History_Daily extends DanaRS_Packet_History_ { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_History_Daily() { super(); @@ -21,7 +20,7 @@ public class DanaRS_Packet_History_Daily extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Daily(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__DAILY; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Prime.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Prime.java index 98a3c13e6c..6a5de90813 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Prime.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Prime.java @@ -7,11 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_History_Prime extends DanaRS_Packet_History_ { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_History_Prime() { super(); @@ -21,7 +20,7 @@ public class DanaRS_Packet_History_Prime extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Prime(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__PRIME; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Refill.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Refill.java index d5b138eba8..4566bb54b3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Refill.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Refill.java @@ -7,11 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_History_Refill extends DanaRS_Packet_History_ { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_History_Refill() { super(); @@ -21,7 +20,7 @@ public class DanaRS_Packet_History_Refill extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Refill(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__REFILL; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Suspend.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Suspend.java index 6c92a437fd..5d83f48a65 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Suspend.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Suspend.java @@ -7,11 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_History_Suspend extends DanaRS_Packet_History_ { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_History_Suspend() { super(); @@ -21,7 +20,7 @@ public class DanaRS_Packet_History_Suspend extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Suspend(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__SUSPEND; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Temporary.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Temporary.java index 62aa5c274b..ce362574eb 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Temporary.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_History_Temporary.java @@ -7,11 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_History_Temporary extends DanaRS_Packet_History_ { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_History_Temporary() { super(); @@ -21,7 +20,7 @@ public class DanaRS_Packet_History_Temporary extends DanaRS_Packet_History_ { public DanaRS_Packet_History_Temporary(Date from) { super(from); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__TEMPORARY; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Alarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Alarm.java index ba81fe1a77..58f362f1ad 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Alarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Alarm.java @@ -5,14 +5,13 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; public class DanaRS_Packet_Notify_Alarm extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int alarmCode; @@ -20,7 +19,7 @@ public class DanaRS_Packet_Notify_Alarm extends DanaRS_Packet { super(); type = BleCommandUtil.DANAR_PACKET__TYPE_NOTIFY; opCode = BleCommandUtil.DANAR_PACKET__OPCODE_NOTIFY__ALARM; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -78,7 +77,7 @@ public class DanaRS_Packet_Notify_Alarm extends DanaRS_Packet { break; } - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Error detected: " + errorString); NSUpload.uploadError(errorString); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Complete.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Complete.java index 86ff1d121e..836a52cb65 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Complete.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Complete.java @@ -5,15 +5,14 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.Treatments.Treatment; public class DanaRS_Packet_Notify_Delivery_Complete extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private static Treatment t; private static double amount; @@ -30,7 +29,7 @@ public class DanaRS_Packet_Notify_Delivery_Complete extends DanaRS_Packet { this.amount = amount; this.t = t; done = false; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message: amount: " + amount + " treatment: " + t.toString()); } @@ -48,7 +47,7 @@ public class DanaRS_Packet_Notify_Delivery_Complete extends DanaRS_Packet { MainApp.bus().post(bolusingEvent); } - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Delivered insulin: " + deliveredInsulin); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Rate_Display.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Rate_Display.java index 96b98c8d80..30d7eeaf46 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Rate_Display.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Delivery_Rate_Display.java @@ -5,15 +5,14 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.Treatments.Treatment; public class DanaRS_Packet_Notify_Delivery_Rate_Display extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private static Treatment t; private static double amount; @@ -31,7 +30,7 @@ public class DanaRS_Packet_Notify_Delivery_Rate_Display extends DanaRS_Packet { this.amount = amount; this.t = t; lastReceive = System.currentTimeMillis(); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message: amount: " + amount + " treatment: " + t.toString()); } @@ -49,7 +48,7 @@ public class DanaRS_Packet_Notify_Delivery_Rate_Display extends DanaRS_Packet { MainApp.bus().post(bolusingEvent); } - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Delivered insulin so far: " + deliveredInsulin); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Missed_Bolus_Alarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Missed_Bolus_Alarm.java index 7f2049af13..7110d8425c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Missed_Bolus_Alarm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Notify_Missed_Bolus_Alarm.java @@ -5,17 +5,16 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Notify_Missed_Bolus_Alarm extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Notify_Missed_Bolus_Alarm() { super(); type = BleCommandUtil.DANAR_PACKET__TYPE_NOTIFY; opCode = BleCommandUtil.DANAR_PACKET__OPCODE_NOTIFY__MISSED_BOLUS_ALARM; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -41,7 +40,7 @@ public class DanaRS_Packet_Notify_Missed_Bolus_Alarm extends DanaRS_Packet { dataIndex += dataSize; dataSize = 1; endMin = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Start hour: " + startHour); log.debug("Start min: " + startMin); log.debug("End hour: " + endHour); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_Pump_Time.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_Pump_Time.java index 33c1722fc8..aacf859ef3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_Pump_Time.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_Pump_Time.java @@ -7,17 +7,16 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Option_Get_Pump_Time extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Option_Get_Pump_Time() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_OPTION__GET_PUMP_TIME; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Requesting pump time"); } } @@ -51,7 +50,7 @@ public class DanaRS_Packet_Option_Get_Pump_Time extends DanaRS_Packet { Date time = new Date(100 + year, month - 1, day, hour, min, sec); DanaRPump.getInstance().pumpTime = time; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Pump time " + time.toLocaleString()); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_User_Option.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_User_Option.java index 7a3d8a7093..4873775e86 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_User_Option.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Get_User_Option.java @@ -5,18 +5,17 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Option_Get_User_Option extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Option_Get_User_Option() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_OPTION__GET_USER_OPTION; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Requesting user settings"); } } @@ -89,7 +88,7 @@ public class DanaRS_Packet_Option_Get_User_Option extends DanaRS_Packet { dataSize = 1; int selectableLanguage5 = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("timeDisplayType: " + pump.timeDisplayType); log.debug("buttonScrollOnOff: " + pump.buttonScrollOnOff); log.debug("beepAndAlarm: " + pump.beepAndAlarm); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_Pump_Time.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_Pump_Time.java index ea90615c78..5f92036ef1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_Pump_Time.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_Pump_Time.java @@ -7,11 +7,10 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Option_Set_Pump_Time extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private Date date; public int error; @@ -23,7 +22,7 @@ public class DanaRS_Packet_Option_Set_Pump_Time extends DanaRS_Packet { public DanaRS_Packet_Option_Set_Pump_Time(Date date) { this(); this.date = date; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Setting pump time " + date.toLocaleString()); } } @@ -45,7 +44,7 @@ public class DanaRS_Packet_Option_Set_Pump_Time extends DanaRS_Packet { int dataIndex = DATA_START; int dataSize = 1; error = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (error == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_User_Option.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_User_Option.java index 3709709fab..3e11aa93fa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_User_Option.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Option_Set_User_Option.java @@ -5,19 +5,18 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; public class DanaRS_Packet_Option_Set_User_Option extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private int error; public DanaRS_Packet_Option_Set_User_Option() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_OPTION__SET_USER_OPTION; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Setting user settings"); } } @@ -25,7 +24,7 @@ public class DanaRS_Packet_Option_Set_User_Option extends DanaRS_Packet { @Override public byte[] getRequestParams() { DanaRPump pump = DanaRPump.getInstance(); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("UserOptions:" + (System.currentTimeMillis() - pump.lastConnection) / 1000 + " s ago" + "\ntimeDisplayType:" + pump.timeDisplayType + "\nbuttonScroll:" + pump.buttonScrollOnOff @@ -56,7 +55,7 @@ public class DanaRS_Packet_Option_Set_User_Option extends DanaRS_Packet { int dataIndex = DATA_START; int dataSize = 1; error = byteArrayToInt(getBytes(data, dataIndex, dataSize)); - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { if (error == 0) log.debug("Result OK"); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Review_Bolus_Avg.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Review_Bolus_Avg.java index d557d43853..6c43908309 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Review_Bolus_Avg.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/comm/DanaRS_Packet_Review_Bolus_Avg.java @@ -5,16 +5,15 @@ import com.cozmo.danar.util.BleCommandUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; public class DanaRS_Packet_Review_Bolus_Avg extends DanaRS_Packet { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public DanaRS_Packet_Review_Bolus_Avg() { super(); opCode = BleCommandUtil.DANAR_PACKET__OPCODE_REVIEW__BOLUS_AVG; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -39,7 +38,7 @@ public class DanaRS_Packet_Review_Bolus_Avg extends DanaRS_Packet { dataIndex += dataSize; dataSize = 2; double bolusAvg28 = byteArrayToInt(getBytes(data, dataIndex, dataSize)) / 100d; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Bolus average 3d: " + bolusAvg03 + " U"); log.debug("Bolus average 7d: " + bolusAvg07 + " U"); log.debug("Bolus average 14d: " + bolusAvg14 + " U"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java index 7ba99a75ba..be241dbbfd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java @@ -22,11 +22,10 @@ import java.util.List; import java.util.UUID; import java.util.concurrent.ScheduledFuture; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventPumpStatusChanged; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; @@ -44,7 +43,7 @@ import info.nightscout.utils.SP; */ public class BLEComm { - private Logger log = LoggerFactory.getLogger(Constants.PUMPBTCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPBTCOMM); private final long WRITE_DELAY_MILLIS = 50; @@ -85,7 +84,7 @@ public class BLEComm { } private boolean initialize() { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("Initializing BLEComm."); if (mBluetoothManager == null) { @@ -143,7 +142,7 @@ public class BLEComm { return false; } - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("Trying to create a new connection from: " + from); mBluetoothGatt = device.connectGatt(service.getApplicationContext(), false, mGattCallback); setCharacteristicNotification(getUARTReadBTGattChar(), true); @@ -156,7 +155,7 @@ public class BLEComm { } public synchronized void disconnect(String from) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("disconnect from: " + from); // cancel previous scheduled disconnection to prevent closing upcomming connection @@ -176,7 +175,7 @@ public class BLEComm { } public synchronized void close() { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("BluetoothAdapter close"); if (mBluetoothGatt == null) { return; @@ -197,7 +196,7 @@ public class BLEComm { } public void onServicesDiscovered(BluetoothGatt gatt, int status) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("onServicesDiscovered"); if (status == BluetoothGatt.GATT_SUCCESS) { findCharacteristic(); @@ -207,21 +206,21 @@ public class BLEComm { } public void onCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("onCharacteristicRead" + (characteristic != null ? ":" + DanaRS_Packet.toHexString(characteristic.getValue()) : "")); addToReadBuffer(characteristic.getValue()); readDataParsing(); } public void onCharacteristicChanged(BluetoothGatt gatt, final BluetoothGattCharacteristic characteristic) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("onCharacteristicChanged" + (characteristic != null ? ":" + DanaRS_Packet.toHexString(characteristic.getValue()) : "")); addToReadBuffer(characteristic.getValue()); new Thread(() -> readDataParsing()).start(); } public void onCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, int status) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("onCharacteristicWrite" + (characteristic != null ? ":" + DanaRS_Packet.toHexString(characteristic.getValue()) : "")); new Thread(() -> { synchronized (mSendQueue) { @@ -237,7 +236,7 @@ public class BLEComm { }; private synchronized void setCharacteristicNotification(BluetoothGattCharacteristic characteristic, boolean enabled) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("setCharacteristicNotification"); if ((mBluetoothAdapter == null) || (mBluetoothGatt == null)) { log.error("BluetoothAdapter not initialized_ERROR"); @@ -249,7 +248,7 @@ public class BLEComm { } public synchronized void readCharacteristic(BluetoothGattCharacteristic characteristic) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("readCharacteristic"); if ((mBluetoothAdapter == null) || (mBluetoothGatt == null)) { log.error("BluetoothAdapter not initialized_ERROR"); @@ -273,7 +272,7 @@ public class BLEComm { characteristic.setValue(data); characteristic.setWriteType(BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("writeCharacteristic:" + DanaRS_Packet.toHexString(data)); mBluetoothGatt.writeCharacteristic(characteristic); }).start(); @@ -294,7 +293,7 @@ public class BLEComm { } private List getSupportedGattServices() { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("getSupportedGattServices"); if ((mBluetoothAdapter == null) || (mBluetoothGatt == null)) { log.error("BluetoothAdapter not initialized_ERROR"); @@ -330,7 +329,7 @@ public class BLEComm { } private synchronized void onConnectionStateChangeSynchronized(BluetoothGatt gatt, int status, int newState) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("onConnectionStateChange"); if (newState == BluetoothProfile.STATE_CONNECTED) { @@ -340,7 +339,7 @@ public class BLEComm { isConnected = false; isConnecting = false; MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED)); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("Device was disconnected " + gatt.getDevice().getName());//Device was disconnected } } @@ -376,7 +375,7 @@ public class BLEComm { if ((readBuffer[idxStartByte] == PACKET_START_BYTE) && (readBuffer[idxStartByte + 1] == PACKET_START_BYTE)) { if (idxStartByte > 0) { // if buffer doesn't start with signature remove the leading trash - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("Shifting the input buffer by " + idxStartByte + " bytes"); System.arraycopy(readBuffer, idxStartByte, readBuffer, 0, bufferLength - idxStartByte); bufferLength -= idxStartByte; @@ -431,16 +430,16 @@ public class BLEComm { // 1st packet case (byte) BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__PUMP_CHECK: if (inputBuffer.length == 4 && inputBuffer[2] == 'O' && inputBuffer[3] == 'K') { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (OK)" + " " + DanaRS_Packet.toHexString(inputBuffer)); // Grab pairing key from preferences if exists String pairingKey = SP.getString(MainApp.gs(R.string.key_danars_pairingkey) + DanaRSPlugin.mDeviceName, null); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("Using stored pairing key: " + pairingKey); if (pairingKey != null) { byte[] encodedPairingKey = DanaRS_Packet.hexToBytes(pairingKey); byte[] bytes = BleCommandUtil.getInstance().getEncryptedPacket(BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__CHECK_PASSKEY, encodedPairingKey, null); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(">>>>> " + "ENCRYPTION__CHECK_PASSKEY" + " " + DanaRS_Packet.toHexString(bytes)); writeCharacteristic_NO_RESPONSE(getUARTWriteBTGattChar(), bytes); } else { @@ -449,7 +448,7 @@ public class BLEComm { } } else if (inputBuffer.length == 6 && inputBuffer[2] == 'P' && inputBuffer[3] == 'U' && inputBuffer[4] == 'M' && inputBuffer[5] == 'P') { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (PUMP)" + " " + DanaRS_Packet.toHexString(inputBuffer)); mSendQueue.clear(); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED, MainApp.gs(R.string.pumperror))); @@ -457,13 +456,13 @@ public class BLEComm { Notification n = new Notification(Notification.PUMPERROR, MainApp.gs(R.string.pumperror), Notification.URGENT); MainApp.bus().post(new EventNewNotification(n)); } else if (inputBuffer.length == 6 && inputBuffer[2] == 'B' && inputBuffer[3] == 'U' && inputBuffer[4] == 'S' && inputBuffer[5] == 'Y') { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (BUSY)" + " " + DanaRS_Packet.toHexString(inputBuffer)); mSendQueue.clear(); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED, MainApp.gs(R.string.pumpbusy))); } else { // ERROR in response, wrong serial number - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (ERROR)" + " " + DanaRS_Packet.toHexString(inputBuffer)); mSendQueue.clear(); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED, MainApp.gs(R.string.connectionerror))); @@ -474,7 +473,7 @@ public class BLEComm { break; // 2nd packet, pairing key case (byte) BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__CHECK_PASSKEY: - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("<<<<< " + "ENCRYPTION__CHECK_PASSKEY" + " " + DanaRS_Packet.toHexString(inputBuffer)); if (inputBuffer[2] == (byte) 0x00) { // Paring is not requested, sending time info @@ -485,7 +484,7 @@ public class BLEComm { } break; case (byte) BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__PASSKEY_REQUEST: - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("<<<<< " + "ENCRYPTION__PASSKEY_REQUEST " + DanaRS_Packet.toHexString(inputBuffer)); if (inputBuffer[2] != (byte) 0x00) { disconnect("passkey request failed"); @@ -493,7 +492,7 @@ public class BLEComm { break; // Paring response, OK button on pump pressed case (byte) BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__PASSKEY_RETURN: - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("<<<<< " + "ENCRYPTION__PASSKEY_RETURN " + DanaRS_Packet.toHexString(inputBuffer)); // Paring is successfull, sending time info MainApp.bus().post(new EventDanaRSPairingSuccess()); @@ -501,24 +500,24 @@ public class BLEComm { byte[] pairingKey = {inputBuffer[2], inputBuffer[3]}; // store pairing key to preferences SP.putString(MainApp.gs(R.string.key_danars_pairingkey) + DanaRSPlugin.mDeviceName, DanaRS_Packet.bytesToHex(pairingKey)); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("Got pairing key: " + DanaRS_Packet.bytesToHex(pairingKey)); break; // time and user password information. last packet in handshake case (byte) BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__TIME_INFORMATION: - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("<<<<< " + "ENCRYPTION__TIME_INFORMATION " + /*message.getMessageName() + " " + */ DanaRS_Packet.toHexString(inputBuffer)); int size = inputBuffer.length; int pass = ((inputBuffer[size - 1] & 0x000000FF) << 8) + ((inputBuffer[size - 2] & 0x000000FF)); pass = pass ^ 3463; DanaRPump.getInstance().rs_password = Integer.toHexString(pass); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("Pump user password: " + Integer.toHexString(pass)); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.CONNECTED)); isConnected = true; isConnecting = false; - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("RS connected and status read"); break; } @@ -537,7 +536,7 @@ public class BLEComm { message = DanaRSMessageHashTable.findMessage(receivedCommand); } if (message != null) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("<<<<< " + message.getFriendlyName() + " " + DanaRS_Packet.toHexString(inputBuffer)); // process received data message.handleMessage(inputBuffer); @@ -575,7 +574,7 @@ public class BLEComm { byte[] command = {(byte) message.getType(), (byte) message.getOpCode()}; byte[] params = message.getRequestParams(); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(">>>>> " + message.getFriendlyName() + " " + DanaRS_Packet.toHexString(command) + " " + DanaRS_Packet.toHexString(params)); byte[] bytes = BleCommandUtil.getInstance().getEncryptedPacket(message.getOpCode(), params, null); // If there is another message not completely sent, add to queue only @@ -656,7 +655,7 @@ public class BLEComm { MainApp.instance().startActivity(i); byte[] bytes = BleCommandUtil.getInstance().getEncryptedPacket(BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__PASSKEY_REQUEST, null, null); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(">>>>> " + "ENCRYPTION__PASSKEY_REQUEST" + " " + DanaRS_Packet.toHexString(bytes)); writeCharacteristic_NO_RESPONSE(getUARTWriteBTGattChar(), bytes); } @@ -664,14 +663,14 @@ public class BLEComm { private void SendPumpCheck() { // 1st message sent to pump after connect byte[] bytes = BleCommandUtil.getInstance().getEncryptedPacket(BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__PUMP_CHECK, null, getConnectDeviceName()); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(">>>>> " + "ENCRYPTION__PUMP_CHECK (0x00)" + " " + DanaRS_Packet.toHexString(bytes)); writeCharacteristic_NO_RESPONSE(getUARTWriteBTGattChar(), bytes); } private void SendTimeInfo() { byte[] bytes = BleCommandUtil.getInstance().getEncryptedPacket(BleCommandUtil.DANAR_PACKET__OPCODE_ENCRYPTION__TIME_INFORMATION, null, null); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(">>>>> " + "ENCRYPTION__TIME_INFORMATION" + " " + DanaRS_Packet.toHexString(bytes)); writeCharacteristic_NO_RESPONSE(getUARTWriteBTGattChar(), bytes); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java index 87d2b45c18..23618f2b18 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java @@ -13,7 +13,6 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -24,6 +23,7 @@ import info.nightscout.androidaps.events.EventInitializationChanged; import info.nightscout.androidaps.events.EventProfileSwitchChange; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog; import info.nightscout.androidaps.plugins.Overview.Dialogs.ErrorHelperActivity; @@ -83,7 +83,7 @@ import info.nightscout.utils.SP; import info.nightscout.utils.T; public class DanaRSService extends Service { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); private BLEComm bleComm = BLEComm.getInstance(this); @@ -156,11 +156,11 @@ public class DanaRSService extends Service { bleComm.sendMessage(new DanaRS_Packet_Option_Get_Pump_Time()); long timeDiff = (danaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Pump time difference: " + timeDiff + " seconds"); if (Math.abs(timeDiff) > 3) { if (Math.abs(timeDiff) > 60 * 60 * 1.5) { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Pump time difference: " + timeDiff + " seconds - large difference"); //If time-diff is very large, warn user until we can synchronize history readings properly Intent i = new Intent(MainApp.instance(), ErrorHelperActivity.class); @@ -181,7 +181,7 @@ public class DanaRSService extends Service { bleComm.sendMessage(new DanaRS_Packet_Option_Set_Pump_Time(new Date(DateUtil.now() + T.secs(10).msecs()))); bleComm.sendMessage(new DanaRS_Packet_Option_Get_Pump_Time()); timeDiff = (danaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Pump time difference: " + timeDiff + " seconds"); } } @@ -206,7 +206,7 @@ public class DanaRSService extends Service { MainApp.bus().post(new EventInitializationChanged()); NSUpload.uploadDeviceStatus(); if (danaRPump.dailyTotalUnits > danaRPump.maxDailyTotalUnits * Constants.dailyLimitWarning) { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Approaching daily limit: " + danaRPump.dailyTotalUnits + "/" + danaRPump.maxDailyTotalUnits); if (System.currentTimeMillis() > lastApproachingDailyLimit + 30 * 60 * 1000) { Notification reportFail = new Notification(Notification.APPROACHING_DAILY_LIMIT, MainApp.gs(R.string.approachingdailylimit), Notification.URGENT); @@ -218,7 +218,7 @@ public class DanaRSService extends Service { } catch (Exception e) { log.error("Unhandled exception", e); } - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Pump status loaded"); } @@ -235,11 +235,11 @@ public class DanaRSService extends Service { DanaRS_Packet_APS_History_Events msg; if (lastHistoryFetched == 0) { msg = new DanaRS_Packet_APS_History_Events(0); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Loading complete event history"); } else { msg = new DanaRS_Packet_APS_History_Events(lastHistoryFetched); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Loading event history from: " + new Date(lastHistoryFetched).toLocaleString()); } bleComm.sendMessage(msg); @@ -250,7 +250,7 @@ public class DanaRSService extends Service { lastHistoryFetched = DanaRS_Packet_APS_History_Events.lastEventTimeLoaded - T.mins(1).msecs(); else lastHistoryFetched = 0; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Events loaded"); danaRPump.lastConnection = System.currentTimeMillis(); return new PumpEnactResult().success(true); @@ -298,7 +298,7 @@ public class DanaRSService extends Service { if ((System.currentTimeMillis() - progress.lastReceive) > 15 * 1000L) { // if i didn't receive status for more than 20 sec expecting broken comm stop.stopped = true; stop.forced = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Communication stopped"); } } @@ -344,7 +344,7 @@ public class DanaRSService extends Service { } public void bolusStop() { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("bolusStop >>>>> @ " + (bolusingTreatment == null ? "" : bolusingTreatment.insulin)); DanaRS_Packet_Bolus_Set_Step_Bolus_Stop stop = new DanaRS_Packet_Bolus_Set_Step_Bolus_Stop(); stop.forced = true; @@ -521,11 +521,11 @@ public class DanaRSService extends Service { @Subscribe public void onStatusEvent(EventAppExit event) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("EventAppExit received"); stopSelf(); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("EventAppExit finished"); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java index 49d945bdaa..1f1dc90eb1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java @@ -11,7 +11,6 @@ import android.support.v7.app.AlertDialog; import com.squareup.otto.Subscribe; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -21,6 +20,7 @@ import info.nightscout.androidaps.db.TemporaryBasal; import info.nightscout.androidaps.events.EventAppExit; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.PumpDescription; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.PumpDanaR.AbstractDanaRPlugin; @@ -104,13 +104,13 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { private ServiceConnection mConnection = new ServiceConnection() { public void onServiceDisconnected(ComponentName name) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Service is disconnected"); sExecutionService = null; } public void onServiceConnected(ComponentName name, IBinder service) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Service is connected"); DanaRv2ExecutionService.LocalBinder mLocalBinder = (DanaRv2ExecutionService.LocalBinder) service; sExecutionService = mLocalBinder.getServiceInstance(); @@ -156,14 +156,14 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.invoke(); SP.putBoolean("allow_hardware_pump", true); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("First time HW pump allowed!"); } }) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { pluginSwitcher.cancel(); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("User does not allow switching to HW pump!"); } }); @@ -215,7 +215,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.comment = String.format(MainApp.gs(R.string.boluserrorcode), detailedBolusInfo.insulin, t.insulin, MsgBolusStartWithSpeed.errorCode); else result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("deliverTreatment: OK. Asked: " + detailedBolusInfo.insulin + " Delivered: " + result.bolusDelivered); // remove carbs because it's get from history seprately return result; @@ -259,7 +259,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { if (doTempOff) { // If temp in progress if (TreatmentsPlugin.getPlugin().isTempBasalInProgress()) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Stopping temp basal (doTempOff)"); return cancelTempBasal(false); } @@ -268,7 +268,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.percent = 100; result.isPercent = true; result.isTempCancel = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: doTempOff OK"); return result; } @@ -291,14 +291,14 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.duration = activeTemp.getPlannedRemainingMinutes(); result.isPercent = true; result.isTempCancel = false; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)"); return result; } } } // Convert duration from minutes to hours - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: Setting temp basal " + percentRate + "% for " + durationInMinutes + " mins (doLowTemp || doHighTemp)"); if (percentRate == 0 && durationInMinutes > 30) { result = setTempBasalPercent(percentRate, durationInMinutes, profile, false); @@ -310,7 +310,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { log.error("setTempBasalAbsolute: Failed to set hightemp basal"); return result; } - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalAbsolute: hightemp basal set ok"); return result; } @@ -345,7 +345,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalPercent: Correct value already set"); return result; } @@ -364,7 +364,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setTempBasalPercent: OK"); return result; } @@ -386,7 +386,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.duration = pump.tempBasalRemainingMin; result.percent = pump.tempBasalPercent; result.isPercent = true; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("setHighTempBasalPercent: OK"); return result; } @@ -410,7 +410,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { result.success = true; result.isTempCancel = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("cancelRealTempBasal: OK"); return result; } else { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/SerialIOThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/SerialIOThread.java index 49060192b5..61047a8d5a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/SerialIOThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/SerialIOThread.java @@ -10,8 +10,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; import info.nightscout.androidaps.plugins.PumpDanaR.services.AbstractSerialIOThread; @@ -22,7 +21,7 @@ import info.nightscout.utils.CRC; * Created by mike on 17.07.2016. */ public class SerialIOThread extends AbstractSerialIOThread { - private static Logger log = LoggerFactory.getLogger(Constants.PUMPBTCOMM); + private static Logger log = LoggerFactory.getLogger(L.PUMPBTCOMM); private InputStream mInputStream = null; private OutputStream mOutputStream = null; @@ -73,7 +72,7 @@ public class SerialIOThread extends AbstractSerialIOThread { message = MessageHashTable_v2.findMessage(command); } - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("<<<<< " + message.getMessageName() + " " + message.toHexString(extractedBuff)); // process the message content @@ -149,7 +148,7 @@ public class SerialIOThread extends AbstractSerialIOThread { processedMessage = message; byte[] messageBytes = message.getRawMessageBytes(); - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(">>>>> " + message.getMessageName() + " " + message.toHexString(messageBytes)); try { @@ -182,28 +181,28 @@ public class SerialIOThread extends AbstractSerialIOThread { try { mInputStream.close(); } catch (Exception e) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(e.getMessage()); } try { mOutputStream.close(); } catch (Exception e) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(e.getMessage()); } try { mRfCommSocket.close(); } catch (Exception e) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(e.getMessage()); } try { System.runFinalization(); } catch (Exception e) { - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug(e.getMessage()); } - if (Config.logPumpBtComm) + if (L.isEnabled(L.PUMPBTCOMM)) log.debug("Disconnected: " + reason); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgCheckValue_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgCheckValue_v2.java index dcd2c5aace..8810edb815 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgCheckValue_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgCheckValue_v2.java @@ -3,12 +3,11 @@ package info.nightscout.androidaps.plugins.PumpDanaRv2.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventRefreshGui; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; @@ -22,11 +21,11 @@ import info.nightscout.androidaps.plugins.PumpDanaRv2.DanaRv2Plugin; * Created by mike on 30.06.2016. */ public class MsgCheckValue_v2 extends MessageBase { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgCheckValue_v2() { SetCommand(0xF0F1); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -35,7 +34,7 @@ public class MsgCheckValue_v2 extends MessageBase { DanaRPump pump = DanaRPump.getInstance(); pump.isNewPump = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New firmware confirmed"); pump.model = intFromBuff(bytes, 0, 1); @@ -88,7 +87,7 @@ public class MsgCheckValue_v2 extends MessageBase { ConfigBuilderPlugin.getCommandQueue().readStatus("PumpDriverChange", null); // force new connection return; } - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Model: " + String.format("%02X ", pump.model)); log.debug("Protocol: " + String.format("%02X ", pump.protocol)); log.debug("Product Code: " + String.format("%02X ", pump.productCode)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgHistoryEvents_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgHistoryEvents_v2.java index 2fe09d93bc..04eb6a1a78 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgHistoryEvents_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgHistoryEvents_v2.java @@ -6,8 +6,6 @@ import org.slf4j.LoggerFactory; import java.util.Date; import java.util.GregorianCalendar; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -15,6 +13,7 @@ import info.nightscout.androidaps.db.ExtendedBolus; import info.nightscout.androidaps.db.Source; import info.nightscout.androidaps.db.TemporaryBasal; import info.nightscout.androidaps.events.EventPumpStatusChanged; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.DetailedBolusInfoStorage; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; @@ -22,7 +21,7 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; public class MsgHistoryEvents_v2 extends MessageBase { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public boolean done; public static long lastEventTimeLoaded = 0; @@ -33,7 +32,7 @@ public class MsgHistoryEvents_v2 extends MessageBase { gfrom.setTimeInMillis(from); AddParamDate(gfrom); done = false; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -45,7 +44,7 @@ public class MsgHistoryEvents_v2 extends MessageBase { AddParamByte((byte) 0); AddParamByte((byte) 0); done = false; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -75,11 +74,11 @@ public class MsgHistoryEvents_v2 extends MessageBase { DetailedBolusInfo detailedBolusInfo = DetailedBolusInfoStorage.findDetailedBolusInfo(datetime.getTime()); if (detailedBolusInfo == null) { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Detailed bolus info not found for " + datetime.toLocaleString()); detailedBolusInfo = new DetailedBolusInfo(); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Detailed bolus info found: " + detailedBolusInfo); } detailedBolusInfo.date = datetime.getTime(); @@ -90,7 +89,7 @@ public class MsgHistoryEvents_v2 extends MessageBase { switch (recordCode) { case DanaRPump.TEMPSTART: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT TEMPSTART (" + recordCode + ") " + datetime.toLocaleString() + " Ratio: " + param1 + "% Duration: " + param2 + "min"); temporaryBasal.percentRate = param1; temporaryBasal.durationInMinutes = param2; @@ -98,13 +97,13 @@ public class MsgHistoryEvents_v2 extends MessageBase { status = "TEMPSTART " + DateUtil.timeString(datetime); break; case DanaRPump.TEMPSTOP: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT TEMPSTOP (" + recordCode + ") " + datetime.toLocaleString()); TreatmentsPlugin.getPlugin().addToHistoryTempBasal(temporaryBasal); status = "TEMPSTOP " + DateUtil.timeString(datetime); break; case DanaRPump.EXTENDEDSTART: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT EXTENDEDSTART (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + (param1 / 100d) + "U Duration: " + param2 + "min"); extendedBolus.insulin = param1 / 100d; extendedBolus.durationInMinutes = param2; @@ -112,7 +111,7 @@ public class MsgHistoryEvents_v2 extends MessageBase { status = "EXTENDEDSTART " + DateUtil.timeString(datetime); break; case DanaRPump.EXTENDEDSTOP: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT EXTENDEDSTOP (" + recordCode + ") " + datetime.toLocaleString() + " Delivered: " + (param1 / 100d) + "U RealDuration: " + param2 + "min"); TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); status = "EXTENDEDSTOP " + DateUtil.timeString(datetime); @@ -120,7 +119,7 @@ public class MsgHistoryEvents_v2 extends MessageBase { case DanaRPump.BOLUS: detailedBolusInfo.insulin = param1 / 100d; boolean newRecord = TreatmentsPlugin.getPlugin().addToHistoryTreatment(detailedBolusInfo, false); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug((newRecord ? "**NEW** " : "") + "EVENT BOLUS (" + recordCode + ") " + datetime.toLocaleString() + " Bolus: " + (param1 / 100d) + "U Duration: " + param2 + "min"); DetailedBolusInfoStorage.remove(detailedBolusInfo.date); status = "BOLUS " + DateUtil.timeString(datetime); @@ -128,13 +127,13 @@ public class MsgHistoryEvents_v2 extends MessageBase { case DanaRPump.DUALBOLUS: detailedBolusInfo.insulin = param1 / 100d; newRecord = TreatmentsPlugin.getPlugin().addToHistoryTreatment(detailedBolusInfo, false); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug((newRecord ? "**NEW** " : "") + "EVENT DUALBOLUS (" + recordCode + ") " + datetime.toLocaleString() + " Bolus: " + (param1 / 100d) + "U Duration: " + param2 + "min"); DetailedBolusInfoStorage.remove(detailedBolusInfo.date); status = "DUALBOLUS " + DateUtil.timeString(datetime); break; case DanaRPump.DUALEXTENDEDSTART: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT DUALEXTENDEDSTART (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + (param1 / 100d) + "U Duration: " + param2 + "min"); extendedBolus.insulin = param1 / 100d; extendedBolus.durationInMinutes = param2; @@ -142,33 +141,33 @@ public class MsgHistoryEvents_v2 extends MessageBase { status = "DUALEXTENDEDSTART " + DateUtil.timeString(datetime); break; case DanaRPump.DUALEXTENDEDSTOP: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT DUALEXTENDEDSTOP (" + recordCode + ") " + datetime.toLocaleString() + " Delivered: " + (param1 / 100d) + "U RealDuration: " + param2 + "min"); TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); status = "DUALEXTENDEDSTOP " + DateUtil.timeString(datetime); break; case DanaRPump.SUSPENDON: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT SUSPENDON (" + recordCode + ") " + datetime.toLocaleString()); status = "SUSPENDON " + DateUtil.timeString(datetime); break; case DanaRPump.SUSPENDOFF: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT SUSPENDOFF (" + recordCode + ") " + datetime.toLocaleString()); status = "SUSPENDOFF " + DateUtil.timeString(datetime); break; case DanaRPump.REFILL: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT REFILL (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); status = "REFILL " + DateUtil.timeString(datetime); break; case DanaRPump.PRIME: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT PRIME (" + recordCode + ") " + datetime.toLocaleString() + " Amount: " + param1 / 100d + "U"); status = "PRIME " + DateUtil.timeString(datetime); break; case DanaRPump.PROFILECHANGE: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("EVENT PROFILECHANGE (" + recordCode + ") " + datetime.toLocaleString() + " No: " + param1 + " CurrentRate: " + (param2 / 100d) + "U/h"); status = "PROFILECHANGE " + DateUtil.timeString(datetime); break; @@ -179,12 +178,12 @@ public class MsgHistoryEvents_v2 extends MessageBase { emptyCarbsInfo.source = Source.PUMP; emptyCarbsInfo.pumpId = datetime.getTime(); newRecord = TreatmentsPlugin.getPlugin().addToHistoryTreatment(emptyCarbsInfo, false); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug((newRecord ? "**NEW** " : "") + "EVENT CARBS (" + recordCode + ") " + datetime.toLocaleString() + " Carbs: " + param1 + "g"); status = "CARBS " + DateUtil.timeString(datetime); break; default: - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Event: " + recordCode + " " + datetime.toLocaleString() + " Param1: " + param1 + " Param2: " + param2); status = "UNKNOWN " + DateUtil.timeString(datetime); break; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetAPSTempBasalStart_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetAPSTempBasalStart_v2.java index 428352d6a8..42964a64c6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetAPSTempBasalStart_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetAPSTempBasalStart_v2.java @@ -3,12 +3,11 @@ package info.nightscout.androidaps.plugins.PumpDanaRv2.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgSetAPSTempBasalStart_v2 extends MessageBase { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); protected final int PARAM30MIN = 160; protected final int PARAM15MIN = 150; @@ -20,7 +19,7 @@ public class MsgSetAPSTempBasalStart_v2 extends MessageBase { public MsgSetAPSTempBasalStart_v2(int percent) { this(); setParams(percent); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message: percent: " + percent); } @@ -32,11 +31,11 @@ public class MsgSetAPSTempBasalStart_v2 extends MessageBase { AddParamInt(percent); if (percent < 100) { AddParamByte((byte) PARAM30MIN); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("APS Temp basal start percent: " + percent + " duration 30 min"); } else { AddParamByte((byte) PARAM15MIN); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("APS Temp basal start percent: " + percent + " duration 15 min"); } } @@ -54,11 +53,11 @@ public class MsgSetAPSTempBasalStart_v2 extends MessageBase { AddParamInt(percent); if (thirtyMinutes && percent <= 200) { // 30 min is allowed up to 200% AddParamByte((byte) PARAM30MIN); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("APS Temp basal start percent: " + percent + " duration 30 min"); } else { AddParamByte((byte) PARAM15MIN); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("APS Temp basal start percent: " + percent + " duration 15 min"); } } @@ -67,11 +66,11 @@ public class MsgSetAPSTempBasalStart_v2 extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set APS temp basal start result: " + result + " FAILED!!!"); } else { failed = false; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set APS temp basal start result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetHistoryEntry_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetHistoryEntry_v2.java index 4a044df0a0..0c55b29a3f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetHistoryEntry_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgSetHistoryEntry_v2.java @@ -6,12 +6,11 @@ import org.slf4j.LoggerFactory; import java.util.Date; import java.util.GregorianCalendar; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgSetHistoryEntry_v2 extends MessageBase { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgSetHistoryEntry_v2() { SetCommand(0xE004); @@ -26,7 +25,7 @@ public class MsgSetHistoryEntry_v2 extends MessageBase { AddParamDateTime(gtime); AddParamInt(param1); AddParamInt(param2); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set history entry: type: " + type + " date: " + new Date(time).toString() + " param1: " + param1 + " param2: " + param2); } @@ -35,10 +34,10 @@ public class MsgSetHistoryEntry_v2 extends MessageBase { int result = intFromBuff(bytes, 0, 1); if (result != 1) { failed = true; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set history entry result: " + result + " FAILED!!!"); } else { - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set history entry result: " + result); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusAPS_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusAPS_v2.java index 19827c484f..5d0238f2f7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusAPS_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusAPS_v2.java @@ -3,17 +3,16 @@ package info.nightscout.androidaps.plugins.PumpDanaRv2.comm; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgStatusAPS_v2 extends MessageBase { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgStatusAPS_v2() { SetCommand(0xE001); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -24,7 +23,7 @@ public class MsgStatusAPS_v2 extends MessageBase { DanaRPump pump = DanaRPump.getInstance(); pump.iob = iob; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Delivered so far: " + deliveredSoFar); log.debug("Current pump IOB: " + iob); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusBolusExtended_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusBolusExtended_v2.java index 8ec4e991a7..c9a2446cd9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusBolusExtended_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusBolusExtended_v2.java @@ -7,17 +7,16 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgStatusBolusExtended_v2 extends MessageBase { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgStatusBolusExtended_v2() { SetCommand(0x0207); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -46,7 +45,7 @@ public class MsgStatusBolusExtended_v2 extends MessageBase { pump.extendedBolusStart = extendedBolusStart; pump.extendedBolusRemainingMinutes = extendedBolusRemainingMinutes; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Is extended bolus running: " + isExtendedInProgress); log.debug("Extended bolus min: " + extendedBolusMinutes); log.debug("Extended bolus amount: " + extendedBolusAmount); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusTempBasal_v2.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusTempBasal_v2.java index 2ece5ab47e..992b15e9ca 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusTempBasal_v2.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/comm/MsgStatusTempBasal_v2.java @@ -7,17 +7,16 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase; public class MsgStatusTempBasal_v2 extends MessageBase { - private Logger log = LoggerFactory.getLogger(Constants.PUMPCOMM); + private Logger log = LoggerFactory.getLogger(L.PUMPCOMM); public MsgStatusTempBasal_v2() { SetCommand(0x0205); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("New message"); } @@ -41,7 +40,7 @@ public class MsgStatusTempBasal_v2 extends MessageBase { pump.tempBasalTotalSec = tempBasalTotalSec; pump.tempBasalStart = tempBasalStart; - if (Config.logPumpComm) { + if (L.isEnabled(L.PUMPCOMM)) { log.debug("Is temp basal running: " + isTempBasalInProgress); log.debug("Is APS temp basal running: " + isAPSTempBasalInProgress); log.debug("Current temp basal percent: " + tempBasalPercent); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java index 1b75e15246..4065d1624d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java @@ -11,7 +11,6 @@ import com.squareup.otto.Subscribe; import java.io.IOException; import java.util.Date; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -23,6 +22,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.events.EventProfileSwitchChange; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog; import info.nightscout.androidaps.plugins.Overview.Dialogs.ErrorHelperActivity; @@ -102,7 +102,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { @Subscribe public void onStatusEvent(EventAppExit event) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("EventAppExit received"); if (mSerialIOThread != null) @@ -111,7 +111,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { MainApp.instance().getApplicationContext().unregisterReceiver(receiver); stopSelf(); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("EventAppExit finished"); } @@ -205,11 +205,11 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumptime))); mSerialIOThread.sendMessage(new MsgSettingPumpTime()); long timeDiff = (mDanaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Pump time difference: " + timeDiff + " seconds"); if (Math.abs(timeDiff) > 3) { if (Math.abs(timeDiff) > 60 * 60 * 1.5) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Pump time difference: " + timeDiff + " seconds - large difference"); //If time-diff is very large, warn user until we can synchronize history readings properly Intent i = new Intent(MainApp.instance(), ErrorHelperActivity.class); @@ -230,7 +230,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { mSerialIOThread.sendMessage(new MsgSetTime(new Date(DateUtil.now() + T.secs(10).msecs()))); mSerialIOThread.sendMessage(new MsgSettingPumpTime()); timeDiff = (mDanaRPump.pumpTime.getTime() - System.currentTimeMillis()) / 1000L; - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Pump time difference: " + timeDiff + " seconds"); } } @@ -258,7 +258,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { MainApp.bus().post(new EventInitializationChanged()); NSUpload.uploadDeviceStatus(); if (mDanaRPump.dailyTotalUnits > mDanaRPump.maxDailyTotalUnits * Constants.dailyLimitWarning) { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Approaching daily limit: " + mDanaRPump.dailyTotalUnits + "/" + mDanaRPump.maxDailyTotalUnits); if (System.currentTimeMillis() > lastApproachingDailyLimit + 30 * 60 * 1000) { Notification reportFail = new Notification(Notification.APPROACHING_DAILY_LIMIT, MainApp.gs(R.string.approachingdailylimit), Notification.URGENT); @@ -435,7 +435,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { } public void bolusStop() { - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("bolusStop >>>>> @ " + (mBolusingTreatment == null ? "" : mBolusingTreatment.insulin)); MsgBolusStop stop = new MsgBolusStop(); stop.forced = true; @@ -475,11 +475,11 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { MsgHistoryEvents_v2 msg; if (lastHistoryFetched == 0) { msg = new MsgHistoryEvents_v2(); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Loading complete event history"); } else { msg = new MsgHistoryEvents_v2(lastHistoryFetched); - if (Config.logPump) + if (L.isEnabled(L.PUMP)) log.debug("Loading event history from: " + new Date(lastHistoryFetched).toLocaleString()); } mSerialIOThread.sendMessage(msg); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java index 3d8863bd3e..661ed0b0a5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java @@ -31,6 +31,7 @@ import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; @@ -460,7 +461,7 @@ public class InsightPlugin extends PluginBase implements PumpInterface, Constrai log.debug("Failure to deliver treatment"); } - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Delivering treatment insulin: " + detailedBolusInfo.insulin + "U carbs: " + detailedBolusInfo.carbs + "g " + result); updateGui(); @@ -556,7 +557,7 @@ public class InsightPlugin extends PluginBase implements PumpInterface, Constrai .source(Source.USER); TreatmentsPlugin.getPlugin().addToHistoryTempBasal(tempBasal); updateGui(); - if (Config.logPumpComm) log.debug("Set temp basal " + percent + "% for " + durationInMinutes + "m"); + if (L.isEnabled(L.PUMPCOMM)) log.debug("Set temp basal " + percent + "% for " + durationInMinutes + "m"); connector.requestHistorySync(5000); connector.tryToGetPumpStatusAgain(); return new PumpEnactResult().success(true).enacted(true).percent(percent); @@ -574,7 +575,7 @@ public class InsightPlugin extends PluginBase implements PumpInterface, Constrai cancelExtendedBolus(); realTBRCancel(); updateGui(); - if (Config.logPumpComm) log.debug("Canceling temp basal"); + if (L.isEnabled(L.PUMPCOMM)) log.debug("Canceling temp basal"); connector.requestHistorySync(5000); connector.tryToGetPumpStatusAgain(); return new PumpEnactResult().success(true).enacted(true).isTempCancel(true); @@ -611,7 +612,7 @@ public class InsightPlugin extends PluginBase implements PumpInterface, Constrai updateGui(); connector.requestHistorySync(30000); connector.tryToGetPumpStatusAgain(); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Setting extended bolus: " + insulin + " mins:" + durationInMinutes); return new PumpEnactResult().success(true).enacted(true).duration(durationInMinutes).bolusDelivered(insulin); } catch (Exception e) { @@ -632,7 +633,7 @@ public class InsightPlugin extends PluginBase implements PumpInterface, Constrai exStop.source = Source.USER; TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(exStop); } - if (Config.logPumpComm) log.debug("Cancel extended bolus:"); + if (L.isEnabled(L.PUMPCOMM)) log.debug("Cancel extended bolus:"); if (bolusId != null) connector.requestHistorySync(5000); connector.tryToGetPumpStatusAgain(); updateGui(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpMDI/MDIPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpMDI/MDIPlugin.java index fb41a72e88..209d24d193 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpMDI/MDIPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpMDI/MDIPlugin.java @@ -8,7 +8,6 @@ import org.slf4j.LoggerFactory; import java.util.Date; import info.nightscout.androidaps.BuildConfig; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -19,6 +18,7 @@ import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; @@ -149,7 +149,7 @@ public class MDIPlugin extends PluginBase implements PumpInterface { PumpEnactResult result = new PumpEnactResult(); result.success = false; result.comment = MainApp.gs(R.string.pumperror); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Setting temp basal absolute: " + result); return result; } @@ -159,7 +159,7 @@ public class MDIPlugin extends PluginBase implements PumpInterface { PumpEnactResult result = new PumpEnactResult(); result.success = false; result.comment = MainApp.gs(R.string.pumperror); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Settings temp basal percent: " + result); return result; } @@ -169,7 +169,7 @@ public class MDIPlugin extends PluginBase implements PumpInterface { PumpEnactResult result = new PumpEnactResult(); result.success = false; result.comment = MainApp.gs(R.string.pumperror); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Setting extended bolus: " + result); return result; } @@ -179,7 +179,7 @@ public class MDIPlugin extends PluginBase implements PumpInterface { PumpEnactResult result = new PumpEnactResult(); result.success = false; result.comment = MainApp.gs(R.string.pumperror); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Cancel temp basal: " + result); return result; } @@ -189,7 +189,7 @@ public class MDIPlugin extends PluginBase implements PumpInterface { PumpEnactResult result = new PumpEnactResult(); result.success = false; result.comment = MainApp.gs(R.string.pumperror); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Canceling extended basal: " + result); return result; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java index 1586522791..7aae82b8f8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java @@ -24,6 +24,7 @@ import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; @@ -222,7 +223,7 @@ public class VirtualPumpPlugin extends PluginBase implements PumpInterface { bolusingEvent.percent = 100; MainApp.bus().post(bolusingEvent); SystemClock.sleep(1000); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Delivering treatment insulin: " + detailedBolusInfo.insulin + "U carbs: " + detailedBolusInfo.carbs + "g " + result); MainApp.bus().post(new EventVirtualPumpUpdateGui()); lastDataTime = new Date(); @@ -250,7 +251,7 @@ public class VirtualPumpPlugin extends PluginBase implements PumpInterface { result.duration = durationInMinutes; result.comment = MainApp.gs(R.string.virtualpump_resultok); TreatmentsPlugin.getPlugin().addToHistoryTempBasal(tempBasal); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Setting temp basal absolute: " + result); MainApp.bus().post(new EventVirtualPumpUpdateGui()); lastDataTime = new Date(); @@ -278,7 +279,7 @@ public class VirtualPumpPlugin extends PluginBase implements PumpInterface { result.duration = durationInMinutes; result.comment = MainApp.gs(R.string.virtualpump_resultok); TreatmentsPlugin.getPlugin().addToHistoryTempBasal(tempBasal); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Settings temp basal percent: " + result); MainApp.bus().post(new EventVirtualPumpUpdateGui()); lastDataTime = new Date(); @@ -302,7 +303,7 @@ public class VirtualPumpPlugin extends PluginBase implements PumpInterface { result.duration = durationInMinutes; result.comment = MainApp.gs(R.string.virtualpump_resultok); TreatmentsPlugin.getPlugin().addToHistoryExtendedBolus(extendedBolus); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Setting extended bolus: " + result); MainApp.bus().post(new EventVirtualPumpUpdateGui()); lastDataTime = new Date(); @@ -320,7 +321,7 @@ public class VirtualPumpPlugin extends PluginBase implements PumpInterface { TemporaryBasal tempStop = new TemporaryBasal().date(System.currentTimeMillis()).source(Source.USER); TreatmentsPlugin.getPlugin().addToHistoryTempBasal(tempStop); //tempBasal = null; - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Canceling temp basal: " + result); MainApp.bus().post(new EventVirtualPumpUpdateGui()); } @@ -340,7 +341,7 @@ public class VirtualPumpPlugin extends PluginBase implements PumpInterface { result.enacted = true; result.isTempCancel = true; result.comment = MainApp.gs(R.string.virtualpump_resultok); - if (Config.logPumpComm) + if (L.isEnabled(L.PUMPCOMM)) log.debug("Canceling extended basal: " + result); MainApp.bus().post(new EventVirtualPumpUpdateGui()); lastDataTime = new Date(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/AbstractSensitivityPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/AbstractSensitivityPlugin.java index 3e43b6a3d0..9f72f1b119 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/AbstractSensitivityPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/AbstractSensitivityPlugin.java @@ -3,12 +3,11 @@ package info.nightscout.androidaps.plugins.Sensitivity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.R; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.SensitivityInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.utils.Round; @@ -17,7 +16,7 @@ import info.nightscout.utils.SafeParse; public abstract class AbstractSensitivityPlugin extends PluginBase implements SensitivityInterface { - private static final Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); + private static final Logger log = LoggerFactory.getLogger(L.AUTOSENS); public AbstractSensitivityPlugin(PluginDescription pluginDescription) { super(pluginDescription); @@ -54,7 +53,7 @@ public abstract class AbstractSensitivityPlugin extends PluginBase implements Se if (ratio != rawRatio) { ratioLimit += "Ratio limited from " + rawRatio + " to " + ratio; - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug(ratioLimit); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java index e5949e7298..350769ec24 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java @@ -10,14 +10,13 @@ import java.util.Arrays; import java.util.Date; import java.util.List; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; @@ -29,7 +28,7 @@ import info.nightscout.utils.SP; */ public class SensitivityAAPSPlugin extends AbstractSensitivityPlugin { - private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); + private static Logger log = LoggerFactory.getLogger(L.AUTOSENS); static SensitivityAAPSPlugin plugin = null; @@ -63,18 +62,20 @@ public class SensitivityAAPSPlugin extends AbstractSensitivityPlugin { Profile profile = MainApp.getConfigBuilder().getProfile(); if (profile == null) { - log.debug("No profile"); + log.error("No profile"); return new AutosensResult(); } if (autosensDataTable == null || autosensDataTable.size() < 4) { - log.debug("No autosens data available. lastDataTime=" + iobCobCalculatorPlugin.lastDataTime()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("No autosens data available. lastDataTime=" + iobCobCalculatorPlugin.lastDataTime()); return new AutosensResult(); } AutosensData current = iobCobCalculatorPlugin.getAutosensData(toTime); // this is running inside lock already if (current == null) { - log.debug("No autosens data available. toTime: " + DateUtil.dateAndTimeString(toTime) + " lastDataTime: " + iobCobCalculatorPlugin.lastDataTime()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("No autosens data available. toTime: " + DateUtil.dateAndTimeString(toTime) + " lastDataTime: " + iobCobCalculatorPlugin.lastDataTime()); return new AutosensResult(); } @@ -132,7 +133,7 @@ public class SensitivityAAPSPlugin extends AbstractSensitivityPlugin { String ratioLimit = ""; String sensResult = ""; - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Records: " + index + " " + pastSensitivity); Arrays.sort(deviations); @@ -149,13 +150,13 @@ public class SensitivityAAPSPlugin extends AbstractSensitivityPlugin { sensResult = "Sensitivity normal"; } - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug(sensResult); AutosensResult output = fillResult(ratio, current.cob, pastSensitivity, ratioLimit, sensResult, deviationsArray.size()); - if (Config.logAutosensData) { + if (L.isEnabled(L.AUTOSENS)) { log.debug("Sensitivity to: {}, percentile: {} ratio: {} mealCOB: ", new Date(toTime).toLocaleString(), percentile, output.ratio, ratio, current.cob); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java index 142feba8da..2ddf402763 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java @@ -10,14 +10,13 @@ import java.util.Arrays; import java.util.Date; import java.util.List; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; @@ -28,7 +27,7 @@ import info.nightscout.utils.DateUtil; */ public class SensitivityOref0Plugin extends AbstractSensitivityPlugin { - private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); + private static Logger log = LoggerFactory.getLogger(L.AUTOSENS); static SensitivityOref0Plugin plugin = null; @@ -58,18 +57,20 @@ public class SensitivityOref0Plugin extends AbstractSensitivityPlugin { Profile profile = MainApp.getConfigBuilder().getProfile(); if (profile == null) { - log.debug("No profile"); + log.error("No profile"); return new AutosensResult(); } if (autosensDataTable == null || autosensDataTable.size() < 4) { - log.debug("No autosens data available. lastDataTime=" + iobCobCalculatorPlugin.lastDataTime()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("No autosens data available. lastDataTime=" + iobCobCalculatorPlugin.lastDataTime()); return new AutosensResult(); } AutosensData current = iobCobCalculatorPlugin.getAutosensData(toTime); // this is running inside lock already if (current == null) { - log.debug("No autosens data available. toTime: " + DateUtil.dateAndTimeString(toTime) + " lastDataTime: " + iobCobCalculatorPlugin.lastDataTime()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("No autosens data available. toTime: " + DateUtil.dateAndTimeString(toTime) + " lastDataTime: " + iobCobCalculatorPlugin.lastDataTime()); return new AutosensResult(); } @@ -127,14 +128,14 @@ public class SensitivityOref0Plugin extends AbstractSensitivityPlugin { String ratioLimit = ""; String sensResult = ""; - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Records: " + index + " " + pastSensitivity); Arrays.sort(deviations); for (double i = 0.9; i > 0.1; i = i - 0.02) { if (IobCobCalculatorPlugin.percentile(deviations, (i + 0.02)) >= 0 && IobCobCalculatorPlugin.percentile(deviations, i) < 0) { - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug(Math.round(100 * i) + "% of non-meal deviations negative (target 45%-50%)"); } } @@ -153,7 +154,7 @@ public class SensitivityOref0Plugin extends AbstractSensitivityPlugin { sensResult = "Sensitivity normal"; } - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug(sensResult); ratio = 1 + (basalOff / profile.getMaxDailyBasal()); @@ -161,7 +162,7 @@ public class SensitivityOref0Plugin extends AbstractSensitivityPlugin { AutosensResult output = fillResult(ratio, current.cob, pastSensitivity, ratioLimit, sensResult, deviationsArray.size()); - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Sensitivity to: {} ratio: {} mealCOB: {}", new Date(toTime).toLocaleString(), output.ratio, current.cob); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java index 4eb67cc69f..fe56899fea 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java @@ -10,14 +10,13 @@ import java.util.Arrays; import java.util.Date; import java.util.List; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; @@ -28,7 +27,7 @@ import info.nightscout.utils.DateUtil; */ public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { - private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); + private static Logger log = LoggerFactory.getLogger(L.AUTOSENS); static SensitivityOref1Plugin plugin = null; @@ -57,19 +56,21 @@ public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { Profile profile = MainApp.getConfigBuilder().getProfile(); if (profile == null) { - log.debug("No profile"); + log.error("No profile"); return new AutosensResult(); } if (autosensDataTable == null || autosensDataTable.size() < 4) { - log.debug("No autosens data available. lastDataTime=" + iobCobCalculatorPlugin.lastDataTime()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("No autosens data available. lastDataTime=" + iobCobCalculatorPlugin.lastDataTime()); return new AutosensResult(); } // the current AutosensData current = iobCobCalculatorPlugin.getAutosensData(toTime); // this is running inside lock already if (current == null) { - log.debug("No autosens data available. toTime: " + DateUtil.dateAndTimeString(toTime) + " lastDataTime: " + iobCobCalculatorPlugin.lastDataTime()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("No autosens data available. toTime: " + DateUtil.dateAndTimeString(toTime) + " lastDataTime: " + iobCobCalculatorPlugin.lastDataTime()); return new AutosensResult(); } @@ -121,11 +122,11 @@ public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { // when we have less than 8h worth of deviation data, add up to 90m of zero deviations // this dampens any large sensitivity changes detected based on too little data, without ignoring them completely - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Using most recent " + deviationsArray.size() + " deviations"); if (deviationsArray.size() < 96) { int pad = Math.round((1 - deviationsArray.size() / 96) * 18); - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Adding " + pad + " more zero deviations"); for (int d = 0; d < pad; d++) { //process.stderr.write("."); @@ -142,18 +143,18 @@ public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { String ratioLimit = ""; String sensResult = ""; - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Records: " + index + " " + pastSensitivity); Arrays.sort(deviations); for (double i = 0.9; i > 0.1; i = i - 0.01) { if (IobCobCalculatorPlugin.percentile(deviations, (i + 0.01)) >= 0 && IobCobCalculatorPlugin.percentile(deviations, i) < 0) { - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug(Math.round(100 * i) + "% of non-meal deviations negative (>50% = sensitivity)"); } if (IobCobCalculatorPlugin.percentile(deviations, (i + 0.01)) > 0 && IobCobCalculatorPlugin.percentile(deviations, i) <= 0) { - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug(Math.round(100 * i) + "% of non-meal deviations negative (>50% = resistance)"); } } @@ -172,7 +173,7 @@ public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { sensResult = "Sensitivity normal"; } - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug(sensResult); ratio = 1 + (basalOff / profile.getMaxDailyBasal()); @@ -180,7 +181,7 @@ public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { AutosensResult output = fillResult(ratio, current.cob, pastSensitivity, ratioLimit, sensResult, deviationsArray.size()); - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Sensitivity to: {} ratio: {} mealCOB: {}", new Date(toTime).toLocaleString(), output.ratio, current.cob); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java index 0a98b19289..82c3d04d91 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java @@ -8,14 +8,13 @@ import org.slf4j.LoggerFactory; import java.util.Date; import java.util.List; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; @@ -27,7 +26,7 @@ import info.nightscout.utils.SP; */ public class SensitivityWeightedAveragePlugin extends AbstractSensitivityPlugin { - private static Logger log = LoggerFactory.getLogger(Constants.AUTOSENS); + private static Logger log = LoggerFactory.getLogger(L.AUTOSENS); private static SensitivityWeightedAveragePlugin plugin = null; @@ -59,13 +58,14 @@ public class SensitivityWeightedAveragePlugin extends AbstractSensitivityPlugin int hoursForDetection = SP.getInt(R.string.key_openapsama_autosens_period, defaultHours); if (autosensDataTable == null || autosensDataTable.size() < 4) { - log.debug("No autosens data available. lastDataTime=" + iobCobCalculatorPlugin.lastDataTime()); + if (L.isEnabled(L.AUTOSENS)) + log.debug("No autosens data available. lastDataTime=" + iobCobCalculatorPlugin.lastDataTime()); return new AutosensResult(); } AutosensData current = iobCobCalculatorPlugin.getAutosensData(toTime); // this is running inside lock already if (current == null) { - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("No autosens data available. toTime: " + DateUtil.dateAndTimeString(toTime) + " lastDataTime: " + iobCobCalculatorPlugin.lastDataTime()); return new AutosensResult(); } @@ -73,7 +73,7 @@ public class SensitivityWeightedAveragePlugin extends AbstractSensitivityPlugin Profile profile = MainApp.getConfigBuilder().getProfile(); if (profile == null) { - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("No profile available"); return new AutosensResult(); } @@ -131,11 +131,11 @@ public class SensitivityWeightedAveragePlugin extends AbstractSensitivityPlugin } if (data.size() == 0) { - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Data size: " + data.size() + " fromTime: " + DateUtil.dateAndTimeString(fromTime) + " toTime: " + DateUtil.dateAndTimeString(toTime)); return new AutosensResult(); } else { - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Data size: " + data.size() + " fromTime: " + DateUtil.dateAndTimeString(fromTime) + " toTime: " + DateUtil.dateAndTimeString(toTime)); } @@ -160,7 +160,7 @@ public class SensitivityWeightedAveragePlugin extends AbstractSensitivityPlugin String ratioLimit = ""; String sensResult; - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Records: " + index + " " + pastSensitivity); double average = weightedsum / weights; @@ -175,13 +175,13 @@ public class SensitivityWeightedAveragePlugin extends AbstractSensitivityPlugin sensResult = "Sensitivity normal"; } - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug(sensResult); AutosensResult output = fillResult(ratio, current.cob, pastSensitivity, ratioLimit, sensResult, data.size()); - if (Config.logAutosensData) + if (L.isEnabled(L.AUTOSENS)) log.debug("Sensitivity to: {} weightedaverage: {} ratio: {} mealCOB: {}", new Date(toTime).toLocaleString(), average, output.ratio, current.cob); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5Plugin.java index b9f707a914..46d138c73d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceDexcomG5Plugin.java @@ -10,7 +10,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.db.BgReading; @@ -18,6 +17,7 @@ import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; @@ -26,7 +26,7 @@ import info.nightscout.utils.SP; */ public class SourceDexcomG5Plugin extends PluginBase implements BgSourceInterface { - private static Logger log = LoggerFactory.getLogger(Constants.BGSOURCE); + private static Logger log = LoggerFactory.getLogger(L.BGSOURCE); private static SourceDexcomG5Plugin plugin = null; @@ -65,12 +65,12 @@ public class SourceDexcomG5Plugin extends PluginBase implements BgSourceInterfac BgReading bgReading = new BgReading(); String data = bundle.getString("data"); - if (Config.logBgSource) + if (L.isEnabled(L.BGSOURCE)) log.debug("Received Dexcom Data", data); try { JSONArray jsonArray = new JSONArray(data); - if (Config.logBgSource) + if (L.isEnabled(L.BGSOURCE)) log.debug("Received Dexcom Data size:" + jsonArray.length()); for (int i = 0; i < jsonArray.length(); i++) { JSONObject json = jsonArray.getJSONObject(i); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceGlimpPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceGlimpPlugin.java index 761457d296..07fdba51ee 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceGlimpPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceGlimpPlugin.java @@ -6,8 +6,6 @@ import android.os.Bundle; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.db.BgReading; @@ -15,13 +13,14 @@ import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; -import info.nightscout.utils.BundleLogger; +import info.nightscout.androidaps.logging.BundleLogger; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 05.08.2016. */ public class SourceGlimpPlugin extends PluginBase implements BgSourceInterface { - private static Logger log = LoggerFactory.getLogger(Constants.BGSOURCE); + private static Logger log = LoggerFactory.getLogger(L.BGSOURCE); private static SourceGlimpPlugin plugin = null; @@ -53,7 +52,7 @@ public class SourceGlimpPlugin extends PluginBase implements BgSourceInterface { Bundle bundle = intent.getExtras(); if (bundle == null) return; - if (Config.logBgSource) + if (L.isEnabled(L.BGSOURCE)) log.debug("Received Glimp Data: " + BundleLogger.log(bundle)); BgReading bgReading = new BgReading(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceMM640gPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceMM640gPlugin.java index e96ea1b318..8bc6811ef4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceMM640gPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceMM640gPlugin.java @@ -9,8 +9,6 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.db.BgReading; @@ -18,12 +16,13 @@ import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 05.08.2016. */ public class SourceMM640gPlugin extends PluginBase implements BgSourceInterface { - private static Logger log = LoggerFactory.getLogger(Constants.BGSOURCE); + private static Logger log = LoggerFactory.getLogger(L.BGSOURCE); private static SourceMM640gPlugin plugin = null; @@ -60,7 +59,7 @@ public class SourceMM640gPlugin extends PluginBase implements BgSourceInterface if (collection.equals("entries")) { final String data = bundle.getString("data"); - if (Config.logBgSource) + if (L.isEnabled(L.BGSOURCE)) log.debug("Received MM640g Data: ", data); if ((data != null) && (data.length() > 0)) { @@ -81,7 +80,7 @@ public class SourceMM640gPlugin extends PluginBase implements BgSourceInterface MainApp.getDbHelper().createIfNotExists(bgReading, "MM640g"); break; default: - if (Config.logBgSource) + if (L.isEnabled(L.BGSOURCE)) log.debug("Unknown entries type: " + type); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceNSClientPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceNSClientPlugin.java index 89408d3e46..eb901ca1b7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceNSClientPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceNSClientPlugin.java @@ -9,7 +9,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.db.BgReading; @@ -17,6 +16,7 @@ import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSgv; import info.nightscout.utils.JsonHelper; @@ -26,7 +26,7 @@ import info.nightscout.utils.SP; * Created by mike on 05.08.2016. */ public class SourceNSClientPlugin extends PluginBase implements BgSourceInterface { - private static Logger log = LoggerFactory.getLogger(Constants.BGSOURCE); + private static Logger log = LoggerFactory.getLogger(L.BGSOURCE); private static SourceNSClientPlugin plugin = null; @@ -66,7 +66,7 @@ public class SourceNSClientPlugin extends PluginBase implements BgSourceInterfac try { if (bundles.containsKey("sgv")) { String sgvstring = bundles.getString("sgv"); - if (Config.logBgSource) + if (L.isEnabled(L.BGSOURCE)) log.debug("Received NS Data: " + sgvstring); JSONObject sgvJson = new JSONObject(sgvstring); @@ -75,7 +75,7 @@ public class SourceNSClientPlugin extends PluginBase implements BgSourceInterfac if (bundles.containsKey("sgvs")) { String sgvstring = bundles.getString("sgvs"); - if (Config.logBgSource) + if (L.isEnabled(L.BGSOURCE)) log.debug("Received NS Data: " + sgvstring); JSONArray jsonArray = new JSONArray(sgvstring); for (int i = 0; i < jsonArray.length(); i++) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourcePoctechPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourcePoctechPlugin.java index 321c1b5394..4cdd8dd810 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourcePoctechPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourcePoctechPlugin.java @@ -18,6 +18,7 @@ import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.utils.JsonHelper; import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; @@ -26,7 +27,7 @@ import info.nightscout.utils.SP; * Created by mike on 05.08.2016. */ public class SourcePoctechPlugin extends PluginBase implements BgSourceInterface { - private static Logger log = LoggerFactory.getLogger(Constants.BGSOURCE); + private static Logger log = LoggerFactory.getLogger(L.BGSOURCE); private static SourcePoctechPlugin plugin = null; @@ -63,12 +64,12 @@ public class SourcePoctechPlugin extends PluginBase implements BgSourceInterface BgReading bgReading = new BgReading(); String data = bundle.getString("data"); - if (Config.logBgSource) + if (L.isEnabled(L.BGSOURCE)) log.debug("Received Poctech Data", data); try { JSONArray jsonArray = new JSONArray(data); - if (Config.logBgSource) + if (L.isEnabled(L.BGSOURCE)) log.debug("Received Poctech Data size:" + jsonArray.length()); for (int i = 0; i < jsonArray.length(); i++) { JSONObject json = jsonArray.getJSONObject(i); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java index 3498b115f4..eeffa87324 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Source/SourceXdripPlugin.java @@ -6,23 +6,22 @@ import android.os.Bundle; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.interfaces.BgSourceInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; -import info.nightscout.utils.BundleLogger; +import info.nightscout.androidaps.logging.BundleLogger; /** * Created by mike on 05.08.2016. */ public class SourceXdripPlugin extends PluginBase implements BgSourceInterface { - private static Logger log = LoggerFactory.getLogger(Constants.BGSOURCE); + private static Logger log = LoggerFactory.getLogger(L.BGSOURCE); private static SourceXdripPlugin plugin = null; @@ -56,7 +55,7 @@ public class SourceXdripPlugin extends PluginBase implements BgSourceInterface { Bundle bundle = intent.getExtras(); if (bundle == null) return; - if (Config.logBgSource) + if (L.isEnabled(L.BGSOURCE)) log.debug("Received xDrip data: " + BundleLogger.log(intent.getExtras())); BgReading bgReading = new BgReading(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentService.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentService.java index b219522102..ab2e6b4e87 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentService.java @@ -29,8 +29,6 @@ import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.db.ICallback; @@ -39,6 +37,7 @@ import info.nightscout.androidaps.events.Event; import info.nightscout.androidaps.events.EventNsTreatment; import info.nightscout.androidaps.events.EventReloadTreatmentData; import info.nightscout.androidaps.events.EventTreatmentChange; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventNewHistoryData; import info.nightscout.utils.JsonHelper; @@ -48,7 +47,7 @@ import info.nightscout.utils.JsonHelper; */ public class TreatmentService extends OrmLiteBaseService { - private static Logger log = LoggerFactory.getLogger(Constants.DATATREATMENTS); + private static Logger log = LoggerFactory.getLogger(L.DATATREATMENTS); private static final ScheduledExecutorService treatmentEventWorker = Executors.newSingleThreadScheduledExecutor(); private static ScheduledFuture scheduledTreatmentEventPost = null; @@ -104,7 +103,7 @@ public class TreatmentService extends OrmLiteBaseService { public void onCreate() { super.onCreate(); try { - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.info("onCreate"); TableUtils.createTableIfNotExists(this.getConnectionSource(), Treatment.class); } catch (SQLException e) { @@ -124,7 +123,7 @@ public class TreatmentService extends OrmLiteBaseService { throw new RuntimeException(e); } } else { - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.info("onUpgrade"); // this.resetFood(); } @@ -165,11 +164,11 @@ public class TreatmentService extends OrmLiteBaseService { class PostRunnable implements Runnable { public void run() { - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("Firing EventReloadTreatmentData"); MainApp.bus().post(event); if (DatabaseHelper.earliestDataChange != null) { - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("Firing EventNewHistoryData"); MainApp.bus().post(new EventNewHistoryData(DatabaseHelper.earliestDataChange)); } @@ -262,7 +261,7 @@ public class TreatmentService extends OrmLiteBaseService { boolean sameSource = existingTreatment.source == treatment.source; if (!equalRePumpHistory) { // another treatment exists. Update it with the treatment coming from the pump - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("Pump record already found in database: " + existingTreatment.toString() + " wanting to add " + treatment.toString()); long oldDate = existingTreatment.date; @@ -287,7 +286,7 @@ public class TreatmentService extends OrmLiteBaseService { boolean equalRePumpHistory = existingTreatment.equalsRePumpHistory(treatment); boolean sameSource = existingTreatment.source == treatment.source; long oldDate = existingTreatment.date; - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("Pump record already found in database: " + existingTreatment.toString() + " wanting to add " + treatment.toString()); //preserve carbs @@ -304,7 +303,7 @@ public class TreatmentService extends OrmLiteBaseService { return new UpdateReturn(equalRePumpHistory || sameSource, false); } getDao().create(treatment); - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("New record from: " + Source.getString(treatment.source) + " " + treatment.toString()); DatabaseHelper.updateEarliestDataChange(treatment.date); scheduleTreatmentChange(treatment); @@ -319,7 +318,7 @@ public class TreatmentService extends OrmLiteBaseService { getDao().delete(old); // need to delete/create because date may change too old.copyFrom(treatment); getDao().create(old); - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("Updating record by date from: " + Source.getString(treatment.source) + " " + old.toString()); if (historyChange) { DatabaseHelper.updateEarliestDataChange(oldDate); @@ -340,7 +339,7 @@ public class TreatmentService extends OrmLiteBaseService { getDao().delete(old); // need to delete/create because date may change too old.copyFrom(treatment); getDao().create(old); - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("Updating record by _id from: " + Source.getString(treatment.source) + " " + old.toString()); if (historyChange) { DatabaseHelper.updateEarliestDataChange(oldDate); @@ -352,7 +351,7 @@ public class TreatmentService extends OrmLiteBaseService { } } getDao().create(treatment); - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("New record from: " + Source.getString(treatment.source) + " " + treatment.toString()); DatabaseHelper.updateEarliestDataChange(treatment.date); scheduleTreatmentChange(treatment); @@ -360,7 +359,7 @@ public class TreatmentService extends OrmLiteBaseService { } if (treatment.source == Source.USER) { getDao().create(treatment); - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("New record from: " + Source.getString(treatment.source) + " " + treatment.toString()); DatabaseHelper.updateEarliestDataChange(treatment.date); scheduleTreatmentChange(treatment); @@ -413,7 +412,7 @@ public class TreatmentService extends OrmLiteBaseService { private void deleteByNSId(String _id) { Treatment stored = findByNSId(_id); if (stored != null) { - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("Removing Treatment record from database: " + stored.toString()); delete(stored); DatabaseHelper.updateEarliestDataChange(stored.date); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java index dca46916f5..5c952b58f1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java @@ -13,7 +13,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -38,6 +37,7 @@ import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.TreatmentsInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; @@ -56,7 +56,7 @@ import info.nightscout.utils.T; * Created by mike on 05.08.2016. */ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface { - private Logger log = LoggerFactory.getLogger(Constants.DATATREATMENTS); + private Logger log = LoggerFactory.getLogger(L.DATATREATMENTS); private static TreatmentsPlugin treatmentsPlugin; @@ -110,7 +110,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface } private void initializeTreatmentData() { - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("initializeTreatmentData"); double dia = Constants.defaultDIA; if (MainApp.getConfigBuilder() != null && MainApp.getConfigBuilder().getProfile() != null) @@ -123,7 +123,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface } private void initializeTempBasalData() { - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("initializeTempBasalData"); double dia = Constants.defaultDIA; if (MainApp.getConfigBuilder() != null && MainApp.getConfigBuilder().getProfile() != null) @@ -137,7 +137,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface } private void initializeExtendedBolusData() { - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("initializeExtendedBolusData"); double dia = Constants.defaultDIA; if (MainApp.getConfigBuilder() != null && MainApp.getConfigBuilder().getProfile() != null) @@ -151,7 +151,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface } private void initializeTempTargetData() { - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("initializeTempTargetData"); synchronized (tempTargets) { long fromMills = System.currentTimeMillis() - 60 * 60 * 1000L * 24; @@ -160,7 +160,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface } private void initializeProfileSwitchData() { - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("initializeProfileSwitchData"); synchronized (profiles) { profiles.reset().add(MainApp.getDbHelper().getProfileSwitchData(false)); @@ -305,7 +305,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface last = t.date; } } - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("Last bolus time: " + new Date(last).toLocaleString()); return last; } @@ -334,7 +334,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface @Subscribe public void onStatusEvent(final EventReloadTreatmentData ev) { - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("EventReloadTreatmentData"); initializeTreatmentData(); initializeExtendedBolusData(); @@ -345,7 +345,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface @Subscribe @SuppressWarnings("unused") public void onStatusEvent(final EventReloadTempBasalData ev) { - if (Config.logDataTreatments) + if (L.isEnabled(L.DATATREATMENTS)) log.debug("EventReloadTempBasalData"); initializeTempBasalData(); updateTotalIOBTempBasals(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java index 96f550128d..4df1e65c2c 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java @@ -12,8 +12,6 @@ import org.slf4j.LoggerFactory; import java.util.LinkedList; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.DetailedBolusInfo; @@ -22,6 +20,7 @@ import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.events.EventBolusRequested; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressHelperActivity; @@ -77,7 +76,7 @@ import info.nightscout.androidaps.queue.commands.CommandTempBasalPercent; */ public class CommandQueue { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); private final LinkedList queue = new LinkedList<>(); Command performing; @@ -111,13 +110,13 @@ public class CommandQueue { private synchronized void inject(Command command) { // inject as a first command - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Adding as first: " + command.getClass().getSimpleName() + " - " + command.status()); queue.addFirst(command); } private synchronized void add(Command command) { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Adding: " + command.getClass().getSimpleName() + " - " + command.status()); queue.add(command); } @@ -151,17 +150,17 @@ public class CommandQueue { // start thread again if not already running protected synchronized void notifyAboutNewCommand() { while (thread != null && thread.getState() != Thread.State.TERMINATED && thread.waitingForDisconnect) { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Waiting for previous thread finish"); SystemClock.sleep(500); } if (thread == null || thread.getState() == Thread.State.TERMINATED) { thread = new QueueThread(this); thread.start(); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Starting new thread"); } else { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Thread is already running"); } } @@ -187,12 +186,12 @@ public class CommandQueue { if (type == Command.CommandType.SMB_BOLUS) { if (isRunning(Command.CommandType.BOLUS) || bolusInQueue()) { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Rejecting SMB since a bolus is queue/running"); return false; } if (detailedBolusInfo.lastKnownBolusTime < TreatmentsPlugin.getPlugin().getLastBolusTime()) { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Rejecting bolus, another bolus was issued since request time"); return false; } @@ -346,7 +345,7 @@ public class CommandQueue { // returns true if command is queued public boolean setProfile(Profile profile, Callback callback) { if (isThisProfileSet(profile)) { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Correct profile already set"); if (callback != null) callback.result(new PumpEnactResult().success(true).enacted(false)).run(); @@ -391,7 +390,7 @@ public class CommandQueue { // returns true if command is queued public boolean readStatus(String reason, Callback callback) { if (isLastScheduled(Command.CommandType.READSTATUS)) { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("READSTATUS " + reason + " ignored as duplicated"); if (callback != null) callback.result(executingNowError()).run(); @@ -507,7 +506,7 @@ public class CommandQueue { if (activePump != null && current != null) { boolean result = activePump.isThisProfileSet(profile); if (!result) { - if (Config.logQueue) { + if (L.isEnabled(L.PUMPQUEUE)) { log.debug("Current profile: " + current.toString()); log.debug("New profile: " + profile.toString()); } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java b/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java index 252c537b9b..83414b23fe 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/QueueThread.java @@ -8,12 +8,12 @@ import android.os.SystemClock; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.events.EventDismissBolusprogressIfRunning; import info.nightscout.androidaps.queue.events.EventQueueChanged; @@ -24,7 +24,7 @@ import info.nightscout.utils.SP; */ public class QueueThread extends Thread { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); private CommandQueue queue; @@ -52,7 +52,7 @@ public class QueueThread extends Thread { while (true) { PumpInterface pump = ConfigBuilderPlugin.getActivePump(); if (pump == null) { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("pump == null"); MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.pumpNotInitialized))); SystemClock.sleep(1000); @@ -63,7 +63,7 @@ public class QueueThread extends Thread { if (!pump.isConnected() && secondsElapsed > Constants.PUMP_MAX_CONNECTION_TIME_IN_SECONDS) { MainApp.bus().post(new EventDismissBolusprogressIfRunning(null)); MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.connectiontimedout))); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("timed out"); pump.stopConnecting(); @@ -72,7 +72,7 @@ public class QueueThread extends Thread { long last_watchdog = SP.getLong(R.string.key_btwatchdog_lastbark, 0l); watchdog = watchdog && System.currentTimeMillis() - last_watchdog > (Constants.MIN_WATCHDOG_INTERVAL_IN_SECONDS * 1000); if (watchdog) { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("BT watchdog - toggeling the phonest bluetooth"); //write time SP.putLong(R.string.key_btwatchdog_lastbark, System.currentTimeMillis()); @@ -92,7 +92,7 @@ public class QueueThread extends Thread { pump.connect("watchdog"); } else { queue.clear(); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("no connection possible"); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING)); pump.disconnect("Queue empty"); @@ -102,7 +102,7 @@ public class QueueThread extends Thread { } if (pump.isConnecting()) { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("connecting " + secondsElapsed); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.CONNECTING, (int) secondsElapsed)); SystemClock.sleep(1000); @@ -111,7 +111,7 @@ public class QueueThread extends Thread { if (!pump.isConnected()) { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("connect"); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.CONNECTING, (int) secondsElapsed)); pump.connect("Connection needed"); @@ -122,13 +122,13 @@ public class QueueThread extends Thread { if (queue.performing() == null) { if (!connectLogged) { connectLogged = true; - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("connection time " + secondsElapsed + "s"); } // Pickup 1st command and set performing variable if (queue.size() > 0) { queue.pickup(); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("performing " + queue.performing().status()); MainApp.bus().post(new EventQueueChanged()); queue.performing().execute(); @@ -144,16 +144,16 @@ public class QueueThread extends Thread { long secondsFromLastCommand = (System.currentTimeMillis() - lastCommandTime) / 1000; if (secondsFromLastCommand >= 5) { waitingForDisconnect = true; - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("queue empty. disconnect"); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING)); pump.disconnect("Queue empty"); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED)); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("disconnected"); return; } else { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("waiting for disconnect"); SystemClock.sleep(1000); } diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/Command.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/Command.java index e21fb3f276..7207f5b8d1 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/Command.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/Command.java @@ -3,18 +3,17 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.queue.Callback; /** * Created by mike on 09.11.2017. */ public abstract class Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); public enum CommandType { BOLUS, @@ -40,7 +39,7 @@ public abstract class Command { PumpEnactResult result = new PumpEnactResult(); result.success = false; result.comment = MainApp.gs(R.string.connectiontimedout); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result cancel"); if (callback != null) callback.result(result).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java index 89ebfb88b4..7e17e831e9 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandBolus.java @@ -3,11 +3,10 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog; import info.nightscout.androidaps.plugins.Overview.events.EventDismissBolusprogressIfRunning; @@ -19,7 +18,7 @@ import info.nightscout.utils.DecimalFormatter; */ public class CommandBolus extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); private DetailedBolusInfo detailedBolusInfo; @@ -35,7 +34,7 @@ public class CommandBolus extends Command { BolusProgressDialog.bolusEnded = true; MainApp.bus().post(new EventDismissBolusprogressIfRunning(r)); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelExtendedBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelExtendedBolus.java index 5874e56585..164a049647 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelExtendedBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelExtendedBolus.java @@ -3,9 +3,8 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; @@ -14,7 +13,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandCancelExtendedBolus extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); public CommandCancelExtendedBolus(Callback callback) { commandType = CommandType.EXTENDEDBOLUS; @@ -24,7 +23,7 @@ public class CommandCancelExtendedBolus extends Command { @Override public void execute() { PumpEnactResult r = ConfigBuilderPlugin.getActivePump().cancelExtendedBolus(); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelTempBasal.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelTempBasal.java index 0394e3a40a..5daa0e38e4 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelTempBasal.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandCancelTempBasal.java @@ -3,9 +3,8 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; @@ -14,7 +13,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandCancelTempBasal extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); private boolean enforceNew; @@ -27,7 +26,7 @@ public class CommandCancelTempBasal extends Command { @Override public void execute() { PumpEnactResult r = ConfigBuilderPlugin.getActivePump().cancelTempBasal(enforceNew); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandExtendedBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandExtendedBolus.java index 25c73f24f5..ea329c04d7 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandExtendedBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandExtendedBolus.java @@ -3,9 +3,8 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; @@ -14,7 +13,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandExtendedBolus extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); private double insulin; private int durationInMinutes; @@ -29,7 +28,7 @@ public class CommandExtendedBolus extends Command { @Override public void execute() { PumpEnactResult r = ConfigBuilderPlugin.getActivePump().setExtendedBolus(insulin, durationInMinutes); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result rate: " + insulin + " durationInMinutes: " + durationInMinutes + " success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadEvents.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadEvents.java index 6a0abe712b..5cc954f5ff 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadEvents.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadEvents.java @@ -3,11 +3,10 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.interfaces.DanaRInterface; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; @@ -16,7 +15,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandLoadEvents extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); public CommandLoadEvents(Callback callback) { commandType = CommandType.LOADEVENTS; @@ -29,7 +28,7 @@ public class CommandLoadEvents extends Command { if (pump instanceof DanaRInterface) { DanaRInterface danaPump = (DanaRInterface) pump; PumpEnactResult r = danaPump.loadEvents(); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadHistory.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadHistory.java index 0dcff6bffe..1259812676 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadHistory.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadHistory.java @@ -3,11 +3,10 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.interfaces.DanaRInterface; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; @@ -16,7 +15,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandLoadHistory extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); private byte type; @@ -32,7 +31,7 @@ public class CommandLoadHistory extends Command { if (pump instanceof DanaRInterface) { DanaRInterface danaPump = (DanaRInterface) pump; PumpEnactResult r = danaPump.loadHistory(type); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadTDDs.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadTDDs.java index 0c419c332e..1212303e82 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadTDDs.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandLoadTDDs.java @@ -3,10 +3,9 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; @@ -15,7 +14,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandLoadTDDs extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); public CommandLoadTDDs(Callback callback) { @@ -27,7 +26,7 @@ public class CommandLoadTDDs extends Command { public void execute() { PumpInterface pump = ConfigBuilderPlugin.getActivePump(); PumpEnactResult r = pump.loadTDDs(); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandReadStatus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandReadStatus.java index 3e4ccd58f3..b014b66969 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandReadStatus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandReadStatus.java @@ -3,8 +3,7 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; import info.nightscout.utils.LocalAlertUtils; @@ -14,7 +13,7 @@ import info.nightscout.utils.LocalAlertUtils; */ public class CommandReadStatus extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); private String reason; @@ -28,7 +27,7 @@ public class CommandReadStatus extends Command { public void execute() { ConfigBuilderPlugin.getActivePump().getPumpStatus(); LocalAlertUtils.notifyPumpStatusRead(); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("CommandReadStatus executed. Reason: " + reason); if (callback != null) callback.result(null).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSMBBolus.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSMBBolus.java index 2cadda3a44..affc7aed22 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSMBBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSMBBolus.java @@ -3,10 +3,9 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.androidaps.queue.Callback; @@ -19,7 +18,7 @@ import info.nightscout.utils.T; */ public class CommandSMBBolus extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); private DetailedBolusInfo detailedBolusInfo; @@ -34,18 +33,18 @@ public class CommandSMBBolus extends Command { PumpEnactResult r; long lastBolusTime = TreatmentsPlugin.getPlugin().getLastBolusTime(); if (lastBolusTime != 0 && lastBolusTime + T.mins(3).msecs() > DateUtil.now()) { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("SMB requsted but still in 3 min interval"); r = new PumpEnactResult().enacted(false).success(false).comment("SMB requsted but still in 3 min interval"); } else if (detailedBolusInfo.deliverAt != 0 && detailedBolusInfo.deliverAt + T.mins(1).msecs() > System.currentTimeMillis()) { r = ConfigBuilderPlugin.getActivePump().deliverTreatment(detailedBolusInfo); } else { r = new PumpEnactResult().enacted(false).success(false).comment("SMB request too old"); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("SMB bolus canceled. delivetAt: " + DateUtil.dateAndTimeString(detailedBolusInfo.deliverAt)); } - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetProfile.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetProfile.java index 20c406e59e..b62ef576d3 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetProfile.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetProfile.java @@ -3,8 +3,6 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; @@ -12,6 +10,7 @@ import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.db.ProfileSwitch; import info.nightscout.androidaps.db.Source; import info.nightscout.androidaps.interfaces.PluginType; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.SmsCommunicator.SmsCommunicatorPlugin; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; @@ -22,7 +21,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandSetProfile extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); private Profile profile; @@ -35,7 +34,7 @@ public class CommandSetProfile extends Command { @Override public void execute() { if (ConfigBuilderPlugin.getCommandQueue().isThisProfileSet(profile)) { - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Correct profile already set. profile: " + profile.toString()); if (callback != null) callback.result(new PumpEnactResult().success(true).enacted(false)).run(); @@ -43,7 +42,7 @@ public class CommandSetProfile extends Command { } PumpEnactResult r = ConfigBuilderPlugin.getActivePump().setNewBasalProfile(profile); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result success: " + r.success + " enacted: " + r.enacted + " profile: " + profile.toString()); if (callback != null) callback.result(r).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetUserSettings.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetUserSettings.java index af358604bc..8a9ae21c70 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetUserSettings.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandSetUserSettings.java @@ -3,11 +3,10 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.interfaces.DanaRInterface; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; @@ -16,7 +15,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandSetUserSettings extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); public CommandSetUserSettings(Callback callback) { commandType = CommandType.SETUSERSETTINGS; @@ -29,7 +28,7 @@ public class CommandSetUserSettings extends Command { if (pump instanceof DanaRInterface) { DanaRInterface danaPump = (DanaRInterface) pump; PumpEnactResult r = danaPump.setUserOptions(); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalAbsolute.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalAbsolute.java index 1ed0737bc0..a2787cabb6 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalAbsolute.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalAbsolute.java @@ -3,10 +3,9 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; @@ -15,7 +14,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandTempBasalAbsolute extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); private int durationInMinutes; private double absoluteRate; @@ -34,7 +33,7 @@ public class CommandTempBasalAbsolute extends Command { @Override public void execute() { PumpEnactResult r = ConfigBuilderPlugin.getActivePump().setTempBasalAbsolute(absoluteRate, durationInMinutes, profile, enforceNew); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result rate: " + absoluteRate + " durationInMinutes: " + durationInMinutes + " success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalPercent.java b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalPercent.java index 8aaaf91d52..efdfca0a69 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalPercent.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/commands/CommandTempBasalPercent.java @@ -3,10 +3,9 @@ package info.nightscout.androidaps.queue.commands; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.PumpEnactResult; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.Callback; @@ -15,7 +14,7 @@ import info.nightscout.androidaps.queue.Callback; */ public class CommandTempBasalPercent extends Command { - private Logger log = LoggerFactory.getLogger(Constants.PUMPQUEUE); + private Logger log = LoggerFactory.getLogger(L.PUMPQUEUE); private int durationInMinutes; private int percent; @@ -34,7 +33,7 @@ public class CommandTempBasalPercent extends Command { @Override public void execute() { PumpEnactResult r = ConfigBuilderPlugin.getActivePump().setTempBasalPercent(percent, durationInMinutes, profile, enforceNew); - if (Config.logQueue) + if (L.isEnabled(L.PUMPQUEUE)) log.debug("Result percent: " + percent + " durationInMinutes: " + durationInMinutes + " success: " + r.success + " enacted: " + r.enacted); if (callback != null) callback.result(r).run(); diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.java b/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.java index 535f64c85f..087cd3a5f5 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/receivers/DataReceiver.java @@ -7,16 +7,15 @@ import android.support.v4.content.WakefulBroadcastReceiver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.services.DataService; -import info.nightscout.androidaps.Config; public class DataReceiver extends WakefulBroadcastReceiver { - private static Logger log = LoggerFactory.getLogger(Constants.DATASERVICE); + private static Logger log = LoggerFactory.getLogger(L.DATASERVICE); @Override public void onReceive(Context context, Intent intent) { - if (Config.logDataService) + if (L.isEnabled(L.DATASERVICE)) log.debug("onReceive " + intent); startWakefulService(context, new Intent(context, DataService.class) .setAction(intent.getAction()) diff --git a/app/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.java b/app/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.java index d4cfca9c59..43fbae83eb 100644 --- a/app/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.java +++ b/app/src/main/java/info/nightscout/androidaps/services/AlarmSoundService.java @@ -13,13 +13,12 @@ import org.slf4j.LoggerFactory; import java.io.IOException; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; public class AlarmSoundService extends Service { - private static Logger log = LoggerFactory.getLogger(Constants.ALARM); + private static Logger log = LoggerFactory.getLogger(L.ALARM); MediaPlayer player; int resourceId = R.raw.error; @@ -36,14 +35,14 @@ public class AlarmSoundService extends Service { @Override public void onCreate() { super.onCreate(); - if (Config.logAlarm) + if (L.isEnabled(L.ALARM)) log.debug("onCreate"); } public int onStartCommand(Intent intent, int flags, int startId) { if (player != null && player.isPlaying()) player.stop(); - if (Config.logAlarm) + if (L.isEnabled(L.ALARM)) log.debug("onStartCommand"); if (intent != null && intent.hasExtra("soundid")) resourceId = intent.getIntExtra("soundid", R.raw.error); @@ -78,7 +77,7 @@ public class AlarmSoundService extends Service { public void onDestroy() { player.stop(); player.release(); - if (Config.logAlarm) + if (L.isEnabled(L.ALARM)) log.debug("onDestroy"); } } diff --git a/app/src/main/java/info/nightscout/androidaps/services/DataService.java b/app/src/main/java/info/nightscout/androidaps/services/DataService.java index 95b3e70195..c0cfe07370 100644 --- a/app/src/main/java/info/nightscout/androidaps/services/DataService.java +++ b/app/src/main/java/info/nightscout/androidaps/services/DataService.java @@ -11,13 +11,12 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.events.EventNsFood; import info.nightscout.androidaps.events.EventNsTreatment; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSDeviceStatus; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSMbg; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSettingsStatus; @@ -33,13 +32,13 @@ import info.nightscout.androidaps.plugins.Source.SourceNSClientPlugin; import info.nightscout.androidaps.plugins.Source.SourcePoctechPlugin; import info.nightscout.androidaps.plugins.Source.SourceXdripPlugin; import info.nightscout.androidaps.receivers.DataReceiver; -import info.nightscout.utils.BundleLogger; +import info.nightscout.androidaps.logging.BundleLogger; import info.nightscout.utils.JsonHelper; import info.nightscout.utils.SP; public class DataService extends IntentService { - private Logger log = LoggerFactory.getLogger(Constants.DATASERVICE); + private Logger log = LoggerFactory.getLogger(L.DATASERVICE); public DataService() { super("DataService"); @@ -48,7 +47,7 @@ public class DataService extends IntentService { @Override protected void onHandleIntent(final Intent intent) { - if (Config.logDataService) { + if (L.isEnabled(L.DATASERVICE)) { log.debug("onHandleIntent " + intent); log.debug("onHandleIntent " + BundleLogger.log(intent.getExtras())); } @@ -101,7 +100,7 @@ public class DataService extends IntentService { SmsCommunicatorPlugin.getPlugin().handleNewData(intent); } - if (Config.logDataService) + if (L.isEnabled(L.DATASERVICE)) log.debug("onHandleIntent exit " + intent); DataReceiver.completeWakefulIntent(intent); } @@ -124,7 +123,7 @@ public class DataService extends IntentService { private void handleNewDataFromNSClient(Intent intent) { Bundle bundles = intent.getExtras(); if (bundles == null) return; - if (Config.logDataService) + if (L.isEnabled(L.DATASERVICE)) log.debug("Got intent: " + intent.getAction()); @@ -254,7 +253,7 @@ public class DataService extends IntentService { NSMbg nsMbg = new NSMbg(mbgJson); CareportalEvent careportalEvent = new CareportalEvent(nsMbg); MainApp.getDbHelper().createOrUpdate(careportalEvent); - if (Config.logDataService) + if (L.isEnabled(L.DATASERVICE)) log.debug("Adding/Updating new MBG: " + careportalEvent.log()); } From 188a9b6313e63aa0414ffab71865eaadcce9cf7e Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 29 Jul 2018 15:37:28 +0200 Subject: [PATCH 26/37] PROFILE logging --- .../info/nightscout/androidaps/Config.java | 2 - .../nightscout/androidaps/MainActivity.java | 10 +- .../info/nightscout/androidaps/MainApp.java | 14 +- .../info/nightscout/androidaps/logging/L.java | 103 +++++++++++ .../ConfigBuilder/ConfigBuilderPlugin.java | 6 +- .../ProfileLocal/LocalProfileFragment.java | 130 +++++++------- .../ProfileLocal/LocalProfilePlugin.java | 8 +- .../plugins/ProfileNS/NSProfileFragment.java | 21 +-- .../plugins/ProfileNS/NSProfilePlugin.java | 30 ++-- .../ProfileSimple/SimpleProfileFragment.java | 163 +++++++++--------- .../ProfileSimple/SimpleProfilePlugin.java | 10 +- 11 files changed, 292 insertions(+), 205 deletions(-) create mode 100644 app/src/main/java/info/nightscout/androidaps/logging/L.java diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index 4d183476e9..edfaf94bfc 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -23,8 +23,6 @@ public class Config { public static final boolean SMSCOMMUNICATORENABLED = !BuildConfig.NSCLIENTOLNY && !BuildConfig.G5UPLOADER; - public static boolean logFunctionCalls = true; - public static boolean logPrefsChange = true; public static boolean logConfigBuilder = true; public static boolean logCongigBuilderActions = true; diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.java b/app/src/main/java/info/nightscout/androidaps/MainActivity.java index a4370ff683..edb1bd7854 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.java @@ -48,6 +48,7 @@ import info.nightscout.androidaps.events.EventFeatureRunning; import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.events.EventRefreshGui; import info.nightscout.androidaps.interfaces.PluginBase; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Food.FoodPlugin; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSettingsStatus; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; @@ -62,7 +63,7 @@ import info.nightscout.utils.PasswordProtection; import info.nightscout.utils.SP; public class MainActivity extends AppCompatActivity { - private static Logger log = LoggerFactory.getLogger(MainActivity.class); + private static Logger log = LoggerFactory.getLogger(L.CORE); protected PowerManager.WakeLock mWakeLock; @@ -74,7 +75,7 @@ public class MainActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - if (Config.logFunctionCalls) + if (L.isEnabled(L.CORE)) log.debug("onCreate"); Iconify.with(new FontAwesomeModule()); @@ -134,6 +135,9 @@ public class MainActivity extends AppCompatActivity { protected void onResume() { super.onResume(); + if (L.isEnabled(L.CORE)) + log.debug("onResume"); + if (!SP.getBoolean(R.string.key_setupwizard_processed, false)) { Intent intent = new Intent(this, SetupWizardActivity.class); startActivity(intent); @@ -153,6 +157,8 @@ public class MainActivity extends AppCompatActivity { @Override public void onDestroy() { + if (L.isEnabled(L.CORE)) + log.debug("onDestroy"); if (mWakeLock != null) if (mWakeLock.isHeld()) mWakeLock.release(); diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.java b/app/src/main/java/info/nightscout/androidaps/MainApp.java index d4845a51dd..791f4f07df 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.java +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.java @@ -24,13 +24,12 @@ import java.io.File; import java.util.ArrayList; import ch.qos.logback.classic.LoggerContext; -import info.nightscout.androidaps.logging.L; -import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.data.ConstraintChecker; import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Actions.ActionsFragment; import info.nightscout.androidaps.plugins.Careportal.CareportalPlugin; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; @@ -43,6 +42,7 @@ import info.nightscout.androidaps.plugins.Insulin.InsulinOrefUltraRapidActingPlu import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.Loop.LoopPlugin; import info.nightscout.androidaps.plugins.NSClientInternal.NSClientPlugin; +import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.androidaps.plugins.NSClientInternal.receivers.AckAlarmReceiver; import info.nightscout.androidaps.plugins.OpenAPSAMA.OpenAPSAMAPlugin; import info.nightscout.androidaps.plugins.OpenAPSMA.OpenAPSMAPlugin; @@ -77,13 +77,13 @@ import info.nightscout.androidaps.plugins.XDripStatusline.StatuslinePlugin; import info.nightscout.androidaps.receivers.DataReceiver; import info.nightscout.androidaps.receivers.KeepAliveReceiver; import info.nightscout.androidaps.receivers.NSAlarmReceiver; +import info.nightscout.androidaps.services.Intents; import info.nightscout.utils.FabricPrivacy; -import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import io.fabric.sdk.android.Fabric; public class MainApp extends Application { - private static Logger log = LoggerFactory.getLogger(MainApp.class); + private static Logger log = LoggerFactory.getLogger(L.CORE); private static KeepAliveReceiver keepAliveReceiver; private static Bus sBus; @@ -107,6 +107,8 @@ public class MainApp extends Application { @Override public void onCreate() { super.onCreate(); + if (L.isEnabled(L.CORE)) + log.debug("onCreate"); sInstance = this; sResources = getResources(); sConstraintsChecker = new ConstraintChecker(this); @@ -119,7 +121,7 @@ public class MainApp extends Application { Crashlytics.setString("BUILDVERSION", BuildConfig.BUILDVERSION); } } catch (Exception e) { - android.util.Log.e("ANDROIDAPS", "Error with Fabric init! " + e); + log.error("Error with Fabric init! " + e); } JodaTimeAndroid.init(this); @@ -395,6 +397,8 @@ public class MainApp extends Application { @Override public void onTerminate() { + if (L.isEnabled(L.CORE)) + log.debug("onTerminate"); super.onTerminate(); if (sDatabaseHelper != null) { sDatabaseHelper.close(); diff --git a/app/src/main/java/info/nightscout/androidaps/logging/L.java b/app/src/main/java/info/nightscout/androidaps/logging/L.java new file mode 100644 index 0000000000..c14fa46361 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/logging/L.java @@ -0,0 +1,103 @@ +package info.nightscout.androidaps.logging; + +import java.util.ArrayList; +import java.util.List; + +import info.nightscout.utils.SP; + +public class L { + + public static class LogElement { + String name; + boolean defaultValue; + boolean enabled; + boolean requiresRestart = false; + + LogElement(String name, boolean defaultValue) { + this.name = name; + this.defaultValue = defaultValue; + enabled = SP.getBoolean(getSPName(), defaultValue); + } + + LogElement(String name, boolean defaultValue, boolean requiresRestart) { + this.name = name; + this.defaultValue = defaultValue; + this.requiresRestart = requiresRestart; + enabled = SP.getBoolean(getSPName(), defaultValue); + } + + LogElement(boolean defaultValue) { + this.name = "NONEXISTING"; + this.defaultValue = defaultValue; + enabled = defaultValue; + } + + private String getSPName() { + return "log_" + name; + } + + } + + private static List logElements; + + static { + initialize(); + } + + private static LogElement findByName(String name) { + for (LogElement element: logElements + ) { + if (element.name.equals(name)) + return element; + } + return new LogElement(false); + } + + public static boolean isEnabled(String name) { + return findByName(name).enabled; + } + + public static final String CORE = "CORE"; + public static final String AUTOSENS = "AUTOSENS"; + public static final String EVENTS = "EVENTS"; + public static final String BGSOURCE = "BGSOURCE"; + public static final String OVERVIEW = "OVERVIEW"; + public static final String NOTIFICATION = "NOTIFICATION"; + public static final String ALARM = "ALARM"; + public static final String DATASERVICE = "DATASERVICE"; + public static final String DATABASE = "DATABASE"; + public static final String DATAFOOD = "DATAFOOD"; + public static final String DATATREATMENTS = "DATATREATMENTS"; + public static final String NSCLIENT = "NSCLIENT"; + public static final String OBJECTIVES = "OBJECTIVES"; + public static final String PUMP = "PUMP"; + public static final String PUMPQUEUE = "PUMPQUEUE"; + public static final String PUMPCOMM = "PUMPCOMM"; + public static final String PUMPBTCOMM = "PUMPBTCOMM"; + public static final String APS = "APS"; + public static final String PROFILE = "PROFILE"; + + private static void initialize() { + logElements = new ArrayList<>(); + logElements.add(new LogElement(CORE, true)); + logElements.add(new LogElement(AUTOSENS, false)); + logElements.add(new LogElement(EVENTS, false, true)); + logElements.add(new LogElement(BGSOURCE, true)); + logElements.add(new LogElement(OVERVIEW, true)); + logElements.add(new LogElement(NOTIFICATION, true)); + logElements.add(new LogElement(ALARM, false)); + logElements.add(new LogElement(DATASERVICE, true)); + logElements.add(new LogElement(DATABASE, true)); + logElements.add(new LogElement(DATAFOOD, true)); + logElements.add(new LogElement(DATATREATMENTS, true)); + logElements.add(new LogElement(NSCLIENT, true)); + logElements.add(new LogElement(OBJECTIVES, false)); + logElements.add(new LogElement(PUMP, true)); + logElements.add(new LogElement(PUMPQUEUE, true)); + logElements.add(new LogElement(PUMPCOMM, true)); + logElements.add(new LogElement(PUMPBTCOMM, false)); + logElements.add(new LogElement(APS, true)); + logElements.add(new LogElement(PROFILE, true)); + } + +} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java index 8a1b4a9764..3c582c0709 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java @@ -120,7 +120,7 @@ public class ConfigBuilderPlugin extends PluginBase { public void storeSettings(String from) { if (pluginList != null) { - if (Config.logPrefsChange) + if (Config.logConfigBuilder) log.debug("Storing settings from: " + from); for (PluginBase p : pluginList) { @@ -152,7 +152,7 @@ public class ConfigBuilderPlugin extends PluginBase { } private void loadSettings() { - if (Config.logPrefsChange) + if (Config.logConfigBuilder) log.debug("Loading stored settings"); for (PluginBase p : pluginList) { PluginType type = p.getType(); @@ -189,7 +189,7 @@ public class ConfigBuilderPlugin extends PluginBase { private void upgradeSettings() { if (!SP.contains("ConfigBuilder_1_NSProfilePlugin_Enabled")) return; - if (Config.logPrefsChange) + if (Config.logConfigBuilder) log.debug("Upgrading stored settings"); for (PluginBase p : pluginList) { log.debug("Processing " + p.getName()); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfileFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfileFragment.java index 18060ba1ec..3fab80855a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfileFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfileFragment.java @@ -25,20 +25,18 @@ import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.ProfileStore; import info.nightscout.androidaps.events.EventInitializationChanged; import info.nightscout.androidaps.interfaces.PumpDescription; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Careportal.CareportalFragment; import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog; import info.nightscout.androidaps.plugins.Careportal.OptionsToShow; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.utils.DecimalFormatter; -import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.NumberPicker; import info.nightscout.utils.SafeParse; import info.nightscout.utils.TimeListEdit; public class LocalProfileFragment extends SubscriberFragment { - private static Logger log = LoggerFactory.getLogger(LocalProfileFragment.class); - NumberPicker diaView; RadioButton mgdlView; RadioButton mmolView; @@ -81,80 +79,72 @@ public class LocalProfileFragment extends SubscriberFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - try { + PumpDescription pumpDescription = ConfigBuilderPlugin.getActivePump().getPumpDescription(); + View layout = inflater.inflate(R.layout.localprofile_fragment, container, false); + diaView = (NumberPicker) layout.findViewById(R.id.localprofile_dia); + diaView.setParams(LocalProfilePlugin.getPlugin().dia, 2d, 48d, 0.1d, new DecimalFormat("0.0"), false, textWatch); + mgdlView = (RadioButton) layout.findViewById(R.id.localprofile_mgdl); + mmolView = (RadioButton) layout.findViewById(R.id.localprofile_mmol); + icView = new TimeListEdit(getContext(), layout, R.id.localprofile_ic, MainApp.gs(R.string.nsprofileview_ic_label) + ":", LocalProfilePlugin.getPlugin().ic, null, 0.5, 50d, 0.1d, new DecimalFormat("0.0"), save); + isfView = new TimeListEdit(getContext(), layout, R.id.localprofile_isf, MainApp.gs(R.string.nsprofileview_isf_label) + ":", LocalProfilePlugin.getPlugin().isf, null, 0.5, 500d, 0.1d, new DecimalFormat("0.0"), save); + basalView = new TimeListEdit(getContext(), layout, R.id.localprofile_basal, MainApp.gs(R.string.nsprofileview_basal_label) + ": " + getSumLabel(), LocalProfilePlugin.getPlugin().basal, null, pumpDescription.basalMinimumRate, 10, 0.01d, new DecimalFormat("0.00"), save); + targetView = new TimeListEdit(getContext(), layout, R.id.localprofile_target, MainApp.gs(R.string.nsprofileview_target_label) + ":", LocalProfilePlugin.getPlugin().targetLow, LocalProfilePlugin.getPlugin().targetHigh, 3d, 200, 0.1d, new DecimalFormat("0.0"), save); + profileswitchButton = (Button) layout.findViewById(R.id.localprofile_profileswitch); + resetButton = (Button) layout.findViewById(R.id.localprofile_reset); + saveButton = (Button) layout.findViewById(R.id.localprofile_save); - PumpDescription pumpDescription = ConfigBuilderPlugin.getActivePump().getPumpDescription(); - View layout = inflater.inflate(R.layout.localprofile_fragment, container, false); - diaView = (NumberPicker) layout.findViewById(R.id.localprofile_dia); - diaView.setParams(LocalProfilePlugin.getPlugin().dia, 2d, 48d, 0.1d, new DecimalFormat("0.0"), false, textWatch); - mgdlView = (RadioButton) layout.findViewById(R.id.localprofile_mgdl); - mmolView = (RadioButton) layout.findViewById(R.id.localprofile_mmol); + + invalidProfile = (TextView) layout.findViewById(R.id.invalidprofile); + + if (!ConfigBuilderPlugin.getActivePump().getPumpDescription().isTempBasalCapable) { + layout.findViewById(R.id.localprofile_basal).setVisibility(View.GONE); + } + + mgdlView.setChecked(LocalProfilePlugin.getPlugin().mgdl); + mmolView.setChecked(LocalProfilePlugin.getPlugin().mmol); + + mgdlView.setOnClickListener(v -> { + LocalProfilePlugin.getPlugin().mgdl = mgdlView.isChecked(); + LocalProfilePlugin.getPlugin().mmol = !LocalProfilePlugin.getPlugin().mgdl; + mmolView.setChecked(LocalProfilePlugin.getPlugin().mmol); + doEdit(); + }); + mmolView.setOnClickListener(v -> { + LocalProfilePlugin.getPlugin().mmol = mmolView.isChecked(); + LocalProfilePlugin.getPlugin().mgdl = !LocalProfilePlugin.getPlugin().mmol; + mgdlView.setChecked(LocalProfilePlugin.getPlugin().mgdl); + doEdit(); + }); + + profileswitchButton.setOnClickListener(view -> { + NewNSTreatmentDialog newDialog = new NewNSTreatmentDialog(); + final OptionsToShow profileswitch = CareportalFragment.PROFILESWITCHDIRECT; + profileswitch.executeProfileSwitch = true; + newDialog.setOptions(profileswitch, R.string.careportal_profileswitch); + newDialog.show(getFragmentManager(), "NewNSTreatmentDialog"); + }); + + resetButton.setOnClickListener(view -> { + LocalProfilePlugin.getPlugin().loadSettings(); + mgdlView.setChecked(LocalProfilePlugin.getPlugin().mgdl); + mmolView.setChecked(LocalProfilePlugin.getPlugin().mmol); + diaView.setParams(LocalProfilePlugin.getPlugin().dia, 5d, 12d, 0.1d, new DecimalFormat("0.0"), false, textWatch); icView = new TimeListEdit(getContext(), layout, R.id.localprofile_ic, MainApp.gs(R.string.nsprofileview_ic_label) + ":", LocalProfilePlugin.getPlugin().ic, null, 0.5, 50d, 0.1d, new DecimalFormat("0.0"), save); isfView = new TimeListEdit(getContext(), layout, R.id.localprofile_isf, MainApp.gs(R.string.nsprofileview_isf_label) + ":", LocalProfilePlugin.getPlugin().isf, null, 0.5, 500d, 0.1d, new DecimalFormat("0.0"), save); basalView = new TimeListEdit(getContext(), layout, R.id.localprofile_basal, MainApp.gs(R.string.nsprofileview_basal_label) + ": " + getSumLabel(), LocalProfilePlugin.getPlugin().basal, null, pumpDescription.basalMinimumRate, 10, 0.01d, new DecimalFormat("0.00"), save); targetView = new TimeListEdit(getContext(), layout, R.id.localprofile_target, MainApp.gs(R.string.nsprofileview_target_label) + ":", LocalProfilePlugin.getPlugin().targetLow, LocalProfilePlugin.getPlugin().targetHigh, 3d, 200, 0.1d, new DecimalFormat("0.0"), save); - profileswitchButton = (Button) layout.findViewById(R.id.localprofile_profileswitch); - resetButton = (Button) layout.findViewById(R.id.localprofile_reset); - saveButton = (Button) layout.findViewById(R.id.localprofile_save); + updateGUI(); + }); - - invalidProfile = (TextView) layout.findViewById(R.id.invalidprofile); - - if (!ConfigBuilderPlugin.getActivePump().getPumpDescription().isTempBasalCapable) { - layout.findViewById(R.id.localprofile_basal).setVisibility(View.GONE); + saveButton.setOnClickListener(view -> { + if (!LocalProfilePlugin.getPlugin().isValidEditState()) { + return; //Should not happen as saveButton should not be visible if not valid } + LocalProfilePlugin.getPlugin().storeSettings(); + updateGUI(); + }); - mgdlView.setChecked(LocalProfilePlugin.getPlugin().mgdl); - mmolView.setChecked(LocalProfilePlugin.getPlugin().mmol); - - mgdlView.setOnClickListener(v -> { - LocalProfilePlugin.getPlugin().mgdl = mgdlView.isChecked(); - LocalProfilePlugin.getPlugin().mmol = !LocalProfilePlugin.getPlugin().mgdl; - mmolView.setChecked(LocalProfilePlugin.getPlugin().mmol); - doEdit(); - }); - mmolView.setOnClickListener(v -> { - LocalProfilePlugin.getPlugin().mmol = mmolView.isChecked(); - LocalProfilePlugin.getPlugin().mgdl = !LocalProfilePlugin.getPlugin().mmol; - mgdlView.setChecked(LocalProfilePlugin.getPlugin().mgdl); - doEdit(); - }); - - profileswitchButton.setOnClickListener(view -> { - NewNSTreatmentDialog newDialog = new NewNSTreatmentDialog(); - final OptionsToShow profileswitch = CareportalFragment.PROFILESWITCHDIRECT; - profileswitch.executeProfileSwitch = true; - newDialog.setOptions(profileswitch, R.string.careportal_profileswitch); - newDialog.show(getFragmentManager(), "NewNSTreatmentDialog"); - }); - - resetButton.setOnClickListener(view -> { - LocalProfilePlugin.getPlugin().loadSettings(); - mgdlView.setChecked(LocalProfilePlugin.getPlugin().mgdl); - mmolView.setChecked(LocalProfilePlugin.getPlugin().mmol); - diaView.setParams(LocalProfilePlugin.getPlugin().dia, 5d, 12d, 0.1d, new DecimalFormat("0.0"), false, textWatch); - icView = new TimeListEdit(getContext(), layout, R.id.localprofile_ic, MainApp.gs(R.string.nsprofileview_ic_label) + ":", LocalProfilePlugin.getPlugin().ic, null, 0.5, 50d, 0.1d, new DecimalFormat("0.0"), save); - isfView = new TimeListEdit(getContext(), layout, R.id.localprofile_isf, MainApp.gs(R.string.nsprofileview_isf_label) + ":", LocalProfilePlugin.getPlugin().isf, null, 0.5, 500d, 0.1d, new DecimalFormat("0.0"), save); - basalView = new TimeListEdit(getContext(), layout, R.id.localprofile_basal, MainApp.gs(R.string.nsprofileview_basal_label) + ": " + getSumLabel(), LocalProfilePlugin.getPlugin().basal, null, pumpDescription.basalMinimumRate, 10, 0.01d, new DecimalFormat("0.00"), save); - targetView = new TimeListEdit(getContext(), layout, R.id.localprofile_target, MainApp.gs(R.string.nsprofileview_target_label) + ":", LocalProfilePlugin.getPlugin().targetLow, LocalProfilePlugin.getPlugin().targetHigh, 3d, 200, 0.1d, new DecimalFormat("0.0"), save); - updateGUI(); - }); - - saveButton.setOnClickListener(view -> { - if(!LocalProfilePlugin.getPlugin().isValidEditState()){ - return; //Should not happen as saveButton should not be visible if not valid - } - LocalProfilePlugin.getPlugin().storeSettings(); - updateGUI(); - }); - - return layout; - } catch (Exception e) { - log.error("Unhandled exception: ", e); - FabricPrivacy.logException(e); - } - - return null; + return layout; } public void doEdit() { @@ -203,7 +193,7 @@ public class LocalProfileFragment extends SubscriberFragment { } //Show reset button iff data was edited - if(isEdited) { + if (isEdited) { resetButton.setVisibility(View.VISIBLE); } else { resetButton.setVisibility(View.GONE); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfilePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfilePlugin.java index 8d4e2d6a36..7a06860327 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfilePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfilePlugin.java @@ -8,7 +8,6 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -18,6 +17,7 @@ import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.ProfileInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.SP; @@ -26,7 +26,7 @@ import info.nightscout.utils.SP; */ public class LocalProfilePlugin extends PluginBase implements ProfileInterface { public static final String LOCAL_PROFILE = "LocalProfile"; - private static Logger log = LoggerFactory.getLogger(LocalProfilePlugin.class); + private static Logger log = LoggerFactory.getLogger(L.PROFILE); private static LocalProfilePlugin localProfilePlugin; @@ -81,13 +81,13 @@ public class LocalProfilePlugin extends PluginBase implements ProfileInterface { createAndStoreConvertedProfile(); edited = false; - if (Config.logPrefsChange) + if (L.isEnabled(L.PROFILE)) log.debug("Storing settings: " + getRawProfile().getData().toString()); MainApp.bus().post(new EventProfileStoreChanged()); } public synchronized void loadSettings() { - if (Config.logPrefsChange) + if (L.isEnabled(L.PROFILE)) log.debug("Loading stored settings"); mgdl = SP.getBoolean(LOCAL_PROFILE + "mgdl", false); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfileFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfileFragment.java index 6cc9fdf98e..b0f0700fe2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfileFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfileFragment.java @@ -27,7 +27,6 @@ import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.androidaps.plugins.ProfileNS.events.EventNSProfileUpdateGUI; import info.nightscout.androidaps.plugins.Treatments.fragments.ProfileGraph; import info.nightscout.utils.DecimalFormatter; -import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.OKDialog; import static butterknife.OnItemSelected.Callback.NOTHING_SELECTED; @@ -62,24 +61,22 @@ public class NSProfileFragment extends SubscriberFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - try { - View view = inflater.inflate(R.layout.nsprofile_fragment, container, false); + View view = inflater.inflate(R.layout.nsprofile_fragment, container, false); - unbinder = ButterKnife.bind(this, view); - updateGUI(); - return view; - } catch (Exception e) { - FabricPrivacy.logException(e); - } - - return null; + unbinder = ButterKnife.bind(this, view); + updateGUI(); + return view; } @Subscribe public void onStatusEvent(final EventNSProfileUpdateGUI ev) { Activity activity = getActivity(); if (activity != null) - activity.runOnUiThread(() -> { synchronized (NSProfileFragment.this) { updateGUI(); } }); + activity.runOnUiThread(() -> { + synchronized (NSProfileFragment.this) { + updateGUI(); + } + }); } @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java index 522964e557..99e4ad9115 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java @@ -28,7 +28,7 @@ import info.nightscout.utils.SP; * Created by mike on 05.08.2016. */ public class NSProfilePlugin extends PluginBase implements ProfileInterface { - private static Logger log = LoggerFactory.getLogger(NSProfilePlugin.class); + private static Logger log = LoggerFactory.getLogger(L.PROFILE); private static NSProfilePlugin nsProfilePlugin; @@ -78,7 +78,7 @@ public class NSProfilePlugin extends PluginBase implements ProfileInterface { MainApp.bus().post(new EventProfileStoreChanged()); MainApp.bus().post(new EventNSProfileUpdateGUI()); } - if (L.isEnabled(L.NSCLIENT)) + if (L.isEnabled(L.PROFILE)) log.debug("Received profileStore: " + activeProfile + " " + profile); } catch (JSONException e) { log.error("Unhandled exception", e); @@ -87,31 +87,29 @@ public class NSProfilePlugin extends PluginBase implements ProfileInterface { private void storeNSProfile() { SP.putString("profile", profile.getData().toString()); - if (Config.logPrefsChange) + if (L.isEnabled(L.PROFILE)) log.debug("Storing profile"); } private void loadNSProfile() { - if (Config.logPrefsChange) + if (L.isEnabled(L.PROFILE)) log.debug("Loading stored profile"); String profileString = SP.getString("profile", null); if (profileString != null) { - if (Config.logPrefsChange) { + if (L.isEnabled(L.PROFILE)) log.debug("Loaded profile: " + profileString); - try { - profile = new ProfileStore(new JSONObject(profileString)); - } catch (JSONException e) { - log.error("Unhandled exception", e); - profile = null; - } + try { + profile = new ProfileStore(new JSONObject(profileString)); + } catch (JSONException e) { + log.error("Unhandled exception", e); + profile = null; } } else { - if (Config.logPrefsChange) { + if (L.isEnabled(L.PROFILE)) log.debug("Stored profile not found"); - // force restart of nsclient to fetch profile - Intent restartNSClient = new Intent(Intents.ACTION_RESTART); - MainApp.instance().getApplicationContext().sendBroadcast(restartNSClient); - } + // force restart of nsclient to fetch profile + Intent restartNSClient = new Intent(Intents.ACTION_RESTART); + MainApp.instance().getApplicationContext().sendBroadcast(restartNSClient); } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfileFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfileFragment.java index 1315413e38..5e090cd9ba 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfileFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfileFragment.java @@ -26,12 +26,9 @@ import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialo import info.nightscout.androidaps.plugins.Careportal.OptionsToShow; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; -import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.SafeParse; public class SimpleProfileFragment extends SubscriberFragment { - private static Logger log = LoggerFactory.getLogger(SimpleProfileFragment.class); - EditText diaView; RadioButton mgdlView; RadioButton mmolView; @@ -46,92 +43,86 @@ public class SimpleProfileFragment extends SubscriberFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - try { - View layout = inflater.inflate(R.layout.simpleprofile_fragment, container, false); - diaView = (EditText) layout.findViewById(R.id.simpleprofile_dia); - mgdlView = (RadioButton) layout.findViewById(R.id.simpleprofile_mgdl); - mmolView = (RadioButton) layout.findViewById(R.id.simpleprofile_mmol); - icView = (EditText) layout.findViewById(R.id.simpleprofile_ic); - isfView = (EditText) layout.findViewById(R.id.simpleprofile_isf); - basalView = (EditText) layout.findViewById(R.id.simpleprofile_basalrate); - targetlowView = (EditText) layout.findViewById(R.id.simpleprofile_targetlow); - targethighView = (EditText) layout.findViewById(R.id.simpleprofile_targethigh); - profileswitchButton = (Button) layout.findViewById(R.id.simpleprofile_profileswitch); - invalidProfile = (TextView) layout.findViewById(R.id.invalidprofile); + View layout = inflater.inflate(R.layout.simpleprofile_fragment, container, false); + diaView = (EditText) layout.findViewById(R.id.simpleprofile_dia); + mgdlView = (RadioButton) layout.findViewById(R.id.simpleprofile_mgdl); + mmolView = (RadioButton) layout.findViewById(R.id.simpleprofile_mmol); + icView = (EditText) layout.findViewById(R.id.simpleprofile_ic); + isfView = (EditText) layout.findViewById(R.id.simpleprofile_isf); + basalView = (EditText) layout.findViewById(R.id.simpleprofile_basalrate); + targetlowView = (EditText) layout.findViewById(R.id.simpleprofile_targetlow); + targethighView = (EditText) layout.findViewById(R.id.simpleprofile_targethigh); + profileswitchButton = (Button) layout.findViewById(R.id.simpleprofile_profileswitch); + invalidProfile = (TextView) layout.findViewById(R.id.invalidprofile); - if (!ConfigBuilderPlugin.getActivePump().getPumpDescription().isTempBasalCapable) { - layout.findViewById(R.id.simpleprofile_basalrate).setVisibility(View.GONE); - layout.findViewById(R.id.simpleprofile_basalrate_label).setVisibility(View.GONE); - } - - mgdlView.setChecked(SimpleProfilePlugin.getPlugin().mgdl); - mmolView.setChecked(SimpleProfilePlugin.getPlugin().mmol); - diaView.setText(SimpleProfilePlugin.getPlugin().dia.toString()); - icView.setText(SimpleProfilePlugin.getPlugin().ic.toString()); - isfView.setText(SimpleProfilePlugin.getPlugin().isf.toString()); - basalView.setText(SimpleProfilePlugin.getPlugin().basal.toString()); - targetlowView.setText(SimpleProfilePlugin.getPlugin().targetLow.toString()); - targethighView.setText(SimpleProfilePlugin.getPlugin().targetHigh.toString()); - - mgdlView.setOnClickListener(v -> { - SimpleProfilePlugin.getPlugin().mgdl = mgdlView.isChecked(); - SimpleProfilePlugin.getPlugin().mmol = !SimpleProfilePlugin.getPlugin().mgdl; - mmolView.setChecked(SimpleProfilePlugin.getPlugin().mmol); - SimpleProfilePlugin.getPlugin().storeSettings(); - }); - mmolView.setOnClickListener(v -> { - SimpleProfilePlugin.getPlugin().mmol = mmolView.isChecked(); - SimpleProfilePlugin.getPlugin().mgdl = !SimpleProfilePlugin.getPlugin().mmol; - mgdlView.setChecked(SimpleProfilePlugin.getPlugin().mgdl); - SimpleProfilePlugin.getPlugin().storeSettings(); - }); - - profileswitchButton.setOnClickListener(view -> { - NewNSTreatmentDialog newDialog = new NewNSTreatmentDialog(); - final OptionsToShow profileswitch = CareportalFragment.PROFILESWITCH; - profileswitch.executeProfileSwitch = true; - newDialog.setOptions(profileswitch, R.string.careportal_profileswitch); - newDialog.show(getFragmentManager(), "NewNSTreatmentDialog"); - }); - - TextWatcher textWatch = new TextWatcher() { - - @Override - public void afterTextChanged(Editable s) { - } - - @Override - public void beforeTextChanged(CharSequence s, int start, - int count, int after) { - } - - @Override - public void onTextChanged(CharSequence s, int start, - int before, int count) { - SimpleProfilePlugin.getPlugin().dia = SafeParse.stringToDouble(diaView.getText().toString()); - SimpleProfilePlugin.getPlugin().ic = SafeParse.stringToDouble(icView.getText().toString()); - SimpleProfilePlugin.getPlugin().isf = SafeParse.stringToDouble(isfView.getText().toString()); - SimpleProfilePlugin.getPlugin().basal = SafeParse.stringToDouble(basalView.getText().toString()); - SimpleProfilePlugin.getPlugin().targetLow = SafeParse.stringToDouble(targetlowView.getText().toString()); - SimpleProfilePlugin.getPlugin().targetHigh = SafeParse.stringToDouble(targethighView.getText().toString()); - SimpleProfilePlugin.getPlugin().storeSettings(); - updateGUI(); - } - }; - - diaView.addTextChangedListener(textWatch); - icView.addTextChangedListener(textWatch); - isfView.addTextChangedListener(textWatch); - basalView.addTextChangedListener(textWatch); - targetlowView.addTextChangedListener(textWatch); - targethighView.addTextChangedListener(textWatch); - - return layout; - } catch (Exception e) { - FabricPrivacy.logException(e); + if (!ConfigBuilderPlugin.getActivePump().getPumpDescription().isTempBasalCapable) { + layout.findViewById(R.id.simpleprofile_basalrate).setVisibility(View.GONE); + layout.findViewById(R.id.simpleprofile_basalrate_label).setVisibility(View.GONE); } - return null; + mgdlView.setChecked(SimpleProfilePlugin.getPlugin().mgdl); + mmolView.setChecked(SimpleProfilePlugin.getPlugin().mmol); + diaView.setText(SimpleProfilePlugin.getPlugin().dia.toString()); + icView.setText(SimpleProfilePlugin.getPlugin().ic.toString()); + isfView.setText(SimpleProfilePlugin.getPlugin().isf.toString()); + basalView.setText(SimpleProfilePlugin.getPlugin().basal.toString()); + targetlowView.setText(SimpleProfilePlugin.getPlugin().targetLow.toString()); + targethighView.setText(SimpleProfilePlugin.getPlugin().targetHigh.toString()); + + mgdlView.setOnClickListener(v -> { + SimpleProfilePlugin.getPlugin().mgdl = mgdlView.isChecked(); + SimpleProfilePlugin.getPlugin().mmol = !SimpleProfilePlugin.getPlugin().mgdl; + mmolView.setChecked(SimpleProfilePlugin.getPlugin().mmol); + SimpleProfilePlugin.getPlugin().storeSettings(); + }); + mmolView.setOnClickListener(v -> { + SimpleProfilePlugin.getPlugin().mmol = mmolView.isChecked(); + SimpleProfilePlugin.getPlugin().mgdl = !SimpleProfilePlugin.getPlugin().mmol; + mgdlView.setChecked(SimpleProfilePlugin.getPlugin().mgdl); + SimpleProfilePlugin.getPlugin().storeSettings(); + }); + + profileswitchButton.setOnClickListener(view -> { + NewNSTreatmentDialog newDialog = new NewNSTreatmentDialog(); + final OptionsToShow profileswitch = CareportalFragment.PROFILESWITCH; + profileswitch.executeProfileSwitch = true; + newDialog.setOptions(profileswitch, R.string.careportal_profileswitch); + newDialog.show(getFragmentManager(), "NewNSTreatmentDialog"); + }); + + TextWatcher textWatch = new TextWatcher() { + + @Override + public void afterTextChanged(Editable s) { + } + + @Override + public void beforeTextChanged(CharSequence s, int start, + int count, int after) { + } + + @Override + public void onTextChanged(CharSequence s, int start, + int before, int count) { + SimpleProfilePlugin.getPlugin().dia = SafeParse.stringToDouble(diaView.getText().toString()); + SimpleProfilePlugin.getPlugin().ic = SafeParse.stringToDouble(icView.getText().toString()); + SimpleProfilePlugin.getPlugin().isf = SafeParse.stringToDouble(isfView.getText().toString()); + SimpleProfilePlugin.getPlugin().basal = SafeParse.stringToDouble(basalView.getText().toString()); + SimpleProfilePlugin.getPlugin().targetLow = SafeParse.stringToDouble(targetlowView.getText().toString()); + SimpleProfilePlugin.getPlugin().targetHigh = SafeParse.stringToDouble(targethighView.getText().toString()); + SimpleProfilePlugin.getPlugin().storeSettings(); + updateGUI(); + } + }; + + diaView.addTextChangedListener(textWatch); + icView.addTextChangedListener(textWatch); + isfView.addTextChangedListener(textWatch); + basalView.addTextChangedListener(textWatch); + targetlowView.addTextChangedListener(textWatch); + targethighView.addTextChangedListener(textWatch); + + return layout; } @Subscribe diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfilePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfilePlugin.java index bb669289ee..09742bd3f9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfilePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfilePlugin.java @@ -9,7 +9,6 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; @@ -19,13 +18,14 @@ import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.ProfileInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.utils.SP; /** * Created by mike on 05.08.2016. */ public class SimpleProfilePlugin extends PluginBase implements ProfileInterface { - private static Logger log = LoggerFactory.getLogger(SimpleProfilePlugin.class); + private static Logger log = LoggerFactory.getLogger(L.PROFILE); private static SimpleProfilePlugin simpleProfilePlugin; @@ -58,7 +58,7 @@ public class SimpleProfilePlugin extends PluginBase implements ProfileInterface } public void storeSettings() { - if (Config.logPrefsChange) + if (L.isEnabled(L.PROFILE)) log.debug("Storing settings"); SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext()); SharedPreferences.Editor editor = settings.edit(); @@ -73,13 +73,13 @@ public class SimpleProfilePlugin extends PluginBase implements ProfileInterface editor.apply(); createConvertedProfile(); - if (Config.logPrefsChange) + if (L.isEnabled(L.PROFILE)) log.debug("Storing settings: " + getRawProfile().getData().toString()); MainApp.bus().post(new EventProfileStoreChanged()); } private void loadSettings() { - if (Config.logPrefsChange) + if (L.isEnabled(L.PROFILE)) log.debug("Loading stored settings"); mgdl = SP.getBoolean("SimpleProfile" + "mgdl", true); From 0de5888bc510dd29fa8ec89faa422c7949bd6e1a Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 30 Jul 2018 08:41:37 +0200 Subject: [PATCH 27/37] languages not translatable --- app/src/main/res/values/strings.xml | 38 ++++++++++++++--------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c691ab2b8a..5a66d074f3 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -183,8 +183,8 @@ Pump status available in NS Manual enacts LOOP DISABLED BY CONSTRAINTS - Czech - English + Czech + English Basal IOB Bolus constraint applied Carbs constraint applied @@ -235,24 +235,24 @@ File not found Export settings Import settings - Dutch - German - Spanish - Greek - Italian - Romanian - Russian - Swedish - French - Chinese - Polski + Dutch + German + Spanish + Greek + Italian + Romanian + Russian + Swedish + French + Chinese + Polski Max U/hr a Temp Basal can be set to This value is called max basal in OpenAPS context Maximum basal IOB OpenAPS can deliver [U] This value is called Max IOB in OpenAPS context\nThis is maximal insulin in [U] APS can deliver at once. - Bulgarian + Bulgarian DISMISS - Language + Language DanaR Connecting @@ -381,7 +381,7 @@ Remove Meal Corr - Korean + Korean Actions AndroidAPS started NS upload only (disabled sync) @@ -1086,7 +1086,7 @@ Current basal safety multiplier n/a Autobackfill BG - Irish + Irish Wizard Settings wearwizard_bg wearwizard_tt @@ -1112,10 +1112,10 @@ Sensitivity plugin is used for sensitivity detection and COB calculation. For more info visit: https://github.com/MilosKozak/AndroidAPS/wiki/Sensitivity-detection-and-COB NSClient handles connection to Nightscout. You can skip this part now but you will not be able to pass objectives until you setup it. - Please remember: new insulin profiles require DIA at least 5h. DIA 5-6h on new profile is equal to DIA 3h on old insulin profiles. + Please remember: new insulin profiles require DIA at least 5h. DIA 5–6h on new profile is equal to DIA 3h on old insulin profiles. Configure BG source Please select source of profile. If patient is a child you should use NS profile. If there is nobody following you on Nightscout you will probably prefer Local profile. Please remember that you are only selecting the profile source. To use it you must activate it by executing \"Profile switch\" - Select one from availables algorithms. They are sorted from oldest to newest. Newer algorithm is usually more powerful and more aggresive. Thus if you are new looper you may probably start with AMA and not with latest one. Do not forget to read the OpenAPS documentation and configure it before use. + Select one from availables algorithms. They are sorted from oldest to newest. Newer algorithm is usually more powerful and more aggressive. Thus if you are new looper you may probably start with AMA and not with latest one. Do not forget to read the OpenAPS documentation and configure it before use. Start your first objective Permission Ask for permission From 4ec0ebfa74f6e4ce3bb9f742070822dbe792a0a2 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 30 Jul 2018 14:21:11 +0200 Subject: [PATCH 28/37] move profile function from ConfigBuilder to extra class --- .../nightscout/androidaps/MainActivity.java | 3 +- .../info/nightscout/androidaps/MainApp.java | 1 - .../activities/HistoryBrowseActivity.java | 3 +- .../activities/TDDStatsActivity.java | 3 +- .../nightscout/androidaps/db/BgReading.java | 5 +- .../androidaps/db/CareportalEvent.java | 3 +- .../androidaps/db/DatabaseHelper.java | 3 +- .../androidaps/db/TemporaryBasal.java | 15 +- .../plugins/Actions/ActionsFragment.java | 3 +- .../Actions/dialogs/NewTempBasalDialog.java | 5 +- .../Dialogs/NewNSTreatmentDialog.java | 11 +- .../ConfigBuilder/ConfigBuilderPlugin.java | 92 +----------- .../ConfigBuilder/ProfileFunctions.java | 142 ++++++++++++++++++ .../Insulin/InsulinOrefBasePlugin.java | 3 +- .../IobCobCalculator/AutosensData.java | 3 +- .../IobCobCalculatorPlugin.java | 5 +- .../IobCobCalculator/IobCobOref1Thread.java | 5 +- .../IobCobCalculator/IobCobThread.java | 5 +- .../androidaps/plugins/Loop/LoopPlugin.java | 5 +- .../plugins/NSClientInternal/NSUpload.java | 9 +- .../plugins/OpenAPSAMA/OpenAPSAMAPlugin.java | 3 +- .../plugins/OpenAPSMA/OpenAPSMAPlugin.java | 3 +- .../plugins/OpenAPSSMB/OpenAPSSMBPlugin.java | 3 +- .../Overview/Dialogs/CalibrationDialog.java | 3 +- .../Overview/Dialogs/NewCarbsDialog.java | 3 +- .../Overview/Dialogs/NewInsulinDialog.java | 3 +- .../Overview/Dialogs/WizardDialog.java | 7 +- .../plugins/Overview/OverviewFragment.java | 17 ++- .../plugins/Overview/OverviewPlugin.java | 3 +- .../plugins/Overview/graphData/GraphData.java | 7 +- .../PersistentNotificationPlugin.java | 7 +- .../plugins/ProfileNS/NSProfileFragment.java | 3 +- .../plugins/PumpCombo/ComboPlugin.java | 3 +- .../activities/DanaRHistoryActivity.java | 3 +- .../activities/DanaRNSHistorySync.java | 3 +- .../services/DanaRExecutionService.java | 3 +- .../services/DanaRKoreanExecutionService.java | 3 +- .../plugins/PumpDanaRS/DanaRSPlugin.java | 3 +- .../PumpDanaRS/services/DanaRSService.java | 3 +- .../services/DanaRv2ExecutionService.java | 3 +- .../plugins/PumpInsight/InsightPlugin.java | 3 +- .../PumpVirtual/VirtualPumpPlugin.java | 3 +- .../Sensitivity/SensitivityAAPSPlugin.java | 3 +- .../Sensitivity/SensitivityOref0Plugin.java | 3 +- .../Sensitivity/SensitivityOref1Plugin.java | 3 +- .../SensitivityWeightedAveragePlugin.java | 3 +- .../SmsCommunicatorPlugin.java | 7 +- .../plugins/Treatments/TreatmentsPlugin.java | 19 +-- .../fragments/TreatmentsBolusFragment.java | 3 +- .../TreatmentsProfileSwitchFragment.java | 3 +- .../TreatmentsTempTargetFragment.java | 3 +- .../TreatmentsTemporaryBasalsFragment.java | 5 +- .../plugins/Wear/ActionStringHandler.java | 13 +- .../wearintegration/WatchUpdaterService.java | 17 ++- .../XDripStatusline/StatuslinePlugin.java | 3 +- .../androidaps/queue/CommandQueue.java | 3 +- .../receivers/KeepAliveReceiver.java | 3 +- .../androidaps/setupwizard/SWDefinition.java | 5 +- .../nightscout/utils/LocalAlertUtils.java | 3 +- .../nightscout/utils/XdripCalibrations.java | 3 +- 60 files changed, 313 insertions(+), 205 deletions(-) create mode 100644 app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ProfileFunctions.java diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.java b/app/src/main/java/info/nightscout/androidaps/MainActivity.java index edb1bd7854..280c91bba5 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.java @@ -49,6 +49,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.events.EventRefreshGui; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Food.FoodPlugin; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSettingsStatus; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; @@ -291,7 +292,7 @@ public class MainActivity extends AppCompatActivity { private void checkUpgradeToProfileTarget() { // TODO: can be removed in the future boolean oldKeyExists = SP.contains("openapsma_min_bg"); if (oldKeyExists) { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); String oldRange = SP.getDouble("openapsma_min_bg", 0d) + " - " + SP.getDouble("openapsma_max_bg", 0d); String newRange = ""; if (profile != null) { diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.java b/app/src/main/java/info/nightscout/androidaps/MainApp.java index 791f4f07df..e1cc242e7d 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.java +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.java @@ -107,7 +107,6 @@ public class MainApp extends Application { @Override public void onCreate() { super.onCreate(); - if (L.isEnabled(L.CORE)) log.debug("onCreate"); sInstance = this; sResources = getResources(); diff --git a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.java b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.java index 8d4b691116..0e4535a778 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/activities/HistoryBrowseActivity.java @@ -35,6 +35,7 @@ import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.events.EventCustomCalculationFinished; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventIobCalculationProgress; @@ -229,7 +230,7 @@ public class HistoryBrowseActivity extends AppCompatActivity { return; final PumpInterface pump = ConfigBuilderPlugin.getActivePump(); - final Profile profile = MainApp.getConfigBuilder().getProfile(); + final Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { noProfile.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/info/nightscout/androidaps/activities/TDDStatsActivity.java b/app/src/main/java/info/nightscout/androidaps/activities/TDDStatsActivity.java index 34e5fa42ae..e18e2552eb 100644 --- a/app/src/main/java/info/nightscout/androidaps/activities/TDDStatsActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/activities/TDDStatsActivity.java @@ -40,6 +40,7 @@ import info.nightscout.androidaps.db.TDD; import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin; import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus; import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; @@ -121,7 +122,7 @@ public class TDDStatsActivity extends Activity { TBB = SP.getString("TBB", "10.00"); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile != null) { double cppTBB = profile.baseBasalSum(); TBB = decimalFormat.format(cppTBB); diff --git a/app/src/main/java/info/nightscout/androidaps/db/BgReading.java b/app/src/main/java/info/nightscout/androidaps/db/BgReading.java index 5fb4093c21..aef7cefc94 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/BgReading.java +++ b/app/src/main/java/info/nightscout/androidaps/db/BgReading.java @@ -15,6 +15,7 @@ import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSgv; import info.nightscout.androidaps.plugins.Overview.OverviewPlugin; import info.nightscout.androidaps.plugins.Overview.graphExtensions.DataPointWithLabelInterface; @@ -168,7 +169,7 @@ public class BgReading implements DataPointWithLabelInterface { @Override public double getY() { - String units = MainApp.getConfigBuilder().getProfileUnits(); + String units = ProfileFunctions.getInstance().getProfileUnits(); return valueToUnits(units); } @@ -202,7 +203,7 @@ public class BgReading implements DataPointWithLabelInterface { @Override public int getColor() { - String units = MainApp.getConfigBuilder().getProfileUnits(); + String units = ProfileFunctions.getInstance().getProfileUnits(); Double lowLine = SP.getDouble("low_mark", 0d); Double highLine = SP.getDouble("high_mark", 0d); if (lowLine < 1) { diff --git a/app/src/main/java/info/nightscout/androidaps/db/CareportalEvent.java b/app/src/main/java/info/nightscout/androidaps/db/CareportalEvent.java index 6cda2ab4ce..2645d260e7 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/CareportalEvent.java +++ b/app/src/main/java/info/nightscout/androidaps/db/CareportalEvent.java @@ -25,6 +25,7 @@ import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.interfaces.Interval; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSMbg; import info.nightscout.androidaps.plugins.Overview.OverviewFragment; import info.nightscout.androidaps.plugins.Overview.graphExtensions.DataPointWithLabelInterface; @@ -153,7 +154,7 @@ public class CareportalEvent implements DataPointWithLabelInterface, Interval { @Override public double getY() { - String units = MainApp.getConfigBuilder().getProfileUnits(); + String units = ProfileFunctions.getInstance().getProfileUnits(); if (eventType.equals(MBG)) { double mbg = 0d; try { diff --git a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java index 099c725036..5ef716bad9 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java +++ b/app/src/main/java/info/nightscout/androidaps/db/DatabaseHelper.java @@ -42,6 +42,7 @@ import info.nightscout.androidaps.events.EventReloadTreatmentData; import info.nightscout.androidaps.events.EventTempBasalChange; import info.nightscout.androidaps.events.EventTempTargetChange; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventNewHistoryData; import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.androidaps.plugins.PumpDanaR.activities.DanaRNSHistorySync; @@ -691,7 +692,7 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { public void createTemptargetFromJsonIfNotExists(JSONObject trJson) { try { - String units = JsonHelper.safeGetString(trJson, "units", MainApp.getConfigBuilder().getProfileUnits()); + String units = JsonHelper.safeGetString(trJson, "units", ProfileFunctions.getInstance().getProfileUnits()); TempTarget tempTarget = new TempTarget() .date(trJson.getLong("mills")) .duration(trJson.getInt("duration")) diff --git a/app/src/main/java/info/nightscout/androidaps/db/TemporaryBasal.java b/app/src/main/java/info/nightscout/androidaps/db/TemporaryBasal.java index 733027b188..71f734672b 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/TemporaryBasal.java +++ b/app/src/main/java/info/nightscout/androidaps/db/TemporaryBasal.java @@ -16,6 +16,7 @@ import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.interfaces.InsulinInterface; import info.nightscout.androidaps.interfaces.Interval; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; @@ -93,7 +94,7 @@ public class TemporaryBasal implements Interval { } public TemporaryBasal(ExtendedBolus extendedBolus) { - double basal = MainApp.getConfigBuilder().getProfile(extendedBolus.date).getBasal(extendedBolus.date); + double basal = ProfileFunctions.getInstance().getProfile(extendedBolus.date).getBasal(extendedBolus.date); this.date = extendedBolus.date; this.isValid = extendedBolus.isValid; this.source = extendedBolus.source; @@ -318,7 +319,7 @@ public class TemporaryBasal implements Interval { public String toStringFull() { if(isFakeExtended){ - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); Double currentBasalRate = profile.getBasal(); double rate = (currentBasalRate == null)?0d:(currentBasalRate+netExtendedRate); return getCalcuatedPercentageIfNeeded() + DecimalFormatter.to2Decimal(rate) + "U/h ("+DecimalFormatter.to2Decimal(netExtendedRate)+"E) @" + @@ -340,7 +341,7 @@ public class TemporaryBasal implements Interval { double rate = 0d; if (isFakeExtended) { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); Double currentBasalRate = profile.getBasal(); rate = (currentBasalRate == null)?0d:(currentBasalRate+netExtendedRate); } else if (isAbsolute){ @@ -348,7 +349,7 @@ public class TemporaryBasal implements Interval { } if(SP.getBoolean(R.string.key_danar_visualizeextendedaspercentage, false) && SP.getBoolean(R.string.key_danar_useextended, false)){ - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if(profile != null) { double basal = profile.getBasal(); if(basal != 0){ @@ -367,7 +368,7 @@ public class TemporaryBasal implements Interval { double rate = 0d; if (isFakeExtended) { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); Double currentBasalRate = profile.getBasal(); rate = (currentBasalRate == null)?0d:(currentBasalRate+netExtendedRate); } else if (isAbsolute){ @@ -375,7 +376,7 @@ public class TemporaryBasal implements Interval { } if(SP.getBoolean(R.string.key_danar_visualizeextendedaspercentage, false) && SP.getBoolean(R.string.key_danar_useextended, false)){ - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if(profile != null) { double basal = profile.getBasal(); if(basal != 0){ @@ -392,7 +393,7 @@ public class TemporaryBasal implements Interval { double rate = 0d; if (isFakeExtended) { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); Double currentBasalRate = profile.getBasal(); rate = (currentBasalRate == null)?0d:(currentBasalRate+netExtendedRate); } else if (isAbsolute){ diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsFragment.java index 96d3bbc3d2..ea17a30218 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsFragment.java @@ -33,6 +33,7 @@ import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialo import info.nightscout.androidaps.plugins.Careportal.OptionsToShow; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.SingleClickButton; @@ -131,7 +132,7 @@ public class ActionsFragment extends SubscriberFragment implements View.OnClickL profileSwitch.setVisibility(View.GONE); } - if (MainApp.getConfigBuilder().getProfile() == null) { + if (ProfileFunctions.getInstance().getProfile() == null) { tempTarget.setVisibility(View.GONE); extendedBolus.setVisibility(View.GONE); extendedBolusCancel.setVisibility(View.GONE); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/NewTempBasalDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/NewTempBasalDialog.java index 7a03887cf6..32f1271d82 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/NewTempBasalDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/NewTempBasalDialog.java @@ -25,6 +25,7 @@ import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Overview.Dialogs.ErrorHelperActivity; import info.nightscout.androidaps.queue.Callback; import info.nightscout.utils.FabricPrivacy; @@ -70,7 +71,7 @@ public class NewTempBasalDialog extends DialogFragment implements View.OnClickLi double tempPercentStep = pumpDescription.tempPercentStep; basalPercent.setParams(100d, 0d, maxTempPercent, tempPercentStep, new DecimalFormat("0"), true); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); Double currentBasal = profile != null ? profile.getBasal() : 0d; basalAbsolute = (NumberPicker) view.findViewById(R.id.overview_newtempbasal_basalabsoluteinput); basalAbsolute.setParams(currentBasal, 0d, pumpDescription.maxTempAbsolute, pumpDescription.tempAbsoluteStep, new DecimalFormat("0.00"), true); @@ -118,7 +119,7 @@ public class NewTempBasalDialog extends DialogFragment implements View.OnClickLi final boolean setAsPercent = percentRadio.isChecked(); int durationInMinutes = SafeParse.stringToInt(duration.getText()); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) return; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java index 802a072002..b4ca897f8e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java @@ -49,6 +49,7 @@ import info.nightscout.androidaps.db.ProfileSwitch; import info.nightscout.androidaps.db.Source; import info.nightscout.androidaps.db.TempTarget; import info.nightscout.androidaps.plugins.Careportal.OptionsToShow; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; import info.nightscout.utils.DefaultValueHelper; @@ -171,7 +172,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick view.findViewById(R.id.cancel).setOnClickListener(this); // profile - profile = MainApp.getConfigBuilder().getProfile(); + profile = ProfileFunctions.getInstance().getProfile(); profileStore = MainApp.getConfigBuilder().getActiveProfileInterface().getProfile(); if (profileStore == null) { if (options.eventType == R.id.careportal_profileswitch) { @@ -186,7 +187,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick profileSpinner.setAdapter(adapter); // set selected to actual profile for (int p = 0; p < profileList.size(); p++) { - if (profileList.get(p).equals(MainApp.getConfigBuilder().getProfileName(false))) + if (profileList.get(p).equals(ProfileFunctions.getInstance().getProfileName(false))) profileSpinner.setSelection(p); } } @@ -214,7 +215,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick } boolean erase = false; - String units = MainApp.getConfigBuilder().getProfileUnits(); + String units = ProfileFunctions.getInstance().getProfileUnits(); DefaultValueHelper helper = new DefaultValueHelper(); if (MainApp.gs(R.string.eatingsoon).equals(reasonList.get(position))) { defaultDuration = helper.determineEatingSoonTTDuration(); @@ -786,8 +787,8 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick profileSwitch = new ProfileSwitch(); profileSwitch.date = System.currentTimeMillis(); profileSwitch.source = Source.USER; - profileSwitch.profileName = MainApp.getConfigBuilder().getProfileName(System.currentTimeMillis(), false); - profileSwitch.profileJson = MainApp.getConfigBuilder().getProfile().getData().toString(); + profileSwitch.profileName = ProfileFunctions.getInstance().getProfileName(System.currentTimeMillis(), false); + profileSwitch.profileJson = ProfileFunctions.getInstance().getProfile().getData().toString(); profileSwitch.profilePlugin = MainApp.getConfigBuilder().getActiveProfileInterface().getClass().getName(); profileSwitch.durationInMinutes = duration; profileSwitch.isCPP = percentage != 100 || timeshift != 0; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java index 3c582c0709..d0e7a38c23 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java @@ -530,97 +530,7 @@ public class ConfigBuilderPlugin extends PluginBase { getCommandQueue().bolus(detailedBolusInfo, callback); } - @Subscribe - public void onProfileSwitch(EventProfileSwitchChange ignored) { - getCommandQueue().setProfile(getProfile(), new Callback() { - @Override - public void run() { - if (!result.success) { - Intent i = new Intent(MainApp.instance(), ErrorHelperActivity.class); - i.putExtra("soundid", R.raw.boluserror); - i.putExtra("status", result.comment); - i.putExtra("title", MainApp.gs(R.string.failedupdatebasalprofile)); - i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - MainApp.instance().startActivity(i); - } - MainApp.bus().post(new EventNewBasalProfile()); - } - }); - } - - public String getProfileName() { - return getProfileName(System.currentTimeMillis()); - } - - public String getProfileName(boolean customized) { - return getProfileName(System.currentTimeMillis(), customized); - } - - public String getProfileName(long time) { - return getProfileName(time, true); - } - - public String getProfileName(long time, boolean customized) { - ProfileSwitch profileSwitch = activeTreatments.getProfileSwitchFromHistory(time); - if (profileSwitch != null) { - if (profileSwitch.profileJson != null) { - return customized ? profileSwitch.getCustomizedName() : profileSwitch.profileName; - } else { - ProfileStore profileStore = activeProfile.getProfile(); - if (profileStore != null) { - Profile profile = profileStore.getSpecificProfile(profileSwitch.profileName); - if (profile != null) - return profileSwitch.profileName; - } - } - } - return MainApp.gs(R.string.noprofileselected); - } - - public boolean isProfileValid(String from) { - return getProfile() != null && getProfile().isValid(from); - } - - @Nullable - public Profile getProfile() { - return getProfile(System.currentTimeMillis()); - } - - public String getProfileUnits() { - Profile profile = getProfile(); - return profile != null ? profile.getUnits() : Constants.MGDL; - } - - @Nullable - public Profile getProfile(long time) { - if (activeTreatments == null) { - log.debug("getProfile activeTreatments == null: returning null"); - return null; //app not initialized - } - //log.debug("Profile for: " + new Date(time).toLocaleString() + " : " + getProfileName(time)); - ProfileSwitch profileSwitch = activeTreatments.getProfileSwitchFromHistory(time); - if (profileSwitch != null) { - if (profileSwitch.profileJson != null) { - return profileSwitch.getProfileObject(); - } else if (activeProfile.getProfile() != null) { - Profile profile = activeProfile.getProfile().getSpecificProfile(profileSwitch.profileName); - if (profile != null) - return profile; - } - } - if (activeTreatments.getProfileSwitchesFromHistory().size() > 0) { - FabricPrivacy.getInstance().logCustom(new CustomEvent("CatchedError") - .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION) - .putCustomAttribute("version", BuildConfig.VERSION) - .putCustomAttribute("time", time) - .putCustomAttribute("getProfileSwitchesFromHistory", activeTreatments.getProfileSwitchesFromHistory().toString()) - ); - } - log.debug("getProfile at the end: returning null"); - return null; - } - - public void disconnectPump(int durationInMinutes, Profile profile) { + public void disconnectPump(int durationInMinutes, Profile profile) { LoopPlugin.getPlugin().disconnectTo(System.currentTimeMillis() + durationInMinutes * 60 * 1000L); getCommandQueue().tempBasalPercent(0, durationInMinutes, true, profile, new Callback() { @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ProfileFunctions.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ProfileFunctions.java new file mode 100644 index 0000000000..8cddbbc5a3 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ProfileFunctions.java @@ -0,0 +1,142 @@ +package info.nightscout.androidaps.plugins.ConfigBuilder; + +import android.content.Intent; +import android.support.annotation.Nullable; + +import com.crashlytics.android.answers.CustomEvent; +import com.squareup.otto.Subscribe; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import info.nightscout.androidaps.BuildConfig; +import info.nightscout.androidaps.Constants; +import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.R; +import info.nightscout.androidaps.data.Profile; +import info.nightscout.androidaps.data.ProfileStore; +import info.nightscout.androidaps.db.ProfileSwitch; +import info.nightscout.androidaps.events.EventNewBasalProfile; +import info.nightscout.androidaps.events.EventProfileSwitchChange; +import info.nightscout.androidaps.interfaces.ProfileInterface; +import info.nightscout.androidaps.interfaces.TreatmentsInterface; +import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.Overview.Dialogs.ErrorHelperActivity; +import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; +import info.nightscout.androidaps.queue.Callback; +import info.nightscout.utils.FabricPrivacy; + +public class ProfileFunctions { + private static Logger log = LoggerFactory.getLogger(L.PROFILE); + + private static ProfileFunctions profileFunctions = null; + + public static ProfileFunctions getInstance() { + if (profileFunctions == null) + profileFunctions = new ProfileFunctions(); + return profileFunctions; + } + + static { + ProfileFunctions.getInstance(); // register to bus at start + } + + ProfileFunctions() { + MainApp.bus().register(this); + } + + @Subscribe + public void onProfileSwitch(EventProfileSwitchChange ignored) { + if (L.isEnabled(L.PROFILE)) + log.debug("onProfileSwitch"); + MainApp.getConfigBuilder().getCommandQueue().setProfile(getProfile(), new Callback() { + @Override + public void run() { + if (!result.success) { + Intent i = new Intent(MainApp.instance(), ErrorHelperActivity.class); + i.putExtra("soundid", R.raw.boluserror); + i.putExtra("status", result.comment); + i.putExtra("title", MainApp.gs(R.string.failedupdatebasalprofile)); + i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + MainApp.instance().startActivity(i); + } + MainApp.bus().post(new EventNewBasalProfile()); + } + }); + } + + public String getProfileName() { + return getProfileName(System.currentTimeMillis()); + } + + public String getProfileName(boolean customized) { + return getProfileName(System.currentTimeMillis(), customized); + } + + public String getProfileName(long time) { + return getProfileName(time, true); + } + + public String getProfileName(long time, boolean customized) { + TreatmentsInterface activeTreatments = TreatmentsPlugin.getPlugin(); + ProfileInterface activeProfile = MainApp.getConfigBuilder().getActiveProfileInterface(); + + ProfileSwitch profileSwitch = activeTreatments.getProfileSwitchFromHistory(time); + if (profileSwitch != null) { + if (profileSwitch.profileJson != null) { + return customized ? profileSwitch.getCustomizedName() : profileSwitch.profileName; + } else { + ProfileStore profileStore = activeProfile.getProfile(); + if (profileStore != null) { + Profile profile = profileStore.getSpecificProfile(profileSwitch.profileName); + if (profile != null) + return profileSwitch.profileName; + } + } + } + return MainApp.gs(R.string.noprofileselected); + } + + public boolean isProfileValid(String from) { + return getProfile() != null && getProfile().isValid(from); + } + + @Nullable + public Profile getProfile() { + return getProfile(System.currentTimeMillis()); + } + + public String getProfileUnits() { + Profile profile = getProfile(); + return profile != null ? profile.getUnits() : Constants.MGDL; + } + + @Nullable + public Profile getProfile(long time) { + TreatmentsInterface activeTreatments = TreatmentsPlugin.getPlugin(); + ProfileInterface activeProfile = MainApp.getConfigBuilder().getActiveProfileInterface(); + + //log.debug("Profile for: " + new Date(time).toLocaleString() + " : " + getProfileName(time)); + ProfileSwitch profileSwitch = activeTreatments.getProfileSwitchFromHistory(time); + if (profileSwitch != null) { + if (profileSwitch.profileJson != null) { + return profileSwitch.getProfileObject(); + } else if (activeProfile.getProfile() != null) { + Profile profile = activeProfile.getProfile().getSpecificProfile(profileSwitch.profileName); + if (profile != null) + return profile; + } + } + if (activeTreatments.getProfileSwitchesFromHistory().size() > 0) { + FabricPrivacy.getInstance().logCustom(new CustomEvent("CatchedError") + .putCustomAttribute("buildversion", BuildConfig.BUILDVERSION) + .putCustomAttribute("version", BuildConfig.VERSION) + .putCustomAttribute("time", time) + .putCustomAttribute("getProfileSwitchesFromHistory", activeTreatments.getProfileSwitchesFromHistory().toString()) + ); + } + log.debug("getProfile at the end: returning null"); + return null; + } + +} diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Insulin/InsulinOrefBasePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Insulin/InsulinOrefBasePlugin.java index 5d4d1187ac..a2d80efd68 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Insulin/InsulinOrefBasePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Insulin/InsulinOrefBasePlugin.java @@ -5,6 +5,7 @@ import com.squareup.otto.Bus; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Iob; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.interfaces.InsulinInterface; import info.nightscout.androidaps.interfaces.PluginBase; @@ -61,7 +62,7 @@ public abstract class InsulinOrefBasePlugin extends PluginBase implements Insuli } public double getUserDefinedDia() { - return MainApp.getConfigBuilder().getProfile() != null ? MainApp.getConfigBuilder().getProfile().getDia() : MIN_DIA; + return ProfileFunctions.getInstance().getProfile() != null ? ProfileFunctions.getInstance().getProfile().getDia() : MIN_DIA; } public Iob iobCalcForTreatment(Treatment treatment, long time) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java index 499984e3dc..60a5851011 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java @@ -13,6 +13,7 @@ import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; import info.nightscout.androidaps.plugins.Overview.graphExtensions.DataPointWithLabelInterface; import info.nightscout.androidaps.plugins.Overview.graphExtensions.PointsWithLabelGraphSeries; @@ -45,7 +46,7 @@ public class AutosensData implements DataPointWithLabelInterface { remaining = t.carbs; if (SensitivityAAPSPlugin.getPlugin().isEnabled(PluginType.SENSITIVITY) || SensitivityWeightedAveragePlugin.getPlugin().isEnabled(PluginType.SENSITIVITY)) { double maxAbsorptionHours = SP.getDouble(R.string.key_absorption_maxtime, Constants.DEFAULT_MAX_ABSORPTION_TIME); - Profile profile = MainApp.getConfigBuilder().getProfile(t.date); + Profile profile = ProfileFunctions.getInstance().getProfile(t.date); double sens = Profile.toMgdl(profile.getIsf(t.date), profile.getUnits()); double ic = profile.getIc(t.date); min5minCarbImpact = t.carbs / (maxAbsorptionHours * 60 / 5) * sens / ic; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java index 824a0eda9b..07feacadff 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java @@ -33,6 +33,7 @@ import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventNewHistoryData; import info.nightscout.androidaps.plugins.OpenAPSSMB.OpenAPSSMBPlugin; import info.nightscout.androidaps.plugins.Sensitivity.SensitivityOref1Plugin; @@ -302,7 +303,7 @@ public class IobCobCalculatorPlugin extends PluginBase { } public long calculateDetectionStart(long from, boolean limitDataToOldestAvailable) { - Profile profile = MainApp.getConfigBuilder().getProfile(from); + Profile profile = ProfileFunctions.getInstance().getProfile(from); double dia = Constants.defaultDIA; if (profile != null) dia = profile.getDia(); @@ -599,7 +600,7 @@ public class IobCobCalculatorPlugin extends PluginBase { } if (MainApp.getConfigBuilder() == null) return; // app still initializing - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) return; // app still initializing dia = profile.getDia(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java index 30d087d71c..3dbd518c24 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java @@ -26,6 +26,7 @@ import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.db.TempTarget; import info.nightscout.androidaps.events.Event; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventIobCalculationProgress; import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; @@ -79,7 +80,7 @@ public class IobCobOref1Thread extends Thread { log.debug("Aborting calculation thread (ConfigBuilder not ready): " + from); return; // app still initializing } - if (!MainApp.getConfigBuilder().isProfileValid("IobCobThread")) { + if (!ProfileFunctions.getInstance().isProfileValid("IobCobThread")) { if (L.isEnabled(L.AUTOSENS)) log.debug("Aborting calculation thread (No profile): " + from); return; // app still initializing @@ -129,7 +130,7 @@ public class IobCobOref1Thread extends Thread { continue; } - Profile profile = MainApp.getConfigBuilder().getProfile(bgTime); + Profile profile = ProfileFunctions.getInstance().getProfile(bgTime); if (profile == null) { if (L.isEnabled(L.AUTOSENS)) log.debug("Aborting calculation thread (no profile): " + from); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java index 251e5f7b90..5ec09301c9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java @@ -24,6 +24,7 @@ import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.events.Event; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventIobCalculationProgress; import info.nightscout.androidaps.plugins.OpenAPSSMB.SMBDefaults; @@ -78,7 +79,7 @@ public class IobCobThread extends Thread { log.debug("Aborting calculation thread (ConfigBuilder not ready): " + from); return; // app still initializing } - if (!MainApp.getConfigBuilder().isProfileValid("IobCobThread")) { + if (!ProfileFunctions.getInstance().isProfileValid("IobCobThread")) { if (L.isEnabled(L.AUTOSENS)) log.debug("Aborting calculation thread (No profile): " + from); return; // app still initializing @@ -128,7 +129,7 @@ public class IobCobThread extends Thread { continue; } - Profile profile = MainApp.getConfigBuilder().getProfile(bgTime); + Profile profile = ProfileFunctions.getInstance().getProfile(bgTime); if (profile == null) { if (L.isEnabled(L.AUTOSENS)) log.debug("Aborting calculation thread (no profile): " + from); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java index 4200317cef..91ef310eaa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java @@ -39,6 +39,7 @@ import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; import info.nightscout.androidaps.plugins.Loop.events.EventLoopSetLastRunGui; import info.nightscout.androidaps.plugins.Loop.events.EventLoopUpdateGui; @@ -271,9 +272,9 @@ public class LoopPlugin extends PluginBase { if (!isEnabled(PluginType.LOOP)) return; - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); - if (!MainApp.getConfigBuilder().isProfileValid("Loop")) { + if (!ProfileFunctions.getInstance().isProfileValid("Loop")) { if (L.isEnabled(L.APS)) log.debug(MainApp.gs(R.string.noprofileselected)); MainApp.bus().post(new EventLoopSetLastRunGui(MainApp.gs(R.string.noprofileselected))); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSUpload.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSUpload.java index a3094a4646..e1f9535caa 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSUpload.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSUpload.java @@ -24,6 +24,7 @@ import java.util.Locale; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.Profile; @@ -83,7 +84,7 @@ public class NSUpload { if (useAbsolute) { TemporaryBasal t = temporaryBasal.clone(); t.isAbsolute = true; - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile != null) { t.absoluteRate = profile.getBasal(temporaryBasal.date) * temporaryBasal.percentRate / 100d; uploadTempBasalStartAbsolute(t, null); @@ -195,8 +196,8 @@ public class NSUpload { } public static void uploadDeviceStatus() { - Profile profile = MainApp.getConfigBuilder().getProfile(); - String profileName = MainApp.getConfigBuilder().getProfileName(); + Profile profile = ProfileFunctions.getInstance().getProfile(); + String profileName = ProfileFunctions.getInstance().getProfileName(); if (profile == null || profileName == null) { log.error("Profile is null. Skipping upload"); @@ -303,7 +304,7 @@ public class NSUpload { public static void uploadTempTarget(TempTarget tempTarget) { try { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { log.error("Profile is null. Skipping upload"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java index 1c6bf3e39d..cb651a2ae9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java @@ -21,6 +21,7 @@ import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; @@ -97,7 +98,7 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { determineBasalAdapterAMAJS = new DetermineBasalAdapterAMAJS(new ScriptReader(MainApp.instance().getBaseContext())); GlucoseStatus glucoseStatus = GlucoseStatus.getGlucoseStatusData(); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); PumpInterface pump = ConfigBuilderPlugin.getActivePump(); if (profile == null) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java index ce350011cd..5b57810632 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java @@ -21,6 +21,7 @@ import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Loop.APSResult; import info.nightscout.androidaps.plugins.Loop.ScriptReader; import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateGui; @@ -96,7 +97,7 @@ public class OpenAPSMAPlugin extends PluginBase implements APSInterface { determineBasalAdapterMAJS = new DetermineBasalAdapterMAJS(new ScriptReader(MainApp.instance().getBaseContext())); GlucoseStatus glucoseStatus = GlucoseStatus.getGlucoseStatusData(); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); PumpInterface pump = ConfigBuilderPlugin.getActivePump(); if (profile == null) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java index 64daaed9c1..5f6b13c416 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java @@ -22,6 +22,7 @@ import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; @@ -100,7 +101,7 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { determineBasalAdapterSMBJS = new DetermineBasalAdapterSMBJS(new ScriptReader(MainApp.instance().getBaseContext())); GlucoseStatus glucoseStatus = GlucoseStatus.getGlucoseStatusData(); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); PumpInterface pump = ConfigBuilderPlugin.getActivePump(); if (profile == null) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/CalibrationDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/CalibrationDialog.java index f0ccdd9809..f1f62c0bc4 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/CalibrationDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/CalibrationDialog.java @@ -23,6 +23,7 @@ import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.GlucoseStatus; import info.nightscout.androidaps.data.Profile; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.NumberPicker; import info.nightscout.utils.SafeParse; @@ -63,7 +64,7 @@ public class CalibrationDialog extends DialogFragment implements View.OnClickLis view.findViewById(R.id.ok).setOnClickListener(this); view.findViewById(R.id.cancel).setOnClickListener(this); - String units = MainApp.getConfigBuilder().getProfileUnits(); + String units = ProfileFunctions.getInstance().getProfileUnits(); Double bg = Profile.fromMgdlToUnits(GlucoseStatus.getGlucoseStatusData() != null ? GlucoseStatus.getGlucoseStatusData().glucose : 0d, units); bgNumber = (NumberPicker) view.findViewById(R.id.overview_calibration_bg); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java index cd03cb7b6a..40450adf77 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java @@ -21,6 +21,7 @@ import android.widget.RadioButton; import com.google.common.base.Joiner; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -309,7 +310,7 @@ public class NewCarbsDialog extends DialogFragment implements OnClickListener, C } okClicked = true; try { - final Profile currentProfile = MainApp.getConfigBuilder().getProfile(); + final Profile currentProfile = ProfileFunctions.getInstance().getProfile(); if (currentProfile == null) { return; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java index 2889c8266b..1fad80af8f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java @@ -40,6 +40,7 @@ import info.nightscout.androidaps.db.Source; import info.nightscout.androidaps.db.TempTarget; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.androidaps.queue.Callback; import info.nightscout.utils.DateUtil; @@ -208,7 +209,7 @@ public class NewInsulinDialog extends DialogFragment implements OnClickListener okClicked = true; try { - Profile currentProfile = MainApp.getConfigBuilder().getProfile(); + Profile currentProfile = ProfileFunctions.getInstance().getProfile(); if (currentProfile == null) return; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/WizardDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/WizardDialog.java index 0ad53d99a4..7985418ada 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/WizardDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/WizardDialog.java @@ -56,6 +56,7 @@ import info.nightscout.androidaps.events.EventRefreshOverview; import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.CobInfo; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished; @@ -325,7 +326,7 @@ public class WizardDialog extends DialogFragment implements OnClickListener, Com return; } okClicked = true; - final Profile profile = MainApp.getConfigBuilder().getProfile(); + final Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile != null && (calculatedTotalInsulin > 0d || calculatedCarbs > 0d)) { String confirmMessage = MainApp.gs(R.string.entertreatmentquestion); @@ -432,7 +433,7 @@ public class WizardDialog extends DialogFragment implements OnClickListener, Com } private void initDialog() { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); ProfileStore profileStore = MainApp.getConfigBuilder().getActiveProfileInterface() != null ? MainApp.getConfigBuilder().getActiveProfileInterface().getProfile() : null; if (profile == null || profileStore == null) { @@ -483,7 +484,7 @@ public class WizardDialog extends DialogFragment implements OnClickListener, Com String selectedAlternativeProfile = profileSpinner.getSelectedItem().toString(); Profile specificProfile; if (selectedAlternativeProfile.equals(MainApp.gs(R.string.active))) - specificProfile = MainApp.getConfigBuilder().getProfile(); + specificProfile = ProfileFunctions.getInstance().getProfile(); else specificProfile = profileStore.getSpecificProfile(selectedAlternativeProfile); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java index 91dbb29042..ac98eee730 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java @@ -85,6 +85,7 @@ import info.nightscout.androidaps.plugins.Careportal.CareportalFragment; import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog; import info.nightscout.androidaps.plugins.Careportal.OptionsToShow; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.CobInfo; @@ -453,7 +454,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, if (v == apsModeView) { final LoopPlugin loopPlugin = LoopPlugin.getPlugin(); final PumpDescription pumpDescription = ConfigBuilderPlugin.getActivePump().getPumpDescription(); - if (loopPlugin == null || !MainApp.getConfigBuilder().isProfileValid("ContexMenuCreation")) + if (!ProfileFunctions.getInstance().isProfileValid("ContexMenuCreation")) return; menu.setHeaderTitle(MainApp.gs(R.string.loop)); if (loopPlugin.isEnabled(PluginType.LOOP)) { @@ -496,7 +497,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, @Override public boolean onContextItemSelected(MenuItem item) { - final Profile profile = MainApp.getConfigBuilder().getProfile(); + final Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) return true; final LoopPlugin loopPlugin = LoopPlugin.getPlugin(); @@ -637,7 +638,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, public void onClick(View v) { boolean xdrip = MainApp.getSpecificPlugin(SourceXdripPlugin.class) != null && MainApp.getSpecificPlugin(SourceXdripPlugin.class).isEnabled(PluginType.BGSOURCE); boolean g5 = MainApp.getSpecificPlugin(SourceDexcomG5Plugin.class) != null && MainApp.getSpecificPlugin(SourceDexcomG5Plugin.class).isEnabled(PluginType.BGSOURCE); - String units = MainApp.getConfigBuilder().getProfileUnits(); + String units = ProfileFunctions.getInstance().getProfileUnits(); FragmentManager manager = getFragmentManager(); // try to fix https://fabric.io/nightscout3/android/apps/info.nightscout.androidaps/issues/5aca7a1536c7b23527eb4be7?time=last-seven-days @@ -725,7 +726,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, } private void onClickAcceptTemp() { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); Context context = getContext(); if (context == null) return; @@ -767,7 +768,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, void onClickQuickwizard() { final BgReading actualBg = DatabaseHelper.actualBg(); - final Profile profile = MainApp.getConfigBuilder().getProfile(); + final Profile profile = ProfileFunctions.getInstance().getProfile(); final TempTarget tempTarget = TreatmentsPlugin.getPlugin().getTempTargetFromHistory(); final QuickWizardEntry quickWizardEntry = OverviewPlugin.getPlugin().quickWizard.getActive(); @@ -1048,7 +1049,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, pumpStatusLayout.setVisibility(View.GONE); loopStatusLayout.setVisibility(View.GONE); - if (!MainApp.getConfigBuilder().isProfileValid("Overview")) { + if (!ProfileFunctions.getInstance().isProfileValid("Overview")) { pumpStatusView.setText(R.string.noprofileset); pumpStatusLayout.setVisibility(View.VISIBLE); return; @@ -1061,7 +1062,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, final PumpInterface pump = ConfigBuilderPlugin.getActivePump(); - final Profile profile = MainApp.getConfigBuilder().getProfile(); + final Profile profile = ProfileFunctions.getInstance().getProfile(); final String units = profile.getUnits(); final double lowLine = OverviewPlugin.getPlugin().determineLowLine(units); @@ -1245,7 +1246,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, extendedBolusView.setVisibility(View.VISIBLE); } - activeProfileView.setText(MainApp.getConfigBuilder().getProfileName()); + activeProfileView.setText(ProfileFunctions.getInstance().getProfileName()); activeProfileView.setBackgroundColor(Color.GRAY); // QuickWizard button diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java index dfd6b9970c..b184201908 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java @@ -16,6 +16,7 @@ import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.NotificationStore; @@ -92,7 +93,7 @@ public class OverviewPlugin extends PluginBase { } public double determineLowLine() { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { return bgTargetLow; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java index 72fbbff5a5..30ed626b89 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphData/GraphData.java @@ -29,6 +29,7 @@ import info.nightscout.androidaps.db.ProfileSwitch; import info.nightscout.androidaps.db.TempTarget; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.BasalData; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; @@ -63,7 +64,7 @@ public class GraphData { private IobCobCalculatorPlugin iobCobCalculatorPlugin; public GraphData(GraphView graph, IobCobCalculatorPlugin iobCobCalculatorPlugin) { - units = MainApp.getConfigBuilder().getProfileUnits(); + units = ProfileFunctions.getInstance().getProfileUnits(); this.graph = graph; this.iobCobCalculatorPlugin = iobCobCalculatorPlugin; } @@ -144,7 +145,7 @@ public class GraphData { double lastBaseBasal = 0; double lastTempBasal = 0; for (long time = fromTime; time < toTime; time += 60 * 1000L) { - Profile profile = MainApp.getConfigBuilder().getProfile(time); + Profile profile = ProfileFunctions.getInstance().getProfile(time); if (profile == null) continue; BasalData basalData = iobCobCalculatorPlugin.getBasalData(profile, time); double baseBasalValue = basalData.basal; @@ -348,7 +349,7 @@ public class GraphData { Scale iobScale = new Scale(); for (long time = fromTime; time <= toTime; time += 5 * 60 * 1000L) { - Profile profile = MainApp.getConfigBuilder().getProfile(time); + Profile profile = ProfileFunctions.getInstance().getProfile(time); double iob = 0d; if (profile != null) iob = iobCobCalculatorPlugin.calculateFromTreatmentsAndTempsSynchronized(time, profile).iob; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Persistentnotification/PersistentNotificationPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Persistentnotification/PersistentNotificationPlugin.java index f6a9494a20..f87643fcf8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Persistentnotification/PersistentNotificationPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Persistentnotification/PersistentNotificationPlugin.java @@ -37,6 +37,7 @@ import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DecimalFormatter; @@ -108,9 +109,9 @@ public class PersistentNotificationPlugin extends PluginBase { String line1 = ""; - if (MainApp.getConfigBuilder().getActiveProfileInterface() == null || !MainApp.getConfigBuilder().isProfileValid("Notificiation")) + if (MainApp.getConfigBuilder().getActiveProfileInterface() == null || !ProfileFunctions.getInstance().isProfileValid("Notificiation")) return null; - String units = MainApp.getConfigBuilder().getProfileUnits(); + String units = ProfileFunctions.getInstance().getProfileUnits(); BgReading lastBG = DatabaseHelper.lastBg(); @@ -147,7 +148,7 @@ public class PersistentNotificationPlugin extends PluginBase { String line3 = DecimalFormatter.to2Decimal(ConfigBuilderPlugin.getActivePump().getBaseBasalRate()) + " U/h"; - line3 += " - " + MainApp.getConfigBuilder().getProfileName(); + line3 += " - " + ProfileFunctions.getInstance().getProfileName(); NotificationCompat.Builder builder = new NotificationCompat.Builder(ctx, CHANNEL_ID); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfileFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfileFragment.java index b0f0700fe2..e3aeca0c45 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfileFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfileFragment.java @@ -24,6 +24,7 @@ import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.ProfileStore; import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.ProfileNS.events.EventNSProfileUpdateGUI; import info.nightscout.androidaps.plugins.Treatments.fragments.ProfileGraph; import info.nightscout.utils.DecimalFormatter; @@ -92,7 +93,7 @@ public class NSProfileFragment extends SubscriberFragment { profileSpinner.setAdapter(adapter); // set selected to actual profile for (int p = 0; p < profileList.size(); p++) { - if (profileList.get(p).equals(MainApp.getConfigBuilder().getProfileName())) + if (profileList.get(p).equals(ProfileFunctions.getInstance().getProfileName())) profileSpinner.setSelection(p); } noProfile.setVisibility(View.GONE); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java index 7116056657..ff866702b7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpCombo/ComboPlugin.java @@ -43,6 +43,7 @@ import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; @@ -1338,7 +1339,7 @@ public class ComboPlugin extends PluginBase implements PumpInterface, Constraint JSONObject extendedJson = new JSONObject(); extendedJson.put("Version", BuildConfig.VERSION_NAME + "-" + BuildConfig.BUILDVERSION); - extendedJson.put("ActiveProfile", MainApp.getConfigBuilder().getProfileName()); + extendedJson.put("ActiveProfile", ProfileFunctions.getInstance().getProfileName()); PumpState ps = pump.state; if (ps.tbrActive) { extendedJson.put("TempBasalAbsoluteRate", ps.basalRate); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRHistoryActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRHistoryActivity.java index 444a11b5c4..6398c41a09 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRHistoryActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRHistoryActivity.java @@ -33,6 +33,7 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus; import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin; @@ -197,7 +198,7 @@ public class DanaRHistoryActivity extends Activity { clearCardView(); } }); - profile = MainApp.getConfigBuilder().getProfile(); + profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.noprofile)); finish(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java index 36bad4f6fa..eab9e8bc6e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRNSHistorySync.java @@ -14,6 +14,7 @@ import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.db.DanaRHistoryRecord; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes; import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus; import info.nightscout.utils.DateUtil; @@ -182,7 +183,7 @@ public class DanaRNSHistorySync { log.debug("Syncing glucose record " + record.recordValue + " " + DateUtil.toISOString(record.recordDate)); nsrec.put(DANARSIGNATURE, record.bytes); nsrec.put("eventType", "BG Check"); - nsrec.put("glucose", Profile.fromMgdlToUnits(record.recordValue, MainApp.getConfigBuilder().getProfileUnits())); + nsrec.put("glucose", Profile.fromMgdlToUnits(record.recordValue, ProfileFunctions.getInstance().getProfileUnits())); nsrec.put("glucoseType", "Finger"); nsrec.put("created_at", DateUtil.toISOString(record.recordDate)); nsrec.put("enteredBy", "openaps://" + MainApp.gs(R.string.app_name)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java index 0f1dc5dbf9..446913b1b8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/services/DanaRExecutionService.java @@ -23,6 +23,7 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; @@ -167,7 +168,7 @@ public class DanaRExecutionService extends AbstractDanaRExecutionService { long now = System.currentTimeMillis(); mDanaRPump.lastConnection = now; - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); PumpInterface pump = MainApp.getConfigBuilder().getActivePump(); if (profile != null && Math.abs(mDanaRPump.currentBasal - profile.getBasal()) >= pump.getPumpDescription().basalStep) { MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumpsettings))); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java index e54dd7be83..4be6cee2c1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/services/DanaRKoreanExecutionService.java @@ -23,6 +23,7 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; @@ -171,7 +172,7 @@ public class DanaRKoreanExecutionService extends AbstractDanaRExecutionService { long now = System.currentTimeMillis(); mDanaRPump.lastConnection = now; - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); PumpInterface pump = MainApp.getConfigBuilder().getActivePump(); if (profile != null && Math.abs(mDanaRPump.currentBasal - profile.getBasal()) >= pump.getPumpDescription().basalStep) { MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumpsettings))); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java index ae314f77a7..f83702d7c2 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java @@ -41,6 +41,7 @@ import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.DetailedBolusInfoStorage; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; @@ -745,7 +746,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte } extended.put("BaseBasalRate", getBaseBasalRate()); try { - extended.put("ActiveProfile", MainApp.getConfigBuilder().getProfileName()); + extended.put("ActiveProfile", ProfileFunctions.getInstance().getProfileName()); } catch (Exception e) { } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java index 23618f2b18..932c9c747e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java @@ -25,6 +25,7 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog; import info.nightscout.androidaps.plugins.Overview.Dialogs.ErrorHelperActivity; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; @@ -142,7 +143,7 @@ public class DanaRSService extends Service { danaRPump.lastConnection = System.currentTimeMillis(); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); PumpInterface pump = MainApp.getConfigBuilder().getActivePump(); if (profile != null && Math.abs(danaRPump.currentBasal - profile.getBasal()) >= pump.getPumpDescription().basalStep) { MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumpsettings))); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java index 4065d1624d..1e1147c849 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/services/DanaRv2ExecutionService.java @@ -24,6 +24,7 @@ import info.nightscout.androidaps.events.EventPumpStatusChanged; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog; import info.nightscout.androidaps.plugins.Overview.Dialogs.ErrorHelperActivity; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; @@ -192,7 +193,7 @@ public class DanaRv2ExecutionService extends AbstractDanaRExecutionService { mDanaRPump.lastConnection = System.currentTimeMillis(); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); PumpInterface pump = MainApp.getConfigBuilder().getActivePump(); if (profile != null && Math.abs(mDanaRPump.currentBasal - profile.getBasal()) >= pump.getPumpDescription().basalStep) { MainApp.bus().post(new EventPumpStatusChanged(MainApp.gs(R.string.gettingpumpsettings))); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java index 661ed0b0a5..2f9d5d21dd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java @@ -33,6 +33,7 @@ import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; @@ -671,7 +672,7 @@ public class InsightPlugin extends PluginBase implements PumpInterface, Constrai status.put("timestamp", DateUtil.toISOString(connector.getLastContactTime())); extended.put("Version", BuildConfig.VERSION_NAME + "-" + BuildConfig.BUILDVERSION); try { - extended.put("ActiveProfile", MainApp.getConfigBuilder().getProfileName()); + extended.put("ActiveProfile", ProfileFunctions.getInstance().getProfileName()); } catch (Exception e) { } TemporaryBasal tb = TreatmentsPlugin.getPlugin().getTempBasalFromHistory(now); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java index 7aae82b8f8..a72c1313d3 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java @@ -25,6 +25,7 @@ import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpDescription; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress; import info.nightscout.androidaps.plugins.Overview.notifications.Notification; @@ -191,7 +192,7 @@ public class VirtualPumpPlugin extends PluginBase implements PumpInterface { @Override public double getBaseBasalRate() { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile != null) return profile.getBasal(); else diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java index 350769ec24..993a51edf8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java @@ -17,6 +17,7 @@ import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; @@ -59,7 +60,7 @@ public class SensitivityAAPSPlugin extends AbstractSensitivityPlugin { if (age.equals(MainApp.gs(R.string.key_child))) defaultHours = 4; int hoursForDetection = SP.getInt(R.string.key_openapsama_autosens_period, defaultHours); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { log.error("No profile"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java index 2ddf402763..de0e9c9c0c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java @@ -17,6 +17,7 @@ import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; @@ -54,7 +55,7 @@ public class SensitivityOref0Plugin extends AbstractSensitivityPlugin { int hoursForDetection = 24; long now = System.currentTimeMillis(); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { log.error("No profile"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java index fe56899fea..06656617c5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java @@ -17,6 +17,7 @@ import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; @@ -53,7 +54,7 @@ public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { // dependency, this should be avoided LongSparseArray autosensDataTable = iobCobCalculatorPlugin.getAutosensDataTable(); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { log.error("No profile"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java index 82c3d04d91..95b027a86c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java @@ -15,6 +15,7 @@ import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; @@ -71,7 +72,7 @@ public class SensitivityWeightedAveragePlugin extends AbstractSensitivityPlugin } - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { if (L.isEnabled(L.AUTOSENS)) log.debug("No profile available"); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java index b372ca7cb8..dd663ec1be 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java @@ -21,6 +21,7 @@ import java.util.List; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.GlucoseStatus; @@ -207,7 +208,7 @@ public class SmsCommunicatorPlugin extends PluginBase { BgReading actualBG = DatabaseHelper.actualBg(); BgReading lastBG = DatabaseHelper.lastBg(); - String units = MainApp.getConfigBuilder().getProfileUnits(); + String units = ProfileFunctions.getInstance().getProfileUnits(); if (actualBG != null) { reply = MainApp.gs(R.string.sms_actualbg) + " " + actualBG.valueToUnitsToString(units) + ", "; @@ -378,7 +379,7 @@ public class SmsCommunicatorPlugin extends PluginBase { } } else { tempBasal = SafeParse.stringToDouble(splited[1]); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { reply = MainApp.gs(R.string.noprofile); sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date())); @@ -471,7 +472,7 @@ public class SmsCommunicatorPlugin extends PluginBase { } else if (tempBasalWaitingForConfirmation != null && !tempBasalWaitingForConfirmation.processed && tempBasalWaitingForConfirmation.confirmCode.equals(splited[0]) && System.currentTimeMillis() - tempBasalWaitingForConfirmation.date.getTime() < Constants.SMS_CONFIRM_TIMEOUT) { tempBasalWaitingForConfirmation.processed = true; - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile != null) ConfigBuilderPlugin.getCommandQueue().tempBasalAbsolute(tempBasalWaitingForConfirmation.tempBasal, 30, true, profile, new Callback() { @Override diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java index 5c952b58f1..6e99f28c12 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java @@ -39,6 +39,7 @@ import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.TreatmentsInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.Overview.Dialogs.ErrorHelperActivity; @@ -113,8 +114,8 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface if (L.isEnabled(L.DATATREATMENTS)) log.debug("initializeTreatmentData"); double dia = Constants.defaultDIA; - if (MainApp.getConfigBuilder() != null && MainApp.getConfigBuilder().getProfile() != null) - dia = MainApp.getConfigBuilder().getProfile().getDia(); + if (MainApp.getConfigBuilder() != null && ProfileFunctions.getInstance().getProfile() != null) + dia = ProfileFunctions.getInstance().getProfile().getDia(); long fromMills = (long) (System.currentTimeMillis() - 60 * 60 * 1000L * (24 + dia)); synchronized (treatments) { treatments.clear(); @@ -126,8 +127,8 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface if (L.isEnabled(L.DATATREATMENTS)) log.debug("initializeTempBasalData"); double dia = Constants.defaultDIA; - if (MainApp.getConfigBuilder() != null && MainApp.getConfigBuilder().getProfile() != null) - dia = MainApp.getConfigBuilder().getProfile().getDia(); + if (MainApp.getConfigBuilder() != null && ProfileFunctions.getInstance().getProfile() != null) + dia = ProfileFunctions.getInstance().getProfile().getDia(); long fromMills = (long) (System.currentTimeMillis() - 60 * 60 * 1000L * (24 + dia)); synchronized (tempBasals) { @@ -140,8 +141,8 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface if (L.isEnabled(L.DATATREATMENTS)) log.debug("initializeExtendedBolusData"); double dia = Constants.defaultDIA; - if (MainApp.getConfigBuilder() != null && MainApp.getConfigBuilder().getProfile() != null) - dia = MainApp.getConfigBuilder().getProfile().getDia(); + if (MainApp.getConfigBuilder() != null && ProfileFunctions.getInstance().getProfile() != null) + dia = ProfileFunctions.getInstance().getProfile().getDia(); long fromMills = (long) (System.currentTimeMillis() - 60 * 60 * 1000L * (24 + dia)); synchronized (extendedBoluses) { @@ -176,7 +177,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface public IobTotal getCalculationToTimeTreatments(long time) { IobTotal total = new IobTotal(time); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) return total; @@ -224,7 +225,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface public MealData getMealData() { MealData result = new MealData(); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) return result; long now = System.currentTimeMillis(); @@ -410,7 +411,7 @@ public class TreatmentsPlugin extends PluginBase implements TreatmentsInterface @Override public void updateTotalIOBTempBasals() { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile != null) lastTempBasalsCalculation = getCalculationToTimeTempBasals(DateUtil.now(), profile); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsBolusFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsBolusFragment.java index aa6204cbe2..c9b744e86d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsBolusFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsBolusFragment.java @@ -24,6 +24,7 @@ import java.util.List; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.data.Iob; import info.nightscout.androidaps.data.Profile; @@ -69,7 +70,7 @@ public class TreatmentsBolusFragment extends SubscriberFragment implements View. @Override public void onBindViewHolder(TreatmentsViewHolder holder, int position) { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) return; Treatment t = treatments.get(position); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsProfileSwitchFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsProfileSwitchFragment.java index 903a075dca..2449dff52e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsProfileSwitchFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsProfileSwitchFragment.java @@ -24,6 +24,7 @@ import java.util.List; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.ProfileSwitch; @@ -64,7 +65,7 @@ public class TreatmentsProfileSwitchFragment extends SubscriberFragment implemen @Override public void onBindViewHolder(ProfileSwitchViewHolder holder, int position) { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) return; ProfileSwitch profileSwitch = profileSwitchList.get(position); holder.ph.setVisibility(profileSwitch.source == Source.PUMP ? View.VISIBLE : View.GONE); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTempTargetFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTempTargetFragment.java index 96b559d89d..d60dfc9e4c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTempTargetFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTempTargetFragment.java @@ -21,6 +21,7 @@ import com.squareup.otto.Subscribe; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.services.Intents; import info.nightscout.androidaps.data.Intervals; import info.nightscout.androidaps.db.Source; @@ -65,7 +66,7 @@ public class TreatmentsTempTargetFragment extends SubscriberFragment implements @Override public void onBindViewHolder(TempTargetsViewHolder holder, int position) { - String units = MainApp.getConfigBuilder().getProfileUnits(); + String units = ProfileFunctions.getInstance().getProfileUnits(); TempTarget tempTarget = tempTargetList.getReversed(position); holder.ph.setVisibility(tempTarget.source == Source.PUMP ? View.VISIBLE : View.GONE); holder.ns.setVisibility(NSUpload.isIdValid(tempTarget._id) ? View.VISIBLE : View.GONE); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTemporaryBasalsFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTemporaryBasalsFragment.java index 9b61eba2ae..3185bd81ac 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTemporaryBasalsFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/fragments/TreatmentsTemporaryBasalsFragment.java @@ -28,6 +28,7 @@ import info.nightscout.androidaps.db.TemporaryBasal; import info.nightscout.androidaps.events.EventNewBG; import info.nightscout.androidaps.events.EventTempBasalChange; import info.nightscout.androidaps.plugins.Common.SubscriberFragment; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.NSClientInternal.UploadQueue; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; @@ -84,7 +85,7 @@ public class TreatmentsTemporaryBasalsFragment extends SubscriberFragment { } holder.duration.setText(DecimalFormatter.to0Decimal(tempBasal.durationInMinutes, " min")); if (tempBasal.isAbsolute) { - Profile profile = MainApp.getConfigBuilder().getProfile(tempBasal.date); + Profile profile = ProfileFunctions.getInstance().getProfile(tempBasal.date); if (profile != null) { holder.absolute.setText(DecimalFormatter.to0Decimal(tempBasal.tempBasalConvertedToAbsolute(tempBasal.date, profile), " U/h")); holder.percent.setText(""); @@ -99,7 +100,7 @@ public class TreatmentsTemporaryBasalsFragment extends SubscriberFragment { holder.realDuration.setText(DecimalFormatter.to0Decimal(tempBasal.getRealDuration(), " min")); long now = DateUtil.now(); IobTotal iob = new IobTotal(now); - Profile profile = MainApp.getConfigBuilder().getProfile(now); + Profile profile = ProfileFunctions.getInstance().getProfile(now); if (profile != null) iob = tempBasal.iobCalc(now, profile); holder.iob.setText(DecimalFormatter.to2Decimal(iob.basaliob, " U")); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java index fc4728c53c..84e32ca087 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java @@ -32,6 +32,7 @@ import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.Actions.dialogs.FillDialog; import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.CobInfo; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.Loop.APSResult; @@ -134,7 +135,7 @@ public class ActionStringHandler { ///////////////////////////////////////////////////////// TEMPTARGET boolean isMGDL = Boolean.parseBoolean(act[1]); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { sendError("No profile found!"); return; @@ -203,7 +204,7 @@ public class ActionStringHandler { boolean useTrend = SP.getBoolean(R.string.key_wearwizard_trend, false); int percentage = Integer.parseInt(act[2]); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { sendError("No profile found!"); return; @@ -363,7 +364,7 @@ public class ActionStringHandler { private static String generateTDDMessage(List historyList, List dummies) { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { return "No profile loaded :("; @@ -517,7 +518,7 @@ public class ActionStringHandler { if (!Config.APS) { return "Targets only apply in APS mode!"; } - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { return "No profile set :("; } @@ -541,7 +542,7 @@ public class ActionStringHandler { if (!Config.APS) { return "Only apply in APS mode!"; } - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { return "No profile set :("; } @@ -651,7 +652,7 @@ public class ActionStringHandler { if (timeshift < 0 || timeshift > 23) { msg += String.format(MainApp.gs(R.string.valueoutofrange), "Profile-Timeshift") + "\n"; } - final Profile profile = MainApp.getConfigBuilder().getProfile(); + final Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { msg += MainApp.gs(R.string.notloadedplugins) + "\n"; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/wearintegration/WatchUpdaterService.java b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/wearintegration/WatchUpdaterService.java index b5d30ad071..ce9b0e0f2f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/wearintegration/WatchUpdaterService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/wearintegration/WatchUpdaterService.java @@ -37,6 +37,7 @@ import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.db.TemporaryBasal; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.CobInfo; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.Treatments.Treatment; @@ -223,7 +224,7 @@ public class WatchUpdaterService extends WearableListenerService implements } private DataMap dataMapSingleBG(BgReading lastBG, GlucoseStatus glucoseStatus) { - String units = MainApp.getConfigBuilder().getProfileUnits(); + String units = ProfileFunctions.getInstance().getProfileUnits(); Double lowLine = SafeParse.stringToDouble(mPrefs.getString("low_mark", "0")); Double highLine = SafeParse.stringToDouble(mPrefs.getString("high_mark", "0")); @@ -363,7 +364,7 @@ public class WatchUpdaterService extends WearableListenerService implements ArrayList predictions = new ArrayList<>(); - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) { return; @@ -383,7 +384,7 @@ public class WatchUpdaterService extends WearableListenerService implements if (tb1 != null) { tb_before = beginBasalValue; - Profile profileTB = MainApp.getConfigBuilder().getProfile(runningTime); + Profile profileTB = ProfileFunctions.getInstance().getProfile(runningTime); if (profileTB != null) { tb_amount = tb1.tempBasalConvertedToAbsolute(runningTime, profileTB); tb_start = runningTime; @@ -392,7 +393,7 @@ public class WatchUpdaterService extends WearableListenerService implements for (; runningTime < now; runningTime += 5 * 60 * 1000) { - Profile profileTB = MainApp.getConfigBuilder().getProfile(runningTime); + Profile profileTB = ProfileFunctions.getInstance().getProfile(runningTime); //basal rate endBasalValue = profile.getBasal(runningTime); if (endBasalValue != beginBasalValue) { @@ -444,7 +445,7 @@ public class WatchUpdaterService extends WearableListenerService implements temps.add(tempDatamap(tb_start, tb_before, now - 1 * 60 * 1000, endBasalValue, tb_amount)); } else { //express currently running temp by painting it a bit into the future - Profile profileNow = MainApp.getConfigBuilder().getProfile(now); + Profile profileNow = ProfileFunctions.getInstance().getProfile(now); double currentAmount = tb2.tempBasalConvertedToAbsolute(now, profileNow); if (currentAmount != tb_amount) { temps.add(tempDatamap(tb_start, tb_before, now, tb_amount, tb_amount)); @@ -457,7 +458,7 @@ public class WatchUpdaterService extends WearableListenerService implements tb2 = TreatmentsPlugin.getPlugin().getTempBasalFromHistory(now); //use "now" to express current situation if (tb2 != null) { //onset at the end - Profile profileTB = MainApp.getConfigBuilder().getProfile(runningTime); + Profile profileTB = ProfileFunctions.getInstance().getProfile(runningTime); double currentAmount = tb2.tempBasalConvertedToAbsolute(runningTime, profileTB); temps.add(tempDatamap(now - 1 * 60 * 1000, endBasalValue, runningTime + 5 * 60 * 1000, currentAmount, currentAmount)); } @@ -580,7 +581,7 @@ public class WatchUpdaterService extends WearableListenerService implements private void sendStatus() { if (googleApiClient.isConnected()) { - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); String status = MainApp.gs(R.string.noprofile); String iobSum, iobDetail, cobString, currentBasal, bgiString; iobSum = iobDetail = cobString = currentBasal = bgiString = ""; @@ -699,7 +700,7 @@ public class WatchUpdaterService extends WearableListenerService implements String basalStringResult; - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (profile == null) return ""; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/XDripStatusline/StatuslinePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/XDripStatusline/StatuslinePlugin.java index d5ac60a626..bc879bc2a7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/XDripStatusline/StatuslinePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/XDripStatusline/StatuslinePlugin.java @@ -25,6 +25,7 @@ import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.TreatmentsInterface; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.IobCobCalculator.CobInfo; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; import info.nightscout.androidaps.plugins.Loop.LoopPlugin; @@ -93,7 +94,7 @@ public class StatuslinePlugin extends PluginBase { private void sendStatus() { String status = ""; // sent once on disable - Profile profile = MainApp.getConfigBuilder().getProfile(); + Profile profile = ProfileFunctions.getInstance().getProfile(); if (isEnabled(PluginType.GENERAL) && profile != null) { status = buildStatusString(profile); diff --git a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java index 4df1e65c2c..f98f86d8fb 100644 --- a/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java +++ b/app/src/main/java/info/nightscout/androidaps/queue/CommandQueue.java @@ -22,6 +22,7 @@ import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog; import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressHelperActivity; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; @@ -502,7 +503,7 @@ public class CommandQueue { public boolean isThisProfileSet(Profile profile) { PumpInterface activePump = ConfigBuilderPlugin.getActivePump(); - Profile current = MainApp.getConfigBuilder().getProfile(); + Profile current = ProfileFunctions.getInstance().getProfile(); if (activePump != null && current != null) { boolean result = activePump.isThisProfileSet(profile); if (!result) { diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java index d574b08f40..2a6ab73106 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java @@ -7,6 +7,7 @@ import android.content.Context; import android.content.Intent; import android.os.PowerManager; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.utils.FabricPrivacy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,7 +55,7 @@ public class KeepAliveReceiver extends BroadcastReceiver { private void checkPump() { final PumpInterface pump = ConfigBuilderPlugin.getActivePump(); - final Profile profile = MainApp.getConfigBuilder().getProfile(); + final Profile profile = ProfileFunctions.getInstance().getProfile(); if (pump != null && profile != null) { Date lastConnection = pump.lastDataTime(); boolean isStatusOutdated = lastConnection.getTime() + STATUS_UPDATE_FREQUENCY < System.currentTimeMillis(); diff --git a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.java b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.java index acd967f24a..433c3927db 100644 --- a/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.java +++ b/app/src/main/java/info/nightscout/androidaps/setupwizard/SWDefinition.java @@ -27,6 +27,7 @@ import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialo import info.nightscout.androidaps.plugins.Careportal.OptionsToShow; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesFragment; import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin; import info.nightscout.androidaps.plugins.Loop.LoopPlugin; @@ -306,8 +307,8 @@ public class SWDefinition { newDialog.setOptions(profileswitch, R.string.careportal_profileswitch); newDialog.show(getActivity().getSupportFragmentManager(), "NewNSTreatmentDialog"); })) - .validator(() -> MainApp.getConfigBuilder().getProfile() != null) - .visibility(() -> MainApp.getConfigBuilder().getProfile() == null) + .validator(() -> ProfileFunctions.getInstance().getProfile() != null) + .visibility(() -> ProfileFunctions.getInstance().getProfile() == null) ) .add(new SWScreen(R.string.configbuilder_pump) .skippable(false) diff --git a/app/src/main/java/info/nightscout/utils/LocalAlertUtils.java b/app/src/main/java/info/nightscout/utils/LocalAlertUtils.java index 9fabe03ec2..e41d1dd914 100644 --- a/app/src/main/java/info/nightscout/utils/LocalAlertUtils.java +++ b/app/src/main/java/info/nightscout/utils/LocalAlertUtils.java @@ -13,6 +13,7 @@ import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Loop.LoopPlugin; import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; @@ -80,7 +81,7 @@ public class LocalAlertUtils { //TODO: persist the actual time the pump is read and simplify the whole logic when to alarm final PumpInterface pump = ConfigBuilderPlugin.getActivePump(); - final Profile profile = MainApp.getConfigBuilder().getProfile(); + final Profile profile = ProfileFunctions.getInstance().getProfile(); if (pump != null && profile != null) { Date lastConnection = pump.lastDataTime(); long earliestAlarmTime = lastConnection.getTime() + pumpUnreachableThreshold(); diff --git a/app/src/main/java/info/nightscout/utils/XdripCalibrations.java b/app/src/main/java/info/nightscout/utils/XdripCalibrations.java index 8ac6433676..18c066b1da 100644 --- a/app/src/main/java/info/nightscout/utils/XdripCalibrations.java +++ b/app/src/main/java/info/nightscout/utils/XdripCalibrations.java @@ -15,6 +15,7 @@ import java.util.List; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.services.Intents; /** @@ -45,7 +46,7 @@ public class XdripCalibrations { Context context = MainApp.instance().getApplicationContext(); Bundle bundle = new Bundle(); bundle.putDouble("glucose_number", bg); - bundle.putString("units", MainApp.getConfigBuilder().getProfileUnits().equals(Constants.MGDL) ? "mgdl" : "mmol"); + bundle.putString("units", ProfileFunctions.getInstance().getProfileUnits().equals(Constants.MGDL) ? "mgdl" : "mmol"); bundle.putLong("timestamp", System.currentTimeMillis()); Intent intent = new Intent(Intents.ACTION_REMOTE_CALIBRATION); intent.putExtras(bundle); From 6a9bf04a98e4beb9160d3b95b0f482fa40f462fc Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 30 Jul 2018 14:46:15 +0200 Subject: [PATCH 29/37] move APS function from ConfigBuilder to Loop --- .../ConfigBuilder/ConfigBuilderPlugin.java | 153 ---------------- .../ConfigBuilder/ProfileFunctions.java | 2 +- .../androidaps/plugins/Loop/LoopPlugin.java | 170 +++++++++++++++++- .../plugins/Overview/OverviewFragment.java | 20 +-- 4 files changed, 179 insertions(+), 166 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java index d0e7a38c23..55ff03b5e7 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java @@ -412,157 +412,4 @@ public class ConfigBuilderPlugin extends PluginBase { return found; } - /** - * expect absolute request and allow both absolute and percent response based on pump capabilities - */ - public void applyTBRRequest(APSResult request, Profile profile, Callback callback) { - if (!request.tempBasalRequested) { - if (callback != null) { - callback.result(new PumpEnactResult().enacted(false).success(true).comment(MainApp.gs(R.string.nochangerequested))).run(); - } - return; - } - - PumpInterface pump = getActivePump(); - - request.rateConstraint = new Constraint<>(request.rate); - request.rate = MainApp.getConstraintChecker().applyBasalConstraints(request.rateConstraint, profile).value(); - - if (!pump.isInitialized()) { - log.debug("applyAPSRequest: " + MainApp.gs(R.string.pumpNotInitialized)); - if (callback != null) { - callback.result(new PumpEnactResult().comment(MainApp.gs(R.string.pumpNotInitialized)).enacted(false).success(false)).run(); - } - return; - } - - if (pump.isSuspended()) { - log.debug("applyAPSRequest: " + MainApp.gs(R.string.pumpsuspended)); - if (callback != null) { - callback.result(new PumpEnactResult().comment(MainApp.gs(R.string.pumpsuspended)).enacted(false).success(false)).run(); - } - return; - } - - if (Config.logCongigBuilderActions) - log.debug("applyAPSRequest: " + request.toString()); - - long now = System.currentTimeMillis(); - TemporaryBasal activeTemp = activeTreatments.getTempBasalFromHistory(now); - if ((request.rate == 0 && request.duration == 0) || Math.abs(request.rate - pump.getBaseBasalRate()) < pump.getPumpDescription().basalStep) { - if (activeTemp != null) { - if (Config.logCongigBuilderActions) - log.debug("applyAPSRequest: cancelTempBasal()"); - getCommandQueue().cancelTempBasal(false, callback); - } else { - if (Config.logCongigBuilderActions) - log.debug("applyAPSRequest: Basal set correctly"); - if (callback != null) { - callback.result(new PumpEnactResult().absolute(request.rate).duration(0) - .enacted(false).success(true).comment(MainApp.gs(R.string.basal_set_correctly))).run(); - } - } - } else if (activeTemp != null - && activeTemp.getPlannedRemainingMinutes() > 5 - && request.duration - activeTemp.getPlannedRemainingMinutes() < 30 - && Math.abs(request.rate - activeTemp.tempBasalConvertedToAbsolute(now, profile)) < pump.getPumpDescription().basalStep) { - if (Config.logCongigBuilderActions) - log.debug("applyAPSRequest: Temp basal set correctly"); - if (callback != null) { - callback.result(new PumpEnactResult().absolute(activeTemp.tempBasalConvertedToAbsolute(now, profile)) - .enacted(false).success(true).duration(activeTemp.getPlannedRemainingMinutes()) - .comment(MainApp.gs(R.string.let_temp_basal_run))).run(); - } - } else { - if (Config.logCongigBuilderActions) - log.debug("applyAPSRequest: setTempBasalAbsolute()"); - getCommandQueue().tempBasalAbsolute(request.rate, request.duration, false, profile, callback); - } - } - - public void applySMBRequest(APSResult request, Callback callback) { - if (!request.bolusRequested) { - return; - } - - long lastBolusTime = activeTreatments.getLastBolusTime(); - if (lastBolusTime != 0 && lastBolusTime + 3 * 60 * 1000 > System.currentTimeMillis()) { - log.debug("SMB requested but still in 3 min interval"); - if (callback != null) { - callback.result(new PumpEnactResult() - .comment(MainApp.gs(R.string.smb_frequency_exceeded)) - .enacted(false).success(false)).run(); - } - return; - } - - PumpInterface pump = getActivePump(); - - if (!pump.isInitialized()) { - log.debug("applySMBRequest: " + MainApp.gs(R.string.pumpNotInitialized)); - if (callback != null) { - callback.result(new PumpEnactResult().comment(MainApp.gs(R.string.pumpNotInitialized)).enacted(false).success(false)).run(); - } - return; - } - - if (pump.isSuspended()) { - log.debug("applySMBRequest: " + MainApp.gs(R.string.pumpsuspended)); - if (callback != null) { - callback.result(new PumpEnactResult().comment(MainApp.gs(R.string.pumpsuspended)).enacted(false).success(false)).run(); - } - return; - } - - if (Config.logCongigBuilderActions) - log.debug("applySMBRequest: " + request.toString()); - - // deliver SMB - DetailedBolusInfo detailedBolusInfo = new DetailedBolusInfo(); - detailedBolusInfo.lastKnownBolusTime = activeTreatments.getLastBolusTime(); - detailedBolusInfo.eventType = CareportalEvent.CORRECTIONBOLUS; - detailedBolusInfo.insulin = request.smb; - detailedBolusInfo.isSMB = true; - detailedBolusInfo.source = Source.USER; - detailedBolusInfo.deliverAt = request.deliverAt; - if (Config.logCongigBuilderActions) - log.debug("applyAPSRequest: bolus()"); - getCommandQueue().bolus(detailedBolusInfo, callback); - } - - public void disconnectPump(int durationInMinutes, Profile profile) { - LoopPlugin.getPlugin().disconnectTo(System.currentTimeMillis() + durationInMinutes * 60 * 1000L); - getCommandQueue().tempBasalPercent(0, durationInMinutes, true, profile, new Callback() { - @Override - public void run() { - if (!result.success) { - ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.tempbasaldeliveryerror)); - } - } - }); - if (getActivePump().getPumpDescription().isExtendedBolusCapable && activeTreatments.isInHistoryExtendedBoluslInProgress()) { - getCommandQueue().cancelExtended(new Callback() { - @Override - public void run() { - if (!result.success) { - ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.extendedbolusdeliveryerror)); - } - } - }); - } - NSUpload.uploadOpenAPSOffline(durationInMinutes); - } - - public void suspendLoop(int durationInMinutes) { - LoopPlugin.getPlugin().suspendTo(System.currentTimeMillis() + durationInMinutes * 60 * 1000); - getCommandQueue().cancelTempBasal(true, new Callback() { - @Override - public void run() { - if (!result.success) { - ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.tempbasaldeliveryerror)); - } - } - }); - NSUpload.uploadOpenAPSOffline(durationInMinutes); - } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ProfileFunctions.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ProfileFunctions.java index 8cddbbc5a3..8eff3c525f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ProfileFunctions.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ProfileFunctions.java @@ -135,7 +135,7 @@ public class ProfileFunctions { .putCustomAttribute("getProfileSwitchesFromHistory", activeTreatments.getProfileSwitchesFromHistory().toString()) ); } - log.debug("getProfile at the end: returning null"); + log.error("getProfile at the end: returning null"); return null; } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java index 91ef310eaa..697bdef9a6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java @@ -21,14 +21,19 @@ import org.slf4j.LoggerFactory; import java.util.Date; +import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainActivity; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.data.DetailedBolusInfo; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.data.PumpEnactResult; import info.nightscout.androidaps.db.BgReading; +import info.nightscout.androidaps.db.CareportalEvent; import info.nightscout.androidaps.db.DatabaseHelper; +import info.nightscout.androidaps.db.Source; +import info.nightscout.androidaps.db.TemporaryBasal; import info.nightscout.androidaps.events.Event; import info.nightscout.androidaps.events.EventNewBG; import info.nightscout.androidaps.interfaces.APSInterface; @@ -37,6 +42,7 @@ import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; import info.nightscout.androidaps.interfaces.PumpInterface; +import info.nightscout.androidaps.interfaces.TreatmentsInterface; import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; @@ -50,6 +56,7 @@ import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.SP; +import info.nightscout.utils.ToastUtils; /** * Created by mike on 05.08.2016. @@ -349,13 +356,13 @@ public class LoopPlugin extends PluginBase { lastRun.smbSetByPump = waiting; MainApp.bus().post(new EventLoopUpdateGui()); FabricPrivacy.getInstance().logCustom(new CustomEvent("APSRequest")); - MainApp.getConfigBuilder().applyTBRRequest(resultAfterConstraints, profile, new Callback() { + applyTBRRequest(resultAfterConstraints, profile, new Callback() { @Override public void run() { if (result.enacted || result.success) { lastRun.tbrSetByPump = result; lastRun.lastEnact = lastRun.lastAPSRun; - MainApp.getConfigBuilder().applySMBRequest(resultAfterConstraints, new Callback() { + applySMBRequest(resultAfterConstraints, new Callback() { @Override public void run() { //Callback is only called if a bolus was acutally requested @@ -422,4 +429,163 @@ public class LoopPlugin extends PluginBase { } } + /** + * expect absolute request and allow both absolute and percent response based on pump capabilities + */ + public void applyTBRRequest(APSResult request, Profile profile, Callback callback) { + if (!request.tempBasalRequested) { + if (callback != null) { + callback.result(new PumpEnactResult().enacted(false).success(true).comment(MainApp.gs(R.string.nochangerequested))).run(); + } + return; + } + + PumpInterface pump = MainApp.getConfigBuilder().getActivePump(); + TreatmentsInterface activeTreatments = TreatmentsPlugin.getPlugin(); + + request.rateConstraint = new Constraint<>(request.rate); + request.rate = MainApp.getConstraintChecker().applyBasalConstraints(request.rateConstraint, profile).value(); + + if (!pump.isInitialized()) { + log.debug("applyAPSRequest: " + MainApp.gs(R.string.pumpNotInitialized)); + if (callback != null) { + callback.result(new PumpEnactResult().comment(MainApp.gs(R.string.pumpNotInitialized)).enacted(false).success(false)).run(); + } + return; + } + + if (pump.isSuspended()) { + log.debug("applyAPSRequest: " + MainApp.gs(R.string.pumpsuspended)); + if (callback != null) { + callback.result(new PumpEnactResult().comment(MainApp.gs(R.string.pumpsuspended)).enacted(false).success(false)).run(); + } + return; + } + + if (Config.logCongigBuilderActions) + log.debug("applyAPSRequest: " + request.toString()); + + long now = System.currentTimeMillis(); + TemporaryBasal activeTemp = activeTreatments.getTempBasalFromHistory(now); + if ((request.rate == 0 && request.duration == 0) || Math.abs(request.rate - pump.getBaseBasalRate()) < pump.getPumpDescription().basalStep) { + if (activeTemp != null) { + if (Config.logCongigBuilderActions) + log.debug("applyAPSRequest: cancelTempBasal()"); + MainApp.getConfigBuilder().getCommandQueue().cancelTempBasal(false, callback); + } else { + if (Config.logCongigBuilderActions) + log.debug("applyAPSRequest: Basal set correctly"); + if (callback != null) { + callback.result(new PumpEnactResult().absolute(request.rate).duration(0) + .enacted(false).success(true).comment(MainApp.gs(R.string.basal_set_correctly))).run(); + } + } + } else if (activeTemp != null + && activeTemp.getPlannedRemainingMinutes() > 5 + && request.duration - activeTemp.getPlannedRemainingMinutes() < 30 + && Math.abs(request.rate - activeTemp.tempBasalConvertedToAbsolute(now, profile)) < pump.getPumpDescription().basalStep) { + if (Config.logCongigBuilderActions) + log.debug("applyAPSRequest: Temp basal set correctly"); + if (callback != null) { + callback.result(new PumpEnactResult().absolute(activeTemp.tempBasalConvertedToAbsolute(now, profile)) + .enacted(false).success(true).duration(activeTemp.getPlannedRemainingMinutes()) + .comment(MainApp.gs(R.string.let_temp_basal_run))).run(); + } + } else { + if (Config.logCongigBuilderActions) + log.debug("applyAPSRequest: setTempBasalAbsolute()"); + MainApp.getConfigBuilder().getCommandQueue().tempBasalAbsolute(request.rate, request.duration, false, profile, callback); + } + } + + public void applySMBRequest(APSResult request, Callback callback) { + if (!request.bolusRequested) { + return; + } + + PumpInterface pump = MainApp.getConfigBuilder().getActivePump(); + TreatmentsInterface activeTreatments = TreatmentsPlugin.getPlugin(); + + long lastBolusTime = activeTreatments.getLastBolusTime(); + if (lastBolusTime != 0 && lastBolusTime + 3 * 60 * 1000 > System.currentTimeMillis()) { + log.debug("SMB requested but still in 3 min interval"); + if (callback != null) { + callback.result(new PumpEnactResult() + .comment(MainApp.gs(R.string.smb_frequency_exceeded)) + .enacted(false).success(false)).run(); + } + return; + } + + if (!pump.isInitialized()) { + log.debug("applySMBRequest: " + MainApp.gs(R.string.pumpNotInitialized)); + if (callback != null) { + callback.result(new PumpEnactResult().comment(MainApp.gs(R.string.pumpNotInitialized)).enacted(false).success(false)).run(); + } + return; + } + + if (pump.isSuspended()) { + log.debug("applySMBRequest: " + MainApp.gs(R.string.pumpsuspended)); + if (callback != null) { + callback.result(new PumpEnactResult().comment(MainApp.gs(R.string.pumpsuspended)).enacted(false).success(false)).run(); + } + return; + } + + if (Config.logCongigBuilderActions) + log.debug("applySMBRequest: " + request.toString()); + + // deliver SMB + DetailedBolusInfo detailedBolusInfo = new DetailedBolusInfo(); + detailedBolusInfo.lastKnownBolusTime = activeTreatments.getLastBolusTime(); + detailedBolusInfo.eventType = CareportalEvent.CORRECTIONBOLUS; + detailedBolusInfo.insulin = request.smb; + detailedBolusInfo.isSMB = true; + detailedBolusInfo.source = Source.USER; + detailedBolusInfo.deliverAt = request.deliverAt; + if (Config.logCongigBuilderActions) + log.debug("applyAPSRequest: bolus()"); + MainApp.getConfigBuilder().getCommandQueue().bolus(detailedBolusInfo, callback); + } + + public void disconnectPump(int durationInMinutes, Profile profile) { + PumpInterface pump = MainApp.getConfigBuilder().getActivePump(); + TreatmentsInterface activeTreatments = TreatmentsPlugin.getPlugin(); + + LoopPlugin.getPlugin().disconnectTo(System.currentTimeMillis() + durationInMinutes * 60 * 1000L); + MainApp.getConfigBuilder().getCommandQueue().tempBasalPercent(0, durationInMinutes, true, profile, new Callback() { + @Override + public void run() { + if (!result.success) { + ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.tempbasaldeliveryerror)); + } + } + }); + if (pump.getPumpDescription().isExtendedBolusCapable && activeTreatments.isInHistoryExtendedBoluslInProgress()) { + MainApp.getConfigBuilder().getCommandQueue().cancelExtended(new Callback() { + @Override + public void run() { + if (!result.success) { + ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.extendedbolusdeliveryerror)); + } + } + }); + } + NSUpload.uploadOpenAPSOffline(durationInMinutes); + } + + public void suspendLoop(int durationInMinutes) { + LoopPlugin.getPlugin().suspendTo(System.currentTimeMillis() + durationInMinutes * 60 * 1000); + MainApp.getConfigBuilder().getCommandQueue().cancelTempBasal(true, new Callback() { + @Override + public void run() { + if (!result.success) { + ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.gs(R.string.tempbasaldeliveryerror)); + } + } + }); + NSUpload.uploadOpenAPSOffline(durationInMinutes); + } + } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java index ac98eee730..6fc1e8d5dd 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java @@ -537,39 +537,39 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, NSUpload.uploadOpenAPSOffline(0); return true; } else if (item.getTitle().equals(MainApp.gs(R.string.suspendloopfor1h))) { - MainApp.getConfigBuilder().suspendLoop(60); + LoopPlugin.getPlugin().suspendLoop(60); updateGUI("suspendmenu"); return true; } else if (item.getTitle().equals(MainApp.gs(R.string.suspendloopfor2h))) { - MainApp.getConfigBuilder().suspendLoop(120); + LoopPlugin.getPlugin().suspendLoop(120); updateGUI("suspendmenu"); return true; } else if (item.getTitle().equals(MainApp.gs(R.string.suspendloopfor3h))) { - MainApp.getConfigBuilder().suspendLoop(180); + LoopPlugin.getPlugin().suspendLoop(180); updateGUI("suspendmenu"); return true; } else if (item.getTitle().equals(MainApp.gs(R.string.suspendloopfor10h))) { - MainApp.getConfigBuilder().suspendLoop(600); + LoopPlugin.getPlugin().suspendLoop(600); updateGUI("suspendmenu"); return true; } else if (item.getTitle().equals(MainApp.gs(R.string.disconnectpumpfor15m))) { - MainApp.getConfigBuilder().disconnectPump(15, profile); + LoopPlugin.getPlugin().disconnectPump(15, profile); updateGUI("suspendmenu"); return true; } else if (item.getTitle().equals(MainApp.gs(R.string.disconnectpumpfor30m))) { - MainApp.getConfigBuilder().disconnectPump(30, profile); + LoopPlugin.getPlugin().disconnectPump(30, profile); updateGUI("suspendmenu"); return true; } else if (item.getTitle().equals(MainApp.gs(R.string.disconnectpumpfor1h))) { - MainApp.getConfigBuilder().disconnectPump(60, profile); + LoopPlugin.getPlugin().disconnectPump(60, profile); updateGUI("suspendmenu"); return true; } else if (item.getTitle().equals(MainApp.gs(R.string.disconnectpumpfor2h))) { - MainApp.getConfigBuilder().disconnectPump(120, profile); + LoopPlugin.getPlugin().disconnectPump(120, profile); updateGUI("suspendmenu"); return true; } else if (item.getTitle().equals(MainApp.gs(R.string.disconnectpumpfor3h))) { - MainApp.getConfigBuilder().disconnectPump(180, profile); + LoopPlugin.getPlugin().disconnectPump(180, profile); updateGUI("suspendmenu"); return true; } else if (item.getTitle().equals(MainApp.gs(R.string.careportal_profileswitch))) { @@ -741,7 +741,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, builder.setPositiveButton(MainApp.gs(R.string.ok), (dialog, id) -> { hideTempRecommendation(); clearNotification(); - MainApp.getConfigBuilder().applyTBRRequest(finalLastRun.constraintsProcessed, profile, new Callback() { + LoopPlugin.getPlugin().applyTBRRequest(finalLastRun.constraintsProcessed, profile, new Callback() { @Override public void run() { if (result.enacted) { From 35b51af09cbf2e18c3979681b639a2f87190822a Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 30 Jul 2018 15:46:20 +0200 Subject: [PATCH 30/37] logging cleanup --- .../info/nightscout/androidaps/Config.java | 3 - .../androidaps/data/PumpEnactResult.java | 3 +- .../nightscout/androidaps/db/BgReading.java | 3 +- .../androidaps/db/CareportalEvent.java | 3 +- .../nightscout/androidaps/db/DbRequest.java | 4 +- .../androidaps/db/ExtendedBolus.java | 3 +- .../androidaps/db/ProfileSwitch.java | 3 +- .../info/nightscout/androidaps/db/TDD.java | 4 +- .../nightscout/androidaps/db/TempTarget.java | 3 +- .../androidaps/db/TemporaryBasal.java | 3 +- .../androidaps/interfaces/Constraint.java | 13 +-- .../androidaps/interfaces/PluginBase.java | 9 +- .../info/nightscout/androidaps/logging/L.java | 2 + .../ConfigBuilder/ConfigBuilderPlugin.java | 83 ++++++++----------- .../androidaps/plugins/Loop/LoopPlugin.java | 30 ++++--- .../receivers/KeepAliveReceiver.java | 12 +-- .../androidaps/receivers/NSAlarmReceiver.java | 7 +- .../receivers/NetworkChangeReceiver.java | 12 ++- .../androidaps/tabs/TabPageAdapter.java | 15 ++-- 19 files changed, 112 insertions(+), 103 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index edfaf94bfc..ab94b1ddac 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -23,7 +23,4 @@ public class Config { public static final boolean SMSCOMMUNICATORENABLED = !BuildConfig.NSCLIENTOLNY && !BuildConfig.G5UPLOADER; - public static boolean logConfigBuilder = true; - public static boolean logCongigBuilderActions = true; - } diff --git a/app/src/main/java/info/nightscout/androidaps/data/PumpEnactResult.java b/app/src/main/java/info/nightscout/androidaps/data/PumpEnactResult.java index eebd42f5d2..e25e6085c2 100644 --- a/app/src/main/java/info/nightscout/androidaps/data/PumpEnactResult.java +++ b/app/src/main/java/info/nightscout/androidaps/data/PumpEnactResult.java @@ -10,11 +10,12 @@ import org.slf4j.LoggerFactory; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; +import info.nightscout.androidaps.logging.L; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.Round; public class PumpEnactResult { - private static Logger log = LoggerFactory.getLogger(PumpEnactResult.class); + private static Logger log = LoggerFactory.getLogger(L.APS); public boolean success = false; // request was processed successfully (but possible no change was needed) public boolean enacted = false; // request was processed successfully and change has been made diff --git a/app/src/main/java/info/nightscout/androidaps/db/BgReading.java b/app/src/main/java/info/nightscout/androidaps/db/BgReading.java index aef7cefc94..83b4e62cf0 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/BgReading.java +++ b/app/src/main/java/info/nightscout/androidaps/db/BgReading.java @@ -15,6 +15,7 @@ import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSgv; import info.nightscout.androidaps.plugins.Overview.OverviewPlugin; @@ -25,7 +26,7 @@ import info.nightscout.utils.SP; @DatabaseTable(tableName = DatabaseHelper.DATABASE_BGREADINGS) public class BgReading implements DataPointWithLabelInterface { - private static Logger log = LoggerFactory.getLogger(BgReading.class); + private static Logger log = LoggerFactory.getLogger(L.DATABASE); @DatabaseField(id = true) public long date; diff --git a/app/src/main/java/info/nightscout/androidaps/db/CareportalEvent.java b/app/src/main/java/info/nightscout/androidaps/db/CareportalEvent.java index 2645d260e7..e7fd6c99e9 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/CareportalEvent.java +++ b/app/src/main/java/info/nightscout/androidaps/db/CareportalEvent.java @@ -25,6 +25,7 @@ import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.interfaces.Interval; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSMbg; import info.nightscout.androidaps.plugins.Overview.OverviewFragment; @@ -36,7 +37,7 @@ import info.nightscout.utils.Translator; @DatabaseTable(tableName = DatabaseHelper.DATABASE_CAREPORTALEVENTS) public class CareportalEvent implements DataPointWithLabelInterface, Interval { - private static Logger log = LoggerFactory.getLogger(CareportalEvent.class); + private static Logger log = LoggerFactory.getLogger(L.DATABASE); @DatabaseField(id = true) public long date; diff --git a/app/src/main/java/info/nightscout/androidaps/db/DbRequest.java b/app/src/main/java/info/nightscout/androidaps/db/DbRequest.java index fcda5c9c04..f287e169ce 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/DbRequest.java +++ b/app/src/main/java/info/nightscout/androidaps/db/DbRequest.java @@ -10,6 +10,8 @@ import org.json.JSONObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import info.nightscout.androidaps.logging.L; + /** * Created by mike on 27.02.2016. *

    @@ -17,7 +19,7 @@ import org.slf4j.LoggerFactory; */ @DatabaseTable(tableName = DatabaseHelper.DATABASE_DBREQUESTS) public class DbRequest { - private static Logger log = LoggerFactory.getLogger(DbRequest.class); + private static Logger log = LoggerFactory.getLogger(L.DATABASE); @DatabaseField(id = true) public String nsClientID = null; diff --git a/app/src/main/java/info/nightscout/androidaps/db/ExtendedBolus.java b/app/src/main/java/info/nightscout/androidaps/db/ExtendedBolus.java index ea97f4ddca..4fa2ebb7b7 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/ExtendedBolus.java +++ b/app/src/main/java/info/nightscout/androidaps/db/ExtendedBolus.java @@ -21,6 +21,7 @@ import info.nightscout.androidaps.data.Iob; import info.nightscout.androidaps.data.IobTotal; import info.nightscout.androidaps.interfaces.InsulinInterface; import info.nightscout.androidaps.interfaces.Interval; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.Overview.graphExtensions.DataPointWithLabelInterface; import info.nightscout.androidaps.plugins.Overview.graphExtensions.PointsWithLabelGraphSeries; @@ -36,7 +37,7 @@ import info.nightscout.utils.Round; @DatabaseTable(tableName = DatabaseHelper.DATABASE_EXTENDEDBOLUSES) public class ExtendedBolus implements Interval, DataPointWithLabelInterface { - private static Logger log = LoggerFactory.getLogger(ExtendedBolus.class); + private static Logger log = LoggerFactory.getLogger(L.DATABASE); @DatabaseField(id = true) public long date; diff --git a/app/src/main/java/info/nightscout/androidaps/db/ProfileSwitch.java b/app/src/main/java/info/nightscout/androidaps/db/ProfileSwitch.java index 40c8e50c6d..f003976d8f 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/ProfileSwitch.java +++ b/app/src/main/java/info/nightscout/androidaps/db/ProfileSwitch.java @@ -17,6 +17,7 @@ import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.interfaces.Interval; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; import info.nightscout.androidaps.plugins.Overview.graphExtensions.DataPointWithLabelInterface; import info.nightscout.androidaps.plugins.Overview.graphExtensions.PointsWithLabelGraphSeries; @@ -27,7 +28,7 @@ import info.nightscout.utils.DecimalFormatter; @DatabaseTable(tableName = DatabaseHelper.DATABASE_PROFILESWITCHES) public class ProfileSwitch implements Interval, DataPointWithLabelInterface { - private static Logger log = LoggerFactory.getLogger(ProfileSwitch.class); + private static Logger log = LoggerFactory.getLogger(L.DATABASE); @DatabaseField(id = true) public long date; diff --git a/app/src/main/java/info/nightscout/androidaps/db/TDD.java b/app/src/main/java/info/nightscout/androidaps/db/TDD.java index f34c79ff1a..9ca849b7b6 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/TDD.java +++ b/app/src/main/java/info/nightscout/androidaps/db/TDD.java @@ -8,6 +8,8 @@ import org.slf4j.LoggerFactory; import java.util.Objects; +import info.nightscout.androidaps.logging.L; + /** * Created by mike on 20.09.2017. */ @@ -15,7 +17,7 @@ import java.util.Objects; @DatabaseTable(tableName = DatabaseHelper.DATABASE_TDDS) public class TDD { - private static Logger log = LoggerFactory.getLogger(TDD.class); + private static Logger log = LoggerFactory.getLogger(L.DATABASE); @DatabaseField(id = true) public long date; diff --git a/app/src/main/java/info/nightscout/androidaps/db/TempTarget.java b/app/src/main/java/info/nightscout/androidaps/db/TempTarget.java index ae016a0f29..15692cbdfe 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/TempTarget.java +++ b/app/src/main/java/info/nightscout/androidaps/db/TempTarget.java @@ -11,12 +11,13 @@ import java.util.Objects; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.interfaces.Interval; +import info.nightscout.androidaps.logging.L; import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; @DatabaseTable(tableName = DatabaseHelper.DATABASE_TEMPTARGETS) public class TempTarget implements Interval { - private static Logger log = LoggerFactory.getLogger(TempTarget.class); + private static Logger log = LoggerFactory.getLogger(L.DATABASE); @DatabaseField(id = true) public long date; diff --git a/app/src/main/java/info/nightscout/androidaps/db/TemporaryBasal.java b/app/src/main/java/info/nightscout/androidaps/db/TemporaryBasal.java index 71f734672b..7fdc7ac117 100644 --- a/app/src/main/java/info/nightscout/androidaps/db/TemporaryBasal.java +++ b/app/src/main/java/info/nightscout/androidaps/db/TemporaryBasal.java @@ -15,6 +15,7 @@ import info.nightscout.androidaps.data.IobTotal; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.interfaces.InsulinInterface; import info.nightscout.androidaps.interfaces.Interval; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Treatments.Treatment; @@ -28,7 +29,7 @@ import info.nightscout.utils.SP; @DatabaseTable(tableName = DatabaseHelper.DATABASE_TEMPORARYBASALS) public class TemporaryBasal implements Interval { - private static Logger log = LoggerFactory.getLogger(TemporaryBasal.class); + private static Logger log = LoggerFactory.getLogger(L.DATABASE); @DatabaseField(id = true) public long date; diff --git a/app/src/main/java/info/nightscout/androidaps/interfaces/Constraint.java b/app/src/main/java/info/nightscout/androidaps/interfaces/Constraint.java index 58e6045bd1..26c58ed89e 100644 --- a/app/src/main/java/info/nightscout/androidaps/interfaces/Constraint.java +++ b/app/src/main/java/info/nightscout/androidaps/interfaces/Constraint.java @@ -6,12 +6,14 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; +import info.nightscout.androidaps.logging.L; + /** * Created by mike on 19.03.2018. */ public class Constraint { - private static Logger log = LoggerFactory.getLogger(Constraint.class); + private static Logger log = LoggerFactory.getLogger(L.APS); T value; T originalValue; @@ -57,7 +59,7 @@ public class Constraint { return this; } - public Constraint setIfGreater(T value, String reason, Object from) { + public Constraint setIfGreater(T value, String reason, Object from) { if (value.compareTo(this.value) > 0) { this.value = value; mostLimiting.clear(); @@ -74,7 +76,7 @@ public class Constraint { return this; } - public Constraint addMostLimingReason(String reason, Object from) { + public Constraint addMostLimingReason(String reason, Object from) { mostLimiting.add(from.getClass().getSimpleName().replace("Plugin", "") + ": " + reason); return this; } @@ -86,7 +88,8 @@ public class Constraint { if (count++ != 0) sb.append("\n"); sb.append(r); } - log.debug("Limiting origial value: " + originalValue + " to " + value + ". Reason: " + sb.toString()); + if (L.isEnabled(L.APS)) + log.debug("Limiting origial value: " + originalValue + " to " + value + ". Reason: " + sb.toString()); return sb.toString(); } @@ -110,7 +113,7 @@ public class Constraint { } public void copyReasons(Constraint another) { - for (String s: another.getReasonList()) { + for (String s : another.getReasonList()) { reasons.add(s); } } diff --git a/app/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.java b/app/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.java index 9f3e4fe5c0..b9df338821 100644 --- a/app/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.java +++ b/app/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.java @@ -7,6 +7,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; @@ -14,7 +15,7 @@ import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; * Created by mike on 09.06.2016. */ public abstract class PluginBase { - private static Logger log = LoggerFactory.getLogger(PluginBase.class); + private static Logger log = LoggerFactory.getLogger(L.CORE); public enum State { NOT_INITIALIZED, @@ -113,7 +114,8 @@ public abstract class PluginBase { if (state != State.ENABLED) { onStateChange(type, state, State.ENABLED); state = State.ENABLED; - log.debug("Starting: " + getName()); + if (L.isEnabled(L.CORE)) + log.debug("Starting: " + getName()); onStart(); } } else { // disabling plugin @@ -121,7 +123,8 @@ public abstract class PluginBase { onStateChange(type, state, State.ENABLED); state = State.DISABLED; onStop(); - log.debug("Stopping: " + getName()); + if (L.isEnabled(L.CORE)) + log.debug("Stopping: " + getName()); } } } else if (type == PluginType.PROFILE) { diff --git a/app/src/main/java/info/nightscout/androidaps/logging/L.java b/app/src/main/java/info/nightscout/androidaps/logging/L.java index c14fa46361..a743ed424c 100644 --- a/app/src/main/java/info/nightscout/androidaps/logging/L.java +++ b/app/src/main/java/info/nightscout/androidaps/logging/L.java @@ -76,10 +76,12 @@ public class L { public static final String PUMPBTCOMM = "PUMPBTCOMM"; public static final String APS = "APS"; public static final String PROFILE = "PROFILE"; + public static final String CONFIGBUILDER = "CONFIGBUILDER"; private static void initialize() { logElements = new ArrayList<>(); logElements.add(new LogElement(CORE, true)); + logElements.add(new LogElement(CONFIGBUILDER, true)); logElements.add(new LogElement(AUTOSENS, false)); logElements.add(new LogElement(EVENTS, false, true)); logElements.add(new LogElement(BGSOURCE, true)); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java index 55ff03b5e7..d57c2346f0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java @@ -1,35 +1,17 @@ package info.nightscout.androidaps.plugins.ConfigBuilder; -import android.content.Intent; import android.support.annotation.Nullable; -import com.crashlytics.android.answers.CustomEvent; -import com.squareup.otto.Subscribe; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; -import info.nightscout.androidaps.BuildConfig; -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; -import info.nightscout.androidaps.data.DetailedBolusInfo; -import info.nightscout.androidaps.data.Profile; -import info.nightscout.androidaps.data.ProfileStore; -import info.nightscout.androidaps.data.PumpEnactResult; -import info.nightscout.androidaps.db.CareportalEvent; -import info.nightscout.androidaps.db.ProfileSwitch; -import info.nightscout.androidaps.db.Source; -import info.nightscout.androidaps.db.TemporaryBasal; import info.nightscout.androidaps.events.EventAppInitialized; -import info.nightscout.androidaps.events.EventNewBasalProfile; -import info.nightscout.androidaps.events.EventProfileSwitchChange; import info.nightscout.androidaps.interfaces.APSInterface; import info.nightscout.androidaps.interfaces.BgSourceInterface; -import info.nightscout.androidaps.interfaces.Constraint; import info.nightscout.androidaps.interfaces.InsulinInterface; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; @@ -38,24 +20,18 @@ import info.nightscout.androidaps.interfaces.ProfileInterface; import info.nightscout.androidaps.interfaces.PumpInterface; import info.nightscout.androidaps.interfaces.SensitivityInterface; import info.nightscout.androidaps.interfaces.TreatmentsInterface; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.Insulin.InsulinOrefRapidActingPlugin; -import info.nightscout.androidaps.plugins.Loop.APSResult; -import info.nightscout.androidaps.plugins.Loop.LoopPlugin; -import info.nightscout.androidaps.plugins.Overview.Dialogs.ErrorHelperActivity; import info.nightscout.androidaps.plugins.PumpVirtual.VirtualPumpPlugin; import info.nightscout.androidaps.plugins.Sensitivity.SensitivityOref0Plugin; -import info.nightscout.androidaps.queue.Callback; import info.nightscout.androidaps.queue.CommandQueue; -import info.nightscout.utils.FabricPrivacy; -import info.nightscout.androidaps.plugins.NSClientInternal.NSUpload; import info.nightscout.utils.SP; -import info.nightscout.utils.ToastUtils; /** * Created by mike on 05.08.2016. */ public class ConfigBuilderPlugin extends PluginBase { - private static Logger log = LoggerFactory.getLogger(ConfigBuilderPlugin.class); + private Logger log = LoggerFactory.getLogger(L.CONFIGBUILDER); private static ConfigBuilderPlugin configBuilderPlugin; @@ -113,14 +89,15 @@ public class ConfigBuilderPlugin extends PluginBase { private void setAlwaysEnabledPluginsEnabled() { for (PluginBase plugin : pluginList) { - if (plugin.pluginDescription.alwaysEnabled) plugin.setPluginEnabled(plugin.getType(), true); + if (plugin.pluginDescription.alwaysEnabled) + plugin.setPluginEnabled(plugin.getType(), true); } storeSettings("setAlwaysEnabledPluginsEnabled"); } public void storeSettings(String from) { if (pluginList != null) { - if (Config.logConfigBuilder) + if (L.isEnabled(L.CONFIGBUILDER)) log.debug("Storing settings from: " + from); for (PluginBase p : pluginList) { @@ -143,16 +120,18 @@ public class ConfigBuilderPlugin extends PluginBase { private void savePref(PluginBase p, PluginType type, boolean storeVisible) { String settingEnabled = "ConfigBuilder_" + type.name() + "_" + p.getClass().getSimpleName() + "_Enabled"; SP.putBoolean(settingEnabled, p.isEnabled(type)); - log.debug("Storing: " + settingEnabled + ":" + p.isEnabled(type)); + if (L.isEnabled(L.CONFIGBUILDER)) + log.debug("Storing: " + settingEnabled + ":" + p.isEnabled(type)); if (storeVisible) { String settingVisible = "ConfigBuilder_" + type.name() + "_" + p.getClass().getSimpleName() + "_Visible"; SP.putBoolean(settingVisible, p.isFragmentVisible()); - log.debug("Storing: " + settingVisible + ":" + p.isFragmentVisible()); + if (L.isEnabled(L.CONFIGBUILDER)) + log.debug("Storing: " + settingVisible + ":" + p.isFragmentVisible()); } } private void loadSettings() { - if (Config.logConfigBuilder) + if (L.isEnabled(L.CONFIGBUILDER)) log.debug("Loading stored settings"); for (PluginBase p : pluginList) { PluginType type = p.getType(); @@ -173,7 +152,8 @@ public class ConfigBuilderPlugin extends PluginBase { else if (p.getType() == type && (p.pluginDescription.enableByDefault || p.pluginDescription.alwaysEnabled)) { p.setPluginEnabled(type, true); } - log.debug("Loaded: " + settingEnabled + ":" + p.isEnabled(type)); + if (L.isEnabled(L.CONFIGBUILDER)) + log.debug("Loaded: " + settingEnabled + ":" + p.isEnabled(type)); if (loadVisible) { String settingVisible = "ConfigBuilder_" + type.name() + "_" + p.getClass().getSimpleName() + "_Visible"; if (SP.contains(settingVisible)) @@ -181,7 +161,8 @@ public class ConfigBuilderPlugin extends PluginBase { else if (p.getType() == type && p.pluginDescription.visibleByDefault) { p.setFragmentVisible(type, true); } - log.debug("Loaded: " + settingVisible + ":" + p.isFragmentVisible()); + if (L.isEnabled(L.CONFIGBUILDER)) + log.debug("Loaded: " + settingVisible + ":" + p.isFragmentVisible()); } } @@ -189,10 +170,11 @@ public class ConfigBuilderPlugin extends PluginBase { private void upgradeSettings() { if (!SP.contains("ConfigBuilder_1_NSProfilePlugin_Enabled")) return; - if (Config.logConfigBuilder) + if (L.isEnabled(L.CONFIGBUILDER)) log.debug("Upgrading stored settings"); for (PluginBase p : pluginList) { - log.debug("Processing " + p.getName()); + if (L.isEnabled(L.CONFIGBUILDER)) + log.debug("Processing " + p.getName()); for (int type = 1; type < 11; type++) { PluginType newType; switch (type) { @@ -276,20 +258,21 @@ public class ConfigBuilderPlugin extends PluginBase { } void logPluginStatus() { - for (PluginBase p : pluginList) { - log.debug(p.getName() + ":" + - (p.isEnabled(PluginType.GENERAL) ? " GENERAL" : "") + - (p.isEnabled(PluginType.TREATMENT) ? " TREATMENT" : "") + - (p.isEnabled(PluginType.SENSITIVITY) ? " SENSITIVITY" : "") + - (p.isEnabled(PluginType.PROFILE) ? " PROFILE" : "") + - (p.isEnabled(PluginType.APS) ? " APS" : "") + - (p.isEnabled(PluginType.PUMP) ? " PUMP" : "") + - (p.isEnabled(PluginType.CONSTRAINTS) ? " CONSTRAINTS" : "") + - (p.isEnabled(PluginType.LOOP) ? " LOOP" : "") + - (p.isEnabled(PluginType.BGSOURCE) ? " BGSOURCE" : "") + - (p.isEnabled(PluginType.INSULIN) ? " INSULIN" : "") - ); - } + if (L.isEnabled(L.CONFIGBUILDER)) + for (PluginBase p : pluginList) { + log.debug(p.getName() + ":" + + (p.isEnabled(PluginType.GENERAL) ? " GENERAL" : "") + + (p.isEnabled(PluginType.TREATMENT) ? " TREATMENT" : "") + + (p.isEnabled(PluginType.SENSITIVITY) ? " SENSITIVITY" : "") + + (p.isEnabled(PluginType.PROFILE) ? " PROFILE" : "") + + (p.isEnabled(PluginType.APS) ? " APS" : "") + + (p.isEnabled(PluginType.PUMP) ? " PUMP" : "") + + (p.isEnabled(PluginType.CONSTRAINTS) ? " CONSTRAINTS" : "") + + (p.isEnabled(PluginType.LOOP) ? " LOOP" : "") + + (p.isEnabled(PluginType.BGSOURCE) ? " BGSOURCE" : "") + + (p.isEnabled(PluginType.INSULIN) ? " INSULIN" : "") + ); + } } private void verifySelectionInCategories() { @@ -386,7 +369,7 @@ public class ConfigBuilderPlugin extends PluginBase { private void setFragmentVisiblities(String activePluginName, ArrayList pluginsInCategory, PluginType pluginType) { - if (Config.logConfigBuilder) + if (L.isEnabled(L.CONFIGBUILDER)) log.debug("Selected interface: " + activePluginName); for (PluginBase p : pluginsInCategory) { if (!p.getName().equals(activePluginName)) { diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java index 697bdef9a6..d82b010450 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java @@ -21,7 +21,6 @@ import org.slf4j.LoggerFactory; import java.util.Date; -import info.nightscout.androidaps.Config; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainActivity; import info.nightscout.androidaps.MainApp; @@ -447,7 +446,8 @@ public class LoopPlugin extends PluginBase { request.rate = MainApp.getConstraintChecker().applyBasalConstraints(request.rateConstraint, profile).value(); if (!pump.isInitialized()) { - log.debug("applyAPSRequest: " + MainApp.gs(R.string.pumpNotInitialized)); + if (L.isEnabled(L.APS)) + log.debug("applyAPSRequest: " + MainApp.gs(R.string.pumpNotInitialized)); if (callback != null) { callback.result(new PumpEnactResult().comment(MainApp.gs(R.string.pumpNotInitialized)).enacted(false).success(false)).run(); } @@ -455,25 +455,26 @@ public class LoopPlugin extends PluginBase { } if (pump.isSuspended()) { - log.debug("applyAPSRequest: " + MainApp.gs(R.string.pumpsuspended)); + if (L.isEnabled(L.APS)) + log.debug("applyAPSRequest: " + MainApp.gs(R.string.pumpsuspended)); if (callback != null) { callback.result(new PumpEnactResult().comment(MainApp.gs(R.string.pumpsuspended)).enacted(false).success(false)).run(); } return; } - if (Config.logCongigBuilderActions) + if (L.isEnabled(L.APS)) log.debug("applyAPSRequest: " + request.toString()); long now = System.currentTimeMillis(); TemporaryBasal activeTemp = activeTreatments.getTempBasalFromHistory(now); if ((request.rate == 0 && request.duration == 0) || Math.abs(request.rate - pump.getBaseBasalRate()) < pump.getPumpDescription().basalStep) { if (activeTemp != null) { - if (Config.logCongigBuilderActions) + if (L.isEnabled(L.APS)) log.debug("applyAPSRequest: cancelTempBasal()"); MainApp.getConfigBuilder().getCommandQueue().cancelTempBasal(false, callback); } else { - if (Config.logCongigBuilderActions) + if (L.isEnabled(L.APS)) log.debug("applyAPSRequest: Basal set correctly"); if (callback != null) { callback.result(new PumpEnactResult().absolute(request.rate).duration(0) @@ -484,7 +485,7 @@ public class LoopPlugin extends PluginBase { && activeTemp.getPlannedRemainingMinutes() > 5 && request.duration - activeTemp.getPlannedRemainingMinutes() < 30 && Math.abs(request.rate - activeTemp.tempBasalConvertedToAbsolute(now, profile)) < pump.getPumpDescription().basalStep) { - if (Config.logCongigBuilderActions) + if (L.isEnabled(L.APS)) log.debug("applyAPSRequest: Temp basal set correctly"); if (callback != null) { callback.result(new PumpEnactResult().absolute(activeTemp.tempBasalConvertedToAbsolute(now, profile)) @@ -492,7 +493,7 @@ public class LoopPlugin extends PluginBase { .comment(MainApp.gs(R.string.let_temp_basal_run))).run(); } } else { - if (Config.logCongigBuilderActions) + if (L.isEnabled(L.APS)) log.debug("applyAPSRequest: setTempBasalAbsolute()"); MainApp.getConfigBuilder().getCommandQueue().tempBasalAbsolute(request.rate, request.duration, false, profile, callback); } @@ -508,7 +509,8 @@ public class LoopPlugin extends PluginBase { long lastBolusTime = activeTreatments.getLastBolusTime(); if (lastBolusTime != 0 && lastBolusTime + 3 * 60 * 1000 > System.currentTimeMillis()) { - log.debug("SMB requested but still in 3 min interval"); + if (L.isEnabled(L.APS)) + log.debug("SMB requested but still in 3 min interval"); if (callback != null) { callback.result(new PumpEnactResult() .comment(MainApp.gs(R.string.smb_frequency_exceeded)) @@ -518,7 +520,8 @@ public class LoopPlugin extends PluginBase { } if (!pump.isInitialized()) { - log.debug("applySMBRequest: " + MainApp.gs(R.string.pumpNotInitialized)); + if (L.isEnabled(L.APS)) + log.debug("applySMBRequest: " + MainApp.gs(R.string.pumpNotInitialized)); if (callback != null) { callback.result(new PumpEnactResult().comment(MainApp.gs(R.string.pumpNotInitialized)).enacted(false).success(false)).run(); } @@ -526,14 +529,15 @@ public class LoopPlugin extends PluginBase { } if (pump.isSuspended()) { - log.debug("applySMBRequest: " + MainApp.gs(R.string.pumpsuspended)); + if (L.isEnabled(L.APS)) + log.debug("applySMBRequest: " + MainApp.gs(R.string.pumpsuspended)); if (callback != null) { callback.result(new PumpEnactResult().comment(MainApp.gs(R.string.pumpsuspended)).enacted(false).success(false)).run(); } return; } - if (Config.logCongigBuilderActions) + if (L.isEnabled(L.APS)) log.debug("applySMBRequest: " + request.toString()); // deliver SMB @@ -544,7 +548,7 @@ public class LoopPlugin extends PluginBase { detailedBolusInfo.isSMB = true; detailedBolusInfo.source = Source.USER; detailedBolusInfo.deliverAt = request.deliverAt; - if (Config.logCongigBuilderActions) + if (L.isEnabled(L.APS)) log.debug("applyAPSRequest: bolus()"); MainApp.getConfigBuilder().getCommandQueue().bolus(detailedBolusInfo, callback); } diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java index 2a6ab73106..9268198aca 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java @@ -7,8 +7,6 @@ import android.content.Context; import android.content.Intent; import android.os.PowerManager; -import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; -import info.nightscout.utils.FabricPrivacy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -16,11 +14,14 @@ import java.util.Date; import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.events.EventProfileSwitchChange; import info.nightscout.androidaps.interfaces.PumpInterface; -import info.nightscout.androidaps.data.Profile; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; +import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.queue.commands.Command; +import info.nightscout.utils.FabricPrivacy; import info.nightscout.utils.LocalAlertUtils; @@ -28,7 +29,7 @@ import info.nightscout.utils.LocalAlertUtils; * Created by mike on 07.07.2016. */ public class KeepAliveReceiver extends BroadcastReceiver { - private static Logger log = LoggerFactory.getLogger(KeepAliveReceiver.class); + private static Logger log = LoggerFactory.getLogger(L.CORE); public static final long STATUS_UPDATE_FREQUENCY = 15 * 60 * 1000L; public static void cancelAlarm(Context context) { @@ -49,7 +50,8 @@ public class KeepAliveReceiver extends BroadcastReceiver { checkPump(); FabricPrivacy.uploadDailyStats(); - log.debug("KeepAlive received"); + if (L.isEnabled(L.CORE)) + log.debug("KeepAlive received"); wl.release(); } diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/NSAlarmReceiver.java b/app/src/main/java/info/nightscout/androidaps/receivers/NSAlarmReceiver.java index 329bc2e4f9..d167bb9510 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/NSAlarmReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/receivers/NSAlarmReceiver.java @@ -11,14 +11,15 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import info.nightscout.androidaps.MainApp; -import info.nightscout.androidaps.services.Intents; +import info.nightscout.androidaps.logging.L; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSAlarm; -import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification; import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; +import info.nightscout.androidaps.plugins.Overview.notifications.Notification; +import info.nightscout.androidaps.services.Intents; public class NSAlarmReceiver extends BroadcastReceiver { - private static Logger log = LoggerFactory.getLogger(NSAlarmReceiver.class); + private static Logger log = LoggerFactory.getLogger(L.CORE); @Override public void onReceive(Context context, Intent intent) { diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.java b/app/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.java index a8bd49f430..9a3108e98c 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/receivers/NetworkChangeReceiver.java @@ -15,10 +15,11 @@ import org.slf4j.LoggerFactory; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.events.EventNetworkChange; +import info.nightscout.androidaps.logging.L; public class NetworkChangeReceiver extends BroadcastReceiver { - private static Logger log = LoggerFactory.getLogger(NetworkChangeReceiver.class); + private static Logger log = LoggerFactory.getLogger(L.CORE); @Override public void onReceive(final Context context, final Intent intent) { @@ -44,17 +45,20 @@ public class NetworkChangeReceiver extends BroadcastReceiver { if (wifiInfo.getSupplicantState() == SupplicantState.COMPLETED) { event.ssid = wifiInfo.getSSID(); } - log.debug("NETCHANGE: Wifi connected. SSID: " + event.ssid); + if (L.isEnabled(L.CORE)) + log.debug("NETCHANGE: Wifi connected. SSID: " + event.ssid); } } if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) { event.mobileConnected = true; event.roaming = activeNetwork.isRoaming(); - log.debug("NETCHANGE: Mobile connected. Roaming: " + event.roaming); + if (L.isEnabled(L.CORE)) + log.debug("NETCHANGE: Mobile connected. Roaming: " + event.roaming); } } else { - log.debug("NETCHANGE: Disconnected."); + if (L.isEnabled(L.CORE)) + log.debug("NETCHANGE: Disconnected."); } return event; diff --git a/app/src/main/java/info/nightscout/androidaps/tabs/TabPageAdapter.java b/app/src/main/java/info/nightscout/androidaps/tabs/TabPageAdapter.java index 79037ebcd8..b22093bb17 100644 --- a/app/src/main/java/info/nightscout/androidaps/tabs/TabPageAdapter.java +++ b/app/src/main/java/info/nightscout/androidaps/tabs/TabPageAdapter.java @@ -3,12 +3,10 @@ package info.nightscout.androidaps.tabs; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; -import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; -import android.support.v4.app.FragmentStatePagerAdapter; import android.view.ViewGroup; import org.slf4j.Logger; @@ -17,6 +15,7 @@ import org.slf4j.LoggerFactory; import java.util.ArrayList; import info.nightscout.androidaps.interfaces.PluginBase; +import info.nightscout.androidaps.logging.L; /** * Created by mike on 30.05.2016. @@ -27,7 +26,7 @@ public class TabPageAdapter extends FragmentPagerAdapter { Context context; - private static Logger log = LoggerFactory.getLogger(TabPageAdapter.class); + private static Logger log = LoggerFactory.getLogger(L.CORE); public TabPageAdapter(FragmentManager fm, Context context) { super(fm); @@ -47,19 +46,19 @@ public class TabPageAdapter extends FragmentPagerAdapter { @Override public void finishUpdate(ViewGroup container) { - try{ + try { super.finishUpdate(container); - } catch (NullPointerException nullPointerException){ + } catch (NullPointerException nullPointerException) { System.out.println("Catch the NullPointerException in FragmentStatePagerAdapter.finishUpdate"); - } catch (IllegalStateException e){ - log.error(e.getMessage()); + } catch (IllegalStateException e) { + log.error("Unhandled exception", e); } } @Override public CharSequence getPageTitle(int position) { SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); - if(preferences.getBoolean("short_tabtitles", false)){ + if (preferences.getBoolean("short_tabtitles", false)) { return visibleFragmentList.get(position).getNameShort(); } return visibleFragmentList.get(position).getName(); From 073b522b93fe549a12073a982f7e04f00dc207e9 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 30 Jul 2018 17:04:43 +0200 Subject: [PATCH 31/37] user defined level of logging --- app/src/main/AndroidManifest.xml | 1 + .../nightscout/androidaps/MainActivity.java | 4 + .../info/nightscout/androidaps/logging/L.java | 50 ++++++++---- .../logging/LogSettingActivity.java | 79 +++++++++++++++++++ .../main/res/layout/activity_logsetting.xml | 28 +++++++ app/src/main/res/layout/logsettings_item.xml | 24 ++++++ app/src/main/res/menu/menu_main.xml | 4 + app/src/main/res/values/strings.xml | 2 + 8 files changed, 176 insertions(+), 16 deletions(-) create mode 100644 app/src/main/java/info/nightscout/androidaps/logging/LogSettingActivity.java create mode 100644 app/src/main/res/layout/activity_logsetting.xml create mode 100644 app/src/main/res/layout/logsettings_item.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index df47773259..213bde1916 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -180,6 +180,7 @@ + \ No newline at end of file diff --git a/app/src/main/java/info/nightscout/androidaps/MainActivity.java b/app/src/main/java/info/nightscout/androidaps/MainActivity.java index 280c91bba5..adc4cf5a02 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/MainActivity.java @@ -49,6 +49,7 @@ import info.nightscout.androidaps.events.EventPreferenceChange; import info.nightscout.androidaps.events.EventRefreshGui; import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.logging.L; +import info.nightscout.androidaps.logging.LogSettingActivity; import info.nightscout.androidaps.plugins.ConfigBuilder.ProfileFunctions; import info.nightscout.androidaps.plugins.Food.FoodPlugin; import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSettingsStatus; @@ -402,6 +403,9 @@ public class MainActivity extends AppCompatActivity { case R.id.nav_show_logcat: LogDialog.showLogcat(this); return true; + case R.id.nav_logsettings: + startActivity(new Intent(this, LogSettingActivity.class)); + return true; case R.id.nav_about: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle(MainApp.gs(R.string.app_name) + " " + BuildConfig.VERSION); diff --git a/app/src/main/java/info/nightscout/androidaps/logging/L.java b/app/src/main/java/info/nightscout/androidaps/logging/L.java index a743ed424c..60d6ff4602 100644 --- a/app/src/main/java/info/nightscout/androidaps/logging/L.java +++ b/app/src/main/java/info/nightscout/androidaps/logging/L.java @@ -19,7 +19,7 @@ public class L { enabled = SP.getBoolean(getSPName(), defaultValue); } - LogElement(String name, boolean defaultValue, boolean requiresRestart) { + LogElement(String name, boolean defaultValue, boolean requiresRestart) { this.name = name; this.defaultValue = defaultValue; this.requiresRestart = requiresRestart; @@ -36,6 +36,14 @@ public class L { return "log_" + name; } + public void setEnabled(boolean enabled) { + this.enabled = enabled; + SP.putBoolean(getSPName(), enabled); + } + + void resetToDefault() { + setEnabled(defaultValue); + } } private static List logElements; @@ -45,8 +53,7 @@ public class L { } private static LogElement findByName(String name) { - for (LogElement element: logElements - ) { + for (LogElement element : logElements) { if (element.name.equals(name)) return element; } @@ -57,6 +64,17 @@ public class L { return findByName(name).enabled; } + public static List getLogElements() { + return logElements; + } + + public static void resetToDefaults() { + for (LogElement element : logElements) { + element.resetToDefault(); + } + } + + public static final String CORE = "CORE"; public static final String AUTOSENS = "AUTOSENS"; public static final String EVENTS = "EVENTS"; @@ -80,26 +98,26 @@ public class L { private static void initialize() { logElements = new ArrayList<>(); - logElements.add(new LogElement(CORE, true)); - logElements.add(new LogElement(CONFIGBUILDER, true)); - logElements.add(new LogElement(AUTOSENS, false)); - logElements.add(new LogElement(EVENTS, false, true)); - logElements.add(new LogElement(BGSOURCE, true)); - logElements.add(new LogElement(OVERVIEW, true)); - logElements.add(new LogElement(NOTIFICATION, true)); logElements.add(new LogElement(ALARM, false)); - logElements.add(new LogElement(DATASERVICE, true)); + logElements.add(new LogElement(APS, true)); + logElements.add(new LogElement(AUTOSENS, false)); + logElements.add(new LogElement(BGSOURCE, true)); + logElements.add(new LogElement(CONFIGBUILDER, true)); + logElements.add(new LogElement(CORE, true)); logElements.add(new LogElement(DATABASE, true)); logElements.add(new LogElement(DATAFOOD, true)); + logElements.add(new LogElement(DATASERVICE, true)); logElements.add(new LogElement(DATATREATMENTS, true)); + logElements.add(new LogElement(EVENTS, false, true)); + logElements.add(new LogElement(NOTIFICATION, true)); logElements.add(new LogElement(NSCLIENT, true)); logElements.add(new LogElement(OBJECTIVES, false)); - logElements.add(new LogElement(PUMP, true)); - logElements.add(new LogElement(PUMPQUEUE, true)); - logElements.add(new LogElement(PUMPCOMM, true)); - logElements.add(new LogElement(PUMPBTCOMM, false)); - logElements.add(new LogElement(APS, true)); + logElements.add(new LogElement(OVERVIEW, true)); logElements.add(new LogElement(PROFILE, true)); + logElements.add(new LogElement(PUMP, true)); + logElements.add(new LogElement(PUMPBTCOMM, false)); + logElements.add(new LogElement(PUMPCOMM, true)); + logElements.add(new LogElement(PUMPQUEUE, true)); } } diff --git a/app/src/main/java/info/nightscout/androidaps/logging/LogSettingActivity.java b/app/src/main/java/info/nightscout/androidaps/logging/LogSettingActivity.java new file mode 100644 index 0000000000..d941e359a9 --- /dev/null +++ b/app/src/main/java/info/nightscout/androidaps/logging/LogSettingActivity.java @@ -0,0 +1,79 @@ +package info.nightscout.androidaps.logging; + +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.view.View; +import android.widget.CheckBox; +import android.widget.LinearLayout; +import android.widget.TextView; + +import java.util.List; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.OnClick; +import butterknife.Unbinder; +import info.nightscout.androidaps.R; + +public class LogSettingActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_logsetting); + ButterKnife.bind(this); + + createViewsForSettings(L.getLogElements()); + } + + private void createViewsForSettings(List elements) { + if (elements.size() == 0) return; + LinearLayout container = (LinearLayout) findViewById(R.id.logsettings_placeholder); + container.removeAllViews(); + for (L.LogElement element : elements) { + PluginViewHolder pluginViewHolder = new PluginViewHolder(element); + container.addView(pluginViewHolder.getBaseView()); + } + } + + @OnClick(R.id.logsettings_reset) + public void onResetClick() { + L.resetToDefaults(); + createViewsForSettings(L.getLogElements()); + } + + public class PluginViewHolder { + + private Unbinder unbinder; + private L.LogElement element; + + LinearLayout baseView; + @BindView(R.id.logsettings_description) + TextView description; + @BindView(R.id.logsettings_visibility) + CheckBox enabled; + + public PluginViewHolder(L.LogElement element) { + this.element = element; + baseView = (LinearLayout) getLayoutInflater().inflate(R.layout.logsettings_item, null); + unbinder = ButterKnife.bind(this, baseView); + + description.setText(element.name); + enabled.setChecked(element.enabled); + } + + public View getBaseView() { + return baseView; + } + + @OnClick(R.id.logsettings_visibility) + void onEnagledChanged() { + element.setEnabled(enabled.isChecked()); + } + + public void unbind() { + unbinder.unbind(); + } + } + +} diff --git a/app/src/main/res/layout/activity_logsetting.xml b/app/src/main/res/layout/activity_logsetting.xml new file mode 100644 index 0000000000..09d2e903a9 --- /dev/null +++ b/app/src/main/res/layout/activity_logsetting.xml @@ -0,0 +1,28 @@ + + + +

C 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�-?axop?nC0=&wK>rI%xr?i@)z_U&Y;Tvo$bN zV$kVS8U~#`%No4C9KoHs=>!F+gUtrt532MDs@ma~K&diN^ej5z{8s!{SE>LznN9b> zV0%zDrwq*hpIQ&6M5fA_kW+e9;n7f^kJiYc`pQy%K(5)I4!=kr8&C4tI{T74s)#PA z871QNRwMW&=PrOV@J>gDzHViC$6wi(9VVCLx?n^Opw?1}ElJ3=&^r&N3HRK<*-~4` zc*CClTKO&W+|JS|TAE~PotL+j!nzr4@uX++KgbkIweBR-AKzg%MF`X0+cew&>)u%$ z&gUjkr4G-g2W~BSkaNi17GahbyfdDIdu0f>*J=MSJEe<$Ek88Jd)94ikJIpcS-0=q zdA;hnr|T_Ca|)xrG(;W-T^!W8HLS7!6*~u4JASm`1pT%=f~dCMs)|F!(!2POqCTuu zbQ2Q=xzEF-S3jqD*50qNMWb|}_SMRnrv2%zp~Tm6=$GF)WqO+`i=uFrtb8SFx#G63 z&OUzEK5n8<6+o=%QyY$qbNJqjD}axCDnG}7X9AaNg2_JZ4sqD=?VeF9buZ$yy;p}T z_xkbEN)lm8&3HYewl{+PU~|8g*2dmr z(1tpzz}{B7e}DCEMC9)2jX1$wj3wl{CpXo7e0@P$hM8%}UTGs@-2AJynQ(e_)d9aq z^X11!-|X`9=~EhNW@Glfex_JX#JA>Vhk@9-Nm++;KR+%1r0utS?F#RjPH_2>{O^-I zHSp)sTIKx^y& zewLp2??Tqvb~5V4?1J=k?8Ml}npWND&v*RyA+P+N0)HH6hw}kax5mK6T_V*g>*(rYsy+905%;FeUVRI29rE1nPGPE!Ej!-WpEd(W^>f3>egXaoby z#aOJzgW%H`tk_C5J7sCdEe-C)>(e@l_f_}sPMgE4&^Q-r==?ElpB8zhCiLqIsUvbe z^7%I*X(R4^TQkbRWFpMc&9xqQdB9w5Y61V3{T;CyzabcNb8~a6F}pkcjV~v@Qk@n) zR`WD#&$H?&K}w^N!&<8e^nwwEXI0wi5RJ;;H}8&Km)pNAoS-dNE)HL+8t}O;HL|J= zH%#yRcqa@!_}FtPu1_VoclY-Vf8H%0DTPtC1sJ+VqhV0DhGDxTt%5y crMTYKmNz^<-glqnvPHAdqj-ZPPx9oyXxSe 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