diff --git a/SigmaERP_2017/SigmaERP.sln b/SigmaERP_2017/SigmaERP.sln new file mode 100644 index 0000000..859eefc --- /dev/null +++ b/SigmaERP_2017/SigmaERP.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SigmaERP", "SigmaERP\SigmaERP.csproj", "{27C89E20-8D1F-46D7-8ABE-FA99B605770D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {27C89E20-8D1F-46D7-8ABE-FA99B605770D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {27C89E20-8D1F-46D7-8ABE-FA99B605770D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {27C89E20-8D1F-46D7-8ABE-FA99B605770D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {27C89E20-8D1F-46D7-8ABE-FA99B605770D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SigmaERP_2017/SigmaERP/3_Vistas/Controladoras/P_Principal_Controladora.cs b/SigmaERP_2017/SigmaERP/3_Vistas/Controladoras/P_Principal_Controladora.cs new file mode 100644 index 0000000..45d8b7c --- /dev/null +++ b/SigmaERP_2017/SigmaERP/3_Vistas/Controladoras/P_Principal_Controladora.cs @@ -0,0 +1,1185 @@ +using Exferia_Aplicacion.General; +using Exferia_Aplicacion.ProgramaExterno; +using Exferia_Aplicacion.Terminal; +using Exferia_EntityFramework; +using Exferia_Formularios; +using Exferia_General; +using SigmaERP.General; +using System; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using static Exferia_Aplicacion.General.Enumerados; + +namespace SigmaERP._3_Vistas.Controladoras +{ + public class P_Principal_Controladora + { + #region Variables Generales + public string[] g_arr_Argumentos_Recibidos = null; + + private P_Principal g_frm_P_Principal = null;//Variable que enlaza con la pantalla asociada + private PE_Esperando g_frm_PE_Esperando;//Pantalla de Espera, para cuando se ejecutan tareas pesadas como cargar, guardar, etc + private Dictionary g_dct_Imagenes_ArbolPrincipal = new Dictionary(); + + private BackgroundWorker g_obj_TareaAsincrona_Recarga_Datos_Arbol_Permisos = null; + #endregion + + public P_Principal_Controladora(P_Principal _frm_P_Principal,string[] _arr_Argumentos_Recibidos) + { + g_frm_P_Principal = _frm_P_Principal; + g_arr_Argumentos_Recibidos = _arr_Argumentos_Recibidos; + } + + public void Validacion_Usuario() + { + try + { + //Validar el Usuario + PE_ValidacionUsuario frm_PE_ValidacionUsuarios = new PE_ValidacionUsuario(); + frm_PE_ValidacionUsuarios.ShowDialog(); + + if (frm_PE_ValidacionUsuarios.PE_ValidacionUsuario_ValidacionCorrecta == false) + { + g_frm_P_Principal.Close(); + } + else + { + //Cargar el valor de EjercicioActivo por defecto + Variables.G_DTT_FECHA_INICIAL_PORDEFECTO = DateTime.Now; + + //Si es SuperAdministrador pongo visible als opciones de control, tipocompraventa + if (Variables.G_MDL_USUARIOVALIDADO_MODELO.esSuperUsuario) + { + g_frm_P_Principal.Exferia_Button_GestionControl.Visible = true; + g_frm_P_Principal.Exferia_Button_TipoCompraVenta.Visible = true; + } + else + { + g_frm_P_Principal.Exferia_Button_GestionControl.Visible = false; + g_frm_P_Principal.Exferia_Button_TipoCompraVenta.Visible = false; + } + + Carga_Datos_Pantalla(); + } + } + catch (Exception ex) + { + throw new Control_Errores("", ex, nameof(P_Principal_Controladora) + "/" + nameof(Validacion_Usuario), true); + } + } + + #region Carga_Datos_Pantalla + + private void Carga_Datos_Pantalla() + { + try + { + //Bloquear Pantalla hasta que termine la carga total + g_frm_P_Principal.Enabled = false; + //Mostrar la pantalla de espera + g_frm_PE_Esperando = new PE_Esperando(); + g_frm_PE_Esperando.Show(); + + //Vaciar Arbol + g_dct_Imagenes_ArbolPrincipal.Clear(); + g_frm_P_Principal.ImageList_ArbolPrincipal.Images.Clear(); + g_frm_P_Principal.Exferia_TreeView_Menu.Nodes.Clear(); + + BackgroundWorker obj_TareaAsincrona_CargarDatos_PantallaPrincipal = new BackgroundWorker(); + obj_TareaAsincrona_CargarDatos_PantallaPrincipal.DoWork += new DoWorkEventHandler(TareaAsincrona_CargarDatos_PantallaPrincipal_DoWork); + obj_TareaAsincrona_CargarDatos_PantallaPrincipal.ProgressChanged += new ProgressChangedEventHandler(TareaAsincrona_CargarDatos_PantallaPrincipal_ProgressChanged); + obj_TareaAsincrona_CargarDatos_PantallaPrincipal.RunWorkerCompleted += new RunWorkerCompletedEventHandler(TareaAsincrona_CargarDatos_PantallaPrincipal_Completed); + obj_TareaAsincrona_CargarDatos_PantallaPrincipal.WorkerReportsProgress = true; + obj_TareaAsincrona_CargarDatos_PantallaPrincipal.RunWorkerAsync(); + } + catch (Exception ex) + { + if (!g_frm_PE_Esperando.IsDisposed) + { + g_frm_PE_Esperando.Dispose(); + } + + //Desbloquear el Formulario + g_frm_P_Principal.Enabled = true; + + throw new Control_Errores("", ex, nameof(P_Principal_Controladora) + "/" + nameof(Carga_Datos_Pantalla), true); + } + } + + private void TareaAsincrona_CargarDatos_PantallaPrincipal_DoWork(object sender, DoWorkEventArgs e) + { + e.Result = ""; + try + { + //Cargar todas las configuracion de las pantallas + Funciones_FicherosXML.CargarDatosXML_ConfiguracionPantallas(); + + //Ver los valores de Configuracion de pantalla que tiene para esta + if (Variables.G_DCT_CONFIGURACIONPANTALLA != null && Variables.G_DCT_CONFIGURACIONPANTALLA.Count > 0) + { + if (Variables.G_DCT_CONFIGURACIONPANTALLA.ContainsKey(g_frm_P_Principal.Name)) + { + ((BackgroundWorker)sender).ReportProgress(1, null); + } + } + + //Obtener el listado de ficheros compartidos + Variables.G_LST_GEN_EMPRESAS_COMPARTIRDATOS = Datos_Generales.GEN_Empresas_Obtener_CompartirDatos(); + + //Colocar Datos del usuario Activo + ((BackgroundWorker)sender).ReportProgress(2, Variables.G_MDL_USUARIOVALIDADO_MODELO.nombre); + + // Cargar los datos de las opciones disponibles + Datos_Generales.PRV_OpcionesDetalle_Cargar(); + + // Cargar los permisos de la pantalla y configurar controles + Datos_Generales.Permisos_Cargar(); + + //Opciones disponibles segun Cliente ########################## + Datos_Generales.PRV_Productos_Cargar(); + + //Rellenar el Arbol ########################## + Datos_Generales.PRV_ArbolPrincipal_Cargar(); + Datos_Generales.PRV_ArbolPrincipal_Imagenes_Cargar(); + + //Cargar Rutas de Informes + //LISTADO DE RUTAS Cargamos el ensamblado ######################################################################################################################################################################### + Assembly m_assembly_1 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll"); + //Obtenemos el tipo de la clase + Type m_type_1 = m_assembly_1.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES); + //creamos la instancia + var obj_Clase_1 = Activator.CreateInstance(m_type_1); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo_1 = obj_Clase_1.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_INFRUTAS_RELLENARLISTADO, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros_1 = { }; + + obj_MethodInfo_1.Invoke(obj_Clase_1, arr_Parametros_1); + //############################################################################################################################################################################################## + + //Cargar Tipos de Volcado de exportacion para contabilidad + Datos_Generales.GEN_VolcadoExportacion_Rellenar_Listado(); + + //Cargar Listado Configuracion campo codigo + Datos_Generales.GEN_Configuracion_CampoCodigo_Rellenar_Listado(); + + //Cargar Listado Configuracion Direcciones Sigma Platform + Datos_Generales.GEN_Configuracion_SW_Sigma_Rellenar_Listado(); + + //Rellenar las imagenes del arbol + ((BackgroundWorker)sender).ReportProgress(3, ""); + + //Rellenar el Arbol + ((BackgroundWorker)sender).ReportProgress(4, Filtrar_Opciones_Arbol()); + //############################################ + + Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO = null; + INTERNO_ValoresGenerales_Modelo mdl_INTERNO_ValoresGenerales_Modelo = Datos_Generales.GEN_ValoresGenerales_Obtener_Por_IdUsuario(Variables.G_MDL_USUARIOVALIDADO_MODELO.id); + if (mdl_INTERNO_ValoresGenerales_Modelo != null) + { + mdl_INTERNO_ValoresGenerales_Modelo= Datos_Generales.GEN_EjerciciosActivos_Empresa_Validar(mdl_INTERNO_ValoresGenerales_Modelo,Variables.G_DTT_FECHA_INICIAL_PORDEFECTO); + if (mdl_INTERNO_ValoresGenerales_Modelo != null) + { + Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO = mdl_INTERNO_ValoresGenerales_Modelo; + + ((BackgroundWorker)sender).ReportProgress(5, null); + } + } + + Terminal_Opcion_Funciones.Rellenar_Valores_Por_TipoPantalla(); + + //CARGAR CLAVE VALIDACION LIBRERIA EXTERNA PARA GESTION DOCUMENTAL + //LISTADO DE RUTAS Cargamos el ensamblado ######################################################################################################################################################################### + Assembly m_assembly_2 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_GESTIONDOCUMENTAL + ".dll"); + //Obtenemos el tipo de la clase + Type m_type_2 = m_assembly_2.GetType("" + Variables.G_STR_LIBRERIA_GESTIONDOCUMENTAL + "." + Variables.G_STR_LIBRERIA_DATOSGESTIONDOCUMENTAL); + //creamos la instancia + var obj_Clase_2 = Activator.CreateInstance(m_type_2); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo_2 = obj_Clase_2.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSGESTIONDOCUMENTAL_PROCEDIMIENTO_GTDVALORESPORDEFECTO_CARGAR, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros_2 = { }; + + obj_MethodInfo_2.Invoke(obj_Clase_2, arr_Parametros_2); + //############################################################################################################################################################################################## + } + catch (ThreadAbortException ex) + { + Thread.ResetAbort(); + + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(TareaAsincrona_CargarDatos_PantallaPrincipal_DoWork)); + e.Result = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA(); + } + catch (Control_Errores) + { + e.Result = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA(); + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(TareaAsincrona_CargarDatos_PantallaPrincipal_DoWork)); + e.Result = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA(); + } + } + private void TareaAsincrona_CargarDatos_PantallaPrincipal_ProgressChanged(object sender, ProgressChangedEventArgs e) + { + try + { + //Configuracion de menus + if (e.ProgressPercentage.Equals(1)) + { + //MenuIzquierdo + if (Variables.G_DCT_CONFIGURACIONPANTALLA[g_frm_P_Principal.Name].PRINCIPAL_MENUIZQUIERDO_ANCLADO.Equals("1")) + { + g_frm_P_Principal.Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Visible = true; + g_frm_P_Principal.MenuIzquierdo_AnclarDesanclar("0"); + } + + //MenuAthos + if (Variables.G_DCT_CONFIGURACIONPANTALLA[g_frm_P_Principal.Name].PRINCIPAL_ATHOS_ANCLADO.Equals("1")) + { + g_frm_P_Principal.Exferia_Panel_Degradado_CambioColor_Athos.Visible = true; + g_frm_P_Principal.MenuAthos_AnclarDesanclar("0"); + } + } + //Datos del usuario + else if (e.ProgressPercentage.Equals(2)) + { + g_frm_P_Principal.Label_EmpleadoValidado.Text = (string)e.UserState; + } + //Rellenar Arbol Imagenes + else if (e.ProgressPercentage.Equals(3)) + { + Rellenar_ArbolPrincipal_Imagenes(); + } + //Rellenar Arbol + else if (e.ProgressPercentage.Equals(4)) + { + g_frm_P_Principal.Exferia_TreeView_Menu.BeginUpdate(); + Rellenar_ArbolPrincipal((List)e.UserState ,null, null); + //Si tiene un filtro expando las ramas + if (g_frm_P_Principal.Exferia_TextBox_Busqueda.Text.Trim().Length>0) + { + g_frm_P_Principal.Exferia_TreeView_Menu.ExpandAll(); + } + g_frm_P_Principal.Exferia_TreeView_Menu.EndUpdate(); + } + //Datos Empresa Activa + else if (e.ProgressPercentage.Equals(5)) + { + //Buscar el Ejericio en BD + g_frm_P_Principal.Cargar_Empresa_Activo(); + } + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(TareaAsincrona_CargarDatos_PantallaPrincipal_ProgressChanged)); + } + } + private void TareaAsincrona_CargarDatos_PantallaPrincipal_Completed(object sender, RunWorkerCompletedEventArgs e) + { + try + { + if (!g_frm_PE_Esperando.IsDisposed) + { + g_frm_PE_Esperando.Dispose(); + } + + //Aplicar los permisos para seleccion de empresa + Aplicar_Permiso_SegunOpcion(Variables.G_STR_OPCION_GEN_EMPRESASELECCION); + + //Traer al Frente ............. + g_frm_P_Principal.TopMost = true; + g_frm_P_Principal.Focus(); + g_frm_P_Principal.BringToFront(); + g_frm_P_Principal.TopMost = false; + //............................. + + //Hilo para actualizar las librerias en base de datos................................................ + ThreadStart delegado_Aux = new ThreadStart(Actualizar_Librerias_EnBaseDatos); + Thread hilo_Aux = new Thread(delegado_Aux); + hilo_Aux.Start(); + + //Si tiene Argumentos recibidos de un programa externo, Validarlos + Validar_ArgumentosProgramaExterno(); + + + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(TareaAsincrona_CargarDatos_PantallaPrincipal_Completed)); + } + finally + { + //Desbloquear el Formulario + g_frm_P_Principal.Enabled = true; + } + } + + #endregion + + #region Recarga Datos de Arbol y Permisos + private List g_lst_INTERNO_ArbolPrincipal_Modelo_ANTERIOR = null; + private bool g_bol_Filtrado = false; + public void Recarga_Datos_Arbol_Permisos(bool _bol_Filtrado) + { + try + { + g_bol_Filtrado = _bol_Filtrado; + if (Variables.G_MDL_USUARIOVALIDADO_MODELO != null) + { + //Bloquear Pantalla hasta que termine la carga total + g_frm_P_Principal.Enabled = false; + //Mostrar la pantalla de espera + g_frm_PE_Esperando = new PE_Esperando(); + g_frm_PE_Esperando.Show(); + + // Si la tarea asincrona esta en marcha la paro + if (g_obj_TareaAsincrona_Recarga_Datos_Arbol_Permisos != null) + { + while (g_obj_TareaAsincrona_Recarga_Datos_Arbol_Permisos.IsBusy) + Application.DoEvents(); + } + else + { + //Tarea Asincrona para la cargar de los datos del Arbol (MENU) + g_obj_TareaAsincrona_Recarga_Datos_Arbol_Permisos = new BackgroundWorker(); + g_obj_TareaAsincrona_Recarga_Datos_Arbol_Permisos.DoWork += new DoWorkEventHandler(TareaAsincrona_Recarga_Datos_Arbol_Permisos_DoWork); + g_obj_TareaAsincrona_Recarga_Datos_Arbol_Permisos.RunWorkerCompleted += new RunWorkerCompletedEventHandler(TareaAsincrona_Recarga_Datos_Arbol_Permisos_Completed); + g_obj_TareaAsincrona_Recarga_Datos_Arbol_Permisos.WorkerReportsProgress = false; + } + + + + //Ejecutar la tarea Asincrona + g_obj_TareaAsincrona_Recarga_Datos_Arbol_Permisos.RunWorkerAsync(); + } + + } + catch (Exception ex) + { + if (!g_frm_PE_Esperando.IsDisposed) + { + g_frm_PE_Esperando.Dispose(); + } + + //Desbloquear el Formulario + g_frm_P_Principal.Enabled = true; + + throw new Control_Errores("", ex, nameof(P_Principal_Controladora) + "/" + nameof(Recarga_Datos_Arbol_Permisos), true); + } + } + + private void TareaAsincrona_Recarga_Datos_Arbol_Permisos_DoWork(object sender, DoWorkEventArgs e) + { + e.Result = ""; + try + { + //Actualizar datos usuario + Datos_Generales.USR_Usuarios_Cargar(Variables.G_MDL_USUARIOVALIDADO_MODELO.id); + + // Cargar los permisos de la pantalla y configurar controles + Datos_Generales.Permisos_Cargar(); + + //Rellenar el Arbol ########################## + g_lst_INTERNO_ArbolPrincipal_Modelo_ANTERIOR = Variables.G_LST_ARBOLPRINCIPAL; + Datos_Generales.PRV_ArbolPrincipal_Cargar(); + + Datos_Generales.PRV_ArbolPrincipal_Imagenes_Cargar(); + //############################################ + + } + catch (ThreadAbortException ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(TareaAsincrona_Recarga_Datos_Arbol_Permisos_DoWork)); + e.Result = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA(); + } + catch (Control_Errores) + { + e.Result = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA(); + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(TareaAsincrona_Recarga_Datos_Arbol_Permisos_DoWork)); + e.Result = Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGARDATOSPANTALLA(); + } + } + private void TareaAsincrona_Recarga_Datos_Arbol_Permisos_Completed(object sender, RunWorkerCompletedEventArgs e) + { + try + { + if (!g_frm_PE_Esperando.IsDisposed) + { + g_frm_PE_Esperando.Dispose(); + } + + if (g_bol_Filtrado || + ( + g_lst_INTERNO_ArbolPrincipal_Modelo_ANTERIOR == null || + (g_lst_INTERNO_ArbolPrincipal_Modelo_ANTERIOR != null && + g_lst_INTERNO_ArbolPrincipal_Modelo_ANTERIOR.Count != Variables.G_LST_ARBOLPRINCIPAL.Count) + )) + { + //Vaciar Arbol + g_dct_Imagenes_ArbolPrincipal.Clear(); + g_frm_P_Principal.ImageList_ArbolPrincipal.Images.Clear(); + g_frm_P_Principal.Exferia_TreeView_Menu.Nodes.Clear(); + + //Rellenar Arbol Imagenes + Rellenar_ArbolPrincipal_Imagenes(); + + //Rellenar Arbol + g_frm_P_Principal.Exferia_TreeView_Menu.BeginUpdate(); + Rellenar_ArbolPrincipal((List)Filtrar_Opciones_Arbol(), null, null); + //Si tiene un filtro expando las ramas + if (g_frm_P_Principal.Exferia_TextBox_Busqueda.Text.Trim().Length > 0) + { + g_frm_P_Principal.Exferia_TreeView_Menu.ExpandAll(); + } + g_frm_P_Principal.Exferia_TreeView_Menu.EndUpdate(); + } + + Aplicar_Permiso_SegunOpcion(Variables.G_STR_OPCION_GEN_EMPRESASELECCION); + + //Traer al Frente ............. + g_frm_P_Principal.TopMost = true; + g_frm_P_Principal.Focus(); + g_frm_P_Principal.BringToFront(); + g_frm_P_Principal.TopMost = false; + //............................. + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(TareaAsincrona_Recarga_Datos_Arbol_Permisos_Completed)); + } + finally + { + //Desbloquear el Formulario + g_frm_P_Principal.Enabled = true; + } + } + + #endregion + + #region Arbol + public List Filtrar_Opciones_Arbol() + { + List lst_OpcionesArbol = null; + + try + { + if (Variables.G_LST_ARBOLPRINCIPAL != null && Variables.G_LST_ARBOLPRINCIPAL.Count > 0) + { + if (g_frm_P_Principal.Exferia_TextBox_Busqueda.Text.Trim().Length > 0) + { + List lst_OpcionesArbol_FILTRADAS = Variables.G_LST_ARBOLPRINCIPAL.Where(m => m.Descripcion.ToUpper().Contains(g_frm_P_Principal.Exferia_TextBox_Busqueda.Text.ToUpper())).ToList(); + + if (lst_OpcionesArbol_FILTRADAS != null && lst_OpcionesArbol_FILTRADAS.Count > 0) + { + //Poner los objetos Padre + lst_OpcionesArbol = new List(); + foreach (INTERNO_ArbolPrincipal_Modelo mdl_INTERNO_ArbolPrincipal_Modelo in lst_OpcionesArbol_FILTRADAS) + { + //Añadir al listado final + lst_OpcionesArbol.Add(mdl_INTERNO_ArbolPrincipal_Modelo); + + //poner los padres + Obtener_ArbolPrincipal_Padres(ref lst_OpcionesArbol,mdl_INTERNO_ArbolPrincipal_Modelo); + } + } + } + else + { + lst_OpcionesArbol = Variables.G_LST_ARBOLPRINCIPAL; + } + } + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(Filtrar_Opciones_Arbol)); + } + + + return lst_OpcionesArbol; + } + public void Obtener_ArbolPrincipal_Padres(ref List _lst_INTERNO_ArbolPrincipal_Modelo, INTERNO_ArbolPrincipal_Modelo _mdl_INTERNO_ArbolPrincipal_Modelo) + { + try + { + if (_mdl_INTERNO_ArbolPrincipal_Modelo.IdPadre!=null) + { + INTERNO_ArbolPrincipal_Modelo mdl_INTERNO_ArbolPrincipal_Modelo_PADRE = Variables.G_LST_ARBOLPRINCIPAL.Where(m => m.Id == _mdl_INTERNO_ArbolPrincipal_Modelo.IdPadre.Value).FirstOrDefault(); + + if (mdl_INTERNO_ArbolPrincipal_Modelo_PADRE!=null) + { + //Ver si no existe ya + if (!_lst_INTERNO_ArbolPrincipal_Modelo.Exists(m=>m.Id== mdl_INTERNO_ArbolPrincipal_Modelo_PADRE.Id)) + { + _lst_INTERNO_ArbolPrincipal_Modelo.Add(mdl_INTERNO_ArbolPrincipal_Modelo_PADRE); + } + + //Rellena hijos + Obtener_ArbolPrincipal_Padres(ref _lst_INTERNO_ArbolPrincipal_Modelo, mdl_INTERNO_ArbolPrincipal_Modelo_PADRE); + } + } + } + catch (Exception) + { } + } + + public void Rellenar_ArbolPrincipal_Imagenes() + { + try + { + int int_Contador = 0; + + if (Variables.G_LST_ARBOLPRINCIPAL_IMAGENES!=null && + Variables.G_LST_ARBOLPRINCIPAL_IMAGENES.Count > 0) + { + + foreach (INTERNO_ArbolPrincipalImagenes_Modelo mdl_INTERNO_ArbolPrincipalImagenes_Modelo in Variables.G_LST_ARBOLPRINCIPAL_IMAGENES) + { + if (mdl_INTERNO_ArbolPrincipalImagenes_Modelo.Imagen != null) + { + g_dct_Imagenes_ArbolPrincipal.Add(mdl_INTERNO_ArbolPrincipalImagenes_Modelo.IdArbolPrincipal, int_Contador); + + g_frm_P_Principal.ImageList_ArbolPrincipal.Images.Add(mdl_INTERNO_ArbolPrincipalImagenes_Modelo.IdArbolPrincipal.ToString(), Funciones.Convertir_Arraybytes_Image(mdl_INTERNO_ArbolPrincipalImagenes_Modelo.Imagen)); + + int_Contador += 1; + } + } + } + } + catch (Exception) + { } + } + + public void Rellenar_ArbolPrincipal(List _lst_INTERNO_ArbolPrincipal_Modelo, long? _lng_idPadre, TreeNode _nodo_Padre) + { + try + { + if (_lst_INTERNO_ArbolPrincipal_Modelo != null && + _lst_INTERNO_ArbolPrincipal_Modelo.Count > 0) + { + + List lst_INTERNO_ArbolPrincipal_Modelo = + _lst_INTERNO_ArbolPrincipal_Modelo.Where(m => _lng_idPadre != null + ? (m.IdPadre != null && m.IdPadre.Value == _lng_idPadre.Value) + : m.IdPadre == null).ToList(); + + if (lst_INTERNO_ArbolPrincipal_Modelo.Count > 0) + { + foreach (INTERNO_ArbolPrincipal_Modelo mdl_INTERNO_ArbolPrincipal_Modelo in lst_INTERNO_ArbolPrincipal_Modelo.OrderBy(m => m.Orden)) + { + + //Buscar el Tipo de Permiso del Objeto + /*List lst_PermisosPorOpcion = null; + if (mdl_INTERNO_ArbolPrincipal_Modelo.Opcion != null && + mdl_INTERNO_ArbolPrincipal_Modelo.Opcion.Trim().Length > 0) + { + lst_PermisosPorOpcion = Datos_Generales.Permisos_Buscar(mdl_INTERNO_ArbolPrincipal_Modelo.Opcion); + }*/ + + //No se Muestra + if (Variables.G_LST_PERMISOS_PORUSUARIO != null && Datos_Generales.Permisos_Comprobar(mdl_INTERNO_ArbolPrincipal_Modelo.Opcion, Variables.G_LST_PERMISOS_PORUSUARIO, (int)Enumerados.G_ENUM_PERMISOS.Ocultar, false) == false) + { } + else + { + TreeNode nodo_Arbol = new TreeNode(); + nodo_Arbol.Name = mdl_INTERNO_ArbolPrincipal_Modelo.Id.ToString(); + nodo_Arbol.Text = mdl_INTERNO_ArbolPrincipal_Modelo.Descripcion; + nodo_Arbol.BackColor = Color.White; + + int int_IndexImagenInsertada = Buscar_ImagenNodo_ArbolPrincipal(mdl_INTERNO_ArbolPrincipal_Modelo.Id); + nodo_Arbol.ImageIndex = int_IndexImagenInsertada; + nodo_Arbol.SelectedImageIndex = int_IndexImagenInsertada; + + //Inactivo + if (Variables.G_LST_PERMISOS_PORUSUARIO != null && Datos_Generales.Permisos_Comprobar(mdl_INTERNO_ArbolPrincipal_Modelo.Opcion, Variables.G_LST_PERMISOS_PORUSUARIO, (int)Enumerados.G_ENUM_PERMISOS.Bloquear, false) == false) + { + nodo_Arbol.Tag = 1; + nodo_Arbol.ForeColor = Color.Gray; + } + else + { + nodo_Arbol.Tag = 0; + nodo_Arbol.ForeColor = Color.Black; + } + + if (_nodo_Padre != null) + { _nodo_Padre.Nodes.Add(nodo_Arbol); } + else + { g_frm_P_Principal.Exferia_TreeView_Menu.Nodes.Add(nodo_Arbol); } + + //Rellena hijos + Rellenar_ArbolPrincipal(_lst_INTERNO_ArbolPrincipal_Modelo,mdl_INTERNO_ArbolPrincipal_Modelo.Id, nodo_Arbol); + + } + } + } + } + + } + catch (Exception) + { } + } + + public int Buscar_ImagenNodo_ArbolPrincipal(long _lng_idArbolPrincipal) + { + //Por defecto vacio + int int_indexImagen = 1; + if (g_dct_Imagenes_ArbolPrincipal != null && g_dct_Imagenes_ArbolPrincipal.Count > 0) + { + int_indexImagen = g_dct_Imagenes_ArbolPrincipal.Count + 1; + } + + if (g_dct_Imagenes_ArbolPrincipal.ContainsKey(_lng_idArbolPrincipal)) + { + int_indexImagen = g_dct_Imagenes_ArbolPrincipal[_lng_idArbolPrincipal]; + } + return int_indexImagen; + } + + + #endregion + + public void Cargar_Pantalla_SegunNodo(string _str_Nodo_Name) + { + //Buscar Informacion del nodo Pulsado + INTERNO_ArbolPrincipal_Modelo mdl_INTERNO_ArbolPrincipal_Modelo = Variables.G_LST_ARBOLPRINCIPAL.Where(m => m.Id.ToString().Equals(_str_Nodo_Name)).FirstOrDefault(); + if (mdl_INTERNO_ArbolPrincipal_Modelo != null) + { + //Buscar la opcion del nodo pulsdo + INTERNO_OpcionesDetalle_Modelo mdl_INTERNO_OpcionesDetalle_Modelo = Datos_Generales.PRV_Opciones_Buscar_Detalles(mdl_INTERNO_ArbolPrincipal_Modelo.Opcion); + if (mdl_INTERNO_OpcionesDetalle_Modelo != null) + { + try + { + if (OpcionActiva_Cliente(mdl_INTERNO_OpcionesDetalle_Modelo.opcion)) + { + //OPCION CONEXION + if (mdl_INTERNO_OpcionesDetalle_Modelo.opcion.Equals(Variables.G_STR_OPCION_GEN_CONEXION)) + { + PE_ConexionBD frm_PE_ConexionBD = new PE_ConexionBD(false); + frm_PE_ConexionBD.ShowDialog(); + + if (frm_PE_ConexionBD.g_bol_CambioConexion) + { + //Borro Fichero de Scripts Ejecutados + try + { + if (File.Exists(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + Variables.G_STR_NOMBREFICHERO_ACTUALIZACIONESREALIZADAS)) + { + File.Delete(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\" + Variables.G_STR_NOMBREFICHERO_ACTUALIZACIONESREALIZADAS); + } + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + " / " + nameof(Cargar_Pantalla_SegunNodo)); + } + + //reinicia la aplicacion + Application.Restart(); + } + } + //OPCION IMPORTACION DE DATOS + else if (mdl_INTERNO_OpcionesDetalle_Modelo.opcion.Equals(Variables.G_STR_OPCION_TDP_TRASPASODATOS)) + { + + + //Cargamos el ensamblado + Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_TRASPASODATOS + ".dll"); + //Obtenemos el tipo de la clase + Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_TRASPASODATOS + "." + Variables.G_STR_LIBRERIA_DATOSTRASPASODATOS); + //creamos la instancia + var obj_Clase = Activator.CreateInstance(m_type); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSTRASPASODATOS_PROCEDIMIENTO_ABRIRPANTALLA_PTRASPASODATOS, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros = { Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, mdl_INTERNO_OpcionesDetalle_Modelo }; + //Pasamos los parametros al metodo y lo ejecutamos + obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); + } + //EMPRESA + else if (mdl_INTERNO_OpcionesDetalle_Modelo.opcion.Equals(Variables.G_STR_OPCION_GEN_EMPRESA)) + { + //Cargamos el ensamblado + Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_GENERAL + ".dll"); + //Obtenemos el tipo de la clase + Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_GENERAL + "." + Variables.G_STR_LIBRERIA_OPCIONES); + //creamos la instancia + var obj_Clase = Activator.CreateInstance(m_type); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_CARGAR_LISTADO, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros = { mdl_INTERNO_OpcionesDetalle_Modelo.opcion, false, 0, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, "", "", false, false, null, null, null, null,null,null }; + //Pasamos los parametros al metodo y lo ejecutamos + obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); + } + else if (Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO != null) + { + if (Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO.Delegacion!=null) + { + if (Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO.Almacenes != null) + { + string str_NombreLibreria = mdl_INTERNO_OpcionesDetalle_Modelo.nombreLibreria; + string str_Opcion = mdl_INTERNO_OpcionesDetalle_Modelo.opcion; + + //PERMISOS + if (str_Opcion.Equals(Variables.G_STR_OPCION_GEN_PERMISOS)) + { + //No puede haber ningun pantalla abierta + if (Variables.G_LST_PANTALLASABIERTAS != null && Variables.G_LST_PANTALLASABIERTAS.Count > 0) + { + Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_PERMISOS_NOSEPUEDEABRIR()); + } + else + { + //Cargamos el ensamblado + Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + str_NombreLibreria + ".dll"); + //Obtenemos el tipo de la clase + Type m_type = m_assembly.GetType(str_NombreLibreria + "." + Variables.G_STR_LIBRERIA_OPCIONES); + //creamos la instancia + var obj_Clase = Activator.CreateInstance(m_type); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_MOSTRAR_EN_MANTENIMIENTO, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros = { str_Opcion, null, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, mdl_INTERNO_OpcionesDetalle_Modelo, -1, "", "", null,null }; + //Pasamos los parametros al metodo y lo ejecutamos + obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); + } + } + //MANTENIMIENTOS SIN LISTADOS + else if ( + str_Opcion.Equals(Variables.G_STR_OPCION_AGD_AGENDA) || //AGD_AGENDA + str_Opcion.Equals(Variables.G_STR_OPCION_CTA_DIARIOCABECERA) || //CTA_DIARIOCABECERA + str_Opcion.Equals(Variables.G_STR_OPCION_CTA_INFORMESOFICIALES) || //CTA_INFORMESOFICIALES + str_Opcion.Equals(Variables.G_STR_OPCION_CTA_UTILIDADESCONTABLES) || //CTA_UTILIDADESCONTABLES + str_Opcion.Equals(Variables.G_STR_OPCION_GEN_CONFIGURACIONGENERAL) || //GEN_CONFIGURACIONGENERAL + str_Opcion.Equals(Variables.G_STR_OPCION_GEN_CONFIGURACION_SW_SIGMA) || //GEN_CONFIGURACION_SW_SIGMA + str_Opcion.Equals(Variables.G_STR_OPCION_GEN_RETENCION) || //GEN_RETENCION + str_Opcion.Equals(Variables.G_STR_OPCION_GTD_CONFIGURACION) || //GTD_CONFIGURACION + str_Opcion.Equals(Variables.G_STR_OPCION_GTD_ALMACENARDOCUMENTOS) || //GTD_ALMACENARDOCUMENTOS + str_Opcion.Equals(Variables.G_STR_OPCION_GTD_BUSCARDOCUMENTOS) || //GTD_BUSCARDOCUMENTOS + str_Opcion.Equals(Variables.G_STR_OPCION_HPV_TARIFAS) || //HPV TARIFAS + str_Opcion.Equals(Variables.G_STR_OPCION_HRM_CONFIGURACION) || //HRM_CONFIGURACION + str_Opcion.Equals(Variables.G_STR_OPCION_INF_IMPRESORAS_INFORMESTIPOS) || //INF_IMPRESORAS_INFORMESTIPOS + str_Opcion.Equals(Variables.G_STR_OPCION_INF_IMPRESORAS_DOCUMENTOLOCAL) || //INF_IMPRESORAS_DOCUMENTOLOCAL + str_Opcion.Equals(Variables.G_STR_OPCION_INF_MOVIMIENTOSARTICULO) || //INF_MOVIMIENTOSARTICULO + str_Opcion.Equals(Variables.G_STR_OPCION_INF_RESUMENIMPUESTOS) || //INF_RESUMENIMPUESTOS + str_Opcion.Equals(Variables.G_STR_OPCION_KRS_ARBOLJERARQUICO) || //KRS_ARBOLJERARQUICO + str_Opcion.Equals(Variables.G_STR_OPCION_KRS_CALENDARIO) || //KRS_CALENDARIO + str_Opcion.Equals(Variables.G_STR_OPCION_KRS_CONFIGURACIONGENERAL) || //KRS_CONFIGURACIONGENERAL + str_Opcion.Equals(Variables.G_STR_OPCION_KRS_SOLICITUDESAUSENCIASPROGRAMADAS_SUPERVISOR) || //KRS_SOLICITUDESAUSENCIASPROGRAMADAS_SUPERVISOR + str_Opcion.Equals(Variables.G_STR_OPCION_KRS_UTILIDADESKAIROS_EXFERIA) || //KRS_UTILIDADESKAIROS_EXFERIA + str_Opcion.Equals(Variables.G_STR_OPCION_MAE_CLIENTES_ARTICULOS_RELACIONES) || //MAE_CLIENTES_ARTICULOS_RELACIONES + str_Opcion.Equals(Variables.G_STR_OPCION_MAE_PROCESOS_ARTICULOS) || //MAE_PROCESOS_ARTICULOS + str_Opcion.Equals(Variables.G_STR_OPCION_MAE_PROVEEDORES_ARTICULOS_RELACIONES) || //MAE_PROVEEDORES_ARTICULOS_RELACIONES + str_Opcion.Equals(Variables.G_STR_OPCION_MYT_CONFIGURACIONGENERAL) || //MYT_CONFIGURACIONGENERAL + str_Opcion.Equals(Variables.G_STR_OPCION_MYT_GESTIONCONTRATOS) || //MYT_GESTIONCONTRATOS + str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PREVISIONES) || //MYT_PREVISIONES + str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TRASLADARINSTALACIONES) || //MYT_TRASLADARINSTALACIONES + str_Opcion.Equals(Variables.G_STR_OPCION_MYT_VISOR) || //MYT_VISOR + str_Opcion.Equals(Variables.G_STR_OPCION_OTROS_EPD_CITACIONES_INFORME) || //OTROS_EPD_CITACIONES_INFORME + str_Opcion.Equals(Variables.G_STR_OPCION_OTROS_EPD_CITACIONESPOREXPEDIENTE_INFORME) || //OTROS_EPD_CITACIONESPOREXPEDIENTE_INFORME + str_Opcion.Equals(Variables.G_STR_OPCION_OTROS_KRSS_INCIDENCIAS) || //OTROS_KRSS_INCIDENCIAS (KAIROSPRO) + str_Opcion.Equals(Variables.G_STR_OPCION_OTROS_KRS_CONSULTADETALLADA_POREMPLEADO) || //OTROS_KRS_CONSULTADETALLADA_POREMPLEADO (KAIROSPRO) + str_Opcion.Equals(Variables.G_STR_OPCION_OTROS_KRS_CONSULTADETALLADA_PORDIAEMPLEADO) || //OTROS_KRS_CONSULTADETALLADA_PORDIAEMPLEADO (KAIROSPRO) + str_Opcion.Equals(Variables.G_STR_OPCION_OTROS_KRS_CONSULTADETALLADA_PORJORNADAEMPLEADO) || //OTROS_KRS_CONSULTADETALLADA_PORJORNADAEMPLEADO (KAIROSPRO) + str_Opcion.Equals(Variables.G_STR_OPCION_OTROS_KRS_SOLICITUDHORASEXTRAS_SUPERVISORES) || //OTROS_KRS_SOLICITUDHORASEXTRAS_SUPERVISORES (KAIROSPRO) + str_Opcion.Equals(Variables.G_STR_OPCION_OTROS_PRE_CALENDARIO) || //OTROS_PRE_CALENDARIO + str_Opcion.Equals(Variables.G_STR_OPCION_SGA_INVENTARIOS) || //SGA_INVENTARIOS + str_Opcion.Equals(Variables.G_STR_OPCION_SNC_SINCRONIZACIONSEGUIMIENTO) || //SNC_SINCRONIZACIONSEGUIMIENTO + str_Opcion.Equals(Variables.G_STR_OPCIONES_SINLISTADO_VTA_PROCESOS_RECEPCIONCUADERNO60) || //VTA_PROCESOS_RECEPCIONCUADERNO60 + str_Opcion.Equals(Variables.G_STR_OPCION_ERP_CONFIGURACION) || //ERP_CONFIGURACION + str_Opcion.Equals(Variables.G_STR_OPCION_CRM_INFORMES_ALTASCONVERSIONES) || //CRM_INFORMES_ALTASCONVERSIONES + str_Opcion.Equals(Variables.G_STR_OPCION_CRM_INFORMES_TRANSACCIONES) || //CRM_INFORMES_TRANSACCIONES + str_Opcion.Equals(Variables.G_STR_OPCION_CRM_INFORMES_VENTAS) //CRM_INFORMES_VENTAS + ) + { + //Cargamos el ensamblado + Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + str_NombreLibreria + ".dll"); + //Obtenemos el tipo de la clase + Type m_type = m_assembly.GetType(str_NombreLibreria + "." + Variables.G_STR_LIBRERIA_OPCIONES); + //creamos la instancia + var obj_Clase = Activator.CreateInstance(m_type); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_MOSTRAR_EN_MANTENIMIENTO, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros = { str_Opcion, null, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, mdl_INTERNO_OpcionesDetalle_Modelo, -1, "", "", null ,null}; + //Pasamos los parametros al metodo y lo ejecutamos + obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); + } + //Configuracion esquema Menu + else if (str_Opcion.Equals(Variables.G_STR_OPCION_GEN_CONFIGURACIONESQUEMA_MENU)) + { + //No puede haber ningun pantalla abierta + if (Variables.G_LST_PANTALLASABIERTAS != null && Variables.G_LST_PANTALLASABIERTAS.Count > 0) + { + Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_PERMISOS_NOSEPUEDEABRIR()); + } + else + { + //Cargamos el ensamblado + Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + str_NombreLibreria + ".dll"); + //Obtenemos el tipo de la clase + Type m_type = m_assembly.GetType(str_NombreLibreria + "." + Variables.G_STR_LIBRERIA_OPCIONES); + //creamos la instancia + var obj_Clase = Activator.CreateInstance(m_type); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_MOSTRAR_EN_MANTENIMIENTO, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros = { str_Opcion, null, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, mdl_INTERNO_OpcionesDetalle_Modelo, -1, "", "", null,null }; + //Pasamos los parametros al metodo y lo ejecutamos + obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); + } + } + else + { + //Cargamos el ensamblado + Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + str_NombreLibreria + ".dll"); + //Obtenemos el tipo de la clase + Type m_type = m_assembly.GetType(str_NombreLibreria + "." + Variables.G_STR_LIBRERIA_OPCIONES); + //creamos la instancia + var obj_Clase = Activator.CreateInstance(m_type); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_CARGAR_LISTADO, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros = { str_Opcion, false, 0, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, "", "", false, false, null, null, null, null,null,null }; + //Pasamos los parametros al metodo y lo ejecutamos + obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); + } + } + else + { + Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_NOHAY_ALMACEN_SELECCIONADA()); + } + } + else + { + Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_NOHAY_DELEGACION_SELECCIONADA()); + } + } + else + { + Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_NOHAY_EMPRESA_SELECCIONADA()); + } + } + else + { + Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_OPCIONNOACTIVAPARACLIENTE()); + } + } + catch (FileNotFoundException ex) + { + Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_NOENCUENTRALIBRERIA()); + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(Cargar_Pantalla_SegunNodo)); + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(Cargar_Pantalla_SegunNodo)); + } + + + } + } + } + + public void Cargar_Pantalla_SegunOpcion(string _str_Opcion) + { + //EMPRESASELECCION + if (_str_Opcion.Equals(Variables.G_STR_OPCION_GEN_EMPRESASELECCION)) + { + INTERNO_OpcionesDetalle_Modelo mdl_INTERNO_OpcionesDetalle_Modelo = Datos_Generales.PRV_Opciones_Buscar_Detalles(_str_Opcion); + if (mdl_INTERNO_OpcionesDetalle_Modelo != null) + { + //Cargamos el ensamblado + Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + mdl_INTERNO_OpcionesDetalle_Modelo.nombreLibreria + ".dll"); + //Obtenemos el tipo de la clase + Type m_type = m_assembly.GetType(mdl_INTERNO_OpcionesDetalle_Modelo.nombreLibreria + "." + Variables.G_STR_LIBRERIA_OPCIONES); + //creamos la instancia + var obj_Clase = Activator.CreateInstance(m_type); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_MOSTRAR_EN_MANTENIMIENTO, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros = { _str_Opcion, null, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, mdl_INTERNO_OpcionesDetalle_Modelo, -1, "", "",null,null }; + //Pasamos los parametros al metodo y lo ejecutamos + obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); + } + } + } + + private void Aplicar_Permiso_SegunOpcion(string _str_Opcion) + { + List lst_PermisosPorOpcion = Datos_Generales.Permisos_Buscar(_str_Opcion); + g_frm_P_Principal.Exferia_Button_ConBorde_CambiarEmpresa.Visible = true; + g_frm_P_Principal.Exferia_Button_ConBorde_CambiarEmpresa.Enabled = true; + + //Ocultar + if (Datos_Generales.Permisos_Comprobar(_str_Opcion, lst_PermisosPorOpcion, (int)G_ENUM_PERMISOS.Ocultar, false)==false) + { + g_frm_P_Principal.Exferia_Button_ConBorde_CambiarEmpresa.Visible = false; + } + //Bloquear + else if (Datos_Generales.Permisos_Comprobar(_str_Opcion, lst_PermisosPorOpcion, (int)G_ENUM_PERMISOS.Bloquear, false) == false) + { + g_frm_P_Principal.Exferia_Button_ConBorde_CambiarEmpresa.Enabled = false; + } + } + + public void Actualizar_Fichero_ConfiguracionXML() + { + //Guardar el fichero xml de configuracion de la pantalla + INTERNO_ConfiguracionPantalla_Modelo mdl_INTERNO_ConfiguracionPantalla_Modelo = new INTERNO_ConfiguracionPantalla_Modelo(); + + string str_NombrePantalla = g_frm_P_Principal.Name; + + //Menu Izquierdo + mdl_INTERNO_ConfiguracionPantalla_Modelo.PRINCIPAL_MENUIZQUIERDO_ANCLADO = g_frm_P_Principal.Exferia_Button_MenuIzquierdo_AnclarDesanclar.Tag.ToString(); + + //Menu Athos + mdl_INTERNO_ConfiguracionPantalla_Modelo.PRINCIPAL_ATHOS_ANCLADO = g_frm_P_Principal.Exferia_Button_Athos_AnclarDesanclar.Tag.ToString(); + + try + { + //Actualizar el fichero XML + Funciones_FicherosXML.ModificarXML_ConfiguracionPantallas(Variables.G_STR_CONFIGURACIONPANTALLA_TIPOPANTALLA_PRINCIPAL, g_frm_P_Principal.Name, mdl_INTERNO_ConfiguracionPantalla_Modelo); + } + catch (Control_Errores) + { + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(Actualizar_Fichero_ConfiguracionXML)); + } + } + + public void Cargar_Empresa_Activo() + { + g_frm_P_Principal.Cargar_Empresa_Activo(); + } + + private void Actualizar_Librerias_EnBaseDatos() + { + try + { + //Actualizacion de Librerias en base de datos ............................................... + //Ruta Principal + string str_Ruta = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + + //Nombre del Ejecutable + string str_NombreEjecutable = System.IO.Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().Location); + + string str_Librerias = str_NombreEjecutable + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_BARCODELIB + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_ACTUALIZACION_BD + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_APLICACION + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CONTABILIDAD + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CONTROLES + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CRM + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_ENTITYFRAMEWORK + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_FORMULARIOS + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_GENERAL + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_GESTIONTASAS + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_HOTELPUNTOVENTA + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_INFORMES + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_INVENTARIOS + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KAIROSPRO + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KAIROSPRO_EF + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KAIROSPRO_INFORMES + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KRONOS + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KRONOS_SERVICIO_WINDOWS + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_MAESTROS + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_SERVICIOSWEB + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_TRASPASODATOS + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_VENTAS + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_MAPA_CORE + "|" + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_MAPA_WINDOWSFORMS; + + Datos_Generales.PRV_Actualizaciones_Librerias_Actualizar(str_Ruta, str_Librerias); + //........................................................................................... + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Actualizar_Librerias_EnBaseDatos)); + } + } + + private bool OpcionActiva_Cliente(string _str_Opcion) + { + bool bol_Activa = false; + + if (Variables.G_LST_OPCIONESDISPONIBLES_ACTIVAS!=null && + Variables.G_LST_OPCIONESDISPONIBLES_ACTIVAS.Count>0) + { + if (Variables.G_LST_OPCIONESDISPONIBLES_ACTIVAS.Where(m=>m.OpcionDisponible.Equals(_str_Opcion)).FirstOrDefault()!=null) + { + bol_Activa = true; + } + } + + return bol_Activa; + } + + public void Mostrar_DatosLicencia() + { + g_frm_P_Principal.Label_ValidacionLicencia.Text = "Licencia validada"; + g_frm_P_Principal.Label_ValidacionLicencia.ForeColor = Color.ForestGreen; + } + + #region Argumentos Programa Externo + public void Validar_ArgumentosProgramaExterno() + { + try + { + + if (g_arr_Argumentos_Recibidos!=null && g_arr_Argumentos_Recibidos.Count()>0) + { + string str_Ruta = g_arr_Argumentos_Recibidos[0]; + + //Buscar datos del Fichero XML + INTERNO_DatosProgramaExternoRecibidos_Modelo mdl_INTERNO_DatosProgramaExternoRecibidos_Modelo = Funciones_DatosProgramaExterno.Cargar_XML(str_Ruta); + + if (mdl_INTERNO_DatosProgramaExternoRecibidos_Modelo!=null) + { + #region GTD + if (mdl_INTERNO_DatosProgramaExternoRecibidos_Modelo.GTD!=null) + { + //Consultas + if (mdl_INTERNO_DatosProgramaExternoRecibidos_Modelo.GTD.Consultas!=null && + mdl_INTERNO_DatosProgramaExternoRecibidos_Modelo.GTD.Consultas.Count>0) + { + bool bol_Primera = true; + foreach (INTERNO_DatosProgramaExternoRecibidos_GTD_Consulta_Modelo mdl_INTERNO_DatosProgramaExternoRecibidos_GTD_Consulta_Modelo in mdl_INTERNO_DatosProgramaExternoRecibidos_Modelo.GTD.Consultas) + { + if (bol_Primera) + { + bol_Primera = false; + } + else + { + Thread.Sleep(1000); + } + + //Opcion de Buscar Documentos segun filtros + INTERNO_OpcionesDetalle_Modelo mdl_INTERNO_OpcionesDetalle_Modelo = Datos_Generales.PRV_Opciones_Buscar_Detalles(Variables.G_STR_OPCION_GTD_BUSCARDOCUMENTOS); + + //Cargamos el ensamblado + Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_GESTIONDOCUMENTAL + ".dll"); + //Obtenemos el tipo de la clase + Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_GESTIONDOCUMENTAL + "." + Variables.G_STR_LIBRERIA_OPCIONES); + //creamos la instancia + var obj_Clase = Activator.CreateInstance(m_type); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_MOSTRAR_EN_MANTENIMIENTO, BindingFlags.Instance | BindingFlags.NonPublic); + + object[] arr_Parametros = { mdl_INTERNO_OpcionesDetalle_Modelo.opcion, + null, + null, + Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, + Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, + mdl_INTERNO_OpcionesDetalle_Modelo, + -1, + "", + "" , + mdl_INTERNO_DatosProgramaExternoRecibidos_GTD_Consulta_Modelo, + null}; + //Pasamos los parametros al metodo y lo ejecutamos + obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); + } + } + + } + #endregion + } + + if (File.Exists(str_Ruta)) + { + File.Delete(str_Ruta); + } + } + } + catch(Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(Validar_ArgumentosProgramaExterno)); + } + } + #endregion + + public void ImpresorasLocales() + { + try + { + INTERNO_OpcionesDetalle_Modelo mdl_INTERNO_OpcionesDetalle_Modelo = Datos_Generales.PRV_Opciones_Buscar_Detalles(Variables.G_STR_OPCION_INF_IMPRESORAS_DOCUMENTOLOCAL); + + //No puede haber ningun pantalla abierta + if (Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO != null) + { + //Cargamos el ensamblado ######################################################################################################################################################################### + Assembly m_assembly_1 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll"); + //Obtenemos el tipo de la clase + Type m_type_1 = m_assembly_1.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES); + //creamos la instancia + var obj_Clase_1 = Activator.CreateInstance(m_type_1); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo_1 = obj_Clase_1.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_INFIMPRESORAS_HAYIMPRESORAS, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros_1 = { }; + + //Pasamos los parametros al metodo y lo ejecutamos + bool bol_HayImpresoras = (bool)obj_MethodInfo_1.Invoke(obj_Clase_1, arr_Parametros_1); + //################################################################################################################################################################################################## + + //Comprobar si hay Impresoras en BD + if (bol_HayImpresoras) + { + //Cargamos el ensamblado + Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_INFORMES); + //Obtenemos el tipo de la clase + Type m_type = m_assembly.GetType(Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_INFORMES.Substring(0, Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_INFORMES.Length - 4) + "." + Variables.G_STR_LIBRERIA_OPCIONES); + //creamos la instancia + var obj_Clase = Activator.CreateInstance(m_type); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_MOSTRAR_EN_MANTENIMIENTO, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros = { mdl_INTERNO_OpcionesDetalle_Modelo.opcion, null, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, mdl_INTERNO_OpcionesDetalle_Modelo, -1, "", "", null, null }; + //Pasamos los parametros al metodo y lo ejecutamos + obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); + } + else + { + Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_NOHAYIMPRESORAS_GRABADAS()); + } + } + else + { + Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_NOHAY_EMPRESA_SELECCIONADA()); + } + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal_Controladora) + "/" + nameof(ImpresorasLocales)); + } + } + + } +} diff --git a/SigmaERP_2017/SigmaERP/3_Vistas/P_Principal.Designer.cs b/SigmaERP_2017/SigmaERP/3_Vistas/P_Principal.Designer.cs new file mode 100644 index 0000000..ac731ef --- /dev/null +++ b/SigmaERP_2017/SigmaERP/3_Vistas/P_Principal.Designer.cs @@ -0,0 +1,490 @@ +using Exferia_Aplicacion.General; + +namespace SigmaERP +{ + partial class P_Principal + { + /// + /// Variable del diseñador necesaria. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Limpiar los recursos que se estén usando. + /// + /// true si los recursos administrados se deben desechar; false en caso contrario. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Código generado por el Diseñador de Windows Forms + + /// + /// Método necesario para admitir el Diseñador. No se puede modificar + /// el contenido de este método con el editor de código. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(P_Principal)); + this.lbl_EmpresaEjercicioOrden_Activo = new System.Windows.Forms.Label(); + this.lbl_Version = new System.Windows.Forms.Label(); + this.lbl_EmpleadoValidado = new System.Windows.Forms.Label(); + this.imglst_ArbolPrincipal = new System.Windows.Forms.ImageList(this.components); + this.lbl_ValidacionLicencia = new System.Windows.Forms.Label(); + this.spl_Principal = new System.Windows.Forms.SplitContainer(); + this.ex_btn_CambiarEmpresa = new Exferia_Controles.Exferia_Button_ConBorde(); + this.ex_btn_CambiarLicencia = new Exferia_Controles.Exferia_Button_ConBorde(); + this.ex_btn_P_Principal_ImpresorasLocal = new Exferia_Controles.Exferia_Button_ConBorde(); + this.ex_pnl_Athos = new Exferia_Controles.Exferia_Panel_Degradado_CambioColor(); + this.ex_btn_Athos_AnclarDesanclar = new Exferia_Controles.Exferia_Button(); + this.ex_btn_MenuAthos_Mostrar = new Exferia_Controles.Exferia_Button_Vertical(); + this.ex_pnl_MenuIzquierdo = new Exferia_Controles.Exferia_Panel_Degradado_CambioColor(); + this.ex_btn_MenuIzquierdo_TipoCompraVenta = new Exferia_Controles.Exferia_Button(); + this.ex_btn_MenuIzquierdo_GestionControl = new Exferia_Controles.Exferia_Button(); + this.ex_trv_Menu = new Exferia_Controles.Exferia_TreeView(); + this.ex_btn_MenuIzquierdo_AnclarDesanclar = new Exferia_Controles.Exferia_Button(); + this.ex_btn_MenuIzquierdo_Mostrar = new Exferia_Controles.Exferia_Button_Vertical(); + this.ex_msp_Menu = new Exferia_Controles.Exferia_MenuSuperior(); + this.ex_txt_P_Principal_Busqueda = new Exferia_Controles.Exferia_TextBox(); + this.exferia_Label1 = new Exferia_Controles.Exferia_Label(); + ((System.ComponentModel.ISupportInitialize)(this.spl_Principal)).BeginInit(); + this.spl_Principal.SuspendLayout(); + this.ex_pnl_Athos.SuspendLayout(); + this.ex_pnl_MenuIzquierdo.SuspendLayout(); + this.SuspendLayout(); + // + // lbl_EmpresaEjercicioOrden_Activo + // + this.lbl_EmpresaEjercicioOrden_Activo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.lbl_EmpresaEjercicioOrden_Activo.Location = new System.Drawing.Point(51, 702); + this.lbl_EmpresaEjercicioOrden_Activo.Name = "lbl_EmpresaEjercicioOrden_Activo"; + this.lbl_EmpresaEjercicioOrden_Activo.Size = new System.Drawing.Size(439, 22); + this.lbl_EmpresaEjercicioOrden_Activo.TabIndex = 18; + this.lbl_EmpresaEjercicioOrden_Activo.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // lbl_Version + // + this.lbl_Version.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.lbl_Version.AutoSize = true; + this.lbl_Version.Location = new System.Drawing.Point(908, 681); + this.lbl_Version.Name = "lbl_Version"; + this.lbl_Version.Size = new System.Drawing.Size(78, 13); + this.lbl_Version.TabIndex = 17; + this.lbl_Version.Text = "Versión: 1.00.1"; + // + // lbl_EmpleadoValidado + // + this.lbl_EmpleadoValidado.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.lbl_EmpleadoValidado.Location = new System.Drawing.Point(645, 702); + this.lbl_EmpleadoValidado.Name = "lbl_EmpleadoValidado"; + this.lbl_EmpleadoValidado.Size = new System.Drawing.Size(341, 22); + this.lbl_EmpleadoValidado.TabIndex = 16; + this.lbl_EmpleadoValidado.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + // + // imglst_ArbolPrincipal + // + this.imglst_ArbolPrincipal.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit; + this.imglst_ArbolPrincipal.ImageSize = new System.Drawing.Size(16, 16); + this.imglst_ArbolPrincipal.TransparentColor = System.Drawing.Color.Transparent; + // + // lbl_ValidacionLicencia + // + this.lbl_ValidacionLicencia.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.lbl_ValidacionLicencia.Font = new System.Drawing.Font("Microsoft Sans Serif", 6.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lbl_ValidacionLicencia.ForeColor = System.Drawing.Color.Red; + this.lbl_ValidacionLicencia.Location = new System.Drawing.Point(52, 675); + this.lbl_ValidacionLicencia.Name = "lbl_ValidacionLicencia"; + this.lbl_ValidacionLicencia.Size = new System.Drawing.Size(662, 22); + this.lbl_ValidacionLicencia.TabIndex = 23; + this.lbl_ValidacionLicencia.Text = "Validando Licencia ..."; + this.lbl_ValidacionLicencia.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // spl_Principal + // + this.spl_Principal.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.spl_Principal.BackColor = System.Drawing.Color.WhiteSmoke; + this.spl_Principal.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.spl_Principal.Location = new System.Drawing.Point(24, 49); + this.spl_Principal.Name = "spl_Principal"; + // + // spl_Principal.Panel1 + // + this.spl_Principal.Panel1.BackColor = System.Drawing.Color.WhiteSmoke; + // + // spl_Principal.Panel2 + // + this.spl_Principal.Panel2.BackColor = System.Drawing.Color.WhiteSmoke; + this.spl_Principal.Size = new System.Drawing.Size(960, 618); + this.spl_Principal.SplitterDistance = 480; + this.spl_Principal.TabIndex = 0; + this.spl_Principal.Visible = false; + // + // ex_btn_CambiarEmpresa + // + this.ex_btn_CambiarEmpresa.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.ex_btn_CambiarEmpresa.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ex_btn_CambiarEmpresa.Exferia_Button_ConBorde_Bloqueable = true; + this.ex_btn_CambiarEmpresa.Exferia_Button_ConBorde_Imagen = Exferia_Aplicacion.General.Imagenes.G_ENUM_IMAGENES.Vacio; + this.ex_btn_CambiarEmpresa.Exferia_Button_ConBorde_ReadOnly = false; + this.ex_btn_CambiarEmpresa.Exferia_Button_Permitir_CambioFuenteAutomatico = false; + this.ex_btn_CambiarEmpresa.Exferia_Button_ToolTip = ""; + this.ex_btn_CambiarEmpresa.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.ex_btn_CambiarEmpresa.Font = new System.Drawing.Font("Fuentes_SigmaERP", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ex_btn_CambiarEmpresa.Location = new System.Drawing.Point(18, 699); + this.ex_btn_CambiarEmpresa.Margin = new System.Windows.Forms.Padding(0); + this.ex_btn_CambiarEmpresa.Name = "ex_btn_CambiarEmpresa"; + this.ex_btn_CambiarEmpresa.Size = new System.Drawing.Size(27, 27); + this.ex_btn_CambiarEmpresa.TabIndex = 25; + this.ex_btn_CambiarEmpresa.TabStop = false; + this.ex_btn_CambiarEmpresa.Text = "C"; + this.ex_btn_CambiarEmpresa.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.ex_btn_CambiarEmpresa.UseVisualStyleBackColor = true; + this.ex_btn_CambiarEmpresa.Click += new System.EventHandler(this.ex_btn_CambiarEmpresa_Click); + // + // ex_btn_CambiarLicencia + // + this.ex_btn_CambiarLicencia.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.ex_btn_CambiarLicencia.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ex_btn_CambiarLicencia.Exferia_Button_ConBorde_Bloqueable = true; + this.ex_btn_CambiarLicencia.Exferia_Button_ConBorde_Imagen = Exferia_Aplicacion.General.Imagenes.G_ENUM_IMAGENES.Vacio; + this.ex_btn_CambiarLicencia.Exferia_Button_ConBorde_ReadOnly = false; + this.ex_btn_CambiarLicencia.Exferia_Button_Permitir_CambioFuenteAutomatico = false; + this.ex_btn_CambiarLicencia.Exferia_Button_ToolTip = ""; + this.ex_btn_CambiarLicencia.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.ex_btn_CambiarLicencia.Font = new System.Drawing.Font("Fuentes_SigmaERP", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ex_btn_CambiarLicencia.Location = new System.Drawing.Point(18, 670); + this.ex_btn_CambiarLicencia.Margin = new System.Windows.Forms.Padding(0); + this.ex_btn_CambiarLicencia.Name = "ex_btn_CambiarLicencia"; + this.ex_btn_CambiarLicencia.Size = new System.Drawing.Size(27, 27); + this.ex_btn_CambiarLicencia.TabIndex = 24; + this.ex_btn_CambiarLicencia.TabStop = false; + this.ex_btn_CambiarLicencia.Text = "B"; + this.ex_btn_CambiarLicencia.TextAlign = System.Drawing.ContentAlignment.TopCenter; + this.ex_btn_CambiarLicencia.UseVisualStyleBackColor = true; + this.ex_btn_CambiarLicencia.Click += new System.EventHandler(this.ex_btn_CambiarLicencia_Click); + // + // ex_btn_P_Principal_ImpresorasLocal + // + this.ex_btn_P_Principal_ImpresorasLocal.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ex_btn_P_Principal_ImpresorasLocal.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ex_btn_P_Principal_ImpresorasLocal.Exferia_Button_ConBorde_Bloqueable = true; + this.ex_btn_P_Principal_ImpresorasLocal.Exferia_Button_ConBorde_Imagen = Exferia_Aplicacion.General.Imagenes.G_ENUM_IMAGENES.G_IMG_IMPRESORASLOCAL; + this.ex_btn_P_Principal_ImpresorasLocal.Exferia_Button_ConBorde_ReadOnly = false; + this.ex_btn_P_Principal_ImpresorasLocal.Exferia_Button_Permitir_CambioFuenteAutomatico = true; + this.ex_btn_P_Principal_ImpresorasLocal.Exferia_Button_ToolTip = ""; + this.ex_btn_P_Principal_ImpresorasLocal.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.ex_btn_P_Principal_ImpresorasLocal.Location = new System.Drawing.Point(952, 9); + this.ex_btn_P_Principal_ImpresorasLocal.Name = "ex_btn_P_Principal_ImpresorasLocal"; + this.ex_btn_P_Principal_ImpresorasLocal.Size = new System.Drawing.Size(36, 36); + this.ex_btn_P_Principal_ImpresorasLocal.TabIndex = 0; + this.ex_btn_P_Principal_ImpresorasLocal.TabStop = false; + this.ex_btn_P_Principal_ImpresorasLocal.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + this.ex_btn_P_Principal_ImpresorasLocal.UseVisualStyleBackColor = true; + this.ex_btn_P_Principal_ImpresorasLocal.Click += new System.EventHandler(this.ex_btn_P_Principal_ImpresorasLocal_Click); + // + // ex_pnl_Athos + // + this.ex_pnl_Athos.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Right))); + this.ex_pnl_Athos.Controls.Add(this.ex_btn_Athos_AnclarDesanclar); + this.ex_pnl_Athos.Exferia_Panel_Degradado_CambioColor_Color_Borde = System.Drawing.Color.White; + this.ex_pnl_Athos.Exferia_Panel_Degradado_CambioColor_Color_Desde = System.Drawing.Color.White; + this.ex_pnl_Athos.Exferia_Panel_Degradado_CambioColor_Color_Hasta = System.Drawing.Color.White; + this.ex_pnl_Athos.Exferia_Panel_Degradado_CambioColor_TipoDegradado = System.Drawing.Drawing2D.LinearGradientMode.Vertical; + this.ex_pnl_Athos.Location = new System.Drawing.Point(709, 49); + this.ex_pnl_Athos.Name = "ex_pnl_Athos"; + this.ex_pnl_Athos.Size = new System.Drawing.Size(276, 618); + this.ex_pnl_Athos.TabIndex = 22; + this.ex_pnl_Athos.Visible = false; + // + // ex_btn_Athos_AnclarDesanclar + // + this.ex_btn_Athos_AnclarDesanclar.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ex_btn_Athos_AnclarDesanclar.Exferia_Button_Bloqueable = true; + this.ex_btn_Athos_AnclarDesanclar.Exferia_Button_Imagen = Exferia_Aplicacion.General.Imagenes.G_ENUM_IMAGENES.Vacio; + this.ex_btn_Athos_AnclarDesanclar.Exferia_Button_Permitir_CambioFuenteAutomatico = false; + this.ex_btn_Athos_AnclarDesanclar.Exferia_Button_ReadOnly = false; + this.ex_btn_Athos_AnclarDesanclar.Exferia_Button_TabStop = false; + this.ex_btn_Athos_AnclarDesanclar.Exferia_Button_ToolTip = ""; + this.ex_btn_Athos_AnclarDesanclar.FlatAppearance.BorderSize = 0; + this.ex_btn_Athos_AnclarDesanclar.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.ex_btn_Athos_AnclarDesanclar.Font = new System.Drawing.Font("Fuentes_SigmaERP", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ex_btn_Athos_AnclarDesanclar.ForeColor = System.Drawing.Color.White; + this.ex_btn_Athos_AnclarDesanclar.Location = new System.Drawing.Point(239, 3); + this.ex_btn_Athos_AnclarDesanclar.Name = "ex_btn_Athos_AnclarDesanclar"; + this.ex_btn_Athos_AnclarDesanclar.Size = new System.Drawing.Size(34, 30); + this.ex_btn_Athos_AnclarDesanclar.TabIndex = 0; + this.ex_btn_Athos_AnclarDesanclar.TabStop = false; + this.ex_btn_Athos_AnclarDesanclar.Tag = "0"; + this.ex_btn_Athos_AnclarDesanclar.Text = "9"; + this.ex_btn_Athos_AnclarDesanclar.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + this.ex_btn_Athos_AnclarDesanclar.UseVisualStyleBackColor = true; + this.ex_btn_Athos_AnclarDesanclar.Click += new System.EventHandler(this.btn_Athos_AnclarDesanclar_Click); + // + // ex_btn_MenuAthos_Mostrar + // + this.ex_btn_MenuAthos_Mostrar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ex_btn_MenuAthos_Mostrar.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ex_btn_MenuAthos_Mostrar.Exferia_Button_Vertical_Imagen = Exferia_Aplicacion.General.Imagenes.G_ENUM_IMAGENES.Vacio; + this.ex_btn_MenuAthos_Mostrar.Exferia_Button_Vertical_TextoVertical = "ATHOS"; + this.ex_btn_MenuAthos_Mostrar.FlatAppearance.BorderSize = 0; + this.ex_btn_MenuAthos_Mostrar.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.ex_btn_MenuAthos_Mostrar.Location = new System.Drawing.Point(986, 50); + this.ex_btn_MenuAthos_Mostrar.Name = "ex_btn_MenuAthos_Mostrar"; + this.ex_btn_MenuAthos_Mostrar.Size = new System.Drawing.Size(21, 66); + this.ex_btn_MenuAthos_Mostrar.TabIndex = 22; + this.ex_btn_MenuAthos_Mostrar.TabStop = false; + this.ex_btn_MenuAthos_Mostrar.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + this.ex_btn_MenuAthos_Mostrar.UseVisualStyleBackColor = true; + this.ex_btn_MenuAthos_Mostrar.Click += new System.EventHandler(this.btn_MenuAthos_Mostrar_Click); + // + // ex_pnl_MenuIzquierdo + // + this.ex_pnl_MenuIzquierdo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.ex_pnl_MenuIzquierdo.Controls.Add(this.exferia_Label1); + this.ex_pnl_MenuIzquierdo.Controls.Add(this.ex_txt_P_Principal_Busqueda); + this.ex_pnl_MenuIzquierdo.Controls.Add(this.ex_btn_MenuIzquierdo_TipoCompraVenta); + this.ex_pnl_MenuIzquierdo.Controls.Add(this.ex_btn_MenuIzquierdo_GestionControl); + this.ex_pnl_MenuIzquierdo.Controls.Add(this.ex_trv_Menu); + this.ex_pnl_MenuIzquierdo.Controls.Add(this.ex_btn_MenuIzquierdo_AnclarDesanclar); + this.ex_pnl_MenuIzquierdo.Exferia_Panel_Degradado_CambioColor_Color_Borde = System.Drawing.Color.White; + this.ex_pnl_MenuIzquierdo.Exferia_Panel_Degradado_CambioColor_Color_Desde = System.Drawing.Color.White; + this.ex_pnl_MenuIzquierdo.Exferia_Panel_Degradado_CambioColor_Color_Hasta = System.Drawing.Color.White; + this.ex_pnl_MenuIzquierdo.Exferia_Panel_Degradado_CambioColor_TipoDegradado = System.Drawing.Drawing2D.LinearGradientMode.Vertical; + this.ex_pnl_MenuIzquierdo.Location = new System.Drawing.Point(21, 49); + this.ex_pnl_MenuIzquierdo.Name = "ex_pnl_MenuIzquierdo"; + this.ex_pnl_MenuIzquierdo.Size = new System.Drawing.Size(276, 618); + this.ex_pnl_MenuIzquierdo.TabIndex = 21; + this.ex_pnl_MenuIzquierdo.Visible = false; + // + // ex_btn_MenuIzquierdo_TipoCompraVenta + // + this.ex_btn_MenuIzquierdo_TipoCompraVenta.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Exferia_Button_Bloqueable = true; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Exferia_Button_Imagen = Exferia_Aplicacion.General.Imagenes.G_ENUM_IMAGENES.Vacio; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Exferia_Button_Permitir_CambioFuenteAutomatico = false; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Exferia_Button_ReadOnly = false; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Exferia_Button_TabStop = false; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Exferia_Button_ToolTip = "Tipos de Compra/Venta"; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.FlatAppearance.BorderSize = 0; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Font = new System.Drawing.Font("Fuentes_SigmaERP", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ex_btn_MenuIzquierdo_TipoCompraVenta.ForeColor = System.Drawing.Color.White; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Location = new System.Drawing.Point(43, 4); + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Name = "ex_btn_MenuIzquierdo_TipoCompraVenta"; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Size = new System.Drawing.Size(34, 30); + this.ex_btn_MenuIzquierdo_TipoCompraVenta.TabIndex = 3; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.TabStop = false; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Tag = "0"; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Text = "M"; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.UseVisualStyleBackColor = true; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Visible = false; + this.ex_btn_MenuIzquierdo_TipoCompraVenta.Click += new System.EventHandler(this.ex_btn_MenuIzquierdo_TipoCompraVenta_Click); + // + // ex_btn_MenuIzquierdo_GestionControl + // + this.ex_btn_MenuIzquierdo_GestionControl.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ex_btn_MenuIzquierdo_GestionControl.Exferia_Button_Bloqueable = true; + this.ex_btn_MenuIzquierdo_GestionControl.Exferia_Button_Imagen = Exferia_Aplicacion.General.Imagenes.G_ENUM_IMAGENES.Vacio; + this.ex_btn_MenuIzquierdo_GestionControl.Exferia_Button_Permitir_CambioFuenteAutomatico = false; + this.ex_btn_MenuIzquierdo_GestionControl.Exferia_Button_ReadOnly = false; + this.ex_btn_MenuIzquierdo_GestionControl.Exferia_Button_TabStop = false; + this.ex_btn_MenuIzquierdo_GestionControl.Exferia_Button_ToolTip = "Control de la aplicación"; + this.ex_btn_MenuIzquierdo_GestionControl.FlatAppearance.BorderSize = 0; + this.ex_btn_MenuIzquierdo_GestionControl.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.ex_btn_MenuIzquierdo_GestionControl.Font = new System.Drawing.Font("Fuentes_SigmaERP", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ex_btn_MenuIzquierdo_GestionControl.ForeColor = System.Drawing.Color.White; + this.ex_btn_MenuIzquierdo_GestionControl.Location = new System.Drawing.Point(3, 3); + this.ex_btn_MenuIzquierdo_GestionControl.Name = "ex_btn_MenuIzquierdo_GestionControl"; + this.ex_btn_MenuIzquierdo_GestionControl.Size = new System.Drawing.Size(34, 30); + this.ex_btn_MenuIzquierdo_GestionControl.TabIndex = 2; + this.ex_btn_MenuIzquierdo_GestionControl.TabStop = false; + this.ex_btn_MenuIzquierdo_GestionControl.Tag = "0"; + this.ex_btn_MenuIzquierdo_GestionControl.Text = "M"; + this.ex_btn_MenuIzquierdo_GestionControl.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + this.ex_btn_MenuIzquierdo_GestionControl.UseVisualStyleBackColor = true; + this.ex_btn_MenuIzquierdo_GestionControl.Visible = false; + this.ex_btn_MenuIzquierdo_GestionControl.Click += new System.EventHandler(this.ex_btn_MenuIzquierdo_GestionControl_Click); + // + // ex_trv_Menu + // + this.ex_trv_Menu.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ex_trv_Menu.ImageIndex = 0; + this.ex_trv_Menu.ImageList = this.imglst_ArbolPrincipal; + this.ex_trv_Menu.Location = new System.Drawing.Point(3, 77); + this.ex_trv_Menu.Name = "ex_trv_Menu"; + this.ex_trv_Menu.SelectedImageIndex = 0; + this.ex_trv_Menu.Size = new System.Drawing.Size(270, 539); + this.ex_trv_Menu.TabIndex = 1; + this.ex_trv_Menu.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.ex_trv_Menu_NodeMouseClick); + // + // ex_btn_MenuIzquierdo_AnclarDesanclar + // + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ex_btn_MenuIzquierdo_AnclarDesanclar.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Exferia_Button_Bloqueable = true; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Exferia_Button_Imagen = Exferia_Aplicacion.General.Imagenes.G_ENUM_IMAGENES.Vacio; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Exferia_Button_Permitir_CambioFuenteAutomatico = false; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Exferia_Button_ReadOnly = false; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Exferia_Button_TabStop = false; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Exferia_Button_ToolTip = "Anclar/Desanclar menu"; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.FlatAppearance.BorderSize = 0; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Font = new System.Drawing.Font("Fuentes_SigmaERP", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.ex_btn_MenuIzquierdo_AnclarDesanclar.ForeColor = System.Drawing.Color.White; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Location = new System.Drawing.Point(239, 3); + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Name = "ex_btn_MenuIzquierdo_AnclarDesanclar"; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Size = new System.Drawing.Size(34, 30); + this.ex_btn_MenuIzquierdo_AnclarDesanclar.TabIndex = 0; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.TabStop = false; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Tag = "0"; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Text = "9"; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.UseVisualStyleBackColor = true; + this.ex_btn_MenuIzquierdo_AnclarDesanclar.Click += new System.EventHandler(this.btn_MenuIzquierdo_AnclarDesanclar_Click); + // + // ex_btn_MenuIzquierdo_Mostrar + // + this.ex_btn_MenuIzquierdo_Mostrar.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; + this.ex_btn_MenuIzquierdo_Mostrar.Exferia_Button_Vertical_Imagen = Exferia_Aplicacion.General.Imagenes.G_ENUM_IMAGENES.Vacio; + this.ex_btn_MenuIzquierdo_Mostrar.Exferia_Button_Vertical_TextoVertical = "MENU"; + this.ex_btn_MenuIzquierdo_Mostrar.FlatAppearance.BorderSize = 0; + this.ex_btn_MenuIzquierdo_Mostrar.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.ex_btn_MenuIzquierdo_Mostrar.Location = new System.Drawing.Point(0, 49); + this.ex_btn_MenuIzquierdo_Mostrar.Name = "ex_btn_MenuIzquierdo_Mostrar"; + this.ex_btn_MenuIzquierdo_Mostrar.Size = new System.Drawing.Size(21, 66); + this.ex_btn_MenuIzquierdo_Mostrar.TabIndex = 20; + this.ex_btn_MenuIzquierdo_Mostrar.TabStop = false; + this.ex_btn_MenuIzquierdo_Mostrar.TextAlign = System.Drawing.ContentAlignment.BottomCenter; + this.ex_btn_MenuIzquierdo_Mostrar.UseVisualStyleBackColor = true; + this.ex_btn_MenuIzquierdo_Mostrar.Click += new System.EventHandler(this.btn_MenuIzquierdo_Mostrar_Click); + // + // ex_msp_Menu + // + this.ex_msp_Menu.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ex_msp_Menu.BackColor = System.Drawing.Color.Maroon; + this.ex_msp_Menu.Exferia_MenuSuperior_Total_NumeroProcesosAbiertos = "0"; + this.ex_msp_Menu.Location = new System.Drawing.Point(21, 9); + this.ex_msp_Menu.Name = "ex_msp_Menu"; + this.ex_msp_Menu.Size = new System.Drawing.Size(928, 37); + this.ex_msp_Menu.TabIndex = 0; + // + // ex_txt_P_Principal_Busqueda + // + this.ex_txt_P_Principal_Busqueda.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_Bloqueable = true; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_BordeColor_Foco = System.Drawing.Color.Red; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_BordeColor_Normal = System.Drawing.Color.Black; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_Fondo = System.Drawing.SystemColors.Window; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_MaxLength = 32767; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_Multiline = false; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_NoBloquear = true; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_Obligatorio = false; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_PasswordChar = '\0'; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_Permitir_CambioFuenteAutomatico = true; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_ReadOnly = false; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_ScrollBars = System.Windows.Forms.ScrollBars.None; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_SelectionLength = 0; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_SelectionStart = 0; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_TabStop_Txt = true; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_TextAlign = System.Windows.Forms.HorizontalAlignment.Left; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_Texto_Inicial = ""; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_Tipo_Decimal_Decimales = 2; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_Tipo_Decimal_Enteros = 9; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_Tipos = Exferia_Aplicacion.General.Enumerados.G_ENUM_TEXTBOX_TIPODATO.Textos; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_UseSystemPasswordChar = false; + this.ex_txt_P_Principal_Busqueda.Location = new System.Drawing.Point(3, 52); + this.ex_txt_P_Principal_Busqueda.Name = "ex_txt_P_Principal_Busqueda"; + this.ex_txt_P_Principal_Busqueda.Padding = new System.Windows.Forms.Padding(2); + this.ex_txt_P_Principal_Busqueda.Size = new System.Drawing.Size(270, 22); + this.ex_txt_P_Principal_Busqueda.TabIndex = 4; + this.ex_txt_P_Principal_Busqueda.Exferia_TextBox_Evento_TextChanged += new System.EventHandler(this.ex_txt_P_Principal_Busqueda_Exferia_TextBox_Evento_TextChanged); + // + // exferia_Label1 + // + this.exferia_Label1.AutoSize = true; + this.exferia_Label1.Location = new System.Drawing.Point(4, 36); + this.exferia_Label1.Name = "exferia_Label1"; + this.exferia_Label1.Size = new System.Drawing.Size(91, 13); + this.exferia_Label1.TabIndex = 5; + this.exferia_Label1.Text = "Escribir búsqueda"; + // + // P_Principal + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.Color.WhiteSmoke; + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; + this.ClientSize = new System.Drawing.Size(1008, 729); + this.Controls.Add(this.ex_btn_CambiarEmpresa); + this.Controls.Add(this.ex_btn_CambiarLicencia); + this.Controls.Add(this.lbl_ValidacionLicencia); + this.Controls.Add(this.ex_btn_P_Principal_ImpresorasLocal); + this.Controls.Add(this.ex_pnl_Athos); + this.Controls.Add(this.ex_btn_MenuAthos_Mostrar); + this.Controls.Add(this.ex_pnl_MenuIzquierdo); + this.Controls.Add(this.ex_btn_MenuIzquierdo_Mostrar); + this.Controls.Add(this.lbl_EmpresaEjercicioOrden_Activo); + this.Controls.Add(this.lbl_Version); + this.Controls.Add(this.lbl_EmpleadoValidado); + this.Controls.Add(this.ex_msp_Menu); + this.Controls.Add(this.spl_Principal); + this.DoubleBuffered = true; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "P_Principal"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.WindowState = System.Windows.Forms.FormWindowState.Maximized; + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.P_Principal_FormClosed); + this.Load += new System.EventHandler(this.P_Principal_Load); + this.Shown += new System.EventHandler(this.P_Principal_Shown); + ((System.ComponentModel.ISupportInitialize)(this.spl_Principal)).EndInit(); + this.spl_Principal.ResumeLayout(false); + this.ex_pnl_Athos.ResumeLayout(false); + this.ex_pnl_MenuIzquierdo.ResumeLayout(false); + this.ex_pnl_MenuIzquierdo.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private Exferia_Controles.Exferia_MenuSuperior ex_msp_Menu; + private System.Windows.Forms.Label lbl_EmpresaEjercicioOrden_Activo; + private System.Windows.Forms.Label lbl_Version; + private System.Windows.Forms.Label lbl_EmpleadoValidado; + private Exferia_Controles.Exferia_Button_Vertical ex_btn_MenuIzquierdo_Mostrar; + private Exferia_Controles.Exferia_Panel_Degradado_CambioColor ex_pnl_MenuIzquierdo; + private Exferia_Controles.Exferia_Button ex_btn_MenuIzquierdo_AnclarDesanclar; + private Exferia_Controles.Exferia_Button_Vertical ex_btn_MenuAthos_Mostrar; + private Exferia_Controles.Exferia_Panel_Degradado_CambioColor ex_pnl_Athos; + private Exferia_Controles.Exferia_Button ex_btn_Athos_AnclarDesanclar; + private Exferia_Controles.Exferia_TreeView ex_trv_Menu; + private System.Windows.Forms.ImageList imglst_ArbolPrincipal; + private Exferia_Controles.Exferia_Button_ConBorde ex_btn_P_Principal_ImpresorasLocal; + private Exferia_Controles.Exferia_Button ex_btn_MenuIzquierdo_GestionControl; + private System.Windows.Forms.Label lbl_ValidacionLicencia; + private Exferia_Controles.Exferia_Button_ConBorde ex_btn_CambiarLicencia; + private Exferia_Controles.Exferia_Button_ConBorde ex_btn_CambiarEmpresa; + private Exferia_Controles.Exferia_Button ex_btn_MenuIzquierdo_TipoCompraVenta; + private System.Windows.Forms.SplitContainer spl_Principal; + private Exferia_Controles.Exferia_Label exferia_Label1; + private Exferia_Controles.Exferia_TextBox ex_txt_P_Principal_Busqueda; + } +} + diff --git a/SigmaERP_2017/SigmaERP/3_Vistas/P_Principal.cs b/SigmaERP_2017/SigmaERP/3_Vistas/P_Principal.cs new file mode 100644 index 0000000..6deb8e4 --- /dev/null +++ b/SigmaERP_2017/SigmaERP/3_Vistas/P_Principal.cs @@ -0,0 +1,1172 @@ +using Exferia_Actualizacion_BD; +using Exferia_Aplicacion.General; +using Exferia_Aplicacion.Modelos_Generales; +using Exferia_Aplicacion.Modelos_ServiciosWeb; +using Exferia_Aplicacion.Terminal; +using Exferia_Aplicacion.Visualizacion; +using Exferia_Controles; +using Exferia_EntityFramework; +using Exferia_Formularios; +using Exferia_General; +using Microsoft.Win32; +using SigmaERP._3_Vistas; +using SigmaERP._3_Vistas.Controladoras; +using SigmaERP.General; +using SigmaERP.Properties; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Diagnostics; +using System.Drawing; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Reflection; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace SigmaERP +{ + public partial class P_Principal : Form + { + #region Variables privadas + private P_Principal_Controladora g_obj_Controladora; + + //Validacion de la Lincencia + private bool g_bol_ValidandoLicencia = false; + private BackgroundWorker g_bgw_Validacion_Licencia = null;//Tarea Asincrona para Validar Licencia + private System.Windows.Forms.Timer g_timer_TareaAsicrona_Validacion_Licencia = new System.Windows.Forms.Timer(); + + //Buscar opciones en el menu + private System.Windows.Forms.Timer g_timer_Menu_Buscar = new System.Windows.Forms.Timer(); + + #endregion + + #region Objetos en Pantalla + //Panel + internal Panel Panel_PantallasEmpotrar_Principal { get { return spl_Principal.Panel1; } } + internal Panel Panel_PantallasEmpotrar_Secundario { get { return spl_Principal.Panel2; } } + + //Label + internal Label Label_EmpleadoValidado { get { return lbl_EmpleadoValidado; } } + internal Label Label_EmpresaEjercicioOrden_Activo { get { return lbl_EmpresaEjercicioOrden_Activo; } } + + //ImageList + internal ImageList ImageList_ArbolPrincipal { get { return imglst_ArbolPrincipal; } } + + //Exferia_TextBox + internal Exferia_TextBox Exferia_TextBox_Busqueda { get { return ex_txt_P_Principal_Busqueda; } } + + //Exferia_TreeView + internal Exferia_TreeView Exferia_TreeView_Menu { get { return ex_trv_Menu; } } + + //Exferia_Panel_Degradado_CambioColor + internal Exferia_Panel_Degradado_CambioColor Exferia_Panel_Degradado_CambioColor_MenuIzquierdo { get { return ex_pnl_MenuIzquierdo; } } + internal Exferia_Panel_Degradado_CambioColor Exferia_Panel_Degradado_CambioColor_Athos { get { return ex_pnl_Athos; } } + + //Exferia_Button + internal Exferia_Button Exferia_Button_MenuIzquierdo_AnclarDesanclar { get { return ex_btn_MenuIzquierdo_AnclarDesanclar; } } + internal Exferia_Button Exferia_Button_Athos_AnclarDesanclar { get { return ex_btn_Athos_AnclarDesanclar; } } + internal Exferia_Button Exferia_Button_GestionControl { get { return ex_btn_MenuIzquierdo_GestionControl; } } + internal Exferia_Button Exferia_Button_TipoCompraVenta { get { return ex_btn_MenuIzquierdo_TipoCompraVenta; } } + + //Exferia_Button_ConBorde + internal Exferia_Button_ConBorde Exferia_Button_ConBorde_CambiarEmpresa { get { return ex_btn_CambiarEmpresa; } } + + //Exferia_Button_Vertical + internal Exferia_Button_Vertical Exferia_Button_Vertical_MenuIzquierdo_Mostrar { get { return ex_btn_MenuIzquierdo_Mostrar; } } + internal Exferia_Button_Vertical Exferia_Button_Vertical_Athos_Mostrar { get { return ex_btn_MenuAthos_Mostrar; } } + + //Label + internal Label Label_ValidacionLicencia { get { return lbl_ValidacionLicencia; } } + #endregion + + #region Constructor + public P_Principal(string[] _arr_Argumentos_Recibidos) + { + InitializeComponent(); + + //Asignar Colores de Exferia .................................................................. + Colores.G_COLOR_FONDO_BOTON = Color.Transparent; + Colores.G_COLOR_PRINCIPAL_BASE = ColorTranslator.FromHtml("#A19CC3"); + Colores.G_COLOR_PRINCIPAL_OSCURO = ColorTranslator.FromHtml("#504888"); + Colores.G_COLOR_PRINCIPAL_ATENUADO = ColorTranslator.FromHtml("#CBC8DF"); + Colores.G_COLOR_PRINCIPAL_CLARO = ColorTranslator.FromHtml("#EDECF4"); + Colores.G_COLOR_PRINCIPAL_TRASLUCIDO = Color.FromArgb(50, 191, 186, 225); + Colores.G_COLOR_SECUNDARIO_BASE = ColorTranslator.FromHtml("#FFF2C4"); + Colores.G_COLOR_SECUNDARIO_CLARO = ColorTranslator.FromHtml("#FFF9E1"); + Colores.G_COLOR_FONDO_BASE = ColorTranslator.FromHtml("#FFFFFF"); + Colores.G_COLOR_TEXTO_ESCRITO = ColorTranslator.FromHtml("#000000"); + Colores.G_COLOR_ATENCION = ColorTranslator.FromHtml("#c40909"); + Colores.G_COLOR_LISTADO_FILTROS = Color.FromArgb(50, 161, 156, 195); + Colores.G_COLOR_LISTADO_FILTROS_CONTROLESPERSONALIZADOS = Color.FromArgb(70, 161, 156, 195); + Colores.G_COLOR_FONDO_BARRAPROGRESO_RELLENA = ColorTranslator.FromHtml("#504888"); + + Repintar.Empezar(this); + + Cargar_Imagen_Fondo(); + + g_obj_Controladora = new P_Principal_Controladora(this, _arr_Argumentos_Recibidos); + + try + { + CheckForIllegalCrossThreadCalls = false; + + Borrar_Ficheros_Viejos(); + Copiar_FicherosIncrustados(); + + Funciones.Rellenar_Denominaciones(); + Funciones.Rellenar_OpcionTablaCampoCodigo(); + Funciones_Procesos.Rellenar_Procesos(); + Funciones_PanelSecundario.Rellenar_Listados_ArbolSecundarioSeleccion(); + Funciones_FicherosXML.CargarDatosXML_ImpresoraDocumentoLocal(); + + Variables.G_SPL_PANTALLASPRINCIPAL = spl_Principal; + Variables.G_PNL_PANTALLASEMPOTRADAS = spl_Principal.Panel1; + Variables.G_PNL_PANTALLASEMPOTRADAS_SECUNDARIA = spl_Principal.Panel2; + Variables.G_EMS_CONTROL_MENUSUPERIOR = ex_msp_Menu; + Variables.G_OBJ_CONTROLADORA_PANTALLAPRINCIPAL = g_obj_Controladora; + Variables.G_EX_BTN_IMPRESORASLOCALES_PANTALLAPRINCIPAL = ex_btn_P_Principal_ImpresorasLocal; + + //calcular distancia del splitter + spl_Principal.SplitterDistance = this.Width / 2; + spl_Principal.Panel2Collapsed = true; + + //Version + FileVersionInfo fv = System.Diagnostics.FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location); + lbl_Version.Text = "Versión: " + fv.FileVersion.ToString(); + + //Datos del Equipo + try + { + Variables.G_STR_VERSION_SIGMAERP = fv.FileVersion.ToString(); + Variables.G_STR_EQUIPO_MAC = Funciones.Obtener_Direccion_Mac(); + Variables.G_STR_EQUIPO_NOMBRE = Funciones.Obtener_NombreEquipo(); + } + catch + { } + + try + { + Funciones_FicherosXML.CargarDatosXML_OrdenDireccionesActualizacion(); + } + catch + {} + + //Tarea Asincrona para Comprobar la Validación de la Activación + g_bgw_Validacion_Licencia = new BackgroundWorker(); + g_bgw_Validacion_Licencia.DoWork += new DoWorkEventHandler(TareaAsincrona_Validacion_Licencia_DoWork); + g_bgw_Validacion_Licencia.RunWorkerCompleted += new RunWorkerCompletedEventHandler(TareaAsincrona_Validacion_Licencia_Completed); + g_bgw_Validacion_Licencia.WorkerReportsProgress = false; + g_bgw_Validacion_Licencia.WorkerSupportsCancellation = true; + + //El Timer se Utiliza para que cada 5 minutos intente validar si esta activada correctamente esta aplicacion en el Servidor + g_timer_TareaAsicrona_Validacion_Licencia.Interval = 10000; + g_timer_TareaAsicrona_Validacion_Licencia.Tick += delegate (object s, EventArgs ee) + { + Validacion_Licencia(); + }; + } + catch (Control_Errores) + { } + catch (Exception ex) + { + //No se muestra mensaje pero se guarda en el log + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(P_Principal)); + } + finally + { + //Bloquear pantalla hasta que termine la carga por defecto ..... + Enabled = true; + //............................................................. + } + } + #endregion + + #region Inicio de pantalla + private void P_Principal_Load(object sender, EventArgs e) + { + try + { + #region TEMPORIZADOR MENU BUSCAR + g_timer_Menu_Buscar.Interval = 1000; + g_timer_Menu_Buscar.Tick += delegate (object s, EventArgs ee) + { + g_timer_Menu_Buscar.Stop(); + g_obj_Controladora.Recarga_Datos_Arbol_Permisos(true); + }; + #endregion + } + catch(Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(P_Principal_Load)); + } + } + private void P_Principal_Shown(object sender, EventArgs e) + { + Iniciar(); + } + #endregion + + #region Borrar Ficheros y librerias que no sirven + private void Borrar_Ficheros_Viejos() + { + try + { + #region Tesseract + //Libreria + File.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\Tesseract.dll"); + File.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\Tesseract.txt"); + + //Carpetas + if (Directory.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\tessdata")) + { + Directory.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\tessdata", true); + } + if (Directory.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\x64")) + { + Directory.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\x64", true); + } + + if (Directory.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\x86")) + { + Directory.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\x86", true); + } + #endregion + + #region Spire + //Libreria + File.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\Spire.dll"); + File.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\Spire.txt"); + #endregion + + } + catch (Exception ex) + { + //No se muestra mensaje pero se guarda en el log + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Borrar_Ficheros_Viejos)); + } + } + #endregion + + #region Copiar Ficheros Incrustados + private void Copiar_FicherosIncrustados() + { + try + { + #region Librerias PDFLibNet + + //PdfLibNetLibrary ################################################################################## + byte[] arr_Fichero_incrustado_PdfLibNetLibrary = null; + Assembly obj_Assembly_PdfLibNetLibrary = System.Reflection.Assembly.GetExecutingAssembly(); + using (Stream obj_Stream_Fichero = obj_Assembly_PdfLibNetLibrary.GetManifestResourceStream("SigmaERP.FicherosIncrustados.PdfLibNetLibrary.dll")) + { + if (obj_Stream_Fichero != null) + { + arr_Fichero_incrustado_PdfLibNetLibrary = new byte[obj_Stream_Fichero.Length]; + obj_Stream_Fichero.Read(arr_Fichero_incrustado_PdfLibNetLibrary, 0, arr_Fichero_incrustado_PdfLibNetLibrary.Length); + } + } + + if (!File.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_PDFLIBNETLIBRARY)) + { + //poner en la carpeta + File.WriteAllBytes(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_PDFLIBNETLIBRARY, arr_Fichero_incrustado_PdfLibNetLibrary); + } + + //PdfLibNet32 ################################################################################## + byte[] arr_Fichero_incrustado_PdfLibNet32 = null; + Assembly obj_Assembly_PdfLibNet32 = System.Reflection.Assembly.GetExecutingAssembly(); + using (Stream obj_Stream_Fichero = obj_Assembly_PdfLibNet32.GetManifestResourceStream("SigmaERP.FicherosIncrustados.PdfLibNet32.dll")) + { + if (obj_Stream_Fichero != null) + { + arr_Fichero_incrustado_PdfLibNet32 = new byte[obj_Stream_Fichero.Length]; + obj_Stream_Fichero.Read(arr_Fichero_incrustado_PdfLibNet32, 0, arr_Fichero_incrustado_PdfLibNet32.Length); + } + } + + if (!File.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_PDFLIBNET32)) + { + //poner en la carpeta + File.WriteAllBytes(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_PDFLIBNET32, arr_Fichero_incrustado_PdfLibNet32); + } + + //PDFLibNet64 ################################################################################## + byte[] arr_Fichero_incrustado_PDFLibNet64 = null; + Assembly obj_Assembly_PDFLibNet64 = System.Reflection.Assembly.GetExecutingAssembly(); + using (Stream obj_Stream_Fichero = obj_Assembly_PDFLibNet64.GetManifestResourceStream("SigmaERP.FicherosIncrustados.PDFLibNet64.dll")) + { + if (obj_Stream_Fichero != null) + { + arr_Fichero_incrustado_PDFLibNet64 = new byte[obj_Stream_Fichero.Length]; + obj_Stream_Fichero.Read(arr_Fichero_incrustado_PDFLibNet64, 0, arr_Fichero_incrustado_PDFLibNet64.Length); + } + } + + if (!File.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_PDFLIBNET64)) + { + //poner en la carpeta + File.WriteAllBytes(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_PDFLIBNET64, arr_Fichero_incrustado_PDFLibNet64); + } + #endregion + + #region Actualizador + bool bol_Copiar_ExferiaActualizador = false; + byte[] arr_Fichero_incrustado_Actualizador = null; + //Version del ExferiaActualiazdor.exe incrustado + string str_Version_Fichero_Incrustado = ""; + Assembly obj_Assembly_Actualizador = System.Reflection.Assembly.GetExecutingAssembly(); + using (Stream obj_Stream_Fichero = obj_Assembly_Actualizador.GetManifestResourceStream("SigmaERP.FicherosIncrustados.ExferiaActualizador.exe")) + { + if (obj_Stream_Fichero != null) + { + arr_Fichero_incrustado_Actualizador = new byte[obj_Stream_Fichero.Length]; + obj_Stream_Fichero.Read(arr_Fichero_incrustado_Actualizador, 0, arr_Fichero_incrustado_Actualizador.Length); + + Assembly obj_Assembly_AUX = System.Reflection.Assembly.Load(arr_Fichero_incrustado_Actualizador); + str_Version_Fichero_Incrustado = obj_Assembly_AUX.GetName().Version.ToString(); + } + } + + //Existe ExferiaActualiazdor.exe + if (File.Exists(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_ACTUALIZADOR)) + { + FileVersionInfo obj_FileVersion_Exferia_Aplicacion = FileVersionInfo.GetVersionInfo(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_ACTUALIZADOR); + Version obj_Version_Exferia_Aplicacion = Version.Parse(obj_FileVersion_Exferia_Aplicacion.FileVersion); + string str_Version_Fichero_Local = obj_Version_Exferia_Aplicacion.ToString(); + + if (str_Version_Fichero_Local != str_Version_Fichero_Incrustado) + { + //Borrar el Fichero Local + File.Delete(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_ACTUALIZADOR); + + bol_Copiar_ExferiaActualizador = true; + } + } + else + { + bol_Copiar_ExferiaActualizador = true; + } + + if (bol_Copiar_ExferiaActualizador) + { + //poner en la carpeta + File.WriteAllBytes(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables_SigmaERP.G_STR_EXFERIA_ACTUALIZADOR, arr_Fichero_incrustado_Actualizador); + } + #endregion + + } + catch (Exception ex) + { + //No se muestra mensaje pero se guarda en el log + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Copiar_FicherosIncrustados)); + } + } + #endregion + + private void Iniciar() + { + try + { + //1º Conexion a base de datos + if (Iniciar_ConexionBD()) + { + //2º Licencia + if (Iniciar_Licencia()) + { + //3º Iniciar las Actualizaciones de las librerias + if (Variables.G_MDL_LICENCIA_VALIDADA.fechaFinActualizaciones == "") + { + Iniciar_Actualizaciones(); + } + + //4º Validar el Usuario + g_obj_Controladora.Validacion_Usuario(); + } + else + { + this.Close(); + } + } + else + { + this.Close(); + } + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Iniciar)); + + this.Close(); + } + } + + private bool Iniciar_ConexionBD() + { + bool bol_TodoCorrecto = true; + + try + { + //Conexion ....................................... + try + { + Funciones_FicherosXML.CargarDatosXML_ConexionBD(); + } + catch (Control_Errores) + { + Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_ERROR_CARGA_DATOSXML()); + } + //................................................. + + //Validar si la Conexion es Correcta .............. + if (Datos_Generales.Comprobar_Conexion_SQLServer()) + { + try + { + Funciones_FicherosXML.CargarDatosXML_ConexionBD_KairosPRO(); + + //Validar Version de EntityFramework de Exferia, por si hay que ejecutar script + Datos_Actualizacion_BD obj_Datos_Actualizacion_BD = new Datos_Actualizacion_BD(); + int int_ValorDevuelto = obj_Datos_Actualizacion_BD.Comprobar_Actualizaciones_BD(System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_ENTITYFRAMEWORK); + + //-1 Ocurrio un Error + // 1 incompatible, version antigua de Exferia_EntityFramework + // 0 Todo Correcto + if (int_ValorDevuelto == 0) + { + //Cambiar el Icono de la impresoras Locales + //Cargamos el ensamblado ######################################################################################################################################################################### + Assembly m_assembly_1 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_INFORMES + ".dll"); + //Obtenemos el tipo de la clase + Type m_type_1 = m_assembly_1.GetType("" + Variables.G_STR_LIBRERIA_INFORMES + "." + Variables.G_STR_LIBRERIA_DATOSINFORMES); + //creamos la instancia + var obj_Clase_1 = Activator.CreateInstance(m_type_1); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo_1 = obj_Clase_1.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSINFORMES_PROCEDIMIENTO_INFIMPRESORAS_DEVOLVERASIGNACIONIMPRESORASLOCALES, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros_1 = { }; + + //Pasamos los parametros al metodo y lo ejecutamos + int int_ValorAsignacion = (int)obj_MethodInfo_1.Invoke(obj_Clase_1, arr_Parametros_1); + //################################################################################################################################################################################################## + + Funciones.Cambiar_Icono_Impresora_PantallaPrincipal(int_ValorAsignacion); + + //Comprobamos que exista o no el superadmin, si no existe, lo creará. + Datos_Generales.USR_Usuarios_Existe_SuperAdmin(); + } + else + { + bol_TodoCorrecto = false; + } + } + catch (Control_Errores) + { } + } + else//Si es False se Cierra la Aplicacion + { + bol_TodoCorrecto = false; + } + } + catch (Control_Errores) + { + bol_TodoCorrecto = false; + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Iniciar_ConexionBD)); + + bol_TodoCorrecto = false; + } + + return bol_TodoCorrecto; + } + + private bool Iniciar_Licencia() + { + bool bol_TodoCorrecto = true; + + try + { + INTERNO_ServicioWeb_Licencia_Modelo mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal = Funciones_FicherosXML.CargarDatosXML_Licencia(); + if (mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal == null) + { + //Pedir Datos del Cliente + PE_ValidacionLicencia frm_PE_ValidacionLicencia = new PE_ValidacionLicencia(); + frm_PE_ValidacionLicencia.ShowDialog(); + + if (frm_PE_ValidacionLicencia.PE_ValidacionLicencia_ValidacionCorrecta == false) + { + bol_TodoCorrecto = false; + } + else + { + //Reiniciar Aplicacion + Application.Restart(); + } + } + else + { + Variables.G_LNG_IDCLIENTE_LICENCIAVALIDADO = mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal.idCliente; + Variables.G_MDL_LICENCIA_VALIDADA = mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal; + + //GRBAR EN BASE DE DATOS + PRV_LicenciaDatos mdl_PRV_LicenciaDatos = new PRV_LicenciaDatos(); + mdl_PRV_LicenciaDatos.id = -1; + mdl_PRV_LicenciaDatos.idCliente = mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal.idCliente; + mdl_PRV_LicenciaDatos.nombreComercial = mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal.ClienteNombreComercial; + mdl_PRV_LicenciaDatos.razonSocial = mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal.ClienteRazonSocial; + Datos_Generales.PRV_LicenciaDatos_Grabar(mdl_PRV_LicenciaDatos); + + //Bloquear opciones antes de que se valide con el ServicioWEB + Datos_Generales.PRV_OpcionesDisponiblesParaCliente_Bloquear_Productos_SegunLicenciasFechas(mdl_INTERNO_ServicioWeb_Licencia_Modelo_Temporal); + Datos_Generales.PRV_Productos_Cargar(); + + //validar licencia con el Servidor + g_timer_TareaAsicrona_Validacion_Licencia.Start(); + } + } + catch (Control_Errores) + { + bol_TodoCorrecto = false; + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Iniciar_Licencia)); + bol_TodoCorrecto = false; + } + return bol_TodoCorrecto; + + + } + + private void Iniciar_Actualizaciones() + { + try + { + // Proceso de actualización + ProcessStartInfo obj_ProcessStartInfo = new ProcessStartInfo(); + + //Grabar en Fichero + Registry.SetValue(Variables.G_STR_KEYNAME, Variables.G_STR_KEYVALUE, 1); + + //Ruta Principal + string str_Ruta = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + str_Ruta = str_Ruta.Replace(" ", ","); + + //Nombre del Ejecutable + string str_NombreEjecutable = System.IO.Path.GetFileName(System.Reflection.Assembly.GetExecutingAssembly().Location); + str_NombreEjecutable = str_NombreEjecutable.Replace(" ", ","); + + #region Fibra/ADSL/Local + string str_DireccionesActualizacion = ""; + + //ADSL/Fibra/Local + if (Variables.G_STR_ORDEN_ACTUALIZACION.Equals("AFL")) + { + str_DireccionesActualizacion = Variables_SigmaERP.G_STR_URL_ACTUALIZACION_NORMAL + "|" + + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_FIBRA + "|" + + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_INTERNA + " "; + } + //ADSL/Local/Fibra + else if (Variables.G_STR_ORDEN_ACTUALIZACION.Equals("ALF")) + { + str_DireccionesActualizacion = Variables_SigmaERP.G_STR_URL_ACTUALIZACION_NORMAL + "|" + + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_INTERNA + "|" + + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_FIBRA + " "; + } + //Local/Fibra/ADSL + else if (Variables.G_STR_ORDEN_ACTUALIZACION.Equals("LFA")) + { + str_DireccionesActualizacion = Variables_SigmaERP.G_STR_URL_ACTUALIZACION_INTERNA + "|" + + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_FIBRA + "|" + + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_NORMAL + " "; + } + //Local/ADSL/Fibra + else if (Variables.G_STR_ORDEN_ACTUALIZACION.Equals("LAF")) + { + str_DireccionesActualizacion = Variables_SigmaERP.G_STR_URL_ACTUALIZACION_INTERNA + "|" + + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_NORMAL + "|" + + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_FIBRA + " "; + } + //Fibra/Local/ADSL + else if (Variables.G_STR_ORDEN_ACTUALIZACION.Equals("FLA")) + { + str_DireccionesActualizacion = Variables_SigmaERP.G_STR_URL_ACTUALIZACION_FIBRA + "|" + + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_INTERNA + "|" + + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_NORMAL + " "; + } + //Fibra/ADSL/Local + else + { + str_DireccionesActualizacion = Variables_SigmaERP.G_STR_URL_ACTUALIZACION_FIBRA + "|" + + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_NORMAL + "|" + + Variables_SigmaERP.G_STR_URL_ACTUALIZACION_INTERNA + " "; + } + #endregion + + obj_ProcessStartInfo.Arguments = str_Ruta + " " + + str_DireccionesActualizacion + + str_NombreEjecutable + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_BARCODELIB + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_MAPA_CORE + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_MAPA_WINDOWSFORMS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_MSHTML + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_ITEXTSHERP + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_PDF4ME + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_NEWTONSOFT + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_GMAQRCODENETENCODINGNET45 + " " + + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_ACTUALIZACION_BD + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_AGENDA + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_APLICACION + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_AYUDA + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_COMPRAS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CONTABILIDAD + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CONTROLGASTOS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CONTROLES + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CRM + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_ENTITYFRAMEWORK + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_EXPEDIENTES + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_FORMULARIOS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_GENERAL + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_GESTIONTASAS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_HERMES + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_HOTELPUNTOVENTA + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_INFORMES + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_INVENTARIOS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KAIROSPRO + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KAIROSPRO_EF + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KAIROSPRO_INFORMES + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KRONOS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_KRONOS_SERVICIO_WINDOWS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_MAESTROS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_MYTHOS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_PERSONAL + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_PREVISIONES + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_VENTAS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_SERVICIOS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_SINCRONIZACION + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_SERVICIOSWEB + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_SISTEMAGESTIONALMACEN + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_TRASPASODATOS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_CONTRATOSPUBLICOS + " " + + Variables_SigmaERP.G_STR_NOMBRELIBRERIAS_EXFERIA_GESTIONDOCUMENTAL + ; + + obj_ProcessStartInfo.WindowStyle = ProcessWindowStyle.Normal; + obj_ProcessStartInfo.FileName = System.IO.Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + @"\" + Variables_SigmaERP.G_STR_EXFERIA_ACTUALIZADOR; + + //Se lanza el Proceso + Process.Start(obj_ProcessStartInfo); + + Application.DoEvents(); + Thread.Sleep(1000); + Application.DoEvents(); + + //Comprobar que la libreria de exferia termino + System.Windows.Forms.Timer timer_AUX = new System.Windows.Forms.Timer(); + timer_AUX.Interval = 50; + timer_AUX.Tick += delegate (object s, EventArgs ee) + { + int int_Valor_Actualizador = (int)Registry.GetValue(Variables.G_STR_KEYNAME, Variables.G_STR_KEYVALUE, 0); + + if (int_Valor_Actualizador == 1) + { + timer_AUX.Stop(); + timer_AUX.Dispose(); + } + }; + timer_AUX.Start(); + //#################################################################### + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Iniciar_Actualizaciones)); + + //Grabar en Fichero + Registry.SetValue(Variables.G_STR_KEYNAME, Variables.G_STR_KEYVALUE, 0); + } + } + + private void ex_trv_Menu_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) + { + if (e.Node.Tag.ToString().Equals("0"))//Esta Activo + { + g_obj_Controladora.Cargar_Pantalla_SegunNodo(e.Node.Name); + } + } + + #region Impresora Local + private void ex_btn_P_Principal_ImpresorasLocal_Click(object sender, EventArgs e) + { + g_obj_Controladora.ImpresorasLocales(); + } + + #endregion + + #region Menu Athos Emergente + + private void btn_MenuAthos_Mostrar_Click(object sender, EventArgs e) + { + if (ex_pnl_Athos.Visible) + { + ex_pnl_Athos.Visible = false; + } + else + { + ex_pnl_Athos.Visible = true; + } + } + + private void btn_Athos_AnclarDesanclar_Click(object sender, EventArgs e) + { + MenuAthos_AnclarDesanclar(ex_btn_Athos_AnclarDesanclar.Tag.ToString()); + } + public void MenuAthos_AnclarDesanclar(string _str_Tipo) + { + //Anclar + if (_str_Tipo.Equals("0")) + { + Variables.G_BOL_MENUATHOS_ANCLADO = true; + Exferia_Button_Athos_AnclarDesanclar.Tag = "1"; + Exferia_Button_Athos_AnclarDesanclar.Text = "7"; + + //Oculto el boton de Menu + Exferia_Button_Vertical_Athos_Mostrar.Visible = false; + + //Ruedo el menu para la derecha + Exferia_Panel_Degradado_CambioColor_Athos.Location = new Point(Exferia_Panel_Degradado_CambioColor_Athos.Location.X + Exferia_Button_Vertical_Athos_Mostrar.Width, Exferia_Panel_Degradado_CambioColor_Athos.Location.Y); + + //Mover el panel principal + spl_Principal.Size = new Size((spl_Principal.Size.Width - Exferia_Panel_Degradado_CambioColor_Athos.Width) + Exferia_Button_Vertical_Athos_Mostrar.Width, spl_Principal.Size.Height); + } + //Desanclar + else + { + Variables.G_BOL_MENUATHOS_ANCLADO = false; + Exferia_Button_Athos_AnclarDesanclar.Tag = "0"; + Exferia_Button_Athos_AnclarDesanclar.Text = "8"; + + //Ruedo el panel de athos para la izquierda + Exferia_Panel_Degradado_CambioColor_Athos.Location = new Point(Exferia_Panel_Degradado_CambioColor_Athos.Location.X - Exferia_Button_Vertical_Athos_Mostrar.Width, Exferia_Panel_Degradado_CambioColor_Athos.Location.Y); + + //Mustro el boton de Menu + Exferia_Button_Vertical_Athos_Mostrar.Visible = true; + + //Mover el panel principal + spl_Principal.Size = new Size((spl_Principal.Size.Width + Exferia_Panel_Degradado_CambioColor_Athos.Width) - Exferia_Button_Vertical_Athos_Mostrar.Width, spl_Principal.Size.Height); + } + } + #endregion + + #region Menu Izquierdo Emergente + private void btn_MenuIzquierdo_Mostrar_Click(object sender, EventArgs e) + { + if (ex_pnl_MenuIzquierdo.Visible) + { + ex_pnl_MenuIzquierdo.Visible = false; + } + else + { + ex_pnl_MenuIzquierdo.Visible = true; + } + } + private void btn_MenuIzquierdo_AnclarDesanclar_Click(object sender, EventArgs e) + { + MenuIzquierdo_AnclarDesanclar(ex_btn_MenuIzquierdo_AnclarDesanclar.Tag.ToString()); + } + + public void MenuIzquierdo_AnclarDesanclar(string _str_Tipo) + { + //Anclar + if (_str_Tipo.Equals("0")) + { + Variables.G_BOL_MENUIZQUIERDO_ANCLADO = true; + Exferia_Button_MenuIzquierdo_AnclarDesanclar.Tag = "1"; + Exferia_Button_MenuIzquierdo_AnclarDesanclar.Text = "7"; + + //Oculto el boton de Menu + Exferia_Button_Vertical_MenuIzquierdo_Mostrar.Visible = false; + + //Ruedo el menu para la izquierda + Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Location = new Point(0, Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Location.Y); + + //Mover el panel principal + spl_Principal.Location = new Point(Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Width + 5, spl_Principal.Location.Y); + spl_Principal.Size = new Size((spl_Principal.Size.Width - Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Width) + Exferia_Button_Vertical_MenuIzquierdo_Mostrar.Width, spl_Principal.Size.Height); + + } + //Desanclar + else + { + Variables.G_BOL_MENUIZQUIERDO_ANCLADO = false; + Exferia_Button_MenuIzquierdo_AnclarDesanclar.Tag = "0"; + Exferia_Button_MenuIzquierdo_AnclarDesanclar.Text = "9"; + //btn_MenuIzquierdo_AnclarDesanclar.BackgroundImage = global::SigmaERP.Properties.Resources.i_Anclar_No; + + //Ruedo el menu para la derecha + Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Location = new Point(21, Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Location.Y); + + //Mustro el boton de Menu + Exferia_Button_Vertical_MenuIzquierdo_Mostrar.Visible = true; + + //Mover el panel principal + spl_Principal.Location = new Point(Exferia_Button_Vertical_MenuIzquierdo_Mostrar.Width + 5, spl_Principal.Location.Y); + spl_Principal.Size = new Size((spl_Principal.Size.Width + Exferia_Panel_Degradado_CambioColor_MenuIzquierdo.Width) - Exferia_Button_Vertical_MenuIzquierdo_Mostrar.Width, spl_Principal.Size.Height); + } + } + + private void ex_txt_P_Principal_Busqueda_Exferia_TextBox_Evento_TextChanged(object sender, EventArgs e) + { + g_timer_Menu_Buscar.Stop(); + g_timer_Menu_Buscar.Start(); + } + #endregion + + #region Empresas + public void Cargar_Empresa_Activo() + { + Label_EmpresaEjercicioOrden_Activo.Text = + Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO.str_Empresa_Descripcion + " - " + + "(" + Variables.G_DTT_FECHA_INICIAL_PORDEFECTO.ToString("dd/MM/yyyy") + ")"; + } + + private void ex_btn_CambiarEmpresa_Click(object sender, EventArgs e) + { + g_obj_Controladora.Cargar_Pantalla_SegunOpcion(Variables.G_STR_OPCION_GEN_EMPRESASELECCION); + } + + #endregion + + private void Cargar_Imagen_Fondo() + { + try + { + //Si la Imagen en la ruta no existe, copia la que tengo incrustada en el proyecto a la ruta local + if (!File.Exists(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\Imagen_Sigma.png")) + { + Resources.logo_sigmaERP.Save(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\Imagen_Sigma.png"); + } + + BackgroundImage = Image.FromFile(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\Imagen_Sigma.png"); + } + catch (Exception) + { } + } + + #region Licencia + private bool g_bol_Recargar_Arbol = false; + private void ex_btn_CambiarLicencia_Click(object sender, EventArgs e) + { + try + { + //Buscar la opcion del nodo pulsdo + INTERNO_OpcionesDetalle_Modelo mdl_INTERNO_OpcionesDetalle_Modelo = Datos_Generales.PRV_Opciones_Buscar_Detalles(Variables.G_STR_OPCION_GEN_LICENCIASPRODUCTOS); + if (mdl_INTERNO_OpcionesDetalle_Modelo != null) + { + //Cargamos el ensamblado + Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_GENERAL + ".dll"); + //Obtenemos el tipo de la clase + Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_GENERAL + "." + Variables.G_STR_LIBRERIA_OPCIONES); + //creamos la instancia + var obj_Clase = Activator.CreateInstance(m_type); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_MOSTRAR_EN_MANTENIMIENTO, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros = { Variables.G_STR_OPCION_GEN_LICENCIASPRODUCTOS, null, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, mdl_INTERNO_OpcionesDetalle_Modelo, -1, "", "", null,null }; + //Pasamos los parametros al metodo y lo ejecutamos + obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); + } + } + catch (FileNotFoundException ex) + { + Mensajes.MostrarMensaje(Mensajes.G_STR_MENSAJES_GENERAL_NOENCUENTRALIBRERIA()); + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(ex_btn_CambiarLicencia_Click)); + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(ex_btn_CambiarLicencia_Click)); + } + } + + private void Validacion_Licencia() + { + try + { + if (g_bol_ValidandoLicencia == false) + { + g_bol_ValidandoLicencia = true; + //## Arrancar Tarea Asincrona ###################### + g_bgw_Validacion_Licencia.RunWorkerAsync(); + //################################################## + } + } + catch (Exception ex) + { + Control_Errores.Errores_Log("",ex, nameof(P_Principal) + "/" + nameof(Validacion_Licencia)); + g_bol_ValidandoLicencia = false; + } + } + private void TareaAsincrona_Validacion_Licencia_DoWork(object sender, DoWorkEventArgs e) + { + INTERNO_ServicioWeb_Licencia_Modelo mdl_INTERNO_ServicioWeb_Licencia_Modelo = new INTERNO_ServicioWeb_Licencia_Modelo(); + mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta = Variables.G_INT_VALIDARLICENCIA_RESPUESTA_ERROR; + + try + { + //Llama al Servicio Web para Actualizar + //Cargamos el ensamblado ######################################################################################################################################################################### + Assembly m_assembly_1 = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_SERVICIOWEB + ".dll"); + //Obtenemos el tipo de la clase + Type m_type_1 = m_assembly_1.GetType("" + Variables.G_STR_LIBRERIA_SERVICIOWEB + "." + Variables.G_STR_LIBRERIA_DATOSSERVICIOWEB); + //creamos la instancia + var obj_Clase_1 = Activator.CreateInstance(m_type_1); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo_1 = obj_Clase_1.GetType().GetMethod(Variables.G_STR_LIBRERIA_DATOSSERVICIOWEB_PROCEDIMIENTO_VALIDAR_LICENCIA, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros_1 = { Variables.G_MDL_LICENCIA_VALIDADA.idCliente, + Variables.G_MDL_LICENCIA_VALIDADA.numeroLicencia + }; + + //Pasamos los parametros al metodo y lo ejecutamos + mdl_INTERNO_ServicioWeb_Licencia_Modelo = (INTERNO_ServicioWeb_Licencia_Modelo)obj_MethodInfo_1.Invoke(obj_Clase_1, arr_Parametros_1); + //################################################################################################################################################################################################## + + //Esta validado correctamente + if (mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta.Equals(Variables.G_INT_VALIDARLICENCIA_RESPUESTA_NUMEROLICENCIA_CORRECTO)) + { + //Actualizar variables validacion de licencia + Variables.G_MDL_LICENCIA_VALIDADA = mdl_INTERNO_ServicioWeb_Licencia_Modelo; + Funciones_FicherosXML.CrearDocumentoXML_Licencia(Variables.G_MDL_LICENCIA_VALIDADA); + + g_bol_Recargar_Arbol = Datos_Generales.PRV_OpcionesDisponiblesParaCliente_Actualizar_Segun_ProductosLicenciasFechas(); + + Datos_Generales.PRV_Productos_Cargar(); + + //GRBAR EN BASE DE DATOS + PRV_LicenciaDatos mdl_PRV_LicenciaDatos = new PRV_LicenciaDatos(); + mdl_PRV_LicenciaDatos.id = -1; + mdl_PRV_LicenciaDatos.idCliente = mdl_INTERNO_ServicioWeb_Licencia_Modelo.idCliente; + mdl_PRV_LicenciaDatos.nombreComercial = mdl_INTERNO_ServicioWeb_Licencia_Modelo.ClienteNombreComercial; + mdl_PRV_LicenciaDatos.razonSocial = mdl_INTERNO_ServicioWeb_Licencia_Modelo.ClienteRazonSocial; + Datos_Generales.PRV_LicenciaDatos_Grabar(mdl_PRV_LicenciaDatos); + + + } + } + catch (ThreadAbortException ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "" + nameof(TareaAsincrona_Validacion_Licencia_DoWork)); + mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta = Variables.G_INT_VALIDARLICENCIA_RESPUESTA_ERROR_TAREAASINCRONA; + } + catch (Control_Errores) + { + mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta = Variables.G_INT_VALIDARLICENCIA_RESPUESTA_ERROR_TAREAASINCRONA; + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "" + nameof(TareaAsincrona_Validacion_Licencia_DoWork)); + mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta = Variables.G_INT_VALIDARLICENCIA_RESPUESTA_ERROR_TAREAASINCRONA; + } + finally + { + e.Result = mdl_INTERNO_ServicioWeb_Licencia_Modelo; + } + } + private void TareaAsincrona_Validacion_Licencia_Completed(object sender, RunWorkerCompletedEventArgs e) + { + try + { + INTERNO_ServicioWeb_Licencia_Modelo mdl_INTERNO_ServicioWeb_Licencia_Modelo = (INTERNO_ServicioWeb_Licencia_Modelo)e.Result; + + // Hubo un Error en tarea Asincrna + if (mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta.Equals(Variables.G_INT_VALIDARLICENCIA_RESPUESTA_ERROR_TAREAASINCRONA)) + { } + // Hubo un Error + else if (mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta.Equals(Variables.G_INT_VALIDARLICENCIA_RESPUESTA_ERROR)) + { } + //No esta Activado Correctamente + else if (mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta.Equals(Variables.G_INT_VALIDARLICENCIA_RESPUESTA_NUMEROLICENCIA_INCORRECTO)) + { + g_timer_TareaAsicrona_Validacion_Licencia.Stop(); + g_timer_TareaAsicrona_Validacion_Licencia.Dispose(); + + PE_ValidacionLicencia frm_PE_ValidacionLicencia = new PE_ValidacionLicencia(); + frm_PE_ValidacionLicencia.ShowDialog(); + + if (frm_PE_ValidacionLicencia.PE_ValidacionLicencia_ValidacionCorrecta == false) + { + this.Close(); + } + else + { + if (g_obj_Controladora != null) + { + g_obj_Controladora.Mostrar_DatosLicencia(); + } + } + } + // Existe y esta dentro de la validez + else if (mdl_INTERNO_ServicioWeb_Licencia_Modelo.respuesta.Equals(Variables.G_INT_VALIDARLICENCIA_RESPUESTA_NUMEROLICENCIA_CORRECTO)) + { + g_timer_TareaAsicrona_Validacion_Licencia.Stop(); + g_timer_TareaAsicrona_Validacion_Licencia.Dispose(); + + if (g_obj_Controladora != null) + { + g_obj_Controladora.Mostrar_DatosLicencia(); + } + + if (g_bol_Recargar_Arbol) + { + g_obj_Controladora.Recarga_Datos_Arbol_Permisos(false); + } + } + } + catch (Exception ex) + { + Control_Errores.Errores_Log("",ex, nameof(P_Principal) + "/" + nameof(TareaAsincrona_Validacion_Licencia_Completed)); + } + finally + { + g_bol_ValidandoLicencia = false; + } + } + + #endregion + + #region Opciones del Super Administrador + private void ex_btn_MenuIzquierdo_GestionControl_Click(object sender, EventArgs e) + { + try + { + //Buscar la opcion del nodo pulsdo + INTERNO_OpcionesDetalle_Modelo mdl_INTERNO_OpcionesDetalle_Modelo = Datos_Generales.PRV_Opciones_Buscar_Detalles(Variables.G_STR_OPCION_GEN_PERFILESFUNCIONALIDAD); + if (mdl_INTERNO_OpcionesDetalle_Modelo != null) + { + + //Cargamos el ensamblado + Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_GENERAL + ".dll"); + //Obtenemos el tipo de la clase + Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_GENERAL + "." + Variables.G_STR_LIBRERIA_OPCIONES); + //creamos la instancia + var obj_Clase = Activator.CreateInstance(m_type); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_CARGAR_LISTADO, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros = { mdl_INTERNO_OpcionesDetalle_Modelo.opcion, false, 0, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, "", "", false, false, null, null, null, null, null, null }; + //Pasamos los parametros al metodo y lo ejecutamos + obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); + } + } + catch (FileNotFoundException ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(ex_btn_MenuIzquierdo_GestionControl_Click)); + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(ex_btn_MenuIzquierdo_GestionControl_Click)); + } + } + + private void ex_btn_MenuIzquierdo_TipoCompraVenta_Click(object sender, EventArgs e) + { + try + { + //Buscar la opcion del nodo pulsdo + INTERNO_OpcionesDetalle_Modelo mdl_INTERNO_OpcionesDetalle_Modelo = Datos_Generales.PRV_Opciones_Buscar_Detalles(Variables.G_STR_OPCION_GEN_TIPOCOMPRAVENTA); + if (mdl_INTERNO_OpcionesDetalle_Modelo != null) + { + //Cargamos el ensamblado + Assembly m_assembly = Assembly.LoadFrom(Variables.G_STR_LIBRERIA_RUTAINICIAL + @"\" + Variables.G_STR_LIBRERIA_GENERAL + ".dll"); + //Obtenemos el tipo de la clase + Type m_type = m_assembly.GetType(Variables.G_STR_LIBRERIA_GENERAL + "." + Variables.G_STR_LIBRERIA_OPCIONES); + //creamos la instancia + var obj_Clase = Activator.CreateInstance(m_type); + //Cargamos el metodo solicitado + MethodInfo obj_MethodInfo = obj_Clase.GetType().GetMethod(Variables.G_STR_LIBRERIA_OPCIONES_PROCEDIMIENTO_CARGAR_LISTADO, BindingFlags.Instance | BindingFlags.NonPublic); + + //Obtener valores + object[] arr_Parametros = { mdl_INTERNO_OpcionesDetalle_Modelo.opcion, false, 0, null, Variables.G_MDL_INTERNO_VALORESGENERALES_MODELO, Variables.G_DTT_FECHA_INICIAL_PORDEFECTO, "", "", false, false, null, null, null, null ,null,null}; + //Pasamos los parametros al metodo y lo ejecutamos + obj_MethodInfo.Invoke(obj_Clase, arr_Parametros); + } + } + catch (FileNotFoundException ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(ex_btn_MenuIzquierdo_TipoCompraVenta_Click)); + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(ex_btn_MenuIzquierdo_TipoCompraVenta_Click)); + } + } + #endregion + + private void P_Principal_FormClosed(object sender, FormClosedEventArgs e) + { + g_obj_Controladora.Actualizar_Fichero_ConfiguracionXML(); + } + + #region para que solo tenga una instancia el ERp, y si tiene argumentos abra una pantalla aparte + protected override void WndProc(ref Message m) + { + if (m.Msg == NativeMethods.WM_SHOWME) + { + Activar_FormularioPrincipal(); + } + base.WndProc(ref m); + } + private void Activar_FormularioPrincipal() + { + try + { + if (WindowState == FormWindowState.Minimized) + { + WindowState = FormWindowState.Normal; + } + // get our current "TopMost" value (ours will always be false though) + bool top = TopMost; + // make our form jump to the top of everything + TopMost = true; + // set it back to whatever it was + TopMost = top; + + string str_RutaTemporal = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\GT.txt"; + if (File.Exists(str_RutaTemporal)) + { + string str_Argumento = File.ReadAllText(str_RutaTemporal); + + File.Delete(str_RutaTemporal); + + if (str_Argumento.Trim().Length > 0) + { + string[] arr_Argumentos = new string[1]; + arr_Argumentos[0] = str_Argumento; + g_obj_Controladora.g_arr_Argumentos_Recibidos = arr_Argumentos; + g_obj_Controladora.Validar_ArgumentosProgramaExterno(); + } + + } + } + catch (Exception ex) + { + Control_Errores.Errores_Log("", ex, nameof(P_Principal) + "/" + nameof(Activar_FormularioPrincipal)); + } + } + + #endregion + + + } +} diff --git a/SigmaERP_2017/SigmaERP/3_Vistas/P_Principal.resx b/SigmaERP_2017/SigmaERP/3_Vistas/P_Principal.resx new file mode 100644 index 0000000..09b8aea --- /dev/null +++ b/SigmaERP_2017/SigmaERP/3_Vistas/P_Principal.resx @@ -0,0 +1,1683 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 34 + + + + + AAABAAEAlpYAAAEAIABwawEAFgAAACgAAACWAAAALAEAAAEAIAAAAAAAkF8BABMLAAATCwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo0NMA6NDTBujQ + 0xjo0dRC6NDTa+jQ02ro0NNq6dHUaujQ02ro0NNq6NHUaujQ02ro0NNq6NDTaujQ02ro0dRq6NHUaujQ + 02ro0NNq6NDTaujR1Gro0NNq6dHUaujQ02ro0NRq6NHUaujR1Gro0NNq6NDTaunR1Gro0dRq6NDTaujQ + 02ro0dRq6NHUaunR1Gro0NNq6NDTaujQ02ro0NNq6NDTaujQ02ro0dRq6NDTaunR1Gro0NNq6NDTaujQ + 02rp0dRq6NDTaujQ02ro0NNq6NDTaujR1Gro0NNq6NHUaujQ02ro0NNq6NDUaujQ02ro0NNq6NDTaujQ + 02rp0dRq6NDTaujQ02ro0NNq6dHUaujQ02rp0dRq6NDTaunR1Grp0dRq6NHUaujR1Gro0dRq6dHUaunR + 1Gro0NNq6NDTaujR1Gro0NNq6NDTaunR1Gro0NNq6NDTbOjQ00fo0NQZ6NDUCOjQ1AAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkzNQA+ODDAOnR1A/p0dRb6dHUoujQ + 093o0dTv6NHU/+jQ0//o0NP/6NHU/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jR1P/o0NP/6NDU/+jQ + 0//o0NT/6NDT/+jQ1P/o0dT/6NHU/+jR1P/o0NT/6NHU/+jR1P/o0NT/6NDT/+jR1P/o0dT/6NDT/+jQ + 0//o0NP/6NHU/+jQ0//p0dT/6NDT/+jQ0//o0dT/6NDU/+jQ1P/o0dP/6NDT/+jQ0//o0NP/6NDT/+jQ + 0//o0dT/6NHU/+jQ0//o0dT/6NHU/+nR1P/o0dT/6NDT/+jR1P/o0NP/6NDT/+jQ1P/o0NP/6NDT/+jR + 1P/p0dT/6NDU/+jQ0//o0dT/6dHU/+nR1P/o0dT/6NHU/+jQ0//o0NP/6NDU/+jQ1P/o0NP/6NHU/+jR + 1P/o0dT/6NDU/+jQ0//o0NP/6NHU/+jR1P/p0dT/6dHU/+jQ0/Ho0NPe6NDUpujQ02Ho0NQl6NDUAujO + 0gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6NDTAOOmqQDo0NMQ6NDUfejR1Mjo0dT46NDU/+jQ + 0//o0dT/6NDU/+jQ0//o0NP/6NDT/+jQ0//o0NP/6dHU/+jQ1P/o0NP/6NHU/+jQ1P/o0NP/6NDU/+jQ + 1P/o0NT/6NHU/+jR1P/o0dT/6NHU/+jR1P/o0NP/6NDT/+jQ0//o0dT/6NHU/+jR1P/o0dT/6NHU/+jQ + 0//o0NP/6NDT/+jR1P/p0dT/6NDT/+jR1P/o0NP/6NHU/+jQ1P/o0dT/6NDT/+jQ0//o0NP/6NHU/+jR + 1P/p0dT/6NDT/+nR1P/o0dT/6NHU/+jQ0//o0dT/6NDU/+jR1P/o0NP/6NHU/+jQ1P/o0NT/6NDT/+jQ + 0//o0NP/6NDU/+jQ0//o0NP/6NDT/+jQ0//p0dT/6NHU/+jR1P/o0NP/6NDT/+jQ0//o0dT/6dHU/+jR + 1P/o0dT/6NHU/+jQ0//o0NP/6NHU/+nR1P/o0dT/6NDT/+jQ0//o0dT/6NDU/+jQ0/ro0NPk6NDTj+jQ + 0yvkzM8A6dHUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADp0dQA6dLVBOjQ0zro0NO/6NHU+ujR1P/o0dT/6NDT/+jQ + 0//o0NP/6NDT/+jQ0//o0NT/6NDT/+jR1P/o0dT/6NDT/+jR1P/o0dT/6NDT/+jQ0//o0dT/6NDT/+jQ + 0//o0dT/6NHU/+jR1P/o0NT/6NHU/+jR1P/o0NP/6NDT/+jQ1P/o0NP/6NHU/+jR1P/o0NP/6NDT/+jQ + 0//o0NP/6NDU/+jQ1P/o0dT/6dHU/+nR1P/o0NT/6dHU/+jR1P/o0dT/6NDU/+jQ1P/p0dT/6NDT/+jQ + 0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6dHU/+jR1P/o0NT/6NHU/+jR1P/o0NP/6NDT/+jQ + 1P/o0NT/6NHU/+jR1P/o0dT/6NDT/+jQ0//o0dT/6NDT/+nR1P/o0NP/6NDU/+jQ1P/o0dT/6NHU/+jR + 1P/o0dT/6NDU/+jQ1P/o0NT/6NHU/+jQ1P/o0dT/6NDT/+jQ0//o0NP/6NDT/+nR1P/o0dT/6NDT/+jR + 1Njp0dRg6dHUCOnR1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ0wDo0NME6NHUcejQ0+ro0dT/6NHU/+jQ0//o0dT/6NDT/+jQ + 0//o0NP/6NDT/+jR1P/o0dT/6NHU/+jR1P/o0dT/6NHU/+jR1P/o0NP/6NDT/+jR1P/o0dT/6NDT/+jR + 1P/o0NP/6NDT/+jQ0//o0NP/6dHU/+jQ0//o0NP/6NHU/+jR1P/o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ + 0//o0NT/6NHU/+nR1P/o0dT/6NHU/+jR1P/o0dT/6NHU/+jR1P/o0dT/6NDT/+jR1P/o0dT/6NHU/+jQ + 0//o0NP/6NDT/+jQ0//o0dT/6NDT/+jQ0//o0NT/6NDT/+jQ0//o0NT/6dHU/+jQ0//o0NP/6NDT/+jQ + 0//o0NP/6NDT/+jQ0//p0dT/6NDT/+jQ0//o0dT/6NDT/+nR1P/o0NP/6NDU/+jR1P/o0NT/6NHU/+jR + 1P/o0NP/6NDT/+nR1P/o0NT/6NDU/+jQ1P/p0dT/6NDU/+jQ0//o0NP/6dHU/+nR1P/p0dT/6NDT/+jQ + 0//o0dT36NDTg+jQ0xno0NMA6NDTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA6NDTAOjQ0wTo0NNy6NDT9OjQ0//o0dT/6NDU/+jR1P/o0dT/6NDU/+jR + 1P/o0dT/6NDU/+jR1P/p0dT/6NDT/+jQ1P/o0dT/6dHU/+nR1P/o0NP/6dHU/+jQ1P/o0dT/6NDU/+jR + 1P/o0dT/6NDU/+jQ0//o0NP/6NDU/+jQ1P/o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0dT/6dHU/+jR + 1P/o0NP/6NDT/+jQ0//o0NP/6NDU/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NHU/+jR1P/o0NP/6NDT/+jQ + 0//o0NP/6NHU/+jQ1P/o0dT/6NDT/+jQ0//o0dT/6dHU/+jR1P/o0NP/6NHU/+jQ0//o0NP/6NDU/+jQ + 0//o0NP/6NDT/+jQ0//o0NP/6NHU/+jQ0//o0NT/6NDT/+jR1P/o0NP/6NDT/+jR1P/o0dT/6NHU/+jQ + 0//o0NP/6NHU/+jR1P/o0NP/6NDT/+jR1P/p0dT/6NDT/+jQ0//p0dT/6NHU/+jR1P/o0NP/6NDT/+jQ + 0//o0dT/6NDT/ejQ08Lp0dQg6dHUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADp0dQA6dHVBOjQ03Lo0NP16NDT/+jR1P/o0NP/6NDT/+jR1P/o0dT/6NDT/+nR + 1P/o0dT/6NDT/+jQ1P/o0NP/6NDT/+jR1P/o0dT/6NDT/+jQ0//o0dT/6dHU/+jQ0//o0NP/6NDU/+jQ + 0//o0NP/6NHU/+jQ1P/o0NT/6NDT/+jQ0//o0NP/6NDU/+jQ1P/o0NP/6NDT/+jQ1P/o0dT/6NDT/+jQ + 1P/o0NP/6NDT/+jQ0//o0NP/6NHU/+jQ1P/o0dT/6NHU/+jQ1P/o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ + 0//o0NP/6NDT/+jQ1P/o0NT/6NDT/+jR1P/o0dT/6NHU/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ + 1P/o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0dT/6NDT/+jQ1P/o0NP/6NDT/+jQ0//o0dT/6NDT/+jQ + 1P/o0NP/6NDT/+jQ0//o0NT/6NDT/+jQ0//o0dT/6NHU/+jR1P/o0dT/6NDU/+jQ1P/o0NP/6NDU/+jQ + 0//o0NP/6NDT/+jR1P/o0NOK6NDSBujQ0wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOfP0gDp0dQA6NDTXujQ1PXo0NP/6NDT/+jR1P/o0NP/6NDT/+jR1P/o0dT/6NDT/+jR + 1P/p0dT/6NHU/+jQ0//o0NP/6NHU/+jR1P/o0NT/6NDT/+jQ1P/o0dT/6NDT/+jQ0//o0dT/6NHT/+jQ + 0//o0NP/6NHU/+jR1P/p0dT/6dHU/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NHU/+jQ0//o0NP/6NDU/+jR + 1P/o0NT/6NDT/+jQ0//o0NP/6NHU/+jQ0//o0NP/6NDT/+jQ1P/o0NP/6NDT/+jQ0//p0dT/6NDT/+jR + 1P/o0NP/6NDT/+jQ0//o0NT/6NDU/+nR1P/o0dT/6NHU/+jQ0//o0dT/6NHU/+jQ0//o0NP/6NDT/+jQ + 0//o0NP/6NHU/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NHU/+jQ1P/o0dT/6NDT/+jQ0//o0NP/6NDT/+jQ + 0//o0dT/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ1P/o0dT/6NDT/+jQ0//p0dT/6dHU/+jR + 1P/o0dT/6NDU/+jR1P/o0NT46dHUfejQ0wXo0NMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOjR1ADo0dQp6NDT0ejQ0//o0NT/6NHU/+jQ1P/o0dT/6NHU/+jQ0//o0dT/6NHU/+jQ + 0//o0NP/6NHU/+jQ0//o0NP/6NHU/+jR1P/o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//oz9P/6NDT/+jQ + 0//oz9L/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6M/T/+jQ + 0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ + 0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jP + 0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ + 0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ + 0//o0NP/6NDT/+jQ0//p0dT/6NDT7OjQ0zro0NMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA6dHUAO7T1gDo0dSP6NDT/+jQ0//o0NT/6NHU/+jR1P/o0NT/6dHU/+jQ0//o0NP/6NDT/+jQ + 0//o0dT/6NHU/+jQ0//o0NP/6NDT/+nR1P/r1tj/7tze//Ll5//y5uf/8+bn//Pm5//z5uf/8ubn//Lm + 5//y5uf/8ubn//Pm5//y5uf/8ubn//Lm5//y5uf/8ubn//Pm5//y5uf/8uXn//Lm5//z5uf/8ubn//Lm + 5//z5uf/8+bn//Lm5//z5uf/8+bn//Lm5//z5uf/8+bn//Lm5//z5uf/8ubn//Lm5//y5uf/8ubn//Lm + 5//y5uf/8ubn//Lm5//y5ef/8ubn//Lm5//y5uf/8+bn//Pm5//z5uf/8ubn//Lm5//z5uf/8+bn//Lm + 5//y5uf/8ubn//Pm5//y5uf/8+bn//Pm5//z5uf/8ubn//Lm5//y5uf/8ubn//Lm5//z5uf/8+bn//Lm + 5//y5uf/8ubn//Pm5//z5uf/8ubn//Pm5//y5uf/8ubn//Pm5//y5uf/8ubn//Pm5//y5uf/8+bn//Pm + 5//u3N//69fZ/+rU1v/o0NP/6NDT/+jQ06Xo0NMO6NDTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA6NHUAOjR1C3o0dTk6NDU/+nR1P/o0NP/6NDU/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDU/+nR + 1P/o0NT/6NDT/+jQ0//r1tn/8ODi//bt7v/7+Pj//fz8//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/Pz//Pr6//nz8//z5+j/7drd/+nS1fvnz9Jl6dLUAOPEyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADo0dQA59PVAejR1I7p0dT/6NDT/+jR1P/p0dT/6NHU/+jQ0//p0dT/6NDT/+jR1P/o0NP/6NDT/+jQ + 0//o0NP/69fZ//Pn6P/79/f//v7+//////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////v7//fv7//fu8P/w4eOx69bZBevX2QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADo0NQA6NDUH+jR1N/o0dT/6NHU/+jR1P/o0dT/6NDT/+jR1P/o0NP/6NDT/+nR1P/o0dT/6NDT/+jR + 1P/w4OL/+/f3///+/v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////+/f3P/fr6GP37+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADo0dQA6NHUXunR1Pvo0dT/6NDT/+jR1P/o0NP/6NHU/+jR1P/o0dT/6NDT/+jQ0//o0NP/6tTX//Tp + 6v/9+vv///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////I////FP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0dQA6NHUhOjQ0//o0dT/6NDT/+jQ0//o0dT/6NHU/+jR1P/p0dT/6dHU/+jQ0//q1Nb/9ezt//7+ + /v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////F////Ev///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NMO6NDTyejQ0//o0NP/6NDT/+jR1P/o0dT/6NHU/+jQ1P/o0NT/6NDT/+nR1P/16uv//v7+//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////J////FP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 1ADo0NQQ6NDT0+jQ0//o0dT/6NHU/+jQ0//p0dT/6dHU/+jQ0//o0NP/6NDT//Dg4v/9+/z///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////W////Hf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnR + 1ADp0dQZ6NHU2ejQ0//o0NP/6NHU/+jR1P/o0NT/6NDU/+jR1P/o0NP/7Nnc//z5+f////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////w/f39PP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNQ6NDT++jR1P/o0NP/6NHU/+jR1P/o0dT/6NDT/+jQ0//p09b/9+/w//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////8fDviUc+MASgm5QAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ0//o0NP/6dHU/+jR1P/o0dT/6NDT/+jQ0//v3+H//vz8//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////6Ofl9Xx1anZANygMWVBCAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ0//o0NP/6NHU/+jR1P/o0dT/6NDT/+nS1P/38PD///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////+Pj3/4qFe/hTTD2yV1BBIVdQQQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ0//o0NT/6NDT/+jQ0//o0dT/6NDT/+zY2//8+fr///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////6aimv9VTj//V1BBvFdPQSFXT0EAV05BAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NHU/+jQ1P/o0dT/6NHU/+jQ0//o0NT/6NDT//Hj5f///v7///////////////////////// + ///////////////////////////////////////////////////////////////////9/f3/+Pj3//j4 + 9//4+Pf/+Pj3//j49//4+Pf/+Pj3//j49//6+vn//v7+//////////////////////////////////// + ///////////////////////////////////////////////////7+/v/+Pj3//j49//4+Pf/+Pj3//X0 + 9P/z8fH/8/Hx//Lx8f/18/P/+/f4//z5+f/7+Pj/+/j4//v4+f/8+vr///////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////8nGwv9aU0T/V1BB/1dQQbxXUEAhV1BAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NHU/+nR1P/o0dT/6NHU/+jQ0//o0NP/6NHU//bt7/////////////////////////////// + ///////////////////////////////////////////////////////////////////49/f/u7m1/6Kf + mf+jn5r/o5+a/6Ofmv+in5r/o5+a/6Kfmv+opaD/tbOu/8TCvv/Rz8z/4N/d/+zr6f/z8vL/+vr6///+ + /v////////////////////////////////////////////7+/v/Mysf/op+Z/6Kfmv+jn5r/o6Ca/52Z + lP+Wkoz/lpKM/5WRiv+clY//r6Sg/8W2tf/izdD/59LU/+jT1f/r2Nv/+PP0///+//////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////9fV0f9cVUf/V1BA/1dQQf9XUEGdV1BABFdQ + QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NHU/+jR1P/o0dT/6NDU/+jQ1P/o0NP/69XY//v29/////////////////////////////// + ////////////////////////////////////////////////////////////////////////y8nG/4iE + ff+EgHn/hIB5/4SAef+EgHn/hIB5/4SAef+EgHf/gn51/4N/dv+Ggnn/iYV8/5CMhP+ZlY7/paGa/7u4 + s//08/L///////////////////////////////////////Dv7/+dmpT/g393/4SAef+EgHn/hIB5/4WB + ev+FgXr/hIB5/4F9c/9/e3H/fnlv/5qPiv/bw8b/4srN/+TLz//kzM//49DV//Dm6f/+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////9za1/9gWUr/V09A/1dQQP9XUED1V1BBXVdQ + QABXUEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/7Nja//37+/////////////////////////////// + ////////////////////////////////////////////////////////////////////////8O/u/52a + lP+EgHn/hoJ6/4aCev+Ggnr/hoJ6/4aCe/+FgXn/hIB3/4N/df+CfnT/gn1z/4F9c/+AfHL/gHtw/4N+ + dP/OzMj//////////////////////////////////////83Kx/+IhH3/hYF5/4aCev+Ggnr/hoJ6/4aC + ev+FgXn/hIB3/4F8cv+Ae3H/gXtx/7WmpP/fx8r/4MjM/+PLzv/jzM//3cfN/9/M0v/w5+r/+/n6//// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4P9qY1X/Vk8//1dQQf9XUEH/V1BBxFdQ + QhNXUEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jR1P/o0NP/6NDT/+jQ0//o0NP/7Nja//37+/////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+/8C+ + uv+FgXj/hYF4/4WBeP+FgXn/hYF4/4WBef+FgXj/hIB2/4J9c/+BfXP/gXxy/4F8cv+AfHL/gHtx/355 + b/+gnJX/9vX1////////////////////////////9fT0/6Gel/+EgHf/hYF4/4WBeP+FgXj/hYF4/4WB + eP+FgXj/gn1z/396cP9+eW//jYR8/8+5u//dxcj/38fK/+HJzP/jy87/28bN/9nFzf/bx87/4tTZ//j1 + 9v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4P9qY1X/Vk8//1dQQf9XUEH/V1BB+ldQ + QWFXT0IAV1BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NHU/+nR1P/p0dT/6NDT/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + /////////////////////////////////////////////////////////////////////////////+no + 5/+VkYn/hIB2/4WBeP+FgXj/hYF4/4WBeP+FgXj/hIB3/4F9c/+Ae3H/gHtw/396cP9/enD/f3lv/354 + bv+FgHX/1dLP////////////////////////////1NLP/4iEe/+EgHf/hIB3/4SAd/+EgHf/hYF4/4SB + eP+Df3b/gHpw/395b/99eG3/qJqW/9rCxf/cxMf/3sbJ/+HJzP/jy87/2cXM/9fEy//YxMv/1sPK/+3l + 6P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4P9qY1X/Vk8//1dQQf9XUEH/V1BB/1dQ + QLVXUEIFV1BCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6dHU/+jQ1P/o0NP/6NHU/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////39 + /f+7uLP/hIB3/4SAd/+EgHf/hIB3/4SAd/+EgHf/hIB3/4J9dP9/em//fnlu/354bf99eGz/fXhs/3x3 + a/97dWn/pKCZ//j39//////////////////49/f/qqeh/4N/dv+EgHf/hIB3/4SAd/+EgHf/hIB3/4SA + d/+BfHL/fnht/314bP+EfnT/xrGy/9zDx//dxcj/38fK/+LKzf/jzM//2MTM/9bDy//Ww8v/1MHK/+zj + 5/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4P9qY1X/Vk8//1dQQf9XUED/V1BB/1dQ + QelXUEEtV1BBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnR + 1ADp0dRX6dHU/+jQ1P/o0NT/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///j4uD/kYyF/4N/dv+EgHf/hIB3/4SAd/+EgHf/hIB3/4N/df9+eW3/fHdr/3x3a/97dmr/e3Zq/3t2 + av96dGj/gnxy/9nW1P/////////////////c29j/jYiA/4N/dv+EgHf/hIB3/4SAd/+EgHf/hIB3/4N/ + df9+eW3/fHdr/3p2av+ckIr/17/D/9vDxv/exsn/4MjL/+PLzv/kzND/18PL/9TByv/Uwcr/0r/J/+vi + 5v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk8//1dQQf9XUEH/V1BB/1dQ + Qf5XUEBuV1BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnR + 1ADp0dRX6NDT/+jQ1P/p0dT/6NHU/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///7+/v/sK2n/4J+dP+Ef3b/hH92/4R/dv+Ef3b/hH92/4N/dv9/em//e3Vp/3p1af96dWj/enRo/3lz + Z/95c2b/d3Fk/6aim//7+vr///////v6+v+wraf/g351/4R/dv+Ef3b/hH92/4SAdv+Ef3b/hH92/4B7 + cf98d2v/e3Zq/354bf+8qan/3MPH/9zEx//fx8r/4srM/+TMz//lzdH/1sLL/9K/yf/Rv8j/z73H/+nh + 5f////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4P9qY1X/Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUEGwV09BCVdPQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ0//o0dT/6NDT/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////29nX/4qGff+CfnT/g351/4N/df+Df3X/g391/4N/df+BfHL/enRo/3hzZv94cmX/eHJl/3dx + ZP92cGT/dnBj/4B6bv/d29n//////+Lg3v+OiYH/gn50/4N/df+CfnT/g391/4N/df+Df3X/gn50/3x3 + bP96dWn/eXRo/5GHf//TvL//28PH/93Fyf/gyMv/48vO/+bO0f/lztL/1cHK/8++yP/Ovcf/zbvF/+jg + 5P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4P9qY1X/Vk8//1dQQf9XUEH/V1BA/1dQ + Qf9XUEHlV1BAH1dQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jR0//o0NP/6NDU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////+Pj3/6eknf+BfXP/gn50/4J+dP+CfnT/gn50/4J+dP+CfnT/fHdr/3ZxY/92cGP/dnBj/3Vv + Yv91bmL/dG5h/3JsX/+sqKH/+vn5/7WyrP+BfXP/gn50/4J+dP+CfnT/gn50/4J+dP+CfnT/f3pv/3p1 + af96dGj/enRo/6+gnP/bw8b/3MTH/9/Hyv/hycz/5MzP/+fP0v/lztL/0sDJ/828xv/Mu8X/y7rE/+bf + 4/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4P9qY1b/Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUEHlV1BBH1dQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 1ADo0NRX6dHU/+jR1P/o0NP/6NDT/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////9PRzv+Hg3n/gn1z/4J+dP+CfnT/gn50/4J+dP+CfnT/f3pv/3ZvYv90bWD/dG1g/3Ns + X/9ybF//cmte/3BqXf+Be2//ycbC/5KNhf+BfXP/gn50/4J+dP+CfnT/gn50/4J+dP+BfXL/e3Zq/3l0 + Z/94cmb/hn10/8y2uP/bw8f/3cXI/+DIy//iys3/5c3Q/+jQ0//hy9D/zbzG/8u6xf/KusT/yLjD/+Xe + 4v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4f9qY1b/Vk8//1dQQf9XUED/V1BA/1dQ + Qf9XUEHlV1BAH1dQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NHU/+jQ1P/o0NP/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////X08/+inpb/gXxy/4J9c/+CfXP/gn1z/4J9c/+CfXP/gXxy/3dxZf9xa17/cWpd/3Fq + Xf9waVz/cGlb/29oWv9waVv/g350/4R/df+CfXP/gn1z/4J9c/+CfXP/gn1z/4J9c/9/em//eXNn/3dy + Zf92cWP/opSP/9rCxf/cxMf/3sbJ/+HJzP/kzM//5s7R/+jQ0//gys//yrrE/8m5w//HuMP/xbbC/+Td + 4v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk9A/1dQQf9XUEH/V1BB/1dQ + Qf9XUEH0V1BBSVdQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NDT/+jQ0//o0NP/6NDT/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////Nysb/hYB2/4F8cv+BfHL/gXxy/4F8cv+BfHL/gn1y/3x3bP9xalz/cGha/29o + Wv9uZ1n/bmdZ/21mWP9ya17/f3pw/4F8cv+BfHL/gXxy/4F9cv+CfXL/gn1y/4F8cf96dWn/d3Fk/3Zw + Y/99dmv/w66v/9zDx//cxMj/38fK/+LKzf/lzdD/58/S/+nR1P/fys//yLjD/8a3wv/EtcL/w7TB/+Lc + 4v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4f9qY1X/Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnR + 1ADp0dRX6NDU/+jQ0//o0NT/6NHU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////w7+7/l5OK/397cP+AfHH/gHxx/4F8cf+BfHL/gXxx/397cP9zbF//bWZY/21m + WP9sZVb/bGVW/2tkVv93cmX/gXxx/4F8cf+BfHH/gXxx/4B8cf+BfHH/gXxx/355bv93cWX/dnBj/3Ru + Yf+WiYP/1r/C/9vDxv/exsn/4MjL/+PLzv/mztH/6NDT/+nR1P/eyc//xbbC/8O1wv/CtMH/wLO//+Hb + 4f////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4f9qY1b/Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUED/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NHU/+jR1P/o0NP/6NHU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////wb66/4F8cv+Ae3H/gHtx/4B7cf+Ae3H/gHtx/4B8cf94cmb/a2RW/2tk + Vf9qY1T/aWJU/21mWf99eG3/gHxx/4B7cf+Ae3H/gHtx/4B7cf+Ae3H/gHtx/3l0aP91bmL/dG5h/3dw + Y/+3paT/28PH/9zEx//fx8r/4srN/+TMz//nz9L/6NDT/+nR1P/eyM7/w7TB/8GzwP/As7//vrK+/+Da + 4P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk8//1dQQP9XUEH/V1BB/1dQ + QP9XUED/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NDT/+jR1P/o0NP/6NDU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////6unn/5KNhf9+eW//f3pw/396cP+Ae3H/gHtx/4B7cf99eG7/bWdZ/2hh + Uv9nYVL/ZmBR/3NtYf+Ae3H/gHtx/4B7cf9/e3H/gHtx/4B7cf+Ae3H/fXht/3VvYv9zbWD/cWte/4l+ + dv/Ru73/3MPH/93FyP/gyMv/48vO/+XN0P/nz9L/6NDT/+nR1P/dyM7/wLPA/76yvv+9sr7/u7C8/9/Z + 3/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1X/Vk8//1dQQf9XUED/V1BA/1dQ + QP9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 1ADo0NRX6NDU/+jQ0//o0NP/6NDT/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////f39/7i1sP9/enD/f3pw/396cP9/enD/f3pw/396cP9/enD/dG5h/2Vf + UP9kXk//aGFT/3t1av+Ae3H/f3pw/396cP9/enD/f3pw/396cP9/enD/eHJm/3JsX/9ya17/cWte/6mZ + lv/bwsb/3MTH/97Gyf/hycz/5MzP/+bO0f/o0NP/6NHU/+nR1P/cyM3/vrK+/7ywvf+7sLz/ua67/9zY + 3v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk9A/1dQQP9XUED/V1BA/1dQ + Qf9XUEH/V09BcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NHU/+jQ0//o0NP/6NDT/+jQ1P/o0NP/7Njb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////+Ph4P+Lhn3/fnlu/395b/9/eW//f3lv/395b/9/em//e3Vq/2dh + Uv9hW0z/b2lb/355bv9/em//f3lv/395b/9/eW//fnlu/396b/98d2v/c21g/3FqXf9waVz/gXpv/868 + vP/bw8f/3cXI/+DIy//iys3/5c3Q/+fQ0//o0dT/6NHU/+nR1P/bx83/u7C8/7mvu/+4rrv/tqy5/9vX + 3f////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk9A/1dQQf9XUED/V1BA/1dQ + Qf9XUED/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////v7+/+tqqP/fHdr/314bP9+eW3/fnlt/355bf9+eW3/fnls/25o + Wv9jXE3/d3Jl/355bf9+eW3/fnlt/355bf9+eW3/fnls/315bP93cWT/cGlc/3BpW/9uZ1n/trGr/+zg + 4v/bw8b/3sbJ/+HJzP/kzM//5s7R/+jQ0//p0dT/6NHU/+nR1P/bx83/uK67/7atuv+1rLn/s6q4/9rW + 3P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4P9qY1X/Vk8//1dQQP9XUED/V1BB/1dQ + QP9XUED/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NDT/+jQ0//o0NP/6NHU/+nR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////a2Nb/hYB1/3x3a/99eGz/fXhs/314bP99eGz/fXhs/3Zx + ZP9sZlj/fHdr/314bP99eGz/fXhs/314bP99eGz/fXhs/3t2av9ya13/b2ha/25nWP96dGf/4uHf/+/j + 5f/cxMf/38fK/+LKzf/lzdD/58/S/+jQ0//o0NP/6NHU/+nR1P/axsz/tq26/7Sruf+zqrj/sai3/9nV + 2/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4P9qY1X/Vk4//1dQQP9XUEH/V1BB/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NHU/+jQ0//o0NP/6NHU/+jR1P/o0NP/7Njb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////4+Pf/pKCY/3t2av99eGz/fHdr/314bP98d2v/fHdr/3x3 + a/96dGj/fXhs/3x3a/98d2v/fHdr/314bP99eGz/fXhs/3ZxZP9vaFn/bmdZ/2tkVv+gm5P//Pz8/+7i + 5P/dxcj/4MjM/+PLzv/mztH/6NDT/+jR1P/o0dT/6NDT/+nR1P/axsz/tKu5/7KpuP+wp7f/rqW1/9fT + 2v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk8//1dQQf9XUEH/V1BA/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jR1P/o0NP/6NDT/+jQ1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////0tDN/4J9cv97dmr/fHdr/3x3av98d2v/fHdq/3x3 + av98d2v/fHdr/3x3av98d2r/fHdq/3x3av98d2v/e3Zp/3BqXf9sZVj/bGVX/3FqXP/T0c3//////+7i + 5P/exsn/4srN/+TMz//mztH/6NDT/+jR1P/o0dT/6NHU/+nR1P/Zxcv/sai3/6+mtv+upbb/q6S0/9bS + 2v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4P9qY1X/Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDU/+jQ0//p0dT/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////9PTz/5uWjf95dGj/e3Zq/3t2av97dmr/e3Zq/3t2 + av97dmr/e3Zq/3t2av97dmr/e3Zq/3t2av97dmr/dnBj/2xlV/9rZFX/aWJT/46Ifv/19fT//////+/j + 5f/gx8r/48vO/+XN0f/nz9L/6NDT/+jR1P/o0NT/6NHU/+nR1P/YxMv/rqa2/6yltf+rpLT/qaGy/9TR + 2P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUED/V1BAcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDU/+jQ0//o0NP/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////8jFwf98d2v/enVp/3t1af97dWn/e3Vp/3p1 + af97dWn/e3Vp/3p1af97dWn/enVp/3p1af96dGj/b2hb/2pjVf9qY1T/aWNU/767tf///////////+/k + 5f/hyMv/5MzP/+bO0f/o0NP/6NDU/+jR1P/o0NP/6NHU/+nR1P/XxMv/rKW0/6qjs/+porL/pp+w/9PP + 2P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk8//1dQQf9XUEH/V1BB/1dQ + QP9XUED/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ0//o0NP/6NDT/+jQ1P/o0NP/7Nnb//78/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+/u7v+SjYP/eXNm/3p0aP96dGj/enRo/3p0 + aP96dGj/enVn/3p1aP96dGj/enVo/3p1aP91b2L/amNV/2hiU/9mYFH/fXhr/+zr6f////////////Dk + 5v/hycz/5MzP/+fP0v/o0NP/6NDT/+jR1P/o0dT/6NHU/+nS1P/Ww8r/qqKz/6ihsv+moLH/pJ6v/9HO + 1/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk9A/1dQQf9XUED/V1BB/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 1ADo0NRX6NHU/+jQ0//o0NT/6dHU/+nR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////+/vLf/e3Vp/3p0aP96dGj/enRo/3p0 + aP96dGj/enRo/3p0aP96dGj/enRo/3l0Z/9uaFr/Z2FS/2ZgUf9pYlT/mJSL//j39/////////////Dl + 5v/iys3/5c3Q/+fP0v/o0NP/6NDU/+jR1P/o0dT/6NHU/+nR1P/Ww8r/p6Cx/6WfsP+knq//opyt/9DN + 1f////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk9A/1dQQf9XUED/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnR + 1ADp0dRX6NHU/+jR1P/o0dT/6dHU/+nR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////q6ef/jYd+/3hyZv95c2f/eXNn/3lz + Z/95c2f/eXNn/3lzZ/95c2f/eXNn/3VvYv9oYVP/Z2BS/29qXP9+eW7/jYmB/93b2f////////////Dl + 5v/iys3/5c3Q/+fP0v/o0NP/6NDU/+jR1P/o0NP/6NDT/+rR1P/Vwsn/pZ+w/6Odrv+hnK3/n5qs/8/M + 1P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk9A/1dQQf9XUEH/V1BA/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NDU/+jQ1P/o0NP/6NHU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/f3/tLCr/3dyZf93cmX/d3Jl/3dy + Zf93cmX/d3Jk/3dyZP94cmX/d3Jl/21mWP9pYlT/d3Fl/4J+dP+Ef3b/gn50/7Ctp//7+/r///////Dk + 5v/hycz/5MzP/+fP0v/o0NP/6NDT/+jQ0//o0NP/6NDU/+rR1P/Vwsn/o52u/6Cbrf+emqz/nJiq/83L + 0/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk9A/1dQQP9XUED/V1BB/1dQ + Qf9XUEH/V09BcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NHU/+nR1P/o0dT/6NHU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4d/d/4R/c/92cWP/d3Jk/3dx + ZP93cWT/d3Fk/3dxZP93cmT/dG5h/3BpXP99eG3/g391/4N/df+CfnT/gX1z/42JgP/j4d///////+/k + 5f/hyMv/5MzP/+bO0f/o0NP/6NHU/+jQ0//o0NP/6NHU/+rR1P/Uwsn/oJut/56arP+dmav/mpap/8zK + 0v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk8//1dQQP9XUEH/V1BB/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NHU/+jQ1P/o0NT/6NDU/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////9vX1/5eSif90bmL/dnBk/3Zw + ZP92cGT/dnBk/3ZwZP92cGT/eHJn/4F8cv+Ef3b/g351/4J+dP+CfXT/gn1z/4F8cv+5trH//v7+/+/j + 5f/fx8r/48vO/+XN0P/nz9L/6NDT/+jR1P/o0NT/6NDU/+nR1P/Twcj/npmr/5uYqv+alqn/l5So/8nI + 0v////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XT0H/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NHU/+jQ0//o0NT/6NHU/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////////////////////4N7c/4J8cv91b2P/dnBj/3Zw + ZP92cGT/dnBk/3ZwZP92cGP/eHJm/4F9c/+CfnT/gn10/4J9c/+CfXP/gXxy/4B7cf+RjIT/6ejn/+/j + 5f/exsn/4cnM/+TMz//mztH/6NDT/+nR1P/p0dT/6NDU/+rR1P/SwMf/m5iq/5iVqf+Xlaj/lJOm/8jH + 0P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk8//1dQQP9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ0//o0dT/6NDU/+jQ1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////9/f3/sa6o/3RtYP91bmH/dW5h/3Vu + Yf91bmH/dW5h/3VuYf91bmH/dW5h/3x3bP+CfXP/gX1y/4F8cv+AfHH/gHtx/4B7cf+Ae3H/v7y4/+3h + 4//dxMj/4MjL/+PLzv/lzdD/58/S/+jQ0//o0NP/6NDT/+rR1P/SwMf/mJap/5aUp/+Uk6X/kpGk/8fG + 0P////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk8//1dQQP9XUEH/V1BB/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NHU/+jQ1P/o0dT/6NHU/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////n5uT/hoB1/3NsX/90bWD/dG1g/3Rt + YP90bWD/dG1g/3RtYP90bWD/dG1g/3dxZP+Ae3D/gHxx/4B7cf+Ae3H/f3pw/396cP9+eW7/jId+/828 + vf/dxcj/38fK/+HJzf/kzM//5s7S/+jQ0//o0NP/6NDT/+rS1P/Rv8f/lpSm/5OSpf+SkaX/kI+j/8XE + z/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f9qY1b/Vk8//1dQQP9XUEH/V1BB/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ1P/o0dT/6NHU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////+4ta//c21g/3JsX/9zbF//cmxf/3Js + X/9ybF//cmxf/3JsX/9ybF//cmxf/3NtYP97dmv/gHtx/396cP9/em//f3lv/355bv9+eW3/fHdr/6eZ + lP/bw8b/3sbJ/+DIy//jy87/5c3R/+jQ0//o0NT/6NHU/+rS1P/Qv8b/lJKl/5KRpf+QkKT/jY2h/8PD + zf////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Tj4P9qY1X/Vk8//1dQQP9XUED/V1BB/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NHU/+jR1P/o0NP/6dHU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+zr6v+Ig3j/cGpd/3JrXv9xa17/cWte/3Fr + Xv9xa17/cmte/3JrXv9ya17/cWte/3FrXv92cGP/fnlu/395bv9+eG3/fXhs/314a/98d2v/e3Zq/4mB + d//Mt7j/3cXI/9/Hyv/iys3/5MzQ/+fP0v/o0NP/6NDT/+rR1P/Qvsb/kZGk/4+Po/+OjqL/i4ug/8LC + zP////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////+Xj4f5qY1b/Vk8//1dQQP9XUED/V1BA/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6dHU/+nR1P/o0dT/6NHU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////8C9uP9ya17/cWpd/3FqXf9xal3/cWpd/3Fq + Xf9xal3/cWpd/3FqXf9xal3/cWpd/3FqXf9ya17/enRo/314bP99eGz/fHdr/3x3a/97dmr/e3Zq/3p1 + af+tnpr/3MTH/97Gyf/gyMv/48vO/+bO0f/o0NP/6NDT/+rS1P/PvsX/j4+i/42Nof+MjKD/ioqe/8DA + y/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////uXj4f5qY1b/Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUED/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NHU/+jQ1P/o0dT/6NDU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////8fHw/46Jf/9uZ1r/cGlb/3BpXP9waVv/cGlb/3Bp + XP9waVv/cGlc/3BpXP9waVz/cGlb/3BpW/9waVv/dG5h/3x3a/98d2v/e3Zq/3t2av97dWn/enVo/3l0 + Z/+Mgnr/0Lq8/93FyP/fx8r/4srN/+XN0P/nz9L/6NDT/+rS1f/PvcX/jY2h/4uLn/+Kip7/h4ic/7+/ + yv////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////uTj4f5qY1b/Vk8//1dQQP9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NHU/+jR1P/o0NT/6NDT/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////ycbB/3NsX/9vaFn/b2hZ/29oWv9vaFn/b2hZ/29o + Wf9vaFn/b2ha/29oWv9vaFr/b2hZ/29oWv9vaFn/cGlb/3hzZv97dmr/enVp/3p1af96dGj/enRo/3lz + Z/96dGf/s6Kf/93EyP/exsn/4MjM/+TMz//mztH/6NDT/+rS1f/OvcX/i4uf/4mKnv+IiZ3/hYab/72+ + yf////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////+/////uTj4P5qY1X/Vk8//1dQQP9XUEH/V1BB/1dQ + Qf9XUEH/V1BAcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6dHU/+nR1P/o0NP/6NDT/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////29fX/lI+F/2xlV/9uZ1n/bmdZ/25nWf9uZ1n/bmdZ/29o + Wv9xa13/bmdZ/25nWf9uZ1n/bmdZ/25nWf9uZ1n/bmdZ/3NtYP96dGj/enRo/3lzZ/95c2f/eHJl/3dy + Zf92cWP/j4V9/9S9wP/dxcj/38fL/+LKzf/lzdD/58/S/+rR1P/NvMT/iYmd/4eInP+Gh5v/g4WZ/7y9 + yP////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////7////+/////uTj4P1qY1X/Vk8//1dQQP9XUEH/V1BB/1dQ + QP9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NHU/+jR1P/o0dT/6NHU/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////Rzsv/c2xg/21mWP9tZln/bWZZ/21mWf9tZln/bWZY/3Ru + Yf97dmv/bmda/21mWf9tZln/bWZZ/21mWf9tZln/bWZZ/25oWv93cWT/eXNn/3hyZf93cmX/d3Jk/3Zx + ZP92cGP/eXJn/7qnpv/dxMj/3sbJ/+HJzP/kzM//5s7R/+nR1P/MvMP/h4ic/4SHm/+Dhpr/gYSY/7a3 + w//39/j/9/f5//j4+f/5+fr/+fn6//r6+v/6+vr/+/r7//v7+//8+/z//Pz8//38/f/9/f3//v39//7+ + /v/+/v7///7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////7////+/////eXj4f1qY1b/Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6dHU/+jR1P/o0dT/6NDU/+jQ0//o0NP/7Njb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////n4+P+bloz/amNU/2xlV/9sZVb/bGVX/2xlVv9sZVb/bWZX/3p1 + af+BfHL/cmxf/2xlVv9sZVb/bGVX/2xlV/9sZVf/bGVW/2xlVv9ya17/d3Jl/3dxZP92cGT/dnBj/3Vv + Yv91bmL/c2xf/5SIgf/Xv8L/3cXI/+DIy//jy87/5c3Q/+nQ0//Qv8b/iIqd/4KFmf+BhJj/gIOX/42P + of+gorH/o6S0/6entv+rq7n/rq27/7Owvf+2s7//urbC/725xf/Cvcj/x8HL/87Gz//Vy9P/3M/W/+HU + 2v/n2N3/7+Pm//79/f////////////////////////////////////////////////////////////// + //////////////////////////////////7////9/////eTi4P1qY1X/Vk9A/1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnR + 1ADp0dRX6dHU/+jQ1P/o0NP/6NDU/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////9jV0v90bWD/amNU/2tkVf9rZFX/a2RV/2tkVf9rZFX/cGpc/395 + b/+Ae3H/eHJn/2tkVv9rZFX/a2RV/2tkVf9rZFX/a2RV/2tkVf9tZlj/dW5i/3ZvY/91b2L/dW5h/3Rt + YP9zbWD/cmxf/3lxZv+/rKv/3cXJ/9/Hyv/hycz/5MzP/+fP0v/dyM3/kpCi/3+Clv9/gpb/foGV/3+C + lv+ChJn/hoeb/4qKn/+OjaL/kpCk/5eUp/+bl6n/oJus/6Wer/+qorP/sai3/7qvvP/DtcH/zLrF/9TB + yf/bxs3/6Nba//38/P////////////////////////////////////////////////////////////// + /////////////////////////////v////7////9/////OTj4PxqY1b/Vk9A/1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnR + 1ADp0dRX6NDU/+jQ1P/o0NP/6NDU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////Pz8/6Kelf9oYVL/aWJU/2pjVP9qY1T/amNU/2pjVP9qY1X/dnFk/396 + b/9+eW7/fHdr/3BqXf9pYlT/aWJU/2pjVP9pYlT/aWJU/2pjVP9qY1X/cGlb/3VuYf90bWD/c21g/3Ns + X/9ybF//cmte/3BpXP+ajIb/2cHF/93Fyf/gyMv/48vO/+bO0f/eyM3/kY+h/32Alf98gJP/fICT/4CD + l/+Dhpr/h4md/4uMoP+Pj6P/k5Kl/5iVqP+dmav/oZyt/6agsf+qo7P/sqq4/7uxvf/EtsH/zbzG/9TC + yv/cx83/6Nfb//38/P////////////////////////////////////////////////////////////// + ///////////////////////+/////v////7////9/////OTi4PxqY1b/Vk9A/1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDU/+jR1P/o0NP/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////393a/3dwZP9oYVL/aWJU/2liVP9oYlP/aWJU/2liVP9sZlj/e3Vp/314 + bP97dmr/kIyC/7KuqP9tZlj/aGFT/2liVP9pYlT/aWJU/2liVP9pYlT/a2RW/3JsXv9ybF//cmxf/3Fr + Xv9xal3/cWpd/29pW/96cmb/xrGy/93FyP/fx8r/4srN/+XN0P/cx8z/jo2e/3p+kf95fpD/fICT/4CD + l/+Ehpr/iImd/4uMoP+Pj6P/k5Kl/5iVqP+dmav/oZyt/6afsP+ro7T/s6q4/7uwvf/EtsL/zLvG/9TB + yv/cx83/6Nfb//38/P////////////////////////////////////////////////////////////// + ///////////////////////+/////v////7////8////++Ti4PtqY1X/Vk8//1dQQf9XUEH/V1BB/1dQ + QP9XUED/V1BBcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NHU/+jQ0//o0NT/6NDT/+jQ1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7/qKSd/2ZgUf9nYVL/Z2FS/2dhUv9nYVL/Z2FS/2dhUv9ybF7/e3Zq/3t1 + af96dWj/tbKr//Dv7/+JhHn/ZV9Q/2dhUv9nYVL/Z2FS/2dhUv9nYVL/Z2FS/25nWv9xa17/cWpd/3Bp + XP9waVv/b2ha/29oWv9uZ1n/oZKN/9vDx//exsn/4MjL/+TLzv/bxcv/ioub/3V7jf94fY//fICT/4CD + l/+Ehpr/iImd/4uMoP+Pj6P/k5Kl/5iVqP+dmav/oZyt/6afsP+rpLT/sqq4/7uwvf/EtsL/zLvG/9TB + yv/cx83/6Nfb//38/P////////////////////////////////////////////////////////////// + ///////////////////////+/////v////3////8////+uTi4PpqY1X/Vk8//1dQQP9XUED/V1BA/1dQ + QP9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ0//o0dT/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////m5eP/eXNm/2VfUP9mYFH/ZmBR/2ZgUf9mYFH/Zl9R/2hiVP93cWX/enRo/3lz + Z/+Ae3D/2tnW//////+9u7T/Z2FT/2ZgUf9mYFH/ZmBR/2ZgUf9mYFH/ZmBR/2ljVP9waVv/cGlb/29o + Wv9vaFn/bmdZ/25nWf9sZVf/fXNo/8u1tv/dxcn/38fK/+PKzf/ZxMn/g4WV/293if92fI7/en+S/36C + lv+ChZn/h4ic/4qLn/+OjqL/kpGk/5eVp/+cmKr/oJut/6WfsP+qo7P/sqm4/7uwvf/EtcH/zLvF/9TB + yv/bxs3/6Nfb//78/P////////////////////////////////////////////////////////////// + ///////////////////////+/////f////3////7////+uTi4PlqY1X/Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUED/V1BBcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ1P/o0NT/6NDU/+jQ1P/o0NP/7Nnb//78/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////+zr6n/ZV5Q/2VfUP9lXlD/ZV9Q/2VeUP9lXlD/ZV5Q/25nWv94cmb/d3Jl/3Vw + Yv+Xk4n/9vX0///////s6+n/fnhs/2RdTv9lXlD/ZV5Q/2VfUP9lXlD/ZV5Q/2ZfUf9sZVf/b2ha/25n + Wf9uZ1n/bWZY/2xlV/9sZVb/bGRW/6eWkv/cxMf/3sbJ/+HJzP/bxcr/npmm/5KQn/+RkKD/k5Gi/5aU + pf+Zlqf/nZmp/5+brP+jnq7/pqCw/6qisv+tpbT/sai2/7WquP+5rbv/v7K//8a4wv/NvMb/08DJ/9nF + zP/fyc//6tjc//78/P////////////////////////////////////////////////////////////// + //////////////////7////+/////f////z////6////+eTi4PlqY1b/Vk8//1dQQf9XUED/V1BB/1dQ + QP9XUED/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ0//o0NT/6NHU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////+zr6f99eGz/Y1xO/2ReT/9lXk//ZV5Q/2VeUP9lXk//Zl9R/3NsYP92cWT/dm9j/3Zw + Y//AvLf/////////////////sq6n/2RdTv9kXk//ZF5P/2VeUP9lXlD/ZV5P/2VeT/9nYFL/bWZY/2xl + V/9sZVf/bGVW/2tkVf9rZFX/aWJT/4F2bP/Rur3/3sbJ/+DIy//iys3/4crO/+PM0P/hy9D/4MrP/+DL + z//hy9D/4cvQ/+HL0P/izND/4szQ/+LM0P/jzNH/483R/+PN0f/kzdH/5c7S/+XO0v/mz9L/5s/T/+fQ + 0//nz9P/7dvd//78/f////////////////////////////////////////////////////////////// + //////////////////7////+/////f////z////6////9+Ti4PhqY1b/Vk9A/1dQQf9XUED/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NDT/+jQ0//o0dT/6dHU/+jQ0//o0NP/7dnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////7u4sv9kXk7/Y11N/2NdTf9jXU7/Y11N/2NdTf9jXU3/amNV/3RuYf90bWD/cmxf/4J8 + cv/m5OP/////////////////5uXj/3dxZP9iXEz/Y11N/2NdTf9jXU7/Y11O/2NdTf9kXU7/amNU/2tk + Vf9rZFX/amNV/2pjVP9pYlT/Z2FS/3lvZP/Nt7n/3cXJ/9/Hyv/iys3/5c3Q/+fP0v/p0dT/6dHU/+nR + 1P/p0dT/6dHU/+nR1P/p0NP/6dHU/+nR1P/p0dT/6NHU/+nR0//p0dT/6dHU/+nR1P/o0dP/6NDT/+nR + 1P/o0NP/7dvd//78/f////////////////////////////////////////////////////////////// + //////////////////7////+/////P////v////5////9+Ti4PdqY1b/Vk8//1dQQP9XUED/V1BA/1dQ + QP9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NDT/+jQ1P/o0NP/6NDU/+jQ1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////8fDv/4N+cv9gWkn/YlxM/2JcTP9iXEz/YlxM/2JcTP9jXU3/bmda/3JsX/9xa17/c2xg/7i0 + r//9/Pz//////////////////v7+/6aimv9gWkr/YlxM/2JcTP9iXEz/YlxM/2JcTP9iXEz/ZV9Q/2pj + VP9pYlT/aWJU/2hhU/9nYVL/ZV9Q/4+Cev/XwMP/3MTI/9/Hyv/iys3/5c3Q/+fP0v/o0NP/6NDT/+jQ + 1P/o0NP/6NHU/+jQ1P/o0NP/6NHU/+nR1P/o0dT/6NHU/+jQ1P/p0dT/6NHU/+jR1P/o0dT/6NDT/+jQ + 0//o0NP/7dvd//78/f////////////////////////////////////////////////////////////// + //////////////////7////9/////P////v////5////9uTi4PZqY1b/Vk9A/1dQQf9XUED/V1BB/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NHU/+jR1P/o0NP/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////xsO+/2VfT/9hW0v/YVtL/2FbS/9hW0v/YVtL/2FbS/9mX1D/cGlb/3BpW/9xal3/rami//f3 + 9v///////////////////////////97c2f9vaVv/YFpK/2FbS/9hW0v/YVtL/2FbS/9hW0v/YlxM/2dg + Uv9oYVP/Z2FS/2ZgUf9lX1D/ZmBS/6uZl//bw8f/3MTH/9/Hyv/iys3/5MzQ/+fP0v/o0NP/6NDT/+jQ + 0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0dT/6NDT/+jQ0//o0dT/6NDT/+jQ0//o0NP/6NDT/+jQ + 1P/o0NP/7dvd//78/f////////////////////////////////////////////////////////////// + //////////////////7////9/////P////r////4////9eTi4PVqY1b+Vk9A/1dQQf9XUED/V1BA/1dQ + QP9XUED/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NHU/+jQ1P/o0NT/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///29fX/ioV6/15YSP9hW0v/YFpK/2BaSv9gWkr/YFpK/2FbS/9qY1X/bmdZ/29oWv+koJf/9fTz//// + //////////////////////////////z8/P+blo3/XlhI/2BaSv9gWkr/YFpK/2BaSv9gWkr/YFpK/2Nd + Tv9mYFH/ZV9R/2VeUP9kXU//cGdb/8Wwsf/cxMf/3cXI/+DIy//jy87/5c3Q/+fP0v/o0NP/6NHU/+jQ + 1P/o0NP/6NDT/+jQ1P/o0NP/6NDT/+jQ0//p0dT/6NHU/+jQ1P/o0NP/6NDT/+jQ0//o0dT/6NHU/+jR + 1P/o0NP/7dvd//78/f////////////////////////////////////////////////////////////// + //////////////////3////9////+/////n////3////9OTi3/RqY1b+Vk8//1dQQP9XUEH/V1BB/1dQ + Qf9XUED/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ1P/o0NP/6NDT/+nR1P/o0NP/7Njb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///Ny8f/ZF5P/15YSP9fWUn/X1hJ/19YSf9fWEn/X1hJ/2JcTP9rZFb/bGVX/5yXj//y8vH///////// + ///////////////////////////////////U08//Z2FT/15XSP9fWEn/X1lJ/19YSf9fWEn/X1lJ/2Ba + Sv9kXk//ZV5Q/2RdT/9hW0z/hXpw/9W9wf/bw8f/3sbJ/+HJzP/jy87/5s7R/+jQ0//o0NT/6NDT/+jR + 1P/o0dT/6NDU/+jQ1P/o0NT/6NHU/+jQ0//o0dT/6NDT/+jR1P/o0NT/6NDT/+jQ0//o0NP/6NHU/+jR + 1P/o0NP/7dvd//78/f////////////////////////////////////////////////////////////// + /////////////v////3////9////+/////n////3////8uPh3/NqY1X+Vk8//1dQQP9XUED/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NHU/+jQ0//o0dT/6NDT/+nR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////n5 + +f+SjYT/W1RG/15XSP9eVkj/XlZI/11WSP9eVkj/XldI/2VeT/9qY1T/lI6E/+vq6f////////////// + ///////////////////////////////////4+Pf/j4qA/1xURv9eVkj/XlZI/11WSP9eVkj/XldI/15W + SP9hWkz/Y11N/2JcTP9hW0v/opKO/9vDx//cxMf/38fK/+HJzf/kzM//58/S/+jQ0//p0dT/6NDT/+jQ + 1P/o0NP/6NDU/+jR1P/o0NP/6NHU/+jR1P/o0dT/6NDT/+jQ0//o0dT/6NHU/+jQ0//o0NP/6NDT/+jQ + 0//o0NP/7dvd//78/f////////////////////////////////////////////////////////////// + /////////////v////3////8////+/////j////1////8uPh3/JqY1X+Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jR1P/o0dT/6NHU/+nR1P/o0NP/7Nnb//38/P////////////////////////////// + /////////////////////////////////////////////////////////////////////////////9XT + z/9nX1P/XFRH/11VSP9dVUj/XVVH/11VR/9dVUf/X1dK/2VfUP+KhHn/5eTi//////////////////// + ////////////////////////////////////////ysjD/2JaTf9cVUf/XVVI/11VSP9dVUf/XVVH/11V + SP9eV0j/YVtL/2FbS/9oYVP/vqqp/9zEx//dxcj/4MjL/+LKzf/lzdD/58/S/+jQ0//o0NP/6NDT/+jQ + 0//o0dT/6NDU/+jQ0//o0NT/6NDU/+jR1P/o0NT/6NDT/+jR1P/o0dT/6NHU/+jQ0//o0NP/6NHU/+jQ + 1P/o0NP/7dvd//78/f////////////////////////////////////////////////////////////// + /////////////v////3////8////+/////j////1////8ePh3vFpYlX+Vk8//1dQQP9XUEH/V1BB/1dQ + QP9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NHU/+nR1P/o0dT/6NHU/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + /////////////////////////////////////////////////////////////////////////Pz8/5qW + jf9ZUkP/W1RG/1tURv9bVEX/W1RF/1tURf9bVEX/X1hK/4F7b//h4N3///////////////////////// + ////////////////////////////////////////9PTz/4N9cv9ZUkP/W1RF/1tURf9bVEX/W1RF/1xU + Rv9bVEb/XlhJ/15YSP97cWb/0ru9/9zEx//exsn/4cnM/+PLzv/mztH/6dHU/+rR1P/q0tT/6tHU/+rR + 1P/p0dT/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ + 0//oz9L/7drc//78/P////////////////////////////////////////////////////////////// + /////////////v////3////8////+v////j////1////8OPh3vBpYlX+Vk9A/1dQQP9XUED/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NDT/+jR1P/o0dT/6NHU/+jQ1P/o0NP/7Nnb//38/P////////////////////////////// + ////////////////////////////////////////////////////////////////////////4N7c/2pk + V/9ZUkP/WlNE/1pTRP9aU0T/WlNE/1pTRP9ZUkP/eXNn/9zZ1v////////////////////////////// + /////////////////////////////////////////////726tP9bVEb/WVJE/1lSRP9ZUkT/WlNE/1pT + RP9ZUkT/W1RF/1xVR/+YiYP/2sLG/9zEx//fx8r/4cnM/+TMz//lzdH/18PK/9TByP/Uwsj/1MLI/9XC + yf/q3N//9err//Tp6v/06er/9Onq//Tp6v/06er/9Onr//Tp6v/06er/9Onq//Tp6v/06er/9Onq//Tp + 6v/06er/9u3u//79/f////////////////////////////////////////////////////////////// + /////////////v////z////7////+v////f////0////7+Ph3/BqYlb+Vk9A/1dQQP9XUED/V1BB/1dP + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ0//o0NP/6NDT/+jQ1P/o0NP/7Njb//38/P////////////////////////////// + ///////////////////////////////////////////////////////////////////+/v7/o5+X/1VO + P/9WT0H/V09B/1dPQf9WT0H/V09B/1ZOQP9vaVz/1NLO//////////////////////////////////// + /////////////////////////////////////////////+7t7P95c2j/VU0//1dPQf9XT0H/V09B/1dQ + Qv9XUEL/V1BC/2BYSv+3pKP/3sbJ/97Gyv/gyMz/48vO/+bO0f/dx83/jY2d/3yAkv9+gpT/gYSV/4KE + lv+0tL//+vr7//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v////3////7////+f////b////z////7uPh3u9qYlX+Vk8//1dQQP9XUEH/V1BB/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ0//o0NP/6dHU/+nR1P/o0NP/7Nnb//38/P////////////////////////////// + ///////////////////////////////////////////////////////////////////x8fD/mJKK/4J7 + cf+DfHL/gnxx/4J8cf+CfHH/gXtw/4R+c//Kx8P///////////////////////////////////////// + //////////////////////////////////////////////////+/u7b/gXtw/4N8cv+CfHH/gXpw/3dt + Yv91aV7/dGhe/4V4cP/TvL7/4MjL/+HJzP/jy87/5MzQ/+fP0v/dyM3/hoiY/3J5i/92e43/d3yO/3h9 + j/+Eh5j/zczV//7+/v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v////z////7////+f////b////z////7ePh3u5qYlX+Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnR + 1ADp0dRX6NHU/+jR1P/o0NP/6NDU/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + ///////////////////////////////////////////////////////////////////9/fz/9vb1//f2 + 9f/29vX/9vb1//b29f/29vX/9vX1//f29v/9/f3///////////////////////////////////////// + ///////////////////////////////////////////////////8/Pv/9vb1//b29f/29vX/9fTz/+HQ + 0f/YwML/18DC/9rCxf/gyMv/4srN/+PLzv/kzM//5s7R/+nQ0//Twcf/gISV/3Z7jf94fY//en+R/3uA + kv98gJP/kJKj/9/g5f////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////v////3////6////+P////b////y////7OPh3+1qY1X+Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V09BcldPQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NDT/+jQ0//o0NP/6NDU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////Lm + 5//kzM//5MzP/+PLzv/jy87/5MzP/+XN0P/mztH/58/S/+rS1P/IuMD/eX2P/3l+kP96f5H/e4CS/36B + lf9/gpb/gYSY/6Cisf/k5On///////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////f////z////6////+P////X////x////7OLh3uxpYlX+Vk8//1dQQf9XUEH/V1BA/1dQ + QP9XUEH/V09BcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NHU/+jQ0//o0dT/6NHU/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////Pn + 6f/mzdD/5s7R/+bO0f/mztH/5s7R/+fP0v/nz9P/6NDT/+rS1f/JucH/e3+R/3t/kv98gJP/foGV/4CD + l/+BhJj/goWZ/4WHm/+gobD/2dnf//r6+/////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////+/////f////z////6////+P////X////w////6uLg3utpYlX+Vk8//1dQQf9XUEH/V1BB/1dP + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnR + 1ADp0dRX6NDT/+jQ0//o0NP/6NHU/+jQ0//o0NP/7Njb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////jy + 8v/p09b/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+rR1P/SwMf/hIaY/32AlP9+gZX/gIOX/4KF + mf+Dhpr/hYeb/4eInP+IiZ3/lJWn/7a2w//Y2N7/7Ozv//T09v/5+fr//f39//7+/v/+/v7//v7+//7+ + ///+/v///v7///////////////////////////////////////////////////////////////////// + ///////+/////f////z////6////9/////T////v////6eLg3uppYlX+Vk9A/1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnR + 1ADp0NNX6NDT/+jR1P/o0NP/6NHU/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////v4 + +P/q1dj/6NDT/+jQ0//o0NP/6NHU/+jQ1P/o0NP/6NDT/+nR1P/gys//kpCh/32Blf+Ag5f/gYSY/4OG + mv+Fh5v/h4ic/4mKnv+Ki5//i4yg/42Nof+Uk6f/nZ2u/6WktP+urLr/v73J/8LAy//Ewsz/xsPN/8fE + z//JxdD/ysfR/8vI0f/U0dn/+/r7//////////////////////////////////////////////////// + ///////+/////f////z////6////9/////P////v////6eLg3ulpYlX+Vk9A/1dQQf9XUED/V1BA/1dQ + QP9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NHU/+jR1P/o0dT/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////v4 + +P/q1dj/6NDT/+jQ0//o0dT/6NHU/+jQ1P/o0NP/6NDU/+jQ0//n0NP/qqKw/3+Cl/+ChZn/hIaa/4aH + m/+HiJz/iYqe/4uMoP+MjaH/jo6i/5CQpP+SkaX/k5Kl/5STpf+WlKf/mZao/5uXqf+cmKr/n5qs/6Gc + rf+jna7/pZ+w/6afsP+4sb//+Pj5//////////////////////////////////////////////////// + ///////+/////f////z////6////9/////P////u////5+Lg3ulpYlX+Vk5A/1dQQf9XUED/V1BA/1dQ + QP9XUED/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6dHU/+jR1P/o0NT/6NDT/+nR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////v3 + +P/q1df/6NDT/+jQ0//o0NT/6NDU/+jQ1P/o0NT/6NHU/+jQ0//q0tX/xLa//4SHmv+Ehpr/hoic/4iJ + nf+Jip7/i4yg/42Nof+OjqL/kZCk/5KRpf+Uk6X/lpSn/5iVqf+bl6r/nZmr/56arP+gm63/op2u/6Se + r/+moLH/qaGy/6ujtP+9tsL/+fj5//////////////////////////////////////////////////// + ///////+/////P////v////5////9v////L////u////5+Lg3ehpYlX+Vk9A/1dQQf9XUED/V1BA/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jQ1P/o0dT/6NDT/+jQ1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////v3 + +P/q1df/6NDT/+jR1P/o0NP/6NHU/+jR1P/o0dT/6NDT/+jR1P/p0dT/3MfN/5ORo/+Gh5v/iImd/4qK + nv+MjKD/jY2h/46Oov+RkKT/kpGl/5STpf+WlKf/mJap/5uXqf+dmav/n5qs/6Gcrf+jna7/pZ+w/6eg + sf+qorP/raW1/7Got//CusX/+vn6//////////////////////////////////////////////////// + ///////+/////f////r////5////9v////L////t////5uLg3edpYlX+Vk9A/1dQQf9XUED/V1BB/1dQ + QP9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDT/+jR1P/o0dT/6NDT/+jQ0//o0NP/7Njb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////z5 + +f/s2Nr/6NDT/+jQ1P/o0NP/6NDT/+jR1P/o0dT/6dHU/+jQ0//o0NP/59DT/66ls/+HiZ3/iouf/4yM + oP+NjaH/j4+j/5GQpP+TkqX/lZOm/5eVqP+Zlqn/m5iq/52Zq/+fm6z/oZyt/6Odrv+ln7D/p6Cx/6qi + s/+uprb/sqm4/7etuv/Gvcf/+fj5//////////////////////////////////////////////////// + ///////+/////f////v////5////9f////H////t////5eLg3uZqYlX+Vk8//1dQQP9XUEH/V1BB/1dQ + QP9XUED/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dRX6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/7Njb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////////////+ + /v/w4eP/6M/S/+jQ0//o0NP/6NDT/+jQ1P/o0NP/6NDT/+jQ0//o0NT/6dHU/9G/x/+RkKP/jIyg/42N + of+Pj6P/kZCk/5OSpf+Vk6b/l5Wo/5qWqf+cmKr/nZmr/5+brP+inK7/pJ6v/6afsP+oobL/qqKz/66m + tv+0qrn/uK67/72xvf/Lv8r/+fj4//////////////////////////////////////////////////// + ///////+/////P////r////4////9f////H////r////5OLg3eVpYlX+Vk9A/1dQQP9XUEH/V1BB/1dQ + QP9XUEH/V09BcldPQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 0wDo0NNX6NDU/+jQ1P/o0NP/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///06ev/6NHU/+jQ0//o0NT/6NDT/+jR1P/p0dT/6NHU/+jR1P/o0dT/6NHU/+fQ0/+4rbr/j46i/4+P + o/+SkaX/lJKl/5WUp/+Xlaj/mpep/5yYqv+emqv/n5us/6Kcrv+knq//pZ+w/6ihsv+ro7T/r6a2/7Sr + uf+5r7v/vrK//8K0wP/Qw8z/+vj5//////////////////////////////////////////////////// + ///////+/////P////r////4////9f////H////r////4+Lg3eVpYlX+Vk9A/1dQQP9XUEH/V1BA/1dQ + Qf9XUED/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 1ADo0NRX6dHU/+jR1P/o0NP/6NDT/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///69fb/6tTX/+jQ0//o0NP/6NDU/+jQ0//p0dT/6NDU/+jQ0//o0dT/6NDT/+nR1P/izND/sqi2/5KR + pf+TkqX/lpSn/5iVqf+al6n/nZmr/56arP+gm63/o52u/6WfsP+noLH/qKGy/6yktP+wqLf/tay5/7qv + vP+/s7//xLXB/8i4w//Vxs7/+/n6//////////////////////////////////////////////////// + //7////9/////P////r////4////9P////D////q////4uLg3eNqYlX+Vk8//1dQQf9XUEH/V1BB/1dQ + QP9XUED/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ + 1ADo0NRS6NHU/OjQ0//o0NP/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/f3/7t3f/+jQ0//o0NT/6NDU/+jQ0//p0dT/6NHU/+jR1P/o0dT/6NDU/+nR1P/p0dT/4svQ/7it + uf+Zl6n/l5Wo/5qXqf+dmar/npqs/6Cbrf+jna7/pZ+w/6egsf+porP/rKW1/7Got/+2rLr/u7C8/8Cz + v//FtsL/yrnE/868xv/aytL/+/r6//////////////////////////////////////////////////// + //7////9/////P////r////3////9P///+/////p////4eHf3eNpYlT+Vk8//1dPQf9XUEH/V1BB/1dQ + QP9XUED/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0NQc6NHU2ujQ1P/o0dT/6NDT/+jQ0//o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////9uzt/+nR1P/o0NT/6NDU/+jR1P/o0NT/6NDT/+jQ1P/o0NT/6NHU/+jR1P/o0NP/6dHU/+bP + 0v/Lu8T/q6Oy/56arP+emqz/oZyt/6Odr/+ln7D/p6Cx/6qis/+uprX/sqm4/7etuv+8sb3/wbPA/8W2 + wv/KusX/z73H/9PAyf/ezdT//Pr6//////////////////////////////////////////////////// + //7////9/////P////r////3////8////+/////p////4OHf3eJpYlX+Vk8//1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0NQQ6NHU0+jQ1P/o0NT/6NDT/+jQ0//o0NP/7dnc//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////fv7/+7b3v/o0NP/6NDT/+jR1P/o0dT/6NHU/+jR1P/o0NT/6NDU/+jQ0//o0NP/6NDT/+nR + 1P/p0dT/4MvP/8q6w/+0qrj/qKGx/6agsf+noLH/qaKz/66mtf+yqrj/uK67/72yvv/CtMH/x7fD/8u7 + xf/Qvsj/1cLK/9nFzP/i0NX/+/n6//////////////////////////////////////////////////// + //7////9/////P////r////3////8////+3////o////3+Hf3eFpYlX+Vk8//1dQQf9XUEH/V1BA/1dQ + QP9XUED/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjR + 1ADo0dQQ6NHU0+jQ0//o0NP/6NDT/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////jy8//q1Nf/6NDT/+jR1P/o0NP/6NDT/+jR1P/o0dT/6NDT/+jQ0//o0NP/6NDT/+jQ + 0//o0dT/6dHU/+nR1P/lztL/2sbM/869xv/DtcD/v7O//76yvv+/s7//wbTA/8W3wv/KusT/zr3G/9PA + yf/Xw8v/28bN/9/Jz//n09j//Pr6//////////////////////////////////////////////////// + //7////8/////P////n////2////8v///+3////n////3uHf3OBpYlX+Vk8//1dQQP9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnR + 1ADp0dQF6dHUpOjQ1P/o0NT/6NHU/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////79/f/x4uT/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6dHU/+jQ0//o0NP/6NDU/+jR + 1P/o0NP/6NDT/+jQ0//p0dT/6dHU/+nR1P/p0dT/5s/T/+TO0v/jzdH/48zR/+PN0f/kzdH/5c7S/+XO + 0v/mz9L/58/T/+fP0//r19r//Pr6//////////////////////////////////////////////////// + //7////8////+/////n////1////8v///+z////m////3eHf3N5pYlX9Vk8//1dQQf9XUEH/V1BA/1dQ + Qf9XUED/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADo0NMA6NDTYejQ1Pzo0dT/6NHU/+jR1P/o0NP/7Nnb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////7+Pj/7tze/+jQ0//o0NP/6NDT/+jQ1P/o0dT/6dHU/+jQ0//o0NP/6NDU/+jQ + 0//o0NT/6NDT/+jQ0//o0dT/6NDU/+jR1P/o0NP/6NDT/+nR1P/p0dT/6dHU/+nR1P/p0dT/6dHU/+nR + 0//o0NP/6NDT/+jQ0//s19r//Pr6//////////////////////////////////////////////////// + //7////8////+v////j////1////8f///+z////l////2+De3N1pYlX9Vk9A/1dQQf9XUEH/V1BA/1dQ + QP9XUED/V1BBcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADp0dQA6dHUIejR1OHo0NP/6NDU/+jR1P/o0NP/7dnb//78/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////+PLy/+rU1//o0NP/6NDT/+jR1P/o0dT/6dHU/+jR1P/o0NT/6NDT/+jQ + 0//o0NP/6NDT/+jQ0//o0dT/6dHU/+jQ0//o0NP/6NDT/+jR1P/o0dT/6NHU/+nR1P/o0NP/6NDT/+jQ + 0//o0NP/6NHU/+jQ0//r19r//Pr6//////////////////////////////////////////////////// + //7////8////+v////j////1////8P///+v////j////2uHf3N1pYlT9Vk9A/1dQQf9XUEH/V1BA/1dQ + QP9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AADp0dQA6dHUA+jQ06bo0dT/6NHU/+jQ1P/o0NP/7Njb//38/P////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////bu7//q1Nf/6NDT/+jR1P/o0dT/6NHU/+jQ0//o0NP/6NDT/+jQ + 0//o0NP/6NDU/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDU/+jQ0//o0NP/6NDU/+jQ1P/o0NT/6NDU/+jQ + 0//o0NP/6NDT/+jQ0//r19r//Pr6//////////////////////////////////////////////////// + //7////8////+v////j////0////8P///+r////i////2djW09thWkz9Vk9A/1dPQf9XUEH/V1BB/1dQ + QP9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA6NHUAOjR1Fno0NP56NDT/+jR1P/o0NP/7Nnb//38/P3///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////+/v/37u//7Nnb/+jQ0//p0dT/6NHU/+jQ0//o0NP/6NDT/+jQ + 0//o0NT/6NDU/+jR1P/p0dT/6NDT/+jQ0//o0NP/6NDT/+nR1P/o0NP/6NDT/+jQ1P/o0NT/6NDU/+jQ + 1P/o0NP/6NDT/+jQ0//r19r//Pr6/////////////////////////////////////////////////v// + //3////8////+v////f////0////7////+n////i////2NLQzOFbVEb+V1BA/1dQQf9XUEH/V1BB/1dQ + QP9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA6NHUAOjR1A/p0dS96NDT/+jR1P/o0NP/7Nnb/v38/PX////+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ////////////////////////////////////////+/f3/+7e4P/p0dT/6NDT/+jQ0//o0NP/6NDT/+jQ + 0//o0NP/6NHT/+jQ1P/o0NT/6NHU/+jR1P/o0NP/6NDT/+jR1P/o0dT/6NHU/+jR1P/o0dT/6NDU/+jQ + 0//o0NP/6NHU/+jQ0//s19r//Pr6/////////////////////////////////////////////////v// + //3////8////+v////f////0////7v///+j////h////18nHw+1bVEb/V1BB/1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAA6dHUAOfQ0wDo0NQ36NDU1ejR1P/o0NP/7Njb/v37++z////9//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////37+//06er/69bY/+jQ0//o0NP/6NDT/+jR + 1P/o0NP/6NDT/+jQ0//o0NT/6dHU/+jR1P/o0NP/6NDT/+jQ0//o0dT/6NHU/+jR1P/o0dT/6NDT/+jQ + 0//o0dT/6NHU/+jQ0//r19r//Pr6/////////////////////////////////////////////////v// + //3////8////+f////b////y////7v///+j////g////1qiknOxXUEH/V1BB/1dQQP9XUED/V1BA/1dQ + Qf9XT0H/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAOjQ0gDp0dQA6NHUQ+jR1O/o0NP/7Nja/vz6+ur////9//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////////////////v7/+/f3//Pm5//t2t3/6dLV/+jQ + 0//o0NP/6NDT/+jQ0//o0NP/6NHU/+jQ0//o0NP/6NHU/+jQ0//o0NP/6NDU/+jR1P/o0dT/6NDT/+jR + 1P/o0NP/6NHU/+jQ0//r19r//Pr6/////////////////////////////////////////////////f// + //3////7////+f////b////y////7f///+f////f+/v62YuGfPZUTT7/V1BC/1dQQf9XUEH/V09B/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAADo0NMA6NDTBejQ03vo0NP37Nja//36+/L////+//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////+/v/9+/v/+PLz//Pm + 6P/v3+H/69bZ/+vW2f/p0tX/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ0//o0NP/6NDT/+jQ + 0//o0NP/6NDT/+jQ0//s19r//Pr6/////////////////////////////////////////////////f// + //z////7////+f////b////y////7P///+b////d5uTi4mxlWP1WTz//V1BB/1dQQP9XUEH/V1BB/1dQ + QP9XUED/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAA6NDTAOjQ0gbo0NN76tPW9/ny8/////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///+/f3//Pn5//z4+f/37/D/9ers//Xq7P/16uz/9evs//Xr7P/16+z/9ers//Xr7P/16+z/9ers//Xq + 7P/16+z/9evs//Xq6//27e7//vz8/////////////////////////////////////////////////f// + //z////7////+P////X////x////7P///+X////duLWv7VlSQ/9XUED/V1BB/1dQQP9XUED/V1BB/1dQ + Qf9XUEH/V1BAcldQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOjQ0wDo0NQG6NDTe/bs7ff///////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////+/////v// + //z////6////+P////X////x////6////+T29fTig35z+lVOPv9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQ + Qf9XUEH/V1BBcldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADo0NMA3La7BfXs7YH+/v78//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////+/////f// + //z////6////+P////T////w////6v///+PGw77vXldJ/1ZPQP9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQ + Qf9XUEH+V1BBZFdQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/fv7AP37+yb+/v7f//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////+/////f// + //v////5////9/////T////v////6e/v7ed9d2v7VU4+/1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQ + Qf9XUEHnV1BBJVdQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///xb////T//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////+/////f// + //v////6////9/////P////v/f396qiknfVYUUL/V1BB/1dQQf9XUED/V1BA/1dQQf9XUEH/V1BB/1dQ + QP9XUEHlV09BH1dPQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///w/////O//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////+/////f// + //z////6////9/////P////uxsO+82NcTv9WT0D/V1BB/1dQQf9XUEH/V1BA/1dQQf9XUED/V1BB/1dQ + Qf9XUEHlV09BH1dQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///w3////M//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////+/////f// + //v////5////9v////POzMf0amRX/VVOP/9XUEH/V1BB/1dQQf9XUEH/V1BA/1dQQP9XUEH/V1BB/1dQ + Qf9XUEHNV1BAFVdQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///wz////L//////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////+/////f// + //v////5////9szKxvdsZVj+VU4//1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQ + Qf9XUEGWV1BBAFdQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6OblAOHg3gXr6uio/Pv7//////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////9/////f// + //v5+Pj6vLm0/GdhU/5WTj//V1BA/1dQQP9XUED/V1BA/1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQ + QPxXUEFgV1BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXldIAJaRiQB2cGRmqaSd++vq6P////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////////////////////////9/f39/ODf + 3P2Uj4X+XFVG/1ZOP/9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQ + QOFXUEAnV1BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2NbUAE9HNwBPSDgZVk9AvXVvY/+xrqf/5OLg//v7 + +/////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////j39/7b2tf+o5+X/mtk + V/9VTj//V09A/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUED/V1BB/1dQQf9XUEH/V1BB/1dQ + QItXUUIAV1BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFdOQgBXUD8AV09AP1VOPupXUED/amNW/4+L + gf+1sav/09HN/97c2f/l4+H/5OPg/+Tj4f/k4+D/5OPg/+Tj4P/k4+D/5OPh/+Xj4f/k4+H/5ePh/+Tj + 4P/k4+D/5OPh/+Tj4P/l4+H/5OPg/+Tj4P/k4+H/5OPg/+Tj4P/k4+D/5ePh/+Xj4f/l4+H/5ePh/+Tj + 4P/l4+H/5ePh/+Xj4f/k4+D/5ePh/+Tj4P/k4+D/5OPg/+Tj4P/l4+H/5ePh/+Xj4f/k4+H/5OPg/+Xj + 4f/l4+H/5ePh/+Xj4f/k4+D/5ePh/+Xj4f/k4+H/5OPh/+Xj4f/k4+D/5OPg/+Xj4f/l4+H/5ePh/+Tj + 4P/l4+H/5OPg/+Xj4f/l4+H/5OPg/+Tj4P/l4+H/5ePh/+Xj4f/l4+H/5ePh/+Xj4f/l4+H/5ePh/+Tj + 4f/k4+D/5ePh/+Xj4f/k4+D/5OPg/+Xj4f/l4+H/5OLg/9va1v/Pzcn/q6eg/4aBdv9kXU//Vk4//1ZO + QP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUED/V1BB41dQ + QixXUEEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXUEAAV09BA1dQQJVXUED/Vk8//1RN + Pv9XUEH/W1RF/2JcTf9qY1b/amNV/2pjVv9qY1b/amNV/2pjVf9qY1b/amNW/2pjVv9qY1X/amNW/2pj + Vv9qY1b/amNW/2pjVf9qY1b/amNV/2pjVf9qY1b/amNV/2pjVf9qY1X/amNW/2pjVv9qY1b/amNV/2pj + Vv9qY1b/amNW/2pjVv9qY1b/amNW/2pjVf9qY1X/amJV/2pjVv9qY1b/amNW/2pjVv9qY1b/amNW/2pj + Vv9qY1b/amNW/2pjVv9qY1b/amNW/2pjVv9qY1X/amNW/2pjVv9qY1X/amNW/2pjVv9qY1b/amNW/2pj + Vv9qY1b/amNW/2pjVf9qY1b/amNW/2pjVv9qY1b/amNW/2pjVv9qY1X/amNW/2pjVv9qY1b/amNW/2pj + Vf9qY1b/amNW/2pjVv9qY1X/amNV/2pjVv9qY1b/aWJV/19ZSv9bVEX/Vk8//1RNPv9WTz//V1BB/1dQ + Qf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BBjFdQ + PQFXUEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXXjIAV1BAAFdQQC5XUEDaV1BA/1dQ + Qf9XUED/V1BA/1ZPQP9WTz//Vk9A/1ZPP/9WT0D/Vk9A/1ZPQP9WT0D/Vk8//1ZPQP9WTz//Vk8//1ZP + QP9WT0D/Vk8//1ZPQP9WTz//Vk8//1ZPP/9WT0D/Vk9A/1ZPQP9WTz//Vk8//1ZPQP9WT0D/Vk8//1ZP + QP9WTz//Vk8//1ZPQP9WT0D/Vk9A/1ZPQP9WTz//Vk9A/1ZPP/9WTz//Vk8//1ZPQP9WTz//Vk8//1ZP + P/9WT0D/Vk8//1ZPP/9WTz//Vk8//1ZPP/9WTz//Vk8//1ZPP/9WTz//Vk9A/1ZPP/9WTz//Vk8//1ZP + P/9WTz//Vk9A/1ZPQP9WTz//Vk9A/1ZPQP9WTz//Vk8//1ZPP/9WTj//Vk8//1ZPP/9WTz//Vk9A/1ZP + P/9WTz//Vk8//1ZPQP9WTz//Vk9A/1ZPQP9WTz//Vk8//1dPQP9XUED/V1BB/1dQQf9XUEH/V1BB/1dQ + Qf9XUED/V1BB/1dQQf9XUED/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BA/1dQQf9XUEDiV1BALFdQ + QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV1BAAFdQQQBXUEFmV1BB+ldQ + Qf9XUEH/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUED/V1BB/1dQ + QP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUED/V1BB/1dQ + Qf9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQQf9XUED/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUED/V1BB/1dQ + Qf9XUED/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUED/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUED/V1BA/1dQ + QP9XUED/V1BB/1dQQf9XUEH/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUED/V1BA/1dQQf9XUEH/V1BA/1dQ + Qf9XUED/V1BB/1dQQP9XUEH/V1BB/1dQQf9XUED/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUEH/V1BA/1dQ + Qf9XUEH/V1BA/1dQQf9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQQP9XUED/V1BA/1dQQe1XUEBZV1I9AVdQ + QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFdQQABXUEAIV1BAhFdQ + QPlXT0H/V1BB/1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQQf9XUED/V1BB/1dQ + QP9XUEH/V1BB/1dQQf9XUEH/V1BA/1dQQf9XUED/V1BB/1dQQf9XUED/V1BA/1dQQf9XUEH/V1BB/1dQ + QP9XUEH/V1BB/1dQQP9XUED/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BA/1dQQf9XUEH/V1BA/1dQQf9XUEH/V1BA/1dQ + Qf9XUED/V1BA/1dQQf9XUEH/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUED/V1BB/1dQQP9XUEH/V1BA/1dQ + QP9XUED/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUED/V1BA/1dQQP9XUEH/V1BB/1dQQP9XUED/V1BB/1dQ + Qf9XUED/V1BB/1dQQf9XUED/V1BA/1dQQf9XUEH/V1BA/1dQQP9XUED/V1BA/ldQQZRXUD8DV09BAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABXUEAAV1A/CFdQ + QYRXUEH6V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQQf9XUED/V1BA/1dQ + QP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BA/1dQQP9XUED/V1BA/1dQQf9XUED/V1BB/1dQ + Qf9XUED/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQ + QP9XUEH/V1BA/1dQQP9XUED/V1BB/1dQQP9XUEH/V1BA/1dQQP9XUEH/V1BB/1dQQP9XUEH/V1BA/1dQ + QP9XUED/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUED/V1BB/1dQQf9XUEH/V1BB/1dQ + Qf9XUED/V1BB/1dPQf9XUEH/V1BB/1dQQP9XUEH/V1BA/1dQQP9XUEH/V1BB/1dQQf9XUED/V1BB/1dQ + Qf9XUEH/V1BB/1dQQf9XT0H/V1BB/1dQQf9XUEH/V1BA/1dQQP9XUED+V1BAoVdPQRJXUEEAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAV1BBAFdQ + QQlXUECFV1BA9ldQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUED/V1BB/1dQ + QP9XUED/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUED/V1BA/1dQ + QP9XUED/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V09B/1dQQf9XUEH/V1BB/1dQQf9XUED/V1BB/1dQ + QP9XUEH/V1BA/1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BA/1dQQf9XUED/V1BA/1dQQP9XUEH/V1BB/1dQ + QP9XUED/V1BB/1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQ + Qf9XUEH/V1BB/1dQQP9XUED/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BA/1dQQP9XUED/V1BA/1dQ + QP9XUEH/V1BA/1dQQf9XUEH/V1BB/1dQQP9XUED/V1BA/1dQQOpXUEFuV09BEldPQQAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFdP + QQBXT0AIV1BBTldQQdJXUEH9V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQ + Qf9XUEH/V1BA/1dQQP9XUEH/V1BB/1dQQP9XUED/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BA/1dQ + QP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUED/V1BA/1dQQP9XUED/V1BB/1dQQf9XUED/V1BA/1dQ + QP9XUED/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUED/V1BA/1dQQP9XUEH/V1BA/1dQ + Qf9XUEH/V1BA/1dQQP9XUED/V1BB/1dQQf9XUEH/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQ + QP9XUED/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUED/V1BB/1dQQP9XUEH/V1BA/1dQ + Qf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUED/V1BBxldQQE9XUUIBV1BBAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AABXUEAAV1E9AFdQQB5XUEF2V1BB1ldQQP5XUED/V1BB/1dQQf9XUEH/V1BA/1dQQP9XUED/V1BA/1dQ + Qf9XUEH/V1BA/1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUED/V1BB/1dQ + Qf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUED/V1BA/1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BA/1dQ + QP9XUED/V1BB/1dQQf9XUED/V1BB/1dQQP9XUED/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQ + Qf9XUED/V1BB/1dQQf9XUEH/V1BA/1dQQf9XUEH/V1BB/1dQQf9XT0H/V1BB/1dQQf9XUEH/V1BB/1dQ + QP9XUED/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BA/1dQ + Qf9XUED/V1BB/1dQQP9XUEH/V1BA+FdQQNJXUECJV1BBHldQQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAFdQPwBXUT4BV09AHldQQFlXUEGkV1BB3ldQQPNXUEH1V1BA/1dQQf9XUED/V1BB/1dQ + Qf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQP9XUED/V1BB/1dQ + Qf9XUEH/V1BB/1dQQf9XUED/V1BA/1dQQf9XUEH/V1BB/1dQQP9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQ + Qf9XUED/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUED/V1BA/1dQQP9XUED/V1BB/1dQQf9XUEH/V1BB/1dQ + Qf9XUED/V1BB/1dQQf9XUEH/V1BA/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BA/1dQQP9XUEH/V1BB/1dQ + Qf9XUED/V1BB/1dQQf9XUEH/V1BB/1dQQf9XUEH/V1BB/1dQQf9XT0H/V1BB/1dQQf9XUEH/V1BB/1dQ + Qf9XUED3V1BA81dQQM9XUEGrV1BAXFdQQBNXUEADV1BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAV1BJAFdQSQBXUkMBV1BAI1dQQDFXUEFGV1BBildQQY1XUECNV1BBjVdQ + QY1XUECNV1BBjVdQQY1XUEGNV1BAjVdQQI1XUEGNV1BBjVdQQI1XUEGNV1BBjVdQQY1XUECNV1BBjVdQ + QY1XUEGNV1BBjVdQQI1XUEGNV1BBjVdQQY1XUEKNV1BBjVdQQI1XUECNV1BBjVdQQY1XUEGNV1BBjVdQ + QY1XUECNV1BBjVdPQY1XUEGNV1BBjVdQQI1XUECNV1BAjVdQQY1XUEGNV1BAjVdQQY1XUECNV1BAjVdQ + QY1XUECNV1BBjVdQQY1XUEGNV1BBjVdQQI1XUECNV1BAjVdQQI1XUECNV1BAjVdQQY1XUEKNV1BBjVdQ + QI1XUEGNV1BBjVdQQI1XUEGNV1BAjVdQQI1XUECNV1BAjVdQQY1XT0GNV1BAjVdQQI1XUEGNV1BBjVdQ + QY1XUEBSV1BBMVdQQRhTSz4AV1FHAFdQSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAD////////////////////////8AP////////////////////////wA//////////////////////// + /AD////////////////////////8AP////////////////////////wA//////////////////////// + /AD////////////////////////8AP////////////////////////wA//////////////////////// + /AD////////////////////////8AP////AAAAAAAAAAAAAAD/////wA////wAAAAAAAAAAAAAAB//// + /AD///4AAAAAAAAAAAAAAAD////8AP///AAAAAAAAAAAAAAAAD////wA///4AAAAAAAAAAAAAAAAH/// + /AD///AAAAAAAAAAAAAAAAAP///8AP//4AAAAAAAAAAAAAAAAAf///wA///gAAAAAAAAAAAAAAAAA/// + /AD//8AAAAAAAAAAAAAAAAAD///8AP//gAAAAAAAAAAAAAAAAAH///wA//+AAAAAAAAAAAAAAAAAAf// + /AD//wAAAAAAAAAAAAAAAAAA///8AP//AAAAAAAAAAAAAAAAAAD///wA//8AAAAAAAAAAAAAAAAAAP// + /AD//wAAAAAAAAAAAAAAAAAA///8AP/+AAAAAAAAAAAAAAAAAAD///wA//4AAAAAAAAAAAAAAAAAAP// + /AD//gAAAAAAAAAAAAAAAAAA///8AP/+AAAAAAAAAAAAAAAAAAB///wA//4AAAAAAAAAAAAAAAAAAD// + /AD//gAAAAAAAAAAAAAAAAAAH//8AP/+AAAAAAAAAAAAAAAAAAAP//wA//4AAAAAAAAAAAAAAAAAAAf/ + /AD//gAAAAAAAAAAAAAAAAAAA//8AP/+AAAAAAAAAAAAAAAAAAAD//wA//4AAAAAAAAAAAAAAAAAAAH/ + /AD//gAAAAAAAAAAAAAAAAAAAf/8AP/+AAAAAAAAAAAAAAAAAAAA//wA//4AAAAAAAAAAAAAAAAAAAD/ + /AD//gAAAAAAAAAAAAAAAAAAAP/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP/+AAAAAAAAAAAAAAAAAAAAf/wA//4AAAAAAAAAAAAAAAAAAAB/ + /AD//gAAAAAAAAAAAAAAAAAAAH/8AP//AAAAAAAAAAAAAAAAAAAAf/wA//8AAAAAAAAAAAAAAAAAAAB/ + /AD//wAAAAAAAAAAAAAAAAAAAH/8AP//gAAAAAAAAAAAAAAAAAAAf/wA//+AAAAAAAAAAAAAAAAAAAB/ + /AD//8AAAAAAAAAAAAAAAAAAAH/8AP//4AAAAAAAAAAAAAAAAAAAf/wA///gAAAAAAAAAAAAAAAAAAB/ + /AD///AAAAAAAAAAAAAAAAAAAH/8AP//+AAAAAAAAAAAAAAAAAAAf/wA///8AAAAAAAAAAAAAAAAAAB/ + /AD///4AAAAAAAAAAAAAAAAAAH/8AP///gAAAAAAAAAAAAAAAAAAf/wA///+AAAAAAAAAAAAAAAAAAB/ + /AD///4AAAAAAAAAAAAAAAAAAH/8AP///gAAAAAAAAAAAAAAAAAA//wA///+AAAAAAAAAAAAAAAAAAD/ + /AD///8AAAAAAAAAAAAAAAAAAP/8AP///wAAAAAAAAAAAAAAAAAB//wA////gAAAAAAAAAAAAAAAAAH/ + /AD///+AAAAAAAAAAAAAAAAAAf/8AP///8AAAAAAAAAAAAAAAAAD//wA////4AAAAAAAAAAAAAAAAAP/ + /AD////gAAAAAAAAAAAAAAAAB//8AP////AAAAAAAAAAAAAAAAAP//wA////+AAAAAAAAAAAAAAAAB// + /AD////8AAAAAAAAAAAAAAAAP//8AP////4AAAAAAAAAAAAAAAD///wA/////4AAAAAAAAAAAAAAAf// + /AD/////4AAAAAAAAAAAAAAH///8AP////////////////////////wA//////////////////////// + /AD////////////////////////8AP////////////////////////wA//////////////////////// + /AD////////////////////////8AP////////////////////////wA//////////////////////// + /AD////////////////////////8AP////////////////////////wA//////////////////////// + /AA= + + + \ No newline at end of file diff --git a/SigmaERP_2017/SigmaERP/App.config b/SigmaERP_2017/SigmaERP/App.config new file mode 100644 index 0000000..88fa402 --- /dev/null +++ b/SigmaERP_2017/SigmaERP/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SigmaERP_2017/SigmaERP/FicherosIncrustados/ExferiaActualizador.exe b/SigmaERP_2017/SigmaERP/FicherosIncrustados/ExferiaActualizador.exe new file mode 100644 index 0000000..948df4a Binary files /dev/null and b/SigmaERP_2017/SigmaERP/FicherosIncrustados/ExferiaActualizador.exe differ diff --git a/SigmaERP_2017/SigmaERP/FicherosIncrustados/PDFLibNet64.dll b/SigmaERP_2017/SigmaERP/FicherosIncrustados/PDFLibNet64.dll new file mode 100644 index 0000000..d83ea1f Binary files /dev/null and b/SigmaERP_2017/SigmaERP/FicherosIncrustados/PDFLibNet64.dll differ diff --git a/SigmaERP_2017/SigmaERP/FicherosIncrustados/PdfLibNet32.dll b/SigmaERP_2017/SigmaERP/FicherosIncrustados/PdfLibNet32.dll new file mode 100644 index 0000000..e7d9207 Binary files /dev/null and b/SigmaERP_2017/SigmaERP/FicherosIncrustados/PdfLibNet32.dll differ diff --git a/SigmaERP_2017/SigmaERP/FicherosIncrustados/PdfLibNetLibrary.dll b/SigmaERP_2017/SigmaERP/FicherosIncrustados/PdfLibNetLibrary.dll new file mode 100644 index 0000000..225ee94 Binary files /dev/null and b/SigmaERP_2017/SigmaERP/FicherosIncrustados/PdfLibNetLibrary.dll differ diff --git a/SigmaERP_2017/SigmaERP/General/Variables_SigmaERP.cs b/SigmaERP_2017/SigmaERP/General/Variables_SigmaERP.cs new file mode 100644 index 0000000..0ce35cd --- /dev/null +++ b/SigmaERP_2017/SigmaERP/General/Variables_SigmaERP.cs @@ -0,0 +1,69 @@ +using Exferia_Aplicacion.General; +using Exferia_Aplicacion.Modelos_Generales; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SigmaERP.General +{ + public class Variables_SigmaERP + { + public static string G_STR_URL_ACTUALIZACION_NORMAL = @"http://2.trialia.es:49011/Actualizaciones/SigmaERP/Principal_Escritorio/"; + public static string G_STR_URL_ACTUALIZACION_FIBRA = @"http://1.trialia.es:49011/Actualizaciones/SigmaERP/Principal_Escritorio/"; + public static string G_STR_URL_ACTUALIZACION_INTERNA = @"http://192.168.30.102:49011/Actualizaciones/SigmaERP/Principal_Escritorio/"; + + public static string G_STR_NOMBRELIBRERIAS_BARCODELIB = Variables.G_STR_LIBRERIA_BARCODELIB + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_MAPA_CORE = Variables.G_STR_LIBRERIA_MAPA_CORE + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_MAPA_WINDOWSFORMS = Variables.G_STR_LIBRERIA_MAPA_WINDOWSFORMS + ".dll"; + + public static string G_STR_NOMBRELIBRERIAS_MSHTML = Variables.G_STR_LIBRERIA_MSHTML + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_ITEXTSHERP = Variables.G_STR_LIBRERIA_ITEXTSHARP + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_PDF4ME = Variables.G_STR_LIBRERIA_PDF4ME + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_NEWTONSOFT = Variables.G_STR_LIBRERIA_NEWTONSOFT + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_GMAQRCODENETENCODINGNET45 = Variables.G_STR_LIBRERIA_GMAQRCODENETENCODINGNET45 + ".dll"; + + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_ACTUALIZACION_BD = Variables.G_STR_LIBRERIA_ACTUALIZACIONBD + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_AGENDA = Variables.G_STR_LIBRERIA_AGENDA + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_APLICACION = Variables.G_STR_LIBRERIA_APLICACION + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_AYUDA = Variables.G_STR_LIBRERIA_AYUDA + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_COMPRAS = Variables.G_STR_LIBRERIA_COMPRAS + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_CONTABILIDAD = Variables.G_STR_LIBRERIA_CONTABILIDAD + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_CONTROLGASTOS = Variables.G_STR_LIBRERIA_CONTROLGASTOS + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_CONTROLES = Variables.G_STR_LIBRERIA_CONTROLES + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_CONTRATOSPUBLICOS = Variables.G_STR_LIBRERIA_CONTRATOSPUBLICOS + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_CRM = Variables.G_STR_LIBRERIA_CRM + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_ENTITYFRAMEWORK = Variables.G_STR_LIBRERIA_ENTITYFRAMEWORKS + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_EXPEDIENTES = Variables.G_STR_LIBRERIA_EXPEDIENTES + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_FORMULARIOS = Variables.G_STR_LIBRERIA_FORMULARIOS + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_GENERAL = Variables.G_STR_LIBRERIA_GENERAL + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_GESTIONTASAS = Variables.G_STR_LIBRERIA_GESTIONTASAS + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_GESTIONDOCUMENTAL = Variables.G_STR_LIBRERIA_GESTIONDOCUMENTAL + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_HERMES = Variables.G_STR_LIBRERIA_HERMES + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_HOTELPUNTOVENTA = Variables.G_STR_LIBRERIA_HOTELPUNTOVENTA + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_INFORMES = Variables.G_STR_LIBRERIA_INFORMES + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_INVENTARIOS = Variables.G_STR_LIBRERIA_INVENTARIOS + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_KAIROSPRO = Variables.G_STR_LIBRERIA_KAIROSPRO + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_KAIROSPRO_EF = Variables.G_STR_LIBRERIA_KAIROSPROEF + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_KAIROSPRO_INFORMES = Variables.G_STR_LIBRERIA_KAIROSPROINFORMES + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_KRONOS = Variables.G_STR_LIBRERIA_KRONOS + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_KRONOS_SERVICIO_WINDOWS = Variables.G_STR_LIBRERIA_KRONOS_SERVICIO_WINDOWS + ".exe"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_MAESTROS = Variables.G_STR_LIBRERIA_MAESTROS + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_MYTHOS = Variables.G_STR_LIBRERIA_MYTHOS + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_PERSONAL = Variables.G_STR_LIBRERIA_PERSONAL + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_PREVISIONES = Variables.G_STR_LIBRERIA_PREVISIONES + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_SERVICIOSWEB = Variables.G_STR_LIBRERIA_SERVICIOWEB + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_SERVICIOS = Variables.G_STR_LIBRERIA_SERVICIOS + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_SINCRONIZACION = Variables.G_STR_LIBRERIA_SINCRONIZACION + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_SISTEMAGESTIONALMACEN = Variables.G_STR_LIBRERIA_SISTEMAGESTIONALMACEN + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_TRASPASODATOS = Variables.G_STR_LIBRERIA_TRASPASODATOS + ".dll"; + public static string G_STR_NOMBRELIBRERIAS_EXFERIA_VENTAS = Variables.G_STR_LIBRERIA_VENTAS + ".dll"; + + public static string G_STR_EXFERIA_ACTUALIZADOR = "ExferiaActualizador.exe"; + public static string G_STR_EXFERIA_PDFLIBNET32 = "PdfLibNet32.dll"; + public static string G_STR_EXFERIA_PDFLIBNET64 = "PDFLibNet64.dll"; + public static string G_STR_EXFERIA_PDFLIBNETLIBRARY = "PdfLibNetLibrary.dll"; + + } +} diff --git a/SigmaERP_2017/SigmaERP/NativeMethods.cs b/SigmaERP_2017/SigmaERP/NativeMethods.cs new file mode 100644 index 0000000..d9313cf --- /dev/null +++ b/SigmaERP_2017/SigmaERP/NativeMethods.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Runtime.InteropServices; +using System.Text; +using System.Threading.Tasks; + +namespace SigmaERP +{ + internal class NativeMethods + { + public const int HWND_BROADCAST = 0xffff; + public static readonly int WM_SHOWME = RegisterWindowMessage("WM_SHOWME"); + [DllImport("user32")] + public static extern bool PostMessage(IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam); + [DllImport("user32")] + public static extern int RegisterWindowMessage(string message); + } +} diff --git a/SigmaERP_2017/SigmaERP/Program.cs b/SigmaERP_2017/SigmaERP/Program.cs new file mode 100644 index 0000000..209aeef --- /dev/null +++ b/SigmaERP_2017/SigmaERP/Program.cs @@ -0,0 +1,70 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Runtime.InteropServices; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace SigmaERP +{ + static class Program + { + /// + /// Punto de entrada principal para la aplicación. + /// + /*[STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new P_Principal("")); + }*/ + + /// + /// Punto de entrada principal para la aplicación. + /// + static Mutex mutex = new Mutex(true, "{8F6F0AC4-B9A1-45fd-A8CF-72F04E6BDE8F}"); + [STAThread] + static void Main(string[] _arr_Argumentos) + { + if (_arr_Argumentos==null || _arr_Argumentos.Count()==0 || mutex.WaitOne(TimeSpan.Zero, true)) + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new P_Principal(_arr_Argumentos)); + mutex.ReleaseMutex(); + } + else + { + try + { + //Argumentos + if (_arr_Argumentos != null && _arr_Argumentos.Count() > 0) + { + //Grabar Fichero con los datos encripados de los argumentos + string str_RutaTemporal = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + @"\GT.txt"; + + if (File.Exists(str_RutaTemporal)) + { + File.Delete(str_RutaTemporal); + } + + File.AppendAllText(str_RutaTemporal,_arr_Argumentos[0]); + } + + // send our Win32 message to make the currently running instance + // jump on top of all the other windows + NativeMethods.PostMessage( + (IntPtr)NativeMethods.HWND_BROADCAST, + NativeMethods.WM_SHOWME, + IntPtr.Zero, + IntPtr.Zero); + } + catch + {} + } + } + } +} diff --git a/SigmaERP_2017/SigmaERP/Properties/AssemblyInfo.cs b/SigmaERP_2017/SigmaERP/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..01c7ed2 --- /dev/null +++ b/SigmaERP_2017/SigmaERP/Properties/AssemblyInfo.cs @@ -0,0 +1,37 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// La información general de un ensamblado se controla mediante el siguiente +// conjunto de atributos. Cambie estos valores de atributo para modificar la información +// asociada con un ensamblado. +[assembly: AssemblyTitle("SigmaERP")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("SigmaERP")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Si establece ComVisible en false, los tipos de este ensamblado no estarán visibles +// para los componentes COM. Si necesita obtener acceso a un tipo de este ensamblado desde +// COM, establezca el atributo ComVisible en true en este tipo. +[assembly: ComVisible(false)] + +// El siguiente GUID sirve como id. de typelib si este proyecto se expone a COM. +[assembly: Guid("27c89e20-8d1f-46d7-8abe-fa99b605770d")] + +// La información de versión de un ensamblado consta de los cuatro valores siguientes: +// +// Versión principal +// Versión secundaria +// Número de compilación +// Revisión +// +// Puede especificar todos los valores o usar los valores predeterminados de número de compilación y de revisión +// mediante el carácter '*', como se muestra a continuación: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyInformationalVersion("1.0.1.3")] +[assembly: AssemblyVersion("1.0.1.3")] +[assembly: AssemblyFileVersion("1.0.1.3")] diff --git a/SigmaERP_2017/SigmaERP/Properties/Resources.Designer.cs b/SigmaERP_2017/SigmaERP/Properties/Resources.Designer.cs new file mode 100644 index 0000000..2fbd8f6 --- /dev/null +++ b/SigmaERP_2017/SigmaERP/Properties/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// Este código fue generado por una herramienta. +// Versión de runtime:4.0.30319.42000 +// +// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si +// se vuelve a generar el código. +// +//------------------------------------------------------------------------------ + +namespace SigmaERP.Properties { + using System; + + + /// + /// Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc. + /// + // StronglyTypedResourceBuilder generó automáticamente esta clase + // a través de una herramienta como ResGen o Visual Studio. + // Para agregar o quitar un miembro, edite el archivo .ResX y, a continuación, vuelva a ejecutar ResGen + // con la opción /str o recompile su proyecto de VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Devuelve la instancia de ResourceManager almacenada en caché utilizada por esta clase. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SigmaERP.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Reemplaza la propiedad CurrentUICulture del subproceso actual para todas las + /// búsquedas de recursos mediante esta clase de recurso fuertemente tipado. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Busca un recurso adaptado de tipo System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap logo_sigmaERP { + get { + object obj = ResourceManager.GetObject("logo-sigmaERP", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/SigmaERP_2017/SigmaERP/Properties/Resources.resx b/SigmaERP_2017/SigmaERP/Properties/Resources.resx new file mode 100644 index 0000000..2614c2a --- /dev/null +++ b/SigmaERP_2017/SigmaERP/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + ..\Resources\logo-sigmaERP.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/SigmaERP_2017/SigmaERP/Properties/Settings.Designer.cs b/SigmaERP_2017/SigmaERP/Properties/Settings.Designer.cs new file mode 100644 index 0000000..cd0e43c --- /dev/null +++ b/SigmaERP_2017/SigmaERP/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace SigmaERP.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/SigmaERP_2017/SigmaERP/Properties/Settings.settings b/SigmaERP_2017/SigmaERP/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/SigmaERP_2017/SigmaERP/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/SigmaERP_2017/SigmaERP/Resources/logo-sigmaERP.png b/SigmaERP_2017/SigmaERP/Resources/logo-sigmaERP.png new file mode 100644 index 0000000..706a118 Binary files /dev/null and b/SigmaERP_2017/SigmaERP/Resources/logo-sigmaERP.png differ diff --git a/SigmaERP_2017/SigmaERP/SigmaERP.csproj b/SigmaERP_2017/SigmaERP/SigmaERP.csproj new file mode 100644 index 0000000..2b38c68 --- /dev/null +++ b/SigmaERP_2017/SigmaERP/SigmaERP.csproj @@ -0,0 +1,164 @@ + + + + + Debug + AnyCPU + {27C89E20-8D1F-46D7-8ABE-FA99B605770D} + WinExe + Properties + SigmaERP + SigmaERP + v4.5.2 + 512 + true + publicar\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + sigma-ERP.ico + + + + False + ..\..\..\DLL\ExferiaActualizador.exe + + + False + ..\..\..\DLL\Exferia_Actualizacion_BD.dll + + + False + ..\..\..\DLL\Exferia_Aplicacion.dll + + + False + ..\..\..\DLL\Exferia_Controles.dll + + + False + ..\..\..\DLL\Exferia_EntityFramework.dll + + + False + ..\..\..\DLL\Exferia_Formularios.dll + + + False + ..\..\..\DLL\Exferia_General.dll + + + + + + + + + + + + + + + + + Form + + + P_Principal.cs + + + + + + + P_Principal.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + + + + False + Microsoft .NET Framework 4.5.2 %28x86 y x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + + \ No newline at end of file diff --git a/SigmaERP_2017/SigmaERP/sigma-ERP.ico b/SigmaERP_2017/SigmaERP/sigma-ERP.ico new file mode 100644 index 0000000..dd6f004 Binary files /dev/null and b/SigmaERP_2017/SigmaERP/sigma-ERP.ico differ