diff --git a/Resources/Firmas Tecsitel/Fima Tecsitel2.jpg b/Resources/Firmas Tecsitel/Fima Tecsitel2.jpg new file mode 100644 index 00000000..ba525626 Binary files /dev/null and b/Resources/Firmas Tecsitel/Fima Tecsitel2.jpg differ diff --git a/Resources/Firmas Tecsitel/Fima Tecsitel2.png b/Resources/Firmas Tecsitel/Fima Tecsitel2.png new file mode 100644 index 00000000..781514cb Binary files /dev/null and b/Resources/Firmas Tecsitel/Fima Tecsitel2.png differ diff --git a/Source/Base/Base.dproj b/Source/Base/Base.dproj index f4910a29..fe00a830 100644 --- a/Source/Base/Base.dproj +++ b/Source/Base/Base.dproj @@ -45,6 +45,12 @@ Package FalseTrueFalseLibreria base de FactuGESFalseFalseFalseTrueFalse1000FalseFalseFalseFalseFalse308212521.0.0.01.0.0.0 + + + + + + Microsoft Office 2000 Sample Automation Server Wrapper Components Microsoft Office XP Sample Automation Server Wrapper Components Base.dpk diff --git a/Source/Base/Base.res b/Source/Base/Base.res index 8b251f31..1641339f 100644 Binary files a/Source/Base/Base.res and b/Source/Base/Base.res differ diff --git a/Source/Cliente/FactuGES.dproj b/Source/Cliente/FactuGES.dproj index f03f3a24..d17c615e 100644 --- a/Source/Cliente/FactuGES.dproj +++ b/Source/Cliente/FactuGES.dproj @@ -53,7 +53,7 @@ Delphi.Personality VCLApplication -FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1820FalseFalseFalseFalseFalse30821252Rodax Software S.L.1.8.2.0FactuGESFactuGES1.8.2.0FactuGES.dprFalse +FalseTrueFalseC:\Archivos de programa\Borland\Delphi7\Bin\TrueFalse1830FalseFalseFalseFalseFalse30821252Rodax Software S.L.1.8.3.0FactuGESFactuGES1.8.3.0FactuGES.dprFalse diff --git a/Source/Cliente/FactuGES.res b/Source/Cliente/FactuGES.res index 733ea016..98af8809 100644 Binary files a/Source/Cliente/FactuGES.res and b/Source/Cliente/FactuGES.res differ diff --git a/Source/Informes/1/InfPresupuestoCliente.fr3 b/Source/Informes/1/InfPresupuestoCliente.fr3 index d090f51f..fe18a74e 100644 --- a/Source/Informes/1/InfPresupuestoCliente.fr3 +++ b/Source/Informes/1/InfPresupuestoCliente.fr3 @@ -1,5 +1,5 @@ - + @@ -84,14 +84,15 @@ - + - - + + - + + diff --git a/Source/Informes/1/Presupuesto.rdx b/Source/Informes/1/Presupuesto.rdx index a8f26565..aa5e273f 100644 Binary files a/Source/Informes/1/Presupuesto.rdx and b/Source/Informes/1/Presupuesto.rdx differ diff --git a/Source/Modulos/Facturas de cliente/Views/uFacturasClienteViewRegister.pas b/Source/Modulos/Facturas de cliente/Views/uFacturasClienteViewRegister.pas index b936871f..6a77fb81 100644 --- a/Source/Modulos/Facturas de cliente/Views/uFacturasClienteViewRegister.pas +++ b/Source/Modulos/Facturas de cliente/Views/uFacturasClienteViewRegister.pas @@ -10,7 +10,7 @@ implementation uses uEditorRegistryUtils, uEditorFacturasCliente, uEditorFacturaCliente, uEditorFacturasClienteReport, uEditorElegirArticulosFacturaCliente, - uEditorElegirFacturasCliente; + uEditorElegirFacturasCliente, uDialogOpcionesImpresionFacturasCliente; procedure RegisterViews; begin @@ -19,6 +19,7 @@ begin EditorRegistry.RegisterClass(TfEditorElegirArticulosFacturaCliente, 'EditorElegirArticulosFacturaCliente'); EditorRegistry.RegisterClass(TfEditorElegirFacturasCliente, 'EditorElegirFacturasCliente'); EditorRegistry.RegisterClass(TfEditorFacturasClientePreview, 'EditorFacturasClientePreview'); + EditorRegistry.RegisterClass(TfDialogOpcionesImpresionFacturasCliente, 'DialogOpcionesImpresionFacturasCliente'); end; procedure UnregisterViews; @@ -26,8 +27,9 @@ begin EditorRegistry.UnRegisterClass(TfEditorFacturasCliente); EditorRegistry.UnRegisterClass(TfEditorFacturaCliente); EditorRegistry.UnRegisterClass(TfEditorElegirArticulosFacturaCliente); - EditorRegistry.UnRegisterClass(TfEditorElegirFacturasCliente); + EditorRegistry.UnRegisterClass(TfEditorElegirFacturasCliente); EditorRegistry.UnRegisterClass(TfEditorFacturasClientePreview); + EditorRegistry.UnRegisterClass(TfDialogOpcionesImpresionFacturasCliente); end; end. diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas index 4a0b53da..2db03d2d 100644 --- a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas +++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteController.pas @@ -57,8 +57,8 @@ type function EsModificable(APresupuesto : IBizPresupuestoCliente): Boolean; function EsEliminable(APresupuesto : IBizPresupuestoCliente): Boolean; - procedure Preview(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false); - procedure Print(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false); + procedure Preview(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1); + procedure Print(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1); function GenerarCertificados(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean; function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean; @@ -140,8 +140,8 @@ type function EsModificable(APresupuesto : IBizPresupuestoCliente): Boolean; function EsEliminable(APresupuesto : IBizPresupuestoCliente): Boolean; - procedure Preview(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false); - procedure Print(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false); + procedure Preview(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1); + procedure Print(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1); function GenerarCertificados(APresupuesto : IBizPresupuestoCliente; AllItems: Boolean = false): Boolean; function CambiarSituacion(APresupuesto : IBizPresupuestoCliente; Situacion: String; FechaDecision: TDateTime; AllItems: Boolean = false): Boolean; @@ -1049,7 +1049,7 @@ begin } end; -procedure TPresupuestosClienteController.Preview(APresupuesto: IBizPresupuestoCliente; AllItems: Boolean = false); +procedure TPresupuestosClienteController.Preview(APresupuesto: IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer = 1); var AReportController : IPresupuestosClienteReportController; ID_Presupuestos: TIntegerList; @@ -1075,14 +1075,14 @@ begin else ID_Presupuestos.Add(APresupuesto.ID); - AReportController.Preview(ID_Presupuestos); + AReportController.Preview(ID_Presupuestos, AVerSello); finally AReportController := NIL; FreeAndNil(ID_Presupuestos); end; end; -procedure TPresupuestosClienteController.Print(APresupuesto: IBizPresupuestoCliente; AllItems: Boolean = false); +procedure TPresupuestosClienteController.Print(APresupuesto: IBizPresupuestoCliente; AllItems: Boolean = false; Const AVerSello: Integer= 1); var AReportController : IPresupuestosClienteReportController; ID_Presupuestos: TIntegerList; @@ -1107,7 +1107,7 @@ begin else ID_Presupuestos.Add(APresupuesto.ID); - AReportController.Print(ID_Presupuestos); + AReportController.Print(ID_Presupuestos, AVerSello); finally AReportController := NIL; diff --git a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas index 9b6f8aa6..babbe54c 100644 --- a/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas +++ b/Source/Modulos/Presupuestos de cliente/Controller/uPresupuestosClienteReportController.pas @@ -10,10 +10,10 @@ uses type IPresupuestosClienteReportController = interface(IControllerBase) ['{41AE4B36-6114-4DDE-8BCF-288AA0E12449}'] - procedure Preview(const AListaID : TIntegerList); - procedure Print(const AListaID : TIntegerList); - function ExportToWord(const AID: Integer; const AFileName : String = ''): Boolean; - function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean; + procedure Preview(const AListaID : TIntegerList; Const AVerSello: Integer); + procedure Print(const AListaID : TIntegerList; Const AVerSello: Integer); + function ExportToWord(const AID: Integer; const AFileName : String = ''; Const AVerSello: Integer=1): Boolean; + function ExportToPDF(const AID: Integer; const AFileName : String = ''; Const AVerSello: Integer=1): Boolean; function GenerarCertificados(const AID: Integer; const AFileName : String): Boolean; end; @@ -25,10 +25,10 @@ type constructor Create; override; destructor Destroy; override; - procedure Preview(const AListaID : TIntegerList); - procedure Print(const AListaID : TIntegerList); - function ExportToWord(const AID: Integer; const AFileName : String = ''): Boolean; - function ExportToPDF(const AID: Integer; const AFileName : String = ''): Boolean; + procedure Preview(const AListaID : TIntegerList; Const AVerSello: Integer); + procedure Print(const AListaID : TIntegerList; Const AVerSello: Integer); + function ExportToWord(const AID: Integer; const AFileName : String = ''; Const AVerSello: Integer=1): Boolean; + function ExportToPDF(const AID: Integer; const AFileName : String = ''; Const AVerSello: Integer=1): Boolean; function GenerarCertificados(const AID: Integer; const AFileName : String): Boolean; end; @@ -61,8 +61,7 @@ begin inherited; end; -function TPresupuestosClienteReportController.ExportToPDF(const AID: Integer; - const AFileName: String): Boolean; +function TPresupuestosClienteReportController.ExportToPDF(const AID: Integer; const AFileName: String; Const AVerSello: Integer): Boolean; var AStream: Binary; begin @@ -72,7 +71,7 @@ begin ShowHourglassCursor; try - AStream := FDataModule.GetRptPDFPresupuesto(AID); + AStream := FDataModule.GetRptPDFPresupuesto(AID, AVerSello); try AStream.SaveToFile(AFileName); Result := True; @@ -84,7 +83,7 @@ begin end; end; -function TPresupuestosClienteReportController.ExportToWord(const AID: Integer; const AFileName : String) : Boolean; +function TPresupuestosClienteReportController.ExportToWord(const AID: Integer; const AFileName : String; Const AVerSello: Integer) : Boolean; var AStream: Binary; AFile : String; @@ -96,7 +95,7 @@ begin ShowHourglassCursor; try - AStream := FDataModule.GetRptWordPresupuesto(AID); + AStream := FDataModule.GetRptWordPresupuesto(AID, AVerSello); try AStream.SaveToFile(AFile); Result := True; @@ -134,7 +133,7 @@ begin end; end; -procedure TPresupuestosClienteReportController.Preview(const AListaID : TIntegerList); +procedure TPresupuestosClienteReportController.Preview(const AListaID : TIntegerList; Const AVerSello: Integer); var AStream: Binary; AEditor : IEditorPresupuestosClientePreview; @@ -143,7 +142,7 @@ begin ShowHourglassCursor; try - AStream := FDataModule.GetRptPresupuestos(AListaID); + AStream := FDataModule.GetRptPresupuestos(AListaID, AVerSello); try CreateEditor('EditorPresupuestosClientePreview', IEditorPresupuestosClientePreview, AEditor); if Assigned(AEditor) then @@ -167,16 +166,16 @@ begin end; end; -procedure TPresupuestosClienteReportController.Print(const AListaID : TIntegerList); +procedure TPresupuestosClienteReportController.Print(const AListaID : TIntegerList; Const AVerSello: Integer); var AStream: Binary; AEditor : IEditorPresupuestosClientePreview; begin AEditor := NIL; - + ShowHourglassCursor; try - AStream := FDataModule.GetRptPresupuestos(AListaID); + AStream := FDataModule.GetRptPresupuestos(AListaID, AVerSello); try CreateEditor('EditorPresupuestosClientePreview', IEditorPresupuestosClientePreview, AEditor); if Assigned(AEditor) then diff --git a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm index 408ee2fe..549b421b 100644 --- a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.dfm @@ -14,12 +14,12 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente Top = 84 end object rda_PresupuestosCliente: TDARemoteDataAdapter + DataStreamer = Bin2DataStreamer GetSchemaCall.RemoteService = RORemoteService GetDataCall.RemoteService = RORemoteService UpdateDataCall.RemoteService = RORemoteService GetScriptsCall.RemoteService = RORemoteService RemoteService = RORemoteService - DataStreamer = Bin2DataStreamer Left = 59 Top = 151 end @@ -246,8 +246,6 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente Params = <> StreamingOptions = [soDisableEventsWhileStreaming] RemoteDataAdapter = rda_PresupuestosCliente - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'PresupuestosCliente' IndexDefs = <> Left = 248 @@ -368,8 +366,6 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente MasterSource = ds_PresupuestosCliente MasterFields = 'ID' DetailFields = 'ID_PRESUPUESTO' - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'PresupuestosCliente_Detalles' IndexDefs = <> Left = 464 @@ -399,8 +395,6 @@ inherited DataModulePresupuestosCliente: TDataModulePresupuestosCliente Params = <> StreamingOptions = [soDisableEventsWhileStreaming] RemoteDataAdapter = rda_PresupuestosCliente - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] LogicalName = 'ListaAnosPresupuestos' IndexDefs = <> Left = 248 diff --git a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.pas index 46de2085..b617682b 100644 --- a/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Data/uDataModulePresupuestosCliente.pas @@ -41,10 +41,10 @@ type function NewItem : IBizPresupuestoCliente; // Report - function GetRptPresupuestos(const AListaID: TIntegerList): Binary; - function GetRptWordPresupuesto(const AID: Integer): Binary; + function GetRptPresupuestos(const AListaID: TIntegerList; Const AVerSello: Integer): Binary; + function GetRptWordPresupuesto(const AID: Integer; Const AVerSello: Integer): Binary; function GetRptWordCertificadoTrabajos(const AID: Integer): Binary; - function GetRptPDFPresupuesto(const AID: Integer): Binary; + function GetRptPDFPresupuesto(const AID: Integer; Const AVerSello: Integer): Binary; function GetAnosItems : TStringList; end; @@ -70,27 +70,26 @@ begin RORemoteService.Message := dmConexion.Message; end; -function TDataModulePresupuestosCliente.GetRptPDFPresupuesto( - const AID: Integer): Binary; +function TDataModulePresupuestosCliente.GetRptPDFPresupuesto(const AID: Integer; Const AVerSello: Integer): Binary; var AParam : TIntegerArray; begin AParam := TIntegerArray.Create; try AParam.Add(AID); - Result := (RORemoteService as IsrvPresupuestosCliente).GenerarInformeEnPDF(AParam) + Result := (RORemoteService as IsrvPresupuestosCliente).GenerarInformeEnPDF(AParam, AVerSello) finally FreeANDNIL(AParam) end; end; -function TDataModulePresupuestosCliente.GetRptPresupuestos(const AListaID: TIntegerList): Binary; +function TDataModulePresupuestosCliente.GetRptPresupuestos(const AListaID: TIntegerList; Const AVerSello: Integer): Binary; var AParam : TIntegerArray; begin AParam := AListaID.ToIntegerArray; try - Result := (RORemoteService as IsrvPresupuestosCliente).GenerarInforme(AParam) + Result := (RORemoteService as IsrvPresupuestosCliente).GenerarInforme(AParam, AVerSello) finally FreeANDNIL(AParam) end; @@ -102,10 +101,9 @@ begin Result := (RORemoteService as IsrvPresupuestosCliente).GenerarCertificadoTrabajosEnWord(AID) end; -function TDataModulePresupuestosCliente.GetRptWordPresupuesto( - const AID: Integer): Binary; +function TDataModulePresupuestosCliente.GetRptWordPresupuesto(const AID: Integer; Const AVerSello: Integer): Binary; begin - Result := (RORemoteService as IsrvPresupuestosCliente).GenerarInformeEnWord(AID) + Result := (RORemoteService as IsrvPresupuestosCliente).GenerarInformeEnWord(AID, AVerSello) end; function TDataModulePresupuestosCliente.NewItem: IBizPresupuestoCliente; diff --git a/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosClienteReport.pas b/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosClienteReport.pas index cd527d71..0234c20b 100644 --- a/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosClienteReport.pas +++ b/Source/Modulos/Presupuestos de cliente/Model/Data/uIDataModulePresupuestosClienteReport.pas @@ -8,10 +8,10 @@ uses type IDataModulePresupuestosClienteReport = interface ['{70CEBB06-376F-4363-B80F-DDA4324E0F85}'] - function GetRptPresupuestos(const AListaID: TIntegerList): Binary; - function GetRptWordPresupuesto(const AID: Integer): Binary; + function GetRptPresupuestos(const AListaID: TIntegerList; Const AVerSello: Integer): Binary; + function GetRptWordPresupuesto(const AID: Integer; Const AVerSello: Integer): Binary; function GetRptWordCertificadoTrabajos(const AID: Integer): Binary; - function GetRptPDFPresupuesto(const AID: Integer): Binary; + function GetRptPDFPresupuesto(const AID: Integer; Const AVerSello: Integer): Binary; end; implementation diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas index 05611db9..b6be0856 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptPresupuestosCliente_Server.pas @@ -95,18 +95,18 @@ type FListaNombresClientes: TStringList; FImporteMinimo: Currency; FDesglosado : Boolean; - - procedure _GenerarPresupuesto(const AID : Integer); + + procedure _GenerarPresupuesto(const AID : Integer; const VerSello: Integer); procedure PrepararTablaInforme(ATabla: TDAMemDataTable); procedure PrepararTablaResumenInforme(ATabla: IDADataset); function _GenerarInforme(const TipoInforme: String): Binary; procedure IniciarParametrosInforme; - procedure RecuperarNombresClientes; + procedure RecuperarNombresClientes; public - function GenerarPresupuesto(const ListaID : TIntegerArray): Binary; - function GenerarPresupuestoEnPDF(const ListaID : TIntegerArray): Binary; + function GenerarPresupuesto(const ListaID : TIntegerArray; const VerSello: Integer): Binary; + function GenerarPresupuestoEnPDF(const ListaID : TIntegerArray; const VerSello: Integer): Binary; function GenerarInformeListadoPresupuestos(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary; end; @@ -157,7 +157,7 @@ begin end; end; -function TRptPresupuestosCliente.GenerarPresupuestoEnPDF(const ListaID: TIntegerArray): Binary; +function TRptPresupuestosCliente.GenerarPresupuestoEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary; var i: Integer; begin @@ -165,7 +165,7 @@ begin try //Vamos generando todos y cada uno de los presupuestos recibidos for i := 0 to ListaID.Count - 1 do - _GenerarPresupuesto(ListaID.Items[i]); + _GenerarPresupuesto(ListaID.Items[i], VerSello); frxPDFExport1.Stream := Result; frxReport.Export(frxPDFExport1) @@ -494,7 +494,7 @@ begin end; end; -function TRptPresupuestosCliente.GenerarPresupuesto(const ListaID: TIntegerArray): Binary; +function TRptPresupuestosCliente.GenerarPresupuesto(const ListaID: TIntegerArray; const VerSello: Integer): Binary; var i: Integer; begin @@ -502,7 +502,7 @@ begin try //Vamos generando todos y cada uno de los presupuestos recibidos for i := 0 to ListaID.Count - 1 do - _GenerarPresupuesto(ListaID.Items[i]); + _GenerarPresupuesto(ListaID.Items[i], VerSello); frxReport.PreviewPages.SaveToStream(Result); finally @@ -526,7 +526,7 @@ begin frxReport.PreviewPages.SaveToStream(Result); end; -procedure TRptPresupuestosCliente._GenerarPresupuesto(const AID: Integer); +procedure TRptPresupuestosCliente._GenerarPresupuesto(const AID: Integer; const VerSello: Integer); var AInforme: Variant; begin @@ -555,6 +555,9 @@ begin raise Exception.Create (('Error Servidor: _GenerarPresupuesto, no encuentra informe ' + rptInforme)); frxReport.LoadFromFile(AInforme, True); + + frxReport.Variables.Variables['VerSello'] := IntToStr(VerSello); + frxReport.AddFunction('function PONERJUSTIFICACIONCOMPLETA(ARTFText : String): String', 'User Function',''); frxReport.PrepareReport(False); finally diff --git a/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.pas index ac756398..914caf72 100644 --- a/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Reports/uRptWordPresupuestoCliente.pas @@ -37,6 +37,7 @@ type FCodigoPresupuesto : string; FNombreFichero : String; ListaCapitulos : array[1..1000] of TCapitulo; + FVerSello: Integer; procedure InsertarConceptos(Tabla : Table); function Generar : Boolean; function RellenarPortada : boolean; virtual; @@ -47,7 +48,7 @@ type public constructor Create (AOwner : TComponent); override; destructor Destroy; override; - function Exportar(Codigo, Fichero : String): Boolean; + function Exportar(Codigo, Fichero : String; const VerSello: Integer): Boolean; end; @@ -69,6 +70,7 @@ begin FDocumento := NIL; FImportes := True; FNumCapitulos := 0; + FVerSello:= 1; end; procedure TRptWordPresupuestoCliente.DataModuleCreate(Sender: TObject); @@ -86,13 +88,14 @@ begin inherited; end; -function TRptWordPresupuestoCliente.Exportar(Codigo, Fichero: String): Boolean; +function TRptWordPresupuestoCliente.Exportar(Codigo, Fichero: String; const VerSello: Integer): Boolean; begin if EsCadenaVacia(Fichero) then RaiseError('Falta indicar el fichero donde se exportará el listado.'); FNombreFichero := Fichero; FCodigoPresupuesto := Codigo; + FVerSello := VerSello; _GenerarPresupuesto(Codigo); Result := True; end; @@ -246,7 +249,7 @@ begin end; end; -------------------------------------- } - + with FDocumento, tbl_Cabecera do begin if FieldByName('IMPORTE_BONIFICACION').AsFloat > 0 then @@ -265,6 +268,16 @@ begin ReplaceBookmark('ContactoClienteCab', FieldByName('PERSONA_CONTACTO').AsString); ReplaceBookmark('NombreClienteFirma', FieldByName('NOMBRE').AsString); + //Solo para la empresa de tecsitel se debe elegir uno u otra firma + //esto es un poco parche pero bueno + if (tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger = 1) then + begin + if (FVerSello = 1) then + ReplaceBookmark('Firma2', '') + else + ReplaceBookmark('Firma1', ''); + end; + if not EsCadenaVacia(FieldByName('MEMORIA').AsString) then begin Texto := FieldByName('MEMORIA').AsString; diff --git a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.pas b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.pas index 268ca59e..052162e5 100644 --- a/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.pas +++ b/Source/Modulos/Presupuestos de cliente/Servidor/srvPresupuestosCliente_Impl.pas @@ -33,9 +33,9 @@ type procedure DARemoteServiceCreate(Sender: TObject); protected { IsrvPresupuestosCliente methods } - function GenerarInforme(const ListaID: TIntegerArray): Binary; - function GenerarInformeEnWord(const ID: Integer): Binary; - function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary; + function GenerarInforme(const ListaID: TIntegerArray; const VerSello: Integer): Binary; + function GenerarInformeEnWord(const ID: Integer; const VerSello: Integer): Binary; + function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary; function GenerarCertificadoTrabajosEnWord(const ID: Integer): Binary; end; @@ -101,32 +101,31 @@ begin end; end; -function TsrvPresupuestosCliente.GenerarInforme(const ListaID: TIntegerArray): Binary; +function TsrvPresupuestosCliente.GenerarInforme(const ListaID: TIntegerArray; const VerSello: Integer): Binary; var AReportGenerator : TRptPresupuestosCliente; begin AReportGenerator := TRptPresupuestosCliente.Create(nil); try - Result := AReportGenerator.GenerarPresupuesto(ListaID); + Result := AReportGenerator.GenerarPresupuesto(ListaID, VerSello); finally FreeAndNIL(AReportGenerator); end; end; -function TsrvPresupuestosCliente.GenerarInformeEnPDF( - const ListaID: TIntegerArray): Binary; +function TsrvPresupuestosCliente.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary; var AReportGenerator : TRptPresupuestosCliente; begin AReportGenerator := TRptPresupuestosCliente.Create(nil); try - Result := AReportGenerator.GenerarPresupuestoEnPDF(ListaID); + Result := AReportGenerator.GenerarPresupuestoEnPDF(ListaID, VerSello); finally FreeAndNIL(AReportGenerator); end; end; -function TsrvPresupuestosCliente.GenerarInformeEnWord(const ID: Integer): Binary; +function TsrvPresupuestosCliente.GenerarInformeEnWord(const ID: Integer; const VerSello: Integer): Binary; var AReportGenerator : TRptWordPresupuestoCliente; AFicheroTMP : TFileName; @@ -136,7 +135,7 @@ begin AReportGenerator := TRptWordPresupuestoCliente.Create(nil); try try - if AReportGenerator.Exportar(IntToStr(ID), AFicheroTMP) then + if AReportGenerator.Exportar(IntToStr(ID), AFicheroTMP, VerSello) then begin Result := Binary.Create; Result.LoadFromFile(AFicheroTMP); diff --git a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dpk b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dpk index 598b4092..e1cecf86 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dpk +++ b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dpk @@ -69,6 +69,7 @@ contains uViewDatosYSeleccionClientePresupuesto in 'uViewDatosYSeleccionClientePresupuesto.pas' {frViewDatosYSeleccionClientePresupuesto: TFrame}, uViewTotalesPresupuesto in 'uViewTotalesPresupuesto.pas' {frViewTotalesPresupuesto: TFrame}, uEditorVariarPrecios in 'uEditorVariarPrecios.pas' {fEditorVariarPrecios}, - uDialogListaPresupuestosEnvioEMail in 'uDialogListaPresupuestosEnvioEMail.pas' {fDialogListaPresupuestosEnvioEMail}; + uDialogListaPresupuestosEnvioEMail in 'uDialogListaPresupuestosEnvioEMail.pas' {fDialogListaPresupuestosEnvioEMail}, + uDialogOpcionesImpresionPresupuestosCliente in 'uDialogOpcionesImpresionPresupuestosCliente.pas' {fDialogOpcionesImpresionPresupuestosCliente}; end. diff --git a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj index e156c74b..cc1623c6 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj +++ b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.dproj @@ -72,8 +72,9 @@ -
fEditorVariarPrecios
+
fDialogListaPresupuestosEnvioEMail
+
fEditorElegirArticulosPresupuestoCliente
TfEditorElegirArticulosPedidoCliente diff --git a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.res b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.res index 8b251f31..1641339f 100644 Binary files a/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.res and b/Source/Modulos/Presupuestos de cliente/Views/PresupuestosCliente_view.res differ diff --git a/Source/Modulos/Presupuestos de cliente/Views/uDialogOpcionesImpresionPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uDialogOpcionesImpresionPresupuestosCliente.dfm new file mode 100644 index 00000000..be7e3459 --- /dev/null +++ b/Source/Modulos/Presupuestos de cliente/Views/uDialogOpcionesImpresionPresupuestosCliente.dfm @@ -0,0 +1,2326 @@ +inherited fDialogOpcionesImpresionPresupuestosCliente: TfDialogOpcionesImpresionPresupuestosCliente + Caption = 'Opciones para presupuestos de cliente' + ClientHeight = 273 + ClientWidth = 437 + OnCreate = FormCreate + ExplicitWidth = 443 + ExplicitHeight = 305 + PixelsPerInch = 96 + TextHeight = 13 + inherited Bevel2: TBevel + Top = 33 + Width = 437 + ExplicitTop = 33 + ExplicitWidth = 418 + end + inherited Bevel3: TBevel + Top = 229 + Width = 437 + ExplicitTop = 196 + ExplicitWidth = 418 + end + inherited pnlBotones: TPanel + Top = 231 + Width = 437 + ExplicitTop = 231 + ExplicitWidth = 437 + inherited btnAceptar: TButton + Left = 254 + Visible = False + ExplicitLeft = 254 + end + inherited btnCancelar: TButton + Left = 333 + ExplicitLeft = 333 + end + end + inherited pnlHeader: TPanel + Width = 437 + Height = 33 + ExplicitWidth = 437 + ExplicitHeight = 33 + inherited lblInstruccion: TLabel + Width = 387 + Margins.Bottom = 10 + Caption = 'Indique que sello desea para el presupuesto de cliente:' + ExplicitWidth = 310 + end + inherited Label2: TLabel + Top = 31 + Width = 362 + Visible = False + ExplicitTop = 31 + end + end + inherited pnlCuerpo: TPanel + Top = 35 + Width = 437 + Height = 194 + ExplicitTop = 35 + ExplicitWidth = 437 + ExplicitHeight = 194 + object Image1: TImage + Left = 25 + Top = 30 + Width = 176 + Height = 131 + Picture.Data = { + 0B546478504E47496D61676589504E470D0A1A0A0000000D49484452000000C3 + 0000008408060000002D229F7E000000017352474200AECE1CE9000000046741 + 4D410000B18F0BFC6105000000206348524D00007A26000080840000FA000000 + 80E8000075300000EA6000003A98000017709CBA513C00000009704859730000 + 17100000171001186111DB000084FE49444154785EDDBDF57B1CD99A26D8B3BB + FFC0FEBEB3BBB3F3CC4CF774F7E57B8BE116A3ED42333333C824CB0CB22D3333 + 33C84CB22DB058B2989959B28CE5AA77DFEF649CD4C9502448E5EAEEDD784A25 + 2B33E2C4818FF13F01C8FF877FF887FF9D3FF8875FD4FFFFE11FFE17FEFC27FE + C8DFF26FA74BEE934BEEF95F5DFF043FFB4FFA39F9C0DBB35E86FCD51FFB9AAF + 39B8791FFF0DFEFCA7FFCD5ABBCCDFCB7A65C96A7DFA920FF4FAFDBD5BEF97BC + C6BA570DE5ED7D6A43ADB999E7A1DF6DDFDB9F8DFDD6E728E7628DFFCB4B1E87 + F1B7EBC08C35FB9A87F54EF7F9DAF7279071F4FA03784FA7ED571BEFFD5C7CEE + 61604025A3371380D1CE9FAE5FBFF011F971BAE4F39FADEF9DEEF1F56C5767E2 + 6D0E7A9C5FF32E59838FEB979F3CBFFCC5DF5CE4768EF98BFCBC74FDF679E93D + 346F323E53EF33C7B0FE96CF7FB6E6E231275FF3D3DF799B93DE475FE7E96DBE + F645FA7B87DC1FC85EFAD93E9F4374FEB25D90A15E8DE96D91F6EF02D9D0AE02 + F4BFC7FDBE90D52706047050760434F7CCD73EEBBDD6F778BB9788E426363E10 + 4A4DC30940CDF5F126F51AF92D48FA0A80D071FB1C8892FD55EAFDDEE6EBB44E + 3F731582E05E8FBF33201EB890411E920DD69B621E86DE2CBD42F305B655CB8B + 7FB3CDB4EFB0B78DE8B4C37E30CD1F75D6DB62EE83ED999F4D6AADEFF703841E + 876E3F28E36FD9CF972F3C11D0CD598C33EBC489AD33551CC80444DB19292E22 + 40689CEF2BA74D367872BFCA3E2F99ABACC95CBF3FC224FB6C3B0F271874EFB7 + 77624464F885C8208371C3F5039DD8B7035607BC6181509A57718FB9E1FE36D0 + 4E817DDC6F522B6F88FE52039C758E6EE4903999E290FC6D1DDCCF7ABFBDBDDB + DA7311C57EE68F09241A80DD08A0814803857ED6FADC1720C8773F6BA4F23197 + 4EC8E20DA8EC04D1FCDBCB39771ADB242EFE889503375344D9891819FBEFB154 + D77E599CC1644F428964F3CDC10201D680B1C3E1C657347EC05CC93B75E8989C + 0670D907835A294A6BD31514253390D18398C8BDE6FBAC7F773A2CFB41E9318D + F72B24B0C6738B00FA3E01007E278869727AFB9E78CC4D9E91DB7F0DB1F3C7B1 + BB7BB681123793A339EDB3B7713ADF6B2183C1DA854A78C85ABE80DC1FD67677 + 232CCADD65E0F686F9FE38850F2AA7A0C58BD2EA062C1B3278BCCE89856B6A66 + 8DDD691CDB3B35375122D3F30EEEE206627DBF9C9D1FB9DB51A1B6ADBF9362EE + 8393BAA5091BCEFBA58DBE60E35520A7AF33D504C04424D119486994CEA07EEC + F29A833CE65EA4AF097763310103BE3FC0F67B0A7E3893B5E65F6C72BA07F5D7 + 43E8FDF1B2F1220A4180D70252CD213C2C49D6B34AB4924B239EE608E681E9F3 + B19E51E2803917FD87292EE9319D28B87DDE0E9455E1817D2E9E40D431B23EF7 + 5F49043B9D903FA26BEE81BFF3B7C366C7BE1B3A83B705980F073A297F137AD5 + DFFF9ACD37E6E2A1BCD901C3A4E626001B80A900C7FCDBA2D842CD156268A4B0 + F408FD3EB5C50620B9AD3AD6F3221A29F1C79BA2A8398381C86A6C2762D6DDBD + B28F65ED875722E630D780089EE83022A677659EE6BB7C3CE73612A983B201E1 + CF5A6778D5C0F95B8E1728426A0ADB954D75A2787CDED7E138894AA6C22A72BC + 62BA1A50E5B0B5DE21949D3FCF882C3F8942AD114900CDB41439507005FF5A24 + 32B889209DFADC4210538CD19CC7D41BD4D026C133A9BBCC4FE6ABDFDF19805C + F3743A13630EEABD3296977B352E77D2ADBC9DB5395F13D6BA72D67662A71468 + FECF43F674C21A83E279C079575EEE0B41F46EBC82F18482BAAD2381228E6D63 + 1415B70055A62DE3FDA49566A739CA7B04986D6B548AB661A91160F8E9A9A504 + 1B22961691F439A8B3D688610291B54FCA1225482AC3CBBF85F3706C539F70E3 + B5EC07DFD909602D40F7308707BAFF26A19171F87E47A382FDCC1D80D8D44FDC + 73F182FC1A69DDFBE3849C81104127A4D4C8A00ECC18C44316F5821C1ADB7D32 + 814037F75571120B8015E03A21829D1AF841503745B410C283CDDA2892D203EC + E339880A62A9132EF0FC197F5B88E2067C015C31A55A145F00EC27029A3CA310 + 5C80CEE22ACAD0C1CF9F3DE66FEB734106B725D09A8B1ACBDC0F8D64328EF17E + D3BAE5B10E1BA17203AFB7B3D59F9BCF5948E036791A162F531CD2FE13373C7A + 391FB781C7261E794526A77134627620A8A53368361620F0BA6F0BF0FE5705EB + 5D1EC75CB089D45EE6ED554E75A2D25E26238AB75B41B64422395CA1E06EE799 + 06141B4209C5977B94182554DF02580170C501E46FEB5905BC32BE700541064B + 5957F759844D218103F5748A3650B799945B03B07C2CC06BBD5BAFCD2BD33529 + B37993CCD512E160E9044A04D3F7BB59991742667DDF89506BA382CCD33827F7 + D6FA435AB9D1354F4FD36AA0C0D6251CE8D2CDFE6710B06265A368FE47B66DA6 + FD90F40002144F80B64740C5A33AE4359521A3B610C9D5B9B85D9688A3591770 + 2AFF0ACE17DFC4D9C29B3852708EBF6FE154DE0D1CCE398FE3395791C87B0B1A + 2B51C49FB2A6063C7DFC4B6731C369C25AB13400409B7E7F22A7116EA3388685 + 7C0A312D80F3D06D2C20F5B9971AB00C22E256F8654C637E6A1C1328F5F8728F + A9FBE87BEC1C3A501831444B37429B7BA11126A0C3B6DD44ABAA3B1C437D15E8 + A402799979CF6F31AE49C5BCCDC79FCE10C0BC04A09E12C81A1FBF445A5D09EE + 54C420BCF82E4293B7636AF40C4C4B9C817171133133760EC6458DC3E8E8F198 + CE7F2F495C8E19F10B302E6632A6C6CDC0A4A85918726F38BE0EEF811FAEF4C5 + E4D8A908495E8255A9EB89249710511A8FE8F22464D655A3F5292766A3D2CA13 + 4D0EF042CBE7FC5E89445ABFB1C426A537C8E316571124F0F090EB3D71DA3F6F + FB21A2961397D548A0C530736C4D714D643011CCE9CCEC9CC97E8F9E9F13670D + 04DEEC48A841DEA56F19C860DF7CFEDD89857515097EC3FBBD0674396D8AD321 + 3B6C8CF9E82352FED2D626DCAD4821C086616A4C1026C6CC4050E23C2C495D81 + F9718BB1246E23B6A4EDC7FEEC9308CFBB8B73F977105B9E8FACEA6AE4D4D622 + BFBA0A89E5E5C8A82943565525624A0A713AEB1656C56DC5968C7D385D700597 + 0AA2B03E751B163C0822C24CC1E40773B03A75034EE784E35E492AB26A2BD0D8 + 4A28132017C037441F477A20E7A6750F0BA79C3CE0EEB5EA7D1040D6806BDB43 + 0FA3844534D5BBE53D24146A4E4EC4D444200311B4AEE2F6ADC8581AC04D40D7 + 625457E1C81B52DBCE5CFD69BD8FEFB78949B279A678605350BA3AA7577ABF3F + 2ADFDD97191BF494875AD2DA8E5BA4FE5BB3F661757A2816A7866052CC4C4CBA + 3707EB92B721B6220FC5CDADA8A39CF4B8FD399E3E7D4145F867457D95422C94 + 58145F115BA8DC8A82FB5400590311BF7FFAE2279A535FF2FE5FD4BDF52DED44 + 945C1CC9B884B0C49D581CBB02331E4CC7C07B8331ECCE2884C4ADC2A9820B88 + ADCD4013C77ACC31ABAA7E424A6E1DEEC6E6E256541AAE44A420222A0BCD5640 + BE009A2F6FB4633888A6947ABA9658E28E8FB201933217CB673A764A9F810DA0 + 3B1D8DD359FA0260FBFD268CFA2374DEE0A6F3730E9C21F087BB0B7EFF76CF39 + 90CE4E7232D7FBF8C9CF48AA2AC1868C1D9899308F08B0184B5357E170EE0552 + E7346456D5A0AEF9051E3D1259C575F8D5AD3F21BDA11C598D6588AF2E44626D + 898B40F29D35CDBFE06E61019F3F8B0DE95BB09E3F65ADCD0A381FD6D620AA3A + 13F7ABD211CD9F92A6A7686BFF194FDA5FE229C77FF194DE9FE69778505684FD + 996731F57E10BEB9FE1D06DF1A8C89372661F6BE25581976082161BB3071E152 + F41F3C154386CFC6D0D1B3F1F1277DB164F52E9496B6B9F6D8F271989CC14D0D + B5454708A01D30E43351DA2D93AD5A967D2FF533264597FB2C7DA5D3213BB231 + 0750F0769F1764F16AE1F3076526D772DD6B7006139BBD0CE4DE348789290261 + 9902FDCDE3B7FADEC34CA70FD90772373F6EC7EDE2246CCFDC87F9498B1092B8 + 828AEE356435D4A0A1ED67258F7B582838D633DAECA348C59726AEC6DAD48DD8 + 9B7D049B1FEEC2368A4B25CD2DAEA5112032EBAA109A168679890BB025FD201A + 1FBD44E393362C4E598D690FA65291BE8893D415B6A6EDE5385BB03FFD34CEE5 + DD415C5921DAC52F2017DF9F99578F90139BF0D59441F8F0BBFE78F3FD5E787F + 544F8C383106A1B7B7E0F0AD5BB81759809AA2E708BF1087AF7A0EC38AA53BD5 + E3827CCA996721A9FCC3344B7AF806B4726A3F1C930ADBBED30823E33E275BAD + A96EE5FEFCE472520A8794775B0819B0C8ED8B433820AD232CD9EFF3B106F5BC + EBFE009041B34A6B733BBDDCC2306593376CD71E0A6037A1DF831AD980DAC33A + E230FE0BB1E58B8C6DBF38CFD6E74F1043716765CA064CA308B433733FE2ABB2 + 48FDC523464EF1D363B43C6B4361730362AB73D048CAADE4755E39547057A550 + E9CD3D8D5AB99F6BCEAD6B4058D23EDC2A8A77CBCF947CB031753742929620A5 + A25C3D5BDE5A8D65096138F2F032C5AB97A823822C27724CA6927DA32801974A + 6F2A8E74BB240685052DD87BE00AA6CC588EA0F961D8BEE93C4E1D89C489CBB7 + 107C6F35A653710F4E5D88B5D96B71AAEC2A6A7EAAC7CDC80C7CF9D9209C3870 + CD3559517C85BA5BBE0D15F12A676F28B51EE1DD161079700A07CEA144308382 + 9757B561C58683183A721E32D32BAC9758962C4BC1574818A8D8ED0D21CCB3B4 + 5376F3191BB7723F667233FBFD9D4CAB81625E3781BB5B8F39712CA170DACCE8 + 0DEB65F32D7BBD0B0280474482849A4284A66FC7D8A889D894BE0BE9B56578F4 + D80525E405C86FACC3F1DCCB384813E9DE8C3398133F07499545EEA967D69763 + D5C3B5B85694E88A17E225B27F7E5D234A5B1A5DBE04CEA9B2ED3116272CC7C2 + C425286C7409F22F7EFA19B56D2F28F3BB363AB9B60023EE8CC598C80928213B + 687FFE14ABAF6C47CF59033060E8348C1DB200C3164EC194F373F8BE5854FF54 + A79E7BCCF9A6724EFB524E22386E2996652F46F0AD65E8357014C68F5C88862A + D7C494979A4B1393AB1007372C0892582B721FB9055C3AFCC203142C8490EF84 + FB2B0F3D2F794B4C7236068E9C8DF73FEC89ED61FBD1544B85C67E1988E3F195 + FD73F36F7F0861C1851B714D0477F2AF781B4F3E771D7F6705BAF34A0C36EBF4 + E5ABFCCCD706387DD719BB3DF7DAFAFE058135AE3A1BCB92C330337E1ED63FDC + 8E1B0531A4F85A1E019E509EB8527A0FA129BB70BBF401CDA83948A8CCC58AF8 + CD389F77DB4DF1AB5B5F6057E63152F025385F701B95E41E26A515B144AE9AB6 + E71C6B13E624CE454C65BE4B7ED79451E46AC24C247587050FE76359DC3A1CBB + 1289058BB6E32352F61E5F8CC4BE9D67D052FC14F78A13D09F8AF49898D1981F + BF9C4AF639EA24CDF8459818C7C86B6BC6E26BA178BBEF9778EBDB1E08B9BA0A + D72BA3515A5FEBB2406900B388868E8B721313132B847808A2D83145FEB6B8BE + B60055D73FC1D275FBF1E6073D30E0FB0988BDFD902291F5A0F1BCC9C195954B + B88A8CE5ED3C05F1CCBDD2276A208A3D1BCE85F9C6D1FB4324F37E3D6E276B92 + 9741D5D881BCA02BF739510F6F8815E8BB1D9E6F6A7F8CE3051729BB2FC4EAE4 + 2DB85B968CA6369E862142D1B883F0C2187EBF01316569A4F8AE17FECCDFB935 + 35E40C258ABABA8281800C9A4C573EDC8091D123B02879294EE7DD444A753E29 + FB4F2EE719EF794C60DD9579140BF8DEA4CAD20E60B2A896BCE248663826EC9B + 8991538230B0EF34F41D30191BD61E434166BDDBAB758256A4417707614BCA7E + DC2D4920826DC7D2B8F53851700965CF6A702F3A0B3DBF198DFEFDE660FAF960 + CCCE9A8E5914A19624852191DC43AC5A1A5804309F5B4AB1E98770238C695AED + 00124F0F1B078B8ECB44FF41D3F0FB7F7C1321B3D7A0B684F3D5AFB1597A3432 + 88D5EC851597A590C1AECB1967AC7435ADAF5962BA8719D63A0733CFC41BE804 + F4B9EBDD0E1EE85F017801BDD8E926CB24E982C06E8FD2E9C186D6C7D84413E9 + 9CC4205C2B8CA3626AEEB8753BDF9745997F4DCA169CA06DFF09015A5D767B3E + 1F55D3B4A864457313F6649FC28CB8208C8A1A856177C7626BCA61221ADDD302 + 7404C2FDD9673035612A45B12A8F75B551CCB974271183C7CFC4079F0EC2F429 + 2B11792B1D95950D14673AE6185F9A8711111330216612D22A2822F1ABE6D6A7 + 34B1A66143EE368CD83D19EFBCDF036306CC4779611D9A5FB6E15271247D20E2 + EC1B85603AF5C42255504F4E620D2B4029973BAC43BFCED877415427F93EAFA4 + 1AEBB61CC3DB6F7F831EEFFF886BA76EE2C9636D37F67D6E4AFCD2A1227AEBF9 + 1E8F88581B222904B03E73B278D943D41557EB0EFCB8914172A0DD68ED634176 + D6F9EA60D63F8BF3A6177899C3A3C73FD36C99861DD9FBB0266D335269FA54F1 + 413CB71A5A892C1541BD570EE852C903CC2035BD5D2C5C4193B80EC454F02FC8 + 60A3684F1EBF40554313CE15DDC58FD77B63D8CD5174B015B9709AEFDA9D7912 + C323475209CF559FB50B12DC4EC0FC659B31725C307E983C1283F60EC79D8294 + CE47C0771DCDBA88DE377B6345DC26B4B7742840F5CD4F30796928FEC71FDEC1 + AC9121A82EAE43F1933AA4D6E4D0890124D038B020612906DCEF8F0114B1963D + 5C8D98F26CB459BA8A2BF0A9637DAE09BB7E747100D30F51DFD48EADFBCFE393 + AF06E1B53F7C8CC5D357A3AAB0DA73F7BD1051AF1C4010CEFAE9B4786F045973 + 2B6FF06A8EE78BA83B7F47CEF0D2CA74335EA06436FB66BD4AE0771ACB07462B + 4B4480EF2FA3D36C63FA1E8C8E9980F5693B50D9E452E85AE91CBB5A1CC33089 + 50449665B80714C7D1D592285A7EF6A3B4C9B2CFDBDEA5926B2C4EF182F71750 + 666F7C62D90CF9EB297D036773EE6005CDAD51C505A09EAE38CB012AE09352C6 + D35791855BB7B23176E6420C18360D47775F43D2C34ACC8E9D8F1151A319AB54 + ACEE171146C51711416B09FCDB330EAB108F79310B69ED722154567E23868D99 + 8DBFFDFE136C5D790CEDCD2ECA9C5A5581150F4371A33456856C5430E6693D2D + 5C03EF0EC598F8315890128C9D194750A8D7A83985488CA214735D2FF96E6D7D + 9231C51A77233213C3C6CFC5FFF86F6FE38B77FAE2EAE93B784667A3CFCB3C4B + 3B97310139804355B7F8B9CFAD4374872B742CA41B817A012C2040B8F5799BBF + 803C150A605A8B385A12AD3353626972A41C2F26D1F667AEC996B4D6623D15E3 + 1379970878D94829AB5700209720C3BDB2546C4F3B4419BB022F4CCE603BB817 + F41A8B377947FA111CC9BE42914ACC342EC04F2ACBC3B2A4502ADDE4423236C7 + DD9F790A430E8CC4B06973D0E3EB61983E73054D8F2E336B76732546DF1F8709 + B7E6A0AAF1B9A2922AAC5BE08C3FB1E5399815370F33A26751DC3A8A03F927B0 + E2C80E7CF5C508BCF3562F9C3F715F0189363F3F64C8C7F29455181F37016B1F + 6E410D4544E112778A93313B61BE52C0A7274EC19A879B90594991CB12291402 + F2DFB21FEADD16EC65E5356361C856BCF6B7AFF03FFECB1B983A7E314A725CD6 + 2CF76500BA532A6BA703B6C38E1683BC41827063F399009EF798470080680CD9 + 0D6408E005FFD6B7BCA41523BA229DC03317332269EBA6F9532E098F48A22975 + 53FA5E4497A5BB2A4BF06A61DCD14F5A36E76ED4B4FC842BF9E9389C79515987 + 3444984A9B7096635937F190CA74624501E6C52DC4062AB331A505882F2DC4AE + AC83D89D719C63B5E22939C3F1BB111818321E7FA7A3ACD7A4E1387AE51A7EE2 + E7B2F9D9D4513626EDC457E15F60D8D5B1B4FCB8647AE517E19C9F108E0F675F + C4C0887ED44B4EA2BEF539C2761EC31FFEFA01DEFAFA73ECBF73C135450168DE + 2FEFBB58781BC129212A00706FC62964333E4A8B4279D595D8C63D9811370B53 + E2A6232C6D1B3DDC992AAE48E740E8336B24129DBB14831F7E1C8DFFE73FFF05 + 6FFEFE4B6C597B046DD455BA7479239A0188BC5AB957BA8B314E272FB88312AE + 43DB3BDB8EFDCEFE152083D3A25F05F7F0C65E6D6B12F1E530BDB9836E0FC7E9 + FCCB68A2834C36A4BCA50197693EDD977141C5FD9841680504D8F30577F04482 + 91783D2130DD2CCCC20A52D69B94DF855A9A9720D1059A5183635751FCA885E8 + C89BD2F6615DD20E7A9077232C7D230E269F474E561B92E2CAB07AD3610C9FCC + C8D5653B7131221E698D2568B1589170B3E8B26C84C56DC782C825987A6F36CE + 6545311C4338C3CFF4543F466E6D351D8147B0226B054EC74761EEBCADF8F2EF + 7D11326F0BB6A71E475E3B915DC41AD967FE4EAC2C26370CC184079394C2FC94 + C82E1C4BB898F81794DFA3E119E39EF630A2761ABDE68729D285E17A51B45BB1 + 7FF2EC05A263F2306D7628FEF4C74FF04FFFF94FE8FBF910DCBB95D2198AFC89 + 23DEA8B929F39BF7680471784E3BF73C10C10E5F81C2A0BECF193E6DB1498ADC + F8C520DF37FCDAE76DA3BB31DDF85CB34E5168CFE5DFC2F0BBA369A6BC48CAEA + 92712A1B5FE27C560A8E655FC7D1CCEB882E2C24B0B92646028F534597312862 + 10CE64DF75EB024575F50CCB388CB087DB48652351505781BAD6472869ACC559 + E6222C885D4E059B8021AC9BC821E11A22DB0BB0A5E434E0F4C95884AE398419 + F35663FDDAC3C848A97285575BD793165A2AEA5D50243A1923336879FA998EBA + 5614D261477F1BCDB13FE1624E3276661DC5EEE2DD58777D07FAF59E822F5EEB + 8BCB875D5EE55652F3A6464B87E1DFA5F5ED5819BF0EFD22FA63352D62F52D14 + B9F85E1D5724E1238473F5591DE3A00E49BC54EA0E8A4BEBB02873291ED43D44 + 615E03D66D3E810FBF18807FFE6FEFE06FFFF4018269E12AC9A549585F5D3957 + 03E854E2910557EEE4241B9CE9EFDD265E8D34C6388E5622F95E8EDCCBDC3A7D + 6C7DD089C3B8D66865BAD931C6D7C2CD7BBDDDD7958DF3B3D96A289B42267F0A + 225C2ABE8761F747E344FE7957C2BD75B552576826D4B730DCE16A7E2276305C + FA2E01B9A6B50DC7C84556276FE433E1148D1E4044EBEA472DA826509635B4E0 + 40CE290425CDC6A8BB9331EFC12A2C26055DC2108AB8B25CFC22367BC361D4C6 + 1C87083A9B56AD3C8CF9F33760E7AEF3484C2860A4AA258FC9ED04C236027D6B + DB2FF41CBB9055E52108F7D17316A412999D3F4DFC3999721B3FCC1B8EBFBEF5 + 05DEFAF8331CBB1ACEF5714D8F9FE121759E538C61AA6927F9E7F3A7F3AFA2EF + EDBE18173195A2114DB8322C5F23FE059DEEA9F42BEB4C5A181078A53402AB72 + 57626AE434FCB8640CBEFB9626DAB7BEC73FFDD7D7F1E5DB7D107EFC161EB518 + 981CC879DAA8BEB614E904A38ED3B180D7B8DF433F5487EB9ABB19F2A1F087CF + 689D4089504EFE0A1BA269447187887B8737220383243DBC8EF6C13C566160A1 + B978FB3DAFEA6F07B6A980893B718DE6D0A177C76143F25E3CB2C49DB4BA3C54 + 3DF2B408D5B63CC1DE9CA38CE309C6F2A475D893710CF94D1433ACCD14EA7EA1 + E01EE5FDD34A667F421929A622079B938E1271AED2739D4ACB4EB34B51B6946B + 39AFA487450859BE13A3C7323E28EC2892134A29E67478AD445F7946D1471C4D + 55E52F5528B72046BB8843E27CE2BF45277946A015314D711C7EF0203E070307 + 06E1CD7FE98515F3F66247F409AC2FDC847D7967B09122D984A8C9D8470FB814 + 1688ABCC62E2D02C8CB83F82625EAA3BFC42535815416A8953D4FD55150EB95A + 9E3C42D0A1E578F79B6FF1DA9F7AE36F7FEC8177FEF55B4CEA371FC971E91DA7 + 17E8196B0A6D181F14E0FA13A71CE044536D85C00E3A81F26273EF44D9F7884F + B3E6EAE63236A00F602E1DD5317C45A4BE2AD8EEF2380E5C48E619599E8E6046 + 985EA138F3C80AA9B85B9986A084102A873B297A34B958A750485298EB0C6918 + FD600CC6320B2DB3C6E5BC722798F09E9D0F8F615ED42A08D554B676112D249C + C8B20A999C2933A7126B371EC598710BB174F176C43FC8F7502E5542BF759082 + 082AAF816309F0CADF0C94ED2811293860019038FB366C3F8E3FFDE963F4F868 + 206E873F507379422C4CA29FE41063A582685D9A1439050F4A33515CD74AEFF6 + 32F4BFDB0FBBD2CEA0994600A1C2221269C7A07020D11BDCBE13BEEF41723E66 + 04AD46AF9E23F1C5C763F0DAEFFAE16FFFF35BF41D331AF159C59D8FC88920D9 + 3985461AA7CFCD1165AD1AC09DB88DA6F67E389172E075D01DD759DB9E51F7D8 + 240A3FF0678B5A0D841D7619A27FC503E622AD8565375433DC7A215631CEA8D1 + 6202A975055898401B7F5532EE56A622856646B9D4860935A64471283B1CE389 + 107BB34FE091F8082CA52DBBA60A5368BEDC9A728C0AB5CBD6AE2A4E88A545C4 + 226B4F2AEBDA70F0C44D4C9ACA28D239F455DC4A431BB98E79A9C038CBC2A3FE + 2DD4581CD2221689AF42C6E4F782A066546D7E611315D7D5F4EC7E8D4533D6A0 + 38C7E5D07253578ED34E4F6F7E6D136229AE6D48D98915C94C004A9AC684A39D + A811DF01815E104FC6D7A9A18AFB58125B751D15E8CD87F129F582A103A660D6 + F415F8FAF35178FB8D1FF1D5AC2198FA60062360B7A9FC8A402EB7DC6D02B8D3 + 8376640A00D01D0B19C873764B9437C49233901F0704F161653290C18E458122 + 46A0F705B2C31E90D5F981D29636CC8D0DC1A8C8B1B8591CA76E2869ABA245E7 + 00AEE7A52AB95BA6F382A4D02D235AEBAAA1793234753B2D2EE370B5F081A2D4 + 1125E90C7E5B82634CE27944EFAC2EC9A21D6C3246039D5F176E242028780356 + ACDE8F5B37D2D0D26844666A11C1DA078D0412B027628900A6CA4B16F9569083 + 9FBBE39C84522716E0C7BE13F0DE6B3D70F6F0F58E45CB618A226C1DAC12D3AC + 77A5D79460F5C330A6888EC3F99C48F50E0194A782CC364BD80B2248F8B504F4 + 1E38019F7DD40773272EC11C22DEA79FF6C5CC912B980B918BF5D9BB303A6914 + 06470CC5099A8F3502B927630742FB39991CFCD79E73206399F7F810C57C4DDB + 619A2E9DC1EBFC1DD84F57D7FAAAEE6F26B0AE4FDFC9E0B891B8981FA144981B + 25D198C3CCB415CC49DE917E40D9EF353560B4B4BBF89756AE0BEA5BE99DDEC5 + 7BF7615FFA712C4E5E8D4B79914A86779162EB87BFDADB9EE1DA8D44CC5BB809 + 13A62CC6D9B3518AC3C82562885BB9339041DEAD4BC2A8DF8200F25B645C6146 + D66F19A3B6EE05D66E388C8F3FEE8DA17D2721EADE43D7D816E71084144FB6CC + 5D3E13A0564AB745896B9A9E28E7DF242AC187D2CEA38608FA984A7A75D30BB4 + 13139538F9201BC327CCC7D73D062378CE5A1C3E701993880C9F7FD417BBB71C + C7E35697AC51F3E81996276E42DF9BFD98E33D974187861549EF8BC3417AD041 + 13F23AEC071D4F5994DD31C6C88E5C6A23BA0F399A6B69FDC2498CF218DD3577 + 3F21DCFF5190819B1B5E1481A1D1C35418B6C4D2353E696528F6366C60C8C5D9 + DCDB4CDA67E619D32B531821FA9C0E35E112CA5F60892BF29BB880CDA9FBB090 + 596DA1C95B91C7441DAD3F6805EB0965A5F8A4622C5FB31753A6AFC4DEBD5790 + 9258E87C3216900AA00AA02B055CC4222DCF0A5517EE20A2974854D601272433 + 8F61F43CBCF5C65758B3742B5A1B5C961B1D552A4AB57015552F89CFA8D841EB + 2C54E130415EBE4372A1F73C3C83BED7FA616DCA461523B5257B27D6DFDB8ED5 + 4CB6E9F1E5704C1C3D1FB7AF25E3D0912B18386C3A468D0842ECBD0E25598732 + E4D45761E683B9181F3F9EF15CEB91566F25E9F84006D7A48DADD1A28C13E298 + D4DC7CC69B44E2840C762944C3A75D1C32442AB707DB846567B8B69956BB8F8C + BFDD939CF8EDD2644C4F98C554CB35286D7884365A8F44073898735A015AEBA3 + 9F718966D245C90B31E5C16426E75CC763655CEF5050658291A5E9984E0FF5A9 + 9C2BA86FE49706057B49A8CBA6BD7DC5AAFD1832783AD6AC3980E49472257A28 + 42655168B7A94E3E23C00A902BB1CA025845C9E5D562C991EFC58A64892E82A0 + 27CE45E0BD0FBE23A00EC48DF0181526AE988BA557D8A99858A514B259629658 + 51686175151910518C0AF9EDB2786C2FDC8D99513495860EC63B1F7F871FBF1B + 871307AF2323A38EE2DD5E72833ED8B4F1301AEA5C93D1D96F0A8EE47F7C7F54 + F9434C4B9881518C780D8A5E84AA669738A808855D61B59FB81D50F5F7D619E8 + BE114E8AAE7D28B5568B90A9F7DB815EE6E38B735873F13625D7A23A812C9141 + 97A477BEE1B703F200472E6A6CC0ACD805B4A5F761650A7A92791550919CFB60 + 09CBA9D011651D92D4368A6374E8828425187E6F043DCF67512F95BE8CABB8A1 + 9E19628534CBC96EBBBE10202FAB68C2112AC763268660F6AC35387B268A6997 + 02C5AE4D5395EE0CB3A11C84886166D94615DC28FE025164E5B758920C19BEA2 + A60DF342B6E04F7FF904E3472F445EBAE513E0F8C20954FEB88C6159A234A752 + 4828F14396822C8821F70957D09E7209F33878FE2A3EE8FB3DDE7EB30FFA4C1B + 8FCD37F7E0C499080C193A0BA386CF41F4AD6402B56BD11A51EDE64651EA8FE6 + 8533FC7B22BEB9F40396C76C46FD234309B151578F241B03B83C823C03014CE3 + 8CD4FAE59506A132CB7C6AE4742A04E036CB3A6181C52D3CC4344F0E51FF0FDC + 1097CE60B01637369A93D49868B2BB00013AA0DB1C16D0441228758906470E60 + 54E961FA002C71821B165BF910DB99F6584EA5DABCD26BCA1196BA1563A24733 + 2F7917D32C1FA38289FAB5F4269B976C4A763EC31EF65EC67C02E98A55FB70F6 + 1C91A0B85D79A955F4842507BB9D3B824302B0221E59CAB1529835108B586329 + C84A49B6D694925582BE43A7E377FFFC1EB6841EA43EE2623792182600ADA384 + 058154115F0108FE08D00B831304502293208C884FC279ACB14B99E7B070E936 + BCFBDAB7983E7425CE5F8F45F09D65F8624A6FBCF3E6B7D8167A008F18F2AD2F + 65ED3280A0F9693B32EA73514673B4005D0BC5C4590F82F1F5A59E181A319C79 + 20911D54D4A0C6EE750BE5D79C4303BEA6DC0605F784BB8EBD3161CF9D0927EB + 33E14DF6D89AB71312B8A89AA5C7E985CABC2CAEA4BF77D41D3AD664ABA82773 + F486553E798E8935B685068409AE9B4C939A0EB5E84B3BFA02E61297E9CA13D6 + 3C9E51F6286DAB45BB400A2FA16ABA028304A9CD8C9D8B7E7707AA6A146B687E + CC6DA874CFA4AABA1DC74F4460C6CC358CFB09C3952B71A8A1E9511889701815 + CFA3F7C23A4535370BE8B51E22E28FBC5E147091E305573592C83D8254A72FDC + C7973D86E1875EA371FF5A1201DAB50011BF44DC91750A6750CB102410A01744 + 10659B302C4C4C7E149289AFC222D46D547A8F9EB88D1EDF8FC6175FF4C78943 + D7505AF604074E5CC3DB9FF6C2DB14958E9CB844AE66926C4FE9404AE41CCFBD + C6F23873B026733DC3BF63F8DE9FE9BF8945AFCBDF621CAD5521F1AB2104C6E7 + 255CD3E2A2F66801F773766CB0C1933212C819EACF4DC41340D7E39BCF5988D8 + 498C5387679DA12F71CA735146E16163802EC0AFF3ADFE10A7139930266E3D5B + DC5C8B79098BE91B18A72A577452D4EC9B698DA98814C331AE17246262F42446 + 7E0EC2E53297C9B2A6F6114E9CBC8D590BC210B26407EE47B0285763AB32750A + 2228E557AC3E9AA269441060D473B62C447A3E02A48A726BBF84254E35892977 + FD117CF0616F4C9BB40C1545CD6A0ECACA64E53B68C011BD40D2440599041854 + BF06410A118F2CFD40104153C5ACA2068C9FBE04BFFFDD87089AB41215C55528 + 2C6FC784698BF1B73F7D8EC1A3E6E2D203E6355893F410672CE078CA975E2ABA + 4F8BDA1284B04E5468FA56CC4E9A83C88A34E5855F1ABF017D18E63121762283 + 064FA8DA4E1E80ADE145EF8BC545CD735239129649D89D85E603363AF905AC17 + 3AC5A7B9E7A2DFAB3FD0E3F3B71265F518F6F7769E870D19EC03FE6AACE8DE00 + B28997582EA5FFFDBE0C613E8D2716A556A371116EC07458A84AC82700655636 + 92A32CC6E9B22B60D8112E85C762C8C8E9184FCFF1E9D3F75155E9AA71241447 + 85481887A6AA3F68114958B445AD9562677DA7BED672AD7CCE7736322629A3A5 + 0CD7E3A33175DC4ABCF1FA37F871D930E63E9C43145335AF304A54CA49A65554 + A39061DB65ADADA86879CCE26472722EDD44B17BB18409125002140415CEA138 + 0DCBCB1C3E73135FF41C8CCF3EFC11174E462844BC76330E9F7F39804EB401B8 + 743186BA523B8711B26929DED6C197363D62D99A12F58EFAB6562CA7656E72C2 + 189C29B881DA86A7B85814A13CFB550CD82A692967E58E09F4DA8FC3428686DF + A14FC62DA2C878A668645168FB69CB390A126BB1CE0DD4D6B31E7F6B6226DC51 + F641888A49D5CD7FEBF7CB0BB5E141B6C83A2B1D3AE3F6D17803434FA2EC605A + F547D5BB07DF013DA5E5C48647AD086138F5D4B839F41D182CDA616E0A28ADC3 + 30DDEF853CEC23199771FAF2032C64D58989548E4F1EBE851A2281BEEF299550 + A9A9EAA6481647504E27CB22A4004A8B48E62AF8B928B179E436570AA271B0E0 + 2C96A5ADC6806D23F0F6473FE0FD77FBE0FB75833031610A42181D3A2F713EA6 + 319760614A3036646EC1BACC303AFC821916BE14C7F32EE26649245333F35893 + B599A1157CA7A81516B2C9B263E30B316E7208DE6511B1C5B337A0BEA28D3E85 + 764C9FBB16AFFDE57384CC08651E74B3C73E0BC7D1EDAFB2EB6AB02A7D1D7631 + E74200AD9971DE6BD3B663D483114C9175F938183D8EC9ACE017C6EA21B2EECB + 8CFF1A1F3B8E083391656FD6A1EEB135BE0598B26FAAA4A64606832A7B6C9505 + 74423C9428A48D11729310372104F24F4B577299D71C4046BFC786881E5643FD + AC9E8B7D1CA739BA3EB39041289B1312042E6F0504EC5E6FD298CEDFCF29539F + C8BD49A579300EE65DE82804E6B4380154F9B1B1CA276425712915D8B2FD3CD6 + 3031E5D8E90854557428D04275DB0970CFE423FD2C7F0B5751A6510142D97839 + 285316569FFD82723ABC6E17A72BA7D7F2945086454CC798A811F876555F7CF0 + C1207C3F6002A69E9F8D19293330832661114582E28328F24DC46C162758FC90 + 758E88141358BB69140B09CC889BC93C8319ACEA3D93058E67B312C6419A8173 + 50FBA81D65E54FB17BFF2566CA0D473FEA07B72F3D5094F65664323EFB72283E + 79BF374EB268D8F36706E69867C97F3F60E2D38AD450CC4E99CD2AE249EA185A + 5E3C4658D64E0CBE3788BA4282FAACA8A919C322987D4747DE13AEBBAABD9639 + 1EEB303F752E8B124C6571B3140F59DC498ED78E478B31791EB9ECAD884ED699 + A9699AD297ECAF7EC2FAB71048C5598CCF3DFA625BB0A3C360DC86A0AEC0AE8B + 08BAC42465E3F682893EA1DC09817E1D5A20A5AA8AD526C66036CBB9E758196B + EE21CDF7893CA89566EB0629029C4887D98E9DE1D8B8F5242E310CC116C40A4A + 26282EFD094C21709775D17A825876949953888350297987EC8BB2E2FC4C936E + 33C29930B490F58B7ADFEC83890F266065E64A84DC5B86EF278EC6271F0FC7F8 + 457359076929B615EEA278745155C80B4D0BA5B37019B3D0A66125FFBD3FEB04 + 43487661FA83994484D9ACB2B7060BE21751479AAF3CC06329BA88AE3471C75C + 2ADE13F1FA1B3DB07AED3E3C260237111197ADD8833FFDF9634C191782B2022E + 44709773554AB8466E2D6670CFEE5724B36CFE78226528939F5C07DD42B6B894 + 51BC3DAFF7A0273F51AD7123C35546DE1B877BE5C96E112B823E9E0D591B55FD + D959F43D54B4D6B976DBA2D2DAA4AC1568D327E0511246CECEB2D029FD418C0F + B2C796F54C99952D22A4441F3118E833B0DEE5CE6311A4D2EB339149C63560C4 + 67EE7C67D8F5A2339800AD5993B501BF12D67D3EFE13677F38F72A06DDEFC7C4 + 9C4B1EB666376130D89CAEE420D43C970EB303876E91131CC6D5CBB16894C400 + 810D4DE9F96F01764106519615E058D45F865465D7AD8D55357EB442CCCF249A + F572412C16314A74F683598A8A2F495B490BCC1A2CB9BA063F8C188F0F3F1F8C + 111B27614FDE01ACCB598F35CC83B8501081DD7907994813864549210AD8B766 + EE643EC2157ACF37B2E6EA6446D96EA107FD1A33E7366347017D03ACF1B4E0DC + 727C3B6518DEFCF3B778F7E35EE8BD6D088E955D601C5316460F5C888FDFE8CD + 708A538C807559D2140008026B1DC6BD59D63FF8FDDE9C93989B188226D1D479 + D5B4D15713B71C7D227E24B78857B2FD19C6252555E6B988ABB51735145977E5 + 1CC6F28CA5E8776300D644EFA6C5CDDA5BD1A52C71527153CE41C4202D9AA9B8 + 2C0DE0D6FC34F2A8701975409651411337410E21721697D688A7CE44EB55060C + 68D1DA3417AB8185D3BB7EB92E4D24E4598B9BD84CAD01A47D0AC038718DDF00 + 2B9ADA5F900A6D4570DA125A90F23ABFC1025EB7D98C7FD79352DEB89984CD5B + CEE10893528AF26ADDCFB99D30DC0891EF2557D84D39AC356936AC37462386DA + 4C9A25B3EB4BB18FF58FA4F9C8823816274E5A86DD05FB708E7551579EDC869E + 0387A3C78011987C7C3656E52DC7DEAC234CCD3C8C2056BED8C1BCE343ACAD74 + 3AE7262B5DEC615CD436E624ECC021A6668611F8439217A918A9AB3465EE2D64 + 9F8787273167CD7ABCFDDA8FF8EBBFF6C0A88533B12E7D3D26C64EC2D733FBE3 + ADBFF6C5DB5FF4C2AE7367DD460577C8B8008A00A73E7DF3C0B923A9E4B2C322 + 47306AF714A97B038BA6455117988269B1D371BF34D5052C5A3C1440B5C691FD + 3998770E13E26899BB3E04DF1CEF87AC0AD71E77EA822ACFF1BDAAD8B1CCC746 + B515F7B0E629166653B491B1B4A3D2EE5D9633534826EBF322C528BD51732B2D + DA2A4AE102070F9F8386108D18AEBFFD1411F32206296CF41CE895A04612A331 + 17242D24F09D747B57F522CD17BC208F4C2F2DC6D56BF1D8B5EF064E9D8A464E + 76ADBB129EB22A08A5B736F831918085F53A258BA8403A6B7375C943B5643950 + 52A89B25C9CABA22C5837766ECA5037017C20A361098CF63E692D5F88C01707D + A78EC2B2C8D5D896BF9DC0BE113B981B2D09446B52D66275E25A8492038868B4 + F5E10E551A7205434A963340F02081F270F679ECCED98F6B6529D87EF91CFA0D + 9B8AD7FFF9077CF5ED70045F5C863515AB11746D01BEFE6614FEFEA7FEE83979 + 18065C1B85F939F37126EF16C35064912ECAAA64715198B525CC0600ED943942 + D95FE2C7DB3FAAC267D271687CDC186CCD38C0C85CD91CD70E2BA5DBA2C01A98 + 632BD33185059AA733CCFBEB33DF634FE2190F595F9ED59621F5DBE4501A1805 + 512C8AAFC521E5A9174E60AD41FDDBBA5F90AA84C684870F0B182AEF3227BADF + A18141CECF40386D3D531FE9F75AFBE0C10D1426F3471379D7BD0170062730D7 + 88E00559BA83192D8C37DAC544F50549C18863A6996BF59E32A07C2407151E1F + 8B1F568FC09CB51B90CE5CE31756153C378E5AF313DB3F0BDF29D3A9FD523A81 + 450965E3C5B4AAABCD4989999BACA8BD3269350B0FCF26F0322A9695F94EB3DA + F5A1C4700C9B331BEFBDDB0F3343D6E178F235EC2F38466E70100733CFB18206 + 95F6D4751449184D9BB482947D23AD38A12C4BBF93E2D25A55CE6513AB539CCF + 8D402CF32E4E145CC38CB52BF0F17BFD193F34182B37EEC38DF2449CAC3D87C9 + EB83F1C1EBFDF0F907C33070EB282CCC5888A0CC79989934138B52188E927F1D + 2D8CAEF530439A444AF68F00A6AD37B5B431AFA50372E4BD3198163F1D3BD38F + D19949FBAD70416B3F949C6D516F8D0C62DEDD433D4714F0DED7FA62D2CD99CC + 09711DBE729219C451390B6DA6699D8C230446C55A09F25880ACC2DC0DD3B938 + 3DA3E3F2B074E52EFCD87F123EF9A037E6CF5E8B7296F7F1B884E059BA85FB73 + 4138C318E4AEFCED83631863321CC35651CFC341D31DA8764010474B956DEC07 + 8C3B9A1637054B4935ADA2D59DDE9EC7128A274F4663FAC6C5987A8ED5B159B2 + 455FCA4965BC5BD6F198FAC163290BC30DD6FA85C231390C837AC9062A8ACAAB + E1D10BEC65BDA399ACBEBD9A49F37BA44840EA262AC43B7126FD1E464E5A88F7 + 3EFF0EA17B0E11692B689BBFAF42A8EF151420BDFC09AE67A733A0703986440D + 649AE97252DE5D2A0A740729F07246D66E6262CEEEB4C3B8C2E2C0D712333176 + 5630DE79A717C68D0AC6FADB5BB1A7662F0E265DC4B08933F1CEBFFC801E4386 + 60C5FD355857B0054B3396633E4DB40B931763713A2B6BA44CC349E6433FB3EA + 43A9B5710F3452BBD72A8063ED8D78AE336B2A904B2F7D9B541770D11C9783CA + FAD135A5CC0388646DA9C9B476CD8E9945DD61B0AB101B2FC58DB478A639B246 + 0E3DA6CC49904080D7129FB48351BFE3094B7F46251461CEA24DAAE94A0F96DD + 5CB170338EEE0DC7ACC92BB07D0BD372F59969E05613B78189F59D5B87323984 + B5D84E20EA95330442ED03B9C7099164A24EFA073F3BCA44FD117123D8E7ECAA + EB49832B34904D5EBA96885DB412DD89C8C7D664E6233071DF7DE89688A0914E + 3CB7CCFD57F587DCBA801C8C8CA94FDF3A3045A1AC391537D56307813F889ED8 + 95A4EE6BD9CB6D47D67E6CC9DB86E99767E2872923D0B3F7486C397696A5ED2B + 685ECDC0DDA22CD6202A4149ED4B54917855D5FFC2E2C539D8F2703FF6A69D24 + 121CA4D566395631136F314B3EAE495B851569CB31F35430BEFF7E3C7A7D3816 + 4B0FB0CE6BE925ACCB5B8F011B46E2A3F707E08BF759096FCB548A33CC66CB0D + C3B9C29B5847916B46E22C52F559CA443B91F6FFE989B369FD79E8F69ABB6575 + 0B284CB3B3A2D802BC5C7B726515CE5197296CAEF7A8772A402B6124AAA018C7 + 286FA927F2D420A7FA31B3EAB6525CDC8D5177C66163DC6E77788AC8FA22E248 + 488AE60AAA25AFECAD8846045845AC442CB2424F3471AAAAFB09672F476332FB + 507C4447E28F5F0DC1C19D17505E52A31AA0C8D5DCF888153C9A1561934BB210 + 4DF1C86D59D23067228B261072FE8608D961ABB56024D092F44E70EDF3339355 + DB6FD488642094945D09CBDA868569CB90D3E48AE6D457465605761FBD8E5367 + 23D152D38E429A826626CEA127F7965B2E74DF6CB17B567F545623D7CEB916EB + 36F369B66E218532EDF127B9AA90BD1496310C3C041B58914EC419116F96662C + C6B0ED63F171EFDE0C8158846BD16968259F17CAD64A2ED2CEBAAE55F52F115D + 544AEF6E952B89873F0DCD3FA1BAE12764563422BDAA9179DB9974CC9DC086F8 + 2D18BA6412DE78BB273EEFFD03D65DDB81DB0D0908617F859E6307E3EF7F188C + 3E032662E5E58DD82CDC801C6006BB87AE64BDD4D0B47558C81E738B5216637A + FC4C55306C5CEC782C495941E71F172C6BB57E14300A2C193A91F60B54D2431D + C6F08B89F42E87E7C774C8FFC6F3BA9CBD245205C52C4355DD6344B2CBD1161A + 386653E7187173023258D252D5671224D00AB300A2E86A0458315C896353FC3A + DAAA24C8D6DCF2339219B5BBF36038068D60F16526380DA2487470EB19D49435 + 7A052DB77F41731EEB0CCD500FAD2FBA750F119D2C62A9CA67DA3949C7DBBCE8 + 0CDDA1FCDD79C69A48725D29DBC4CEA147742B58CB575D4D2DCF283B96E1CCF9 + 1824D181A6E5CA7D0CCF98C32AD31556273F33BC57E451319B2A37BCB9A5820C + 9609507D2C7F0BE2581B93CE1C6AA97B2A9D3C37666C533E00114916C52FC5C8 + 75945BBFED87E54B0FA09185B8F4F58C46F2948A4A5C650C547279136E15A623 + B2A404A915AD2867CE856CBC58AF54DD555EC2E22FDE48458F7EC3F1E587C311 + CAF23207B24E63716E30266E9B872F3E1A8677FEC60A15A1F3B1891EEAA5D92B + 688E5D82601A148259E86001BDD5EBD936EB44F655ECCE3E84F929F32856CE60 + 8590511819399A1CEC084D9EC6C22DA4176AA800D59AB8004E035DCDEBA8B72C + 495CC7BA4B043E4B8C794EB2DECA020BB9754DB8531EAF2A7A07C52EC280EB43 + 9155938F828606B54FA323C7A1EFD541ACC811AB904D55FB10CACFFD57C18A5C + BBD2C184E35AFAC173FA69F20A1B71FC5C24662F5C8F9EDF8DC0A71FF7C18C09 + 4B70E5CC7DFA50AC0844E3DCDC3162FA3313096CF799962B0FCB98759FDBC4AB + 9FB3D6ACFC1B5EC5240B58BCA2E76FF045526D3ED33717626FDE49C56EB3B3AB + 71F67C0252932B5C6CD7BA6A988F1C92C0C6838CF531C52DD988167148892EE8 + 3E753E645A1B4CD669886035CD8F985CBF0943EF0DA5B2BC8061203477961CC6 + D1146686CD9A866FBF1F835327981A2A1C44F04882E75890EC76510A7632F7FA + 68E605DC6791B2B40A76092DC9A0527A08BB58F5AE40BC7AD65C4A6B9AD994F0 + 30DE7CE30B8C1F331FB959AE84FFCCE27A0C9E3E13BFFBC7F7F16DDF91187F76 + 1A1664CDC7C6AC4D589AB2923FABA9BF1CC56612897544848BB9F711C5529687 + 73CF606D662826C74DC5F8E8A9F45F0453045B82B41A8E6B898332BE4E0C129D + 491C5C6E2B20F7546A2CEDE7DC33ABCA51C214C09B650F39F7C35893B499DEF2 + 859840AE31286220BEBAF40D3EBBF025FB426C4151ED4F0889598301B70762D0 + CD21D8C5220A12742867A1320B3507B0CEEB094BE7949436E1CAAD5404856C62 + 4CD550BCFB4E4F0CEC3D019BD8E82429265F1532E874599285137D750B1D0E5F + 2AFC1742679DAFDB12C9BF75B4AFFB5D168114855D2A9688EEAC3CD0DD86EFEE + 7203DB73372BA2E9C05ACB9EC994C36F1533F4F81ECA4A6CEC921B7EA5E80166 + 325E29ABA1CE3D65E1028D4D12914A1DC128ECA033C394EEA111DCA2063A51A7 + 81892B5B1F1EC7C03B0CA1B84A31887D104E955FC1F5A40C4C99B6064306B24C + 3D7515B9B495E53111EE5A6182AAB01D9E1F4D8AF9820D0F4B190A7D9555BFC3 + 58AD6E0BB6A6EFC689C2CBA863D2F4DD7B39E8D37F0ADE7BB317D6ADD88D562B + 7BECDA9D64F4F961123E7BB32F76AE3B85CCF2321CABBC80712C672396A8558C + 73DAC9E26752EC6CE5C3559CE776EA55E12AAEE9243F13EBD654FA08263F9846 + 316925759C5588A00EE32E1CC0B5AA2A1C16C596FD501973D6DE5790CA4B1DA9 + 2529CB38EFCDCC7023E25FFB0E3FDCE88D21F707615CE4248CBF330B33EE2CC2 + 84BB33302F7A098A2ADB7038ED2CFA5CEE877ED706627ED41226FF58ECD51AF7 + A97080E21A5CB89E8C05CBE8876108C97BEF7C4B8B587F2C9CB51A97CFDC425D + 990484F9803A2740F776BFF57915FBCA1D3D7E17FB0E5D47F8E55434B33BABEB + E08CF7E8312CAEA9E7A07C17128E41ACF64486EE0278A018A52762DD2F87B58F + B2F4B86B13702CFC3612A34A982CEF12F8B51345FE2D14681F0B7D85A5D0036A + 5113A1D6E544829A06C3D9648DAB53073535D40A97A21C22B752DE3F987509A3 + 586060D0AD61CC9C0BC15DB695BA75A700BD09A443064D475A8ACB5AA5CD872D + 54E4CFE4DF65E9F795CA99768F355C13CA1B58992F0EDBE9605B2251B2393770 + BA221C73EFCFC394A5ABF0CE1BDFA0FFB763101B49C716AF364E7EE5A603F8F3 + 1F3EC2C8FE53F180314612EF24D7635A776E1646533C5BC91A4973B12D6B1701 + 955539A813AC4B5D8F5934F34A3FB9AB4551448683CC4398CD7E70E354C1E5F5 + E99BD88C9D472932B2C1115511314B97727B75F9BA26DA9BC3386729AEB6983F + FD6E0FA0536D14AD4521F4951C676C542A322ACBA80F3D42515D3392E8D76965 + 01813B0569F8FEDC00F4B9DA9F213373512D4E1C8E57469FC0E55B49B4066DC3 + 675482FFCA8CBE5E1FF747D0E42538B5FF0A8AB32A7DC9EB1DD0A349BF45DD4D + 387083A6718F06E89B373255F2D47FFD3F7F87F9B3D6A14D23830997BE61DBC8 + 74D30FD91F30261528BC77BACFC7246A29704EBD321F43B64D427C72A1FBD14E + D3E081563D6A4483E5341044A82683A82757707B4BF526092289B820B2B2F686 + 5A8AA4F6825E2F8E67F9FA49984791E0726504EAC9D24F9C8CA732D70753272D + 45499E4B945154439444BEEF422EFBAE252E6474EA5225AA48F1E24B4531AAF4 + CCEE8747A9D8CFC4DE7C862E9C598FF77A7D8BBFFEB12716CFDF8C0A5A46E47A + 985586911382F1C967FDB16DFD513437B8140AC10515426E39A58A6B59BB35E7 + 3A139358A38900BF92CAFC0E22C69AD4B5AC074BAF76EE29A544CFE75CC6DC9D + 88910CF65B4BA4A9656F6A5D8143D55012A26D514645042C4EA1109CFFBE5998 + 4213F24C72A1B53893730BE99505A86CA9653C97B05099986B4E6635C1628677 + 4F66C3F6098C661D173E193B8E8563D58A83740C8EC4EBAF7F89CF3EF8115386 + 2FC0C9DDE1C867D5C1974C20EAF2659DA34788851D0E3551B5866FAC7F8CBD9B + 8FA27FCF318822D755FB6AFD38BEDFA6848B84F40FBCB16B62527738879767C4 + E2712B35193FEC1D8475B70ED0D66D6C9CF18CE9A7907FD734BE405E413B2855 + B913F6ED6C573DA32D090264625D11FD97875CC6849EE5496BE8899D81E4263A + F808187B98FEF9D63B3D303F28148D752E201500D5E6C844028A00E7DA8CB558 + 9F11C612EFBB11CE32331266B1E9E16E9CA5E9732643B407AC1A8D4FA90C7FCA + 58A5A0ADCB691078AEEAA41EBF10C1F8A53EE8FBE31824C65A4E45BE43C617C4 + 56D5EFC42A636D817C1E4D0BD432CE7341F25CB6E3DAC2C2C26B99923997001C + 4423421026DC6388C44D3AE42206B038F26DA5AC4BA0A10E85163959F9502CCE + A0B2E5B4138EEF4B2CCFC2003EBB9B25ECC53CAA00489040F6CBE23026208941 + 209655F7866D9B8AAF270CC5871F0FC1EBBFFF1A6FFFF90B8CE83B1D47765E42 + 7E66299E5AFE0BAF48E0040FE6677645D9FCCE8158EBF73C678E6C55693D7500 + 97E8A0CBF9B8752573429D31C556853B40400FF0366B77BDD385E2BC47587271 + 23E6F080D358D9CEAB1C694CBCA6F6051E2455A3B8F0893A7CB709CDA402D666 + 6A7141C7EFC8F8528D72139BA04FA5AC1DC592944DD5CFB168F166BC4D44D8BC + FE046B0F6968B4942E028724C26C61AD25E108EBB2C22826AD22B55E4D7166B9 + 0ADA9B9032114B6242D17BFC18FCE51F7B61FC78A69A46B3744BDD5594553F63 + 94E92E7CF915DB492DDE851256CF53072532BC701CFE96B8295517C9A2C6BAC2 + 862897050D2C89C3AAD94358E06BC8DD91187A7324C6DE9B80493153D83AAB0F + 06DF1ECAD293E1F4ABBC50C8AEEBB86A60D040ADE38004E114E07399654D7598 + 123507336216D00CCC79F1FDBA61A73EB53A5AD0EE45A763D7DE0B98C4CADC1F + B2F8D86B7FFE1E7F7F6D28FEFE655F4C5C1A8CD8E84CB43346CC2334C2FBB13B + 7FA381CA1F7099F7E97F0B07B4218C920C34DCF81BD335A3005ADF8AFC69B3CD + AAB1BD98B902D98376DA4F7333DB515AF233F6E41C21D5DBCDC412CB06692ED6 + E4B042D1CBDA11F5A00455B46AE88D571E50EB3EF140EBF816656FE6E7BAA691 + D63FAAA95FECCF398BF8864264E7B662C8E859F8841ECF4B17A3DC63AA672DF1 + A0FDD1532AAE0CB1A0177977F67EF6475B458BD3122C2397989D14C44A12E3D0 + FFE070BCFFED00BCFDC71F31755108759193D85EBA0DFBAE5DC5F011F3D1A3D7 + 305CB918C9F9B816277314A0556648EEAD4AF2B79C5C8224AA9B8E58AF2C2759 + 6E653B3624EEC2F8C8A9E84FC575F0AD21187E673495DAC5B857980DE6F4BB38 + 8C15692BE32953A750784B7F50A110F23E1957CE53442622E1B6B463E81DC19C + 88A22B0C93F859CD2733B716074F5EC7CC796BF1FD0F13F11AEB3BFDED8F5FE0 + 9B4F8763E58C4D58B56327FA1F1D813ED7FB91481CEEDC7C3E30E00B04543CEF + 7142180BE0ED314AF6603F9F2F738DE15B4CF21AADEA6DB1016C825838D2339B + 909755AF2A3F1C2D3ECB86DF496E9BBFC7A42D2097034ACFAEC79D3BB9C8CD26 + 341B975D84D28920624AD4952A1420C8E10B45E41C9F110AAFDD48C7E0313331 + 7CD42CB7D8A2635DD4C65A36F28CAA6AD6629DCD98A9C5E4086BB09851AB12B8 + 27FF5E92B4147D578EC7DBAF0FC4C7EF0F42C8FE309C6C38CFBC8110F40E1A81 + 1E3D8753FF086111B28E0A753A7C41712B4B4710C410139F1261048145E9B5EC + F52A938C9F3F614A697C69292E30FCE20A4BF14796E6B21FF433D50F5A4AD2E8 + 5E702A17DB422EE13C2236C9774FF89978709F587FEBA2C8E7A98CF7BED61FBD + 0F0DC6E21DBB316FEE7652FFFEF8EB1F3EC0FB7FFD0A837E1883656C6775F34A + 2AEA9820F50B2379E3DAD2D13F76208B1E0F44C883D5289700306F9793CAE00B + 4EFC7D17008C394D45551B31CCF41EF15C324795DCE3ABBC64D771D7E71372D0 + B26FCD8DAEDBAA593265039B111E2C384571C165C817875006BBE3C4D796B131 + 79156A9B9E2123A71991F1A568A0475733259FDA91A616DC00EDB554E283001A + BD5F1B771CC73B9F7C8B857337A2BEAAA3509600A34218798D00121B171ECEB9 + 847E2CBB38EAFE18C6286DC37E8948CD202244ADC0806913F0FA1F7BA3FFC869 + 587A6F15F6D51DC6AA8B5BF1419F1FF0438F09B870F4363DB02E68D00E295D7D + 437945452EE75CC52127016B0AA0E5D0F8B96A1727553704B05D87E55264ADDF + 4A0792312C4AAF452C9DE4A3AA75C87A0439C48860019170CF272CBC9C93DB88 + 6374684E5CB812EF7DCD4ADC7FED873FFECBD778EBAD9E98309C91C31B8F2393 + BD26CC203A3504FF974207DC08B603187097391C11A318A7E4323FBB0FC70BC0 + 2A8E24C86D5E8102B7719F3B7AD52E1AE971ADCF3D14706BEEEED83B6D20E878 + A61B0AB42F70F7B330C937361B6A66D61533CE8639B70CC57842F3477663152D + 26DB18E7BF84C933CB31266222A69C9F87BDB72FA3A1B1C389E077FF2C6410CA + EB8E97E1BC6BA8182F5ABC8D8160BDB17DDB7157BB27817D028C6EEEA7B88848 + 6CDCAC82DA16965C0C62953E36064C5E8FFBAC807DA59C6DA5C217E18BBE541E + FFF53BF49B331A1B0BE824CB5E86C12153F0F65FBEC3E4D121C8CC705990F41C + 4424128414EAA4945AD1192CC0D7CE2155364638861641AD7BDCE29F00BFE537 + 102451DC44E62E9F8992CCCF64BD4A5EB60E5F9047386B239D8B092965D8B13F + 1C73E6ACC777BD46E0F5BF7D8977FEFA3D3E7D7720BE1936020BC336E14E5CA2 + 2BF1C9B85C4484EFB03E2F6868C478FA1EFAD329F7E3B53ED89D72D66DB5EA04 + 1EA668E3F7E07C0197C3779A48D8DEA18BBBB9F7808F76420C53A7700DDD0D64 + E8E682040044B635C327D21AF3D9347C168E90FA36D21D1F4A4FEBE182F36C41 + DB8A07F9A5587F653F26874F63079D60E43778C62CB911DAD8083710F133E108 + 127AAC295B59E5238C9E188C8F3FFC01D72FB253A675B9C39505482D454CB9E8 + 79F837D9D7611E7B226C27F73A55128EA8865C6C0F3F830FBF1EC8049C7E18BE + 613256962FC5828885F8B4EF40FCE37F7E0F33A784D064EAC23255E1826B1667 + A0D20FA4528425B2690E21002C73147148218BFC2D806789693A74445B9C54E5 + 3DCBCAE50E7DB0C221941860EDC70B6AC245AC1072F56E3A9BA99C609DD519AC + EDFA35FEF51FDF6158F897A4FE4138BEF322E2EF6763DDFD5D1895C800C4D23D + 68786EF9780CD8539E6C41528BAA37318F624552187B5C0F439F6B83B03E61B7 + 4AD15417DF6FCAEF5D8A8236813A50BC30398DBCDB9F98A58984DCABF56117F3 + 764606AF036A6C7243520033B6A8B46AAB64931F232A633192F9CE71CC6ACB61 + 8CCCFEA2E3EA9EE2FC564445D5A2B2F825E5D116A5B01E65DB5A51F0F45AD4A6 + F347C521199C40A706EAFAA632DEFD982C7C3F64327A7E3B824E2E5725080534 + F2ACE81216702939DA922BDB78E01B33B633586F357615EFC3860CA6696E5E84 + AF3E1987AFFB5217B83613AB4B5662D6B1F9789F31F77FF9E79E18BE642AD751 + AC865785C104F0E5C7A2E0AACF9AA5E82A6557DE2BD45CA8BC85007240AA6E92 + A5F8AAC184838818654587AA9827FE6DBF64EDE5747E5DB99580058BB7A2076D + FFFF4247D4EFFFFB7BF8EAEFFD317FF2729C3D720999C954BAE974B486C6E692 + 7D18953412236286D3B37E9640C2FAAF165029E26B0330E97BBD3DFB00E6B0DD + D7F03B23B0FC019BB65BF3B1FB06DC73B4037A3788AAC7234EE399E291E6AEB6 + 4D72738BCE1CCB0F327463C29D4EC80254A768C1D34C6C191E391C058F4A5147 + C17947FE415C8F4AC085ABE9C82968564335F0E49725AF65DEF06DCAD2C6842C + 0A644E5101B65694F9AC58AD763332F2D39E83306DE67214E8262022AB5B5441 + 5B6F94CC4E6093AE9B229B279795B3C6EB5C8495ACA792B804DFB37DEDEB7FFB + 0663672F5416B0D505AB307C3EC5A2DFB32CCC877D3178D7585CAA8A74B58D12 + EA2DFA8A25B3AB8A7B821C060208408B99537E0BE77003912618F2DB12A3E41E + 2960ACF407CBC2A4F7599ECDCEAF41F80D86B484EE470F7ABBFFF8BB8FF1C69F + 3EC5C06FC722647618C24FDF41716E255E3267A0D3C5B946B312C752160B989F + 14CC2262999DEFD1C4431043D6470DFF54FE152C4B5D8651F7466355E2162283 + C3D8D6D9AB013572C9B939BFC1236CC6E926F77316213387D1D643F94AE948DA + DCEA0120C6BB3B4FE257C626795994E3C7F69773532F97466261FA3C5C4E8DC6 + FDE8624C5FBF145B769E461D6DF37295B6D55087086394E424FA216C250E2DCE + A0EDE7B278B35D531315EFE065BBF0D91703993C7F86FE031725140A2B61C56E + 85D3B2EA28C5D3B2E03CA5A4B09FB14763D9E9675E7830BE1B32121FBC3610B3 + 4257E14CED25EC8C3D8E6FFB8CC5DBFFFC3DBE1D3114E32E4DC456E630AB5758 + 63A85C5FB1E0488291E45F4B1D634110A1FC5A7CD387CA67441E97D4D49AE6E7 + 6864353E11AF5E8A6EAFE562635305E1735955EFF0A9DB983863251D7C831407 + F8D3BFBE8FEF3F1B86B0903D488ECC4213C3285E6A2F9E07E4587F58882773AA + 7A5487B24744188FF0CFCE27A972914994CEE45F53AD8217242E503D2FDAA5B3 + BAD33B0C44D0FFF4FA0A3BB537C7B30DEF643A7573338105117503854FD78D3E + 42B8CD91ECEB3427ED32F078DF08E31B794CDF2EE2C2E98ADB8CC15980F9ABD7 + A377EFF1F871F4683C6431607D55B636333F3816578B63D1ACBA007628879A92 + 2A59DB524EF56624A7146302CB2F7EF3ED285CBD10E57A8E3F4AC616D1C41061 + 5464AB00296F50A64DBEA6A6F9259667ADC5D08323F1C94743F0F67BBD31E9F8 + 4C1CAD3A8DE57BB7E383777AE3DD77BFC3A46D73B088359096A7AC61EC0E2BD5 + 710C492812FBBD983B150218E28C588DE8B6C073AA14CF8824F9F5B56CBB154B + DD240A9799A0BFE3E109360D598B7589DBA9949EC681F47388AE4941F1A326D5 + CE3723B31A27CEDEC2BC05EBF17796ADFCC3EF3E61D8772F0CF97122D6AFDC8F + FBEC3C5A57D5C0F5D921A7E310DC47A76F090462AC7B647F5D62E82F6C181385 + F9090BE8BC9C4CE7E36A5A069D726B3BC38562165E4418F7DD0E94DF6D3D3495 + 66F33E63C93ACDD4633C130EF59A3DE7E1A720801390DBF7D9BE9916C5F68694 + A64C79A29861D2DB4761C1DC4D98C9A67B0BCEB18772F676157F13CD5081CA76 + B6F713B95E0633144A0DDCFA1D5AF115B9FB2C0BFD7EC3908761E23F88CF774F + 43A891F83554A130410A1161045845A9156ACDCF441C91AB8C31431337CCC327 + 1F0EA69E310E4111F369559A833E93C6E1CDDFF5425F16090BBDB50D2B7356B1 + C0D64284E746E099B45513F95FA8BE884396E94E902F27A7919D7FEE62EEDC75 + 38B4EF160AAB9FB293E8650607063351668ECA59589EBA94E99CC14C305AC078 + A43998F570266625CF40D0D50598B8691E064D98859E9F4DC01B2C1FF3D1DB6C + 753B22187B769C47667C055A9B1E77E6000E40AE4D92DECEC6EBE71A192CA222 + C4E32E8314673270B0CFADDE5814B706F556099A4E20A3E721FB61ED89CFF75B + E26127B26EC295C228EBC70D047E56E50FE995D32D103F4357A8883139258A98 + C8634C48520BD79CD987CF26FEC82CB6FB2C8EF5136B95BEA06FA19489F5E719 + 7BB390757D82E9E05AC38038029BCEC4913DB0364257B690574AC5F9AD7B2EA0 + 2763E657B0C47C5595CB14ABCC967A1E9C8BF2F6F26F114B949953A8B9851C72 + 7F753DC333966CC7DB6C09FBE9209680B93F0373CECCC7874CD8FFFB1FFA63C2 + 9A39D8494FF4B192F304E0158C175A8F62969814EB938456C8F59C94B9B0B41D + 274EDFC3CCD92BF0159B0ABEF1BBCFF0977FFA0C83674CC33252FF3929731882 + 3D196B580AE672F17D6CCE65424FE6122C8F5B8129E13330386C12FA8E9D800F + D972EAAD3FFF800FA9A47F398CA1D3CB4690688422A3A6B8F3E9EB7D1102221C + CF4698BC6679999C3E004C11A4BA9C1FCB5094990C769C8295C99B51DDEAC919 + 14D19679583F5E6516ADBFE93988E8604A1BFE80D869BE7644518060BBB1F3DF + 0667F0C69AF418A609CBC786B9DFC17F98950A5C90E97AB085D195E7AEC663C6 + D6259870621A6B1359E5E23505E2EF0676E3C9607DD01D39075876652711C5CA + E3B4589B0A97B0AE87E925183F7531BE617EF299E3779497542E658214314564 + 48B114110174E978896BD20AADB6CC94D63CC294392BD9F0E35B8C5C3915236F + 8EC38F21C3F0E77FFC1C6FBDC7BECC27B6607FF141ACCC90906AE648A76FC071 + E61688995420AFAAB61D37EFB02D6FC86616021E843FFDE163FCEB3FBD852FDF + E947C7DC24F40F9B88F90C9196D8A6D52C4B19CAA0BF6B2C4773312306D34F04 + A1CFD29104F88178EFA3FE78F38F03D8F490E561FA0FC388A53311746501E6A5 + 306236773956E6AF64E8F5128672272A8EE674D6EA3301345126BD4B4D9E2719 + C87D8260BCEF42D13DD6C29DA662B3D625EFA018ABCD498205AE61555C944570 + 3C5E6402ABC175BC3A52FD4923C6E06EE2E70FC13B8B6A3664B003B9BF016DF7 + 2B7C3231CE01ABEBE93CDBB1EF3AD66D3E8D2DF187109ABF16054C3A57876720 + 9CFBD59CB48A2FB2A885296F3E26293E7631029F7D3318DF7D3D0277D890502B + 67BA71B6F6D00A3268A7978ADDE18F52BAAD334CC928C1F7EC88F94D0F966439 + 108A90FBCBF0CDF0D1F8CB7FFD115FF61B8239B7176277E94E9A5837B3A46428 + 36E56FC0BEDCA3882F2F45617E15EB375DC1800153F117C6F1FFF9AF1FE3838F + BE479FEFC62374318B8A859FC0FCB445585CC6FA4B65BBB0336F17FB1E2CC6BC + F34B3169D132D65F1A80D75EEFC90A7AFD18023D147D268EC3B07513E8709CC3 + E0C065D85CB4990AFA4E8A651425997B1092BA1C535928A01F7B5784E7492B2C + 8783B03ED2D4D96BAC8E37CAEBED1C2D64B8C57CE8B10FC6A3F7F5FE589D20D6 + A40E88753BFD2C841051577D2BCF5ABF753EB6EAD2E344B54D60F503535EA981 + 0D49EC8ABB8E57B3E2EC0274BA39B11D3BE2587FFB528E2AAA5BB164DF1EC6C0 + 6C4443C52FB8527B0F41A9F390CAF81F5FAA7F2BC9B9D8FDCD432F2E6E4010C3 + 29DE65FCFCEA35BB5057EE727429DF8328C4823CA69E611DA2CE7130CBA9C427 + E6B33FF220669E8D457E5E1BF6479EC1DB1F7E8BD7FEF107F49D3B9109351BB0 + A364872AF875A8F838B6946CC74AD6475D7E7413E6CF6332CB6783F0BB7FFD88 + 699D3D3068F8546C3F7611776353515BF218A594A577D7ED4670FA226C4ED88B + C5E16B3062C514F41C3418EFBEFE0363807A321CA21782D834E502C3BC23121E + E27C7104C22A366376EE6C8C8B9FC0FCF0B92A5F615DE606CC63DF3AC9D59ECC + F0F3BE77FBABA4A4B2E606D7DA0D71D697F3C9ABC4607D51D1D6C6B6C0C92AFC + 5C039A073CF23DE70BEEB28DF064B6211E834DA9FB55EC93F2DBC81CF8A34BEF + E8FA488EE72BF71BB0A580535E688AD70EC8EA0662073CEA841886B4D1C90BED + 09C30144AD7A01FA4E1F5B8BF290538D85143317761365FAFEEBC693BDDF538F + 47563F50D952A9D5349BF25E953FC04DAD674459797B15F29B8B59D52E0EAB93 + 76E25651BADBC176332211DFFD40E7D7D7C3107E3EDA1D4A216368D14825C18B + F862296DEE9230822CD6193F673CC4C93377F039116122BB6F96143EC2E5AB09 + F8F4ADA1F8E0EDFE98716021D6E4AE67CDA4AD2C29B99BB550F7AB1A4663D74F + C1E7DF0DC29B7FEA85D7FEF02511F25B0CA5C2BE9DEB8B4B2A73F553E055D450 + 81B5B7B761CC8619E8356A083EFAB437DE7FF307BCF52FDFE3C30F07A0FF0C56 + C138B19DB9C7471159633903F9DC5392B0F256E60E33EB6D6EC20A56C198498E + B449E9173359C66656721026C54FC5681627966684FB5958E0996E82ADB0C2D2 + 172CE2E0F5080D40D1F74888C8B1DC2BE877AB3F1B415EEF78D490127EA677FB + 70C13976F619AF2A889FCBBAA57A62B82F4106316D9A44D4785E2386465ECD2D + CC7AB77A2C27005604CD89A3980BD5EF0E50F4E39C02E40CF69738EDAE0FEE51 + 54D284D5614771363C0E69258568FB490CFDAC8C57729FBD87FB53194BC0737E + 14CE6A0BDBD8256649322B5BA7484F83A5CCE49AACFAB31DAD3E877A9A3C77EC + BA80F7FFFE1D268E59849C4C234483E3B9F39EADF9E9AA792A9459C422512AAD + CD114EB37AC321FCF1CF1F61198B55D5D401619B8FE17FFCE7D7F0E65BDF624E + 3883D56A77615BF966ACC96625ED88AD4CE35C8C77DEFE0E7FF82F5FE26FFFF3 + 5BC6380D42EFD113306621EBAA1EBA84C8982295F37CF0E855AC5C77083D06D1 + 03FCB7B7F097FFF915DEF9C337E8F52ED34B4787624AE83CCCBDB7004B8B97E0 + 70DD4955506C1BB94E566347AB2D05303CF46A7AE06F96B28C66C67E55D96F6E + 4A3045A4D918797F2C43BA27B37EEA7015ECF8D4CC78B75343FB799980E9863A + D73F6AE84A0E6191E491F746222C6E578701C44230B9E72545A2FDB9C7398FC9 + 6C23BC04495574D4099517FDC426B2B98D1DDEC41E8DB04E73F286C57A2C79C6 + 01D83572E9DF167DF01CCD83D5A9AF6C3A83034B0ADC73E17A973BA9C27A7551 + 6903F6B2F7D8759649796A4B01BC5A761783D81FE070CE55E6ACFEA2C41169F8 + 21F903CB99D5B526653B0A9AEB105E731DB3CFB06CCBF885F8EA9B6134299E65 + 62BDCB7AA129BEDD72A2442A0BF855069815E6AC0E9C092B5366AEC687EF7F83 + 630C5C8B4FAAC498092178EB8F5F6141F046CC8D5C8A29999378D0C1987C7A06 + BE9B3C041FBE3B08EFFE6100BEFA7E18BE9F3E11BD868FC5673F0C60B8736F9A + 724762F0C899E83F621A7AB004CA67DFF4C53B3D7AB2FDEC44CC9912863DDB2E + 2126228BE99FCD8860158A5545ABB0B96C23B61410D132D791E2B307024BBF9C + 29BCE178FCE24B49A82C21D0EF62D61B4BB5DC1FCFBCEDE118C142C27398B69A + 52CB10712762649CA75B6C723A6379AB0554772B933126660CC3D09723A3BAAC + 1300C9383F91846F62A65F3045B695696B1861ECF25A6BE2E37E487405BB65C8 + 07D1743FE76D8E4E506D110D8F89FA7ADEBEC372AF0B81BB212639B03B73F126 + A63E640AE0DA6D27111999E351F250DF9F5A9BCBFECEB3E9DA67B30D22CA819C + 33AC3F9AA502DCF6D0BCBA2467291ED4A62364C30EFCF9DDAF3196A24C5C5C7E + 47B33BD10D2CB9539BF0DC65422C4450519E1230E78AD44665D5134C9AB98296 + 9AAF7168CF25DC8DC941AFEF47E093777E40E4AD3875CFC6DCEDF87EC7407C3D + 7E38DE78E30752F5EFF155DF0118BD7B3A5664ADC696A2AD98BC711E86F59F89 + 7E3DC6635CBF1958B180358D8EDFC49DEB29B84545FECC9D1894B25A81A4206A + CF78E3F3768A5C87109CB9109BB237B32AE0015A94D621249DF9CC6C15156595 + 6C7441960D0EB9CEB2C646A6991E6238F970F4BF3390E51EA7D3DE9FE6E179EF + 844D5D000CD9C393F99754A58C3D2CB1E90EFCB3F658EF7533732B9624AEC77C + A6A386B1A743615D6DC76BEDC06E8A62E6BF1DD1DE58B7C3BC7DC5CCB9957363 + 5C8F21BC7011838878F740AB857B9BB0F9B9979B52924B10CCE2B137D844D054 + 56CD478525CF2705DAC0EA6EC2E653AB2A5942710B76E61CC4AADC3598752308 + 1F0CF90EEF527EDFB5E9125AAC322B3286BDE0AD56DADC95A88582111158ADC5 + 1D7C97C57A4C63D8D3ED6B86689C391281751B8FE2DDF77A2288E98CD52C0426 + 57444C1AFA4F1CCFAA167DF0F7D70761E0981998722A48B5A25A59BC12CBF298 + FA991F8A7D59C751CAFED12DB56D68AB6F63ECD0338FC2049DB6851F24561530 + 7C8156A5874BB02E7B1DCBEF876115CDAB8BD219EF9477C4955DA72F2F8757C9 + 0251C7D8D948E4FAECBA0AAF7BEB318EF5873FCFAF00FF511224E13ED7CAADC8 + 5ECE43859C8B9C6E8940054C4859C0026B53D87CE562EE5D976EA60E25008031 + B9958E1F0AE031B795D2176731C7D6CAB95EBB936BC0F390BAA033F041D3C9E5 + B4D9F29984C244C515226CC3715CBFFE90CAA4F71D92923BC14486A0D82568A6 + 3B5F32B1AE54C4D172B205E336CCC6E73D0662D4B085488AADB442848DD91BC3 + BAE5526BA3443FD09D323580C5C7E6A277BF8918D077224BD847306E693B3E67 + 48C3A97D9715274ACA28C69459CBF1B7BF7C86B7FFDA0B83C7B10872F87A5A8F + 4E6073E926ACCD598B65E9AC99CAFA448B1F86908B9DA3C7D92116C58E05D6DF + 2D744D6F66DDD651B1A3D9EB602A2B5ACF517E86B519D4471EAE475EA3CBBCAC + 2ED96B731C730B053845FCB06EE88AD5C803E61C808A254DB13A6D1339CF689C + 67856FF774ACF968D364667D0566B1C39054F4BB59CCF29426121B4861CE4DF9 + 3C44A936BCD05E89AD9E9BBEC1DB8DB67D71536F736DDE9EEDFC791790C1A458 + D681A95FC6A0CF18B9187E2B0D9BF75F446E2ECD7D4E13313E13597847D601F6 + 3D9B83445601930A83090FCB318305BCBEFB7A0C36AC3BC32E948F50F9D323AC + CEDC8807D5391D8062592B34B553092856A885128DE480F82E89223DCF8CAE2F + BF1A88E1C3A663F7EEF3CC4B9E8D61448C6B9712703F320FB317AC6344EA17F8 + 848A73F06CB2FF53A15895BD065BCAB6E248E169966639CEDA42ECBC93B2005B + A5644BE66A8A2B47186D6A8702071267AD37ABA946AD7348D448F4BF39880AEA + 682C7DB89461E29B1153C275D98652E7E983D26AE07253E340A8B2D3F48CF3A8 + 647DD82D2C963091C94C174AAEBA11539DB33657F3DFD155E9084A9EC312336B + 105561353AD1786C114D5D11DD6D31124A2D73D4BFED7331005879CAC5E8E1C3 + 136DEA409D3CEB7642E2070E2D38ED0632B860CC0D949A753EA7D7F7D8B92802 + D606360E31AC22E6A285AA99F1295CEC9DF2042CCC0DC68D8204EC3D7A13BDBE + 198B4183A62947D571B6ADDD90B75D35111C1435848D0F233A99D4F4A6E8F228 + 2AEEC8022CF10CEF3972137FFFE8478C193A135BA8BF0C1E3885BD9397E2225B + C4CE5CB816FFFCCF6FE1ADDF7FC20E9AAB9197EA9AF7918A6398913C0B2B58E5 + EF60CE31261F9D625EC32A6CCCDCCCD28FECB8931ECCBA49171952EDC0199C00 + 8E0010CBF650D313666000CB580EB83994E51987B273CE241CC83DC9A85667F7 + BE37AA2F40A542C44D27650078D9696A36C07CC87E1161195B5543C688B2244F + CE20E35B0877BE2892198A9355E5C00A761CEDA4DFF09C55B0AC20860FA0F7F8 + 4A6E0C14A185C8692E63216AA7B16C70E7FED312FF350C1BB7750F193CD891AC + 816460DF916B1838720E6262B23BC6B7EF84C67EC3C499F9A41433AF2C42FF31 + 93D1EB8B91EC88B3066189BBB1B46805A633886D232BE8DD65CFB148FEE4D736 + B9636ECC8D7613152E542BAB6D94C1C2E8E57EEFFD6F319A8AF7F295BBF11DEB + A68E183C038B8237E38B2F07E3AFBFFF108BA6AF446A6C9687BC7E9BBE8DB90C + 980BA638B432633536646FC4362AD5DB72B6B1B7D90A7EBE10D74A635D9D82FC + 511DEEC61366E1EFCB3DC108D745AC9E3D1B53D92864D8BDE118728F6D676B7C + E70F780C6F2DD46DB133C409478792292E3820A99ABB05B4F27574552AAB7A4F + A25EB39CCA7A479AADF9A8E8155BD20E61F0FD213483EF7357C6F0002E0BA8D5 + EB8DB35634D45890A30FC1984F273CF2B51EEF40EE098F7264D68F6D7C3FC8E0 + E5A09597D750504ED1F13564F86CDCBC9DE289A0E6C2640222371A9F3DA202BD + F9E871BCF9015B37F51C8DEB379371BE3C02CB197610CB9EC8F56CFDEA569CB8 + A9B975D5A863C1009DC32087A9CB451AD5945153F304CBD7ECC3DF3FF91EE327 + 1200693DFA928EB577DEA0B7F7DD5E78979EE2A0498B91109DEA58F2309FC55B + E7262FC0E424CAF6B498ACCB0EC3C69C2D08CD5A8F4DFCBD8E16A02BCCC5D045 + CF7CC9ED32C71666E0ECCC3D88E5CCEBDE96B947D54B9D1C37996D6E67A1B2AD + D9094C034232F77E3A8FE0FAD4E90C8DFBD518D63D6DEC8770B9341AB7CB923B + 572BB1EE69202398C65A4BC3EE8FC47EF6BA33431CB4C8AA744BFD6A41063D07 + 6FC451CF5360C4BCDFD7BAF4771AB005168418FA80D94E41A3E6BDDD72BA5993 + D0B2E0850B31E8D96B24CE9F8DEE84811E6BB1617C666E35A6055137605DD3EF + 668DC4842B5351CE20A46B5509DCE4BDEE479F30B0A5B0AD12E78B6EB389F842 + DC287BA0BED3655674C12DED732AAF6CC5CC596BF045AF8118316E2E468E9943 + 24F812FFF3BFBC4E8FF127183F721E22AEC733D4DABB8853D6FC84A1D4B496D0 + C428FD9AD730F573357B35ACA4B2BB2567277664EF63B9F62826F43B8B37F633 + 6CA3BCB627FB18E6A5CE67FDD4BD6CD7B55F21D4D5E2385AD17C290626D47A81 + 0C6FC06E02A07E85FD554E8CCD89FA6A0EC229E43635B142F7548C8D1AC79235 + 919E93B27402BFB2BEBF399BA2B401F48EC8ED09D02E2C74E02E2A15407F6E7F + BF6B5F6C21DCD662FC52136B8297AFC5E23BE6D96E0E3BDE91936B8E61E30CF2 + 582D2BAF6DDC7D02FD064CC182799B919D5A86F0CA9B18143784A1CCF148A722 + BD36398C25D223594F299A057E2F2876BC2DE3A8CA01B8579AA11C68AA098745 + 0D346216B272F7F4396BF06DAFE198329D358D068EC73FFED73FE39FFEAF3F63 + 649F19B87B2396AD9B1CD8BF6D73241D737BFA41D6335D80E50F57D07212C4C2 + BE612C3E7654D5395DC1DECFFB73CF763422F743C11A591F7635235C454CDA96 + B507DB73765036DF829C5A5A909C59B6C7881E9C47E6EA042CE6132640DB81C5 + 3E573F9CC30E80D7186E3E82D6A679718B680173C544B92FFBBB1CF05CDDE2EF + 9D3E4425AF08618E29CF5B744AC731E952933E10AA1B6292B5F2B4CC3276AD1F + 8C75CBF6326FD893CABA176C4C50AAC95D6677CE0183A752761F8D63876FD221 + E5BA2187816663A2A7A8A49EE7B448DDA597F61443A36F1139622B8A50D5D2C8 + 40B027ACA0F10BB6271F66271C57609FAE1421639457B5308C7B891A3B684E28 + BE6225E8FFFE7FFF099FBDD10B670EDCA0C75AE231ACC91B94CED173CBDB6EB1 + C9A0529AA9304F63EB2829F4BB239B7555B37622E8E11C02F5612265C7BA15FC + D90FD9FABBA8B18DCD41B6B2EDEC416C66F2D28AF4650CE3DE80D2160B9804A9 + 9D104A7F6867404ED4DB17507AFBCE0F12DB8156F2B0D7339C5ECAD6AF4FDADE + B9929EC378F66202FE5E19C8F76A9FCDBDB1EF87F9B726CEFEF7C096036D1D9E + 3B7AD00B15A9286BC6B081D330A2CF2434D436BBEE3258B13D3E252D93E6D2D9 + CCD5FDB41F9605EF4099AA37DA0139D56DCF29366CA6EDFEA4EABC2325DA9FD3 + 2CA40A0070DC4656858EAFC8C791DC730C15184BEBCE391767B0DE994E4FF7B0 + 5173990BDC1FA319B2F1F7F77BE2CFFFFD4DCC1AB7020559351DAB700256C34A + 622EB78E76DE25C96B1092B690E6D46DAA825E086BADAEA0A8B42A7D252EE4DF + A743CF8788630C5644417B13BB016DA6A52698D5F6A6244CC50222570E2B5E77 + EBF2870C7A50070AEC0D610399470533A8E6B32FDDE8E8B1EC3A74CC93B80430 + 803FA75F004374DCE220F22987AB2FAE633ED3F93E8B33F83953FB061E3C148E + 0FFFF615656F57CF01850B36762F00DDCC4E3BFB0F5E61A2CB40FCC0AA0D97C3 + 5DF9C89D2E2E229A551916272F45142D1A7255335938A9AA948D41120944FB08 + 444B9850729DF13B5731377E098A496DE54A6655E841F41BBCF5664F7CC9CAD7 + 7FFBEB676C00D20B978EDDF46BAAFB597AB3D54BD68F352303C8245762391378 + 42E85FD84A2BD2969CEDF4186FC1FACC30E633ACE69C76A9F28EEAF2A53A706F + 9B98BEBA31730716D00A259D3A47478F61771C1133181DF86B2FA7C30F04596C + F78831A09556AF56760375AB42428BF8A323086E94476362DC04AC7FB889051A + 58029D97475D24632E8E5308645E6A5001A82E6C8C396EA0CFDA453177E71E5F + 2F960D31BEAF624E42FF7E53B122780B33C79CD1B0ACA2053B599EFCFBEFC7E2 + ABAF876233A3415B98D0EEEB8A632BABA10F86B295D551150E7C24FF2A0B8C8D + 67A8C646D50BE100B942C3E3263C6219EDE0C45538CD0E3BC9F1C5D40BA63091 + E6477CF477D62EFAA7BF63C2A019C84C6172BEBEEC1B654E42D6E52DB984CFDD + A57369266B032DA702BD262394FAC25102F5360235136C28FF970A1BD3782440 + 639DA37D9D92B27A2CF79A52C6973C5C4E4BD214D553AD5997F4F346CDFCC9CE + 4E1B2AD618F3730338DCE285DE13EBC6428AA9FBB2CEB1FCFD7A2C649BB00B85 + 7769013363B2D96485C18EABD8956852DC78728553EE3075174618DBED0FE065 + 937CB86714F708CC2EE1B97A73D1F6FDB4EBAED61CDD9CCAAD403BF5673017A7 + B570EBD59919856CE0DD0707F79D559F88DF498A4A3D6A676D7CE6021F387D17 + BDFB4EC07B2C5D386DDC02A4B252857B386F87CE71AAD8A53E2871B18A14A5F5 + 94DD319318CB4F806B665F371EC466466CEE629DD394AA3A6C20A59E7168317A + 7F37151FBCFF03DE7DAB07FE4A4458BF94652A297239228206DA40B8A005408D + 8480D5A4820B52A948D3F1B79EC9358B09CC2BD2D730ED527C0D31DE2BB8196B + 156272A53015C3698E9C93305F75E85CC136B60D5293466029102A68DF3B7F40 + 67C1A869D654E667EB5D7AB802562A0CA2323C3C6A04CBECAF617E4910FADFEB + CBFED5FBF0D8D8CAC49A1C46A8862AA3C2EDE214CF3D3610C2EDA9D62FB0CF53 + FE768849F2011A9DF7C8C7CD5E1D959A52C91E989240C7DCBBEE746B20C00F67 + C5883758A367F69CB558B5F610D6AD3B8655A18711BAE514C64F5E8A5002654A + 4C06D32C0344716B71575812660AA9E6A5A25B6C1DFB18EB93F7923ADF473D6D + DB27B36FE13E3B5016533459B37F2FF5837E78F3AFDFE08FFFFA213E7AED4B9C + D87B4E1515F6B8FCEDB09DB2F27E65779769F3F70B8A5147736F637AF27484D2 + 1AB4346D2526274EC77CE10C69215486A5A5969F9758C090C53CEF196C37353D + 613AC6268C65FFE66054B6BA14687FD198AE9B6C933581CDBE0E8DF8B21E1FD3 + 93B235CBE3366316FB33482E85441194D158B1256D3F46C78CC0951297B95C80 + E754E175560299CB4A1E8B51D0D451CE47DDE0C4C1BABAF7F6E5994824EB0810 + 943A1DA97D9FAC33EE6466EDAE9F2135360F53472D64C1AAA10C6366B587A53B + B17FFF6526B6A4A2BAA2D9BFE9CC3E638B5AD550B69E9BB48095DA5680E55671 + A330863DCB26B1C5522C74FB86B3E7A2F1193BC6FCF99F3FA3D9F4757CF0B7AF + 71FDBC61EF3614792F30E2FAD881B27A04FC590F175384D898BE13AB189A3197 + F1FB33591B76299D677399AEBA9E7A40B3651133DFE5A4A48A3FE124F3156630 + 777962FC244C4D9A85F4C662DFC8E080036EE4F14579F564B438A0C7B101684C + E9437C7AE573EA608B58CBB6DC0D708F9EBC6478F9691A0AD6AB06E995AD2D4C + B46261E5E88138927781860D330E44639EF36E77C2096F48EC8BDA7B6C6ED789 + 827B3BAC7728A7A015BB6678C1BBCE19F4C012A72FBDCA2A4B6AD16E8A263E21 + D01B09737DFE92333B537807E3E346AA2E97750C1C8B609F65293A2C447FF781 + CBF8E4F3BEF8331B67FCB7FFE34DF4FC70101E46E53BC376572993D3FDD667C9 + CCB118C14682D3E2A7294BD22A56B7086559FA10361E4CABEB88C3725BE14C8A + 6C884059F5651493D83D93210FBD6FF46559C69D14450C592490BD93F1BCC9DC + 364053B8E0651F1EB352F0D1AC1B98151DC2329A0BC8B166E240F64994B6BA7C + 1F912C39B93A7DAD2A7D79B33C869530A693180421552A1BDAC7143DC546B9D5 + BB0DB3A63BEDD6DB1ACD319DB8A037CE18C89E39DDD3795FBA8F0CDD9D83D7E7 + ACC995353733D17C12CBC00751246A54B7D73C6D43D8BEE3F888354DDFFC6B0F + 3AD1DE468FAF862131B91C452F5A51FBDCE6FC097472FE64756B4EED14F70E64 + 5EA4323D9DE2D122E6236FC5C1DC232C15B38E1EF158F7DB3CF657FF61BC43CA + CD1F60FBDAC1EC6BF0F919B699BD3804E9B55DB0286933B0E8718270F6755A48 + D8C949E7705F74550A39DE1E94B2056E0DFB049C61B3C6A549A18A4B1CCD3F8D + ADD9BB702CEFB432756FE75A831ECE609EC931344BAD4C79B1B9779D2D332EC6 + 6B705F154F1588B3508F651FDFCE1D64AD96381BE8713BDDA786706DE42B4606 + 63F1DD99A06C9E585E8EE45DC4347694BC5F1D0F964CC5AC8DAB54D2FD3BAF7D + 4F5DE54B7CD9733092B3CB50FDBC069368B3DFC942C00268015FE6619A9BEE63 + FE224B07B38CA2449EAECD5EAFFA566FC8D8406A7A069532490799D60DACC63B + F21B6A10C48A167D6EF5A308487333BDEC3A37C1EBFC358018945FC725E95E04 + FE888CF97D7E4333A6C7CCC1F0E8C1E4C0D75D952D78B531A1E442E16D556C60 + 3A3B971635B620B7A1940480860D869224571579626020145C06F6C29DFCAED7 + DFB35D1DD78E507A6AAEFD7DC5C81030343ADCA8AD565C601ABBD72F6098F4DA + DC0D58B9791F7A7C391A5F7E3D883DD3BEC5A7EC32B325FA00629AF3A8DC9EC7 + D6CCDDACD2BD0E29CC11EEF2A67765BE9C5F32BDE1ABD2D621388DC9FC19F422 + 339E7F72CC343644BFEC3C9297C3BA5316C77E70F368A29DCFD22FF31157ED12 + F5B41EE315270D6410B1DD23C4C03E0313E16DF3A87FF688B152C7692ADDC452 + 960B54E58D94DA1257F0257F12AA8B68298B422BF5A1FD0C319F9C389EA1ECE7 + D1AE2B96D9DEA57349DC1CC91FC7EDCABEFF1A80EFCA7B7C71061D0DDAB5F1BA + 76B729638B1CACFA9771F142E40F529CF8FBD42FD1F39B110CB308C197AC4DF4 + FEFBDF63D6F9452C13BF818DF5F6538CA288C18D3FC714C84574C4E5786968D2 + B559F9B89B73BB5A168D1996B8B48079CB22FF8B5350A4074742E670986D4F7E + 6113C433EC1B3D83803689E2CAEE8E6E39010292CF485963221EA10BFCBC9596 + 88C2FA165ACA9EAB60C7E2FA56851813E226B13AE0659433994A3CFF8214C915 + 15AC821E8A1929B318429FD53547987D1D06223BEEF0BF1DD0777EBD5731C99A + 94AFCDFEADE7DDC85E6F73976EC11B1FF7C2A0455436E9B7F8F44F7D31366C96 + 2A19934ECB87D63B331B996B9DC416B4F153E8A0DB416FAF0595B26427939FDE + 0A7F2C5E645263DBB4E3517C5107B2CF52A19CA28A19CC64C6D7467AA3D3D883 + 4E5DDEDE697B5F39A33FF7641EA3B9721EFB22CC675F34025B7737D61B2BD19F + 5BE31632347D016BB98EBC3B1EFB88008D56871159D3B5E2073410CCA4352F04 + 05148FEA59486C71F22A5A90FA612D5BEF4AAF3DF7E5B4770EDCC2EBFDAF8C3A + 757320E7FDEABA98A4A879770FCD69EEB6B16AE85498CDE49B51431762E7AD23 + 187C7224BEF866082E1DB9CB329475ECFDE67AE005D9C8B5922802E45C26D31F + 646871958A6EBD539616F8FC3894D75E01644FF610133DFDCAD6563AA0C2308E + A1090B9216D1AAB4187B738E336DD52287FEF6C7FABE998AF9B2C40D18173D8E + 96A53002A1554FB62B67EC70B01EDCC07A572B2B9BAD4ADD80F15113E8FDDEC0 + 2A7DB358B7CA2812C6779EA7E97793F45A687DC14E4997D137EA078C8E626F0C + 3684F78B08E69A4D42E20D517DADD1DFFE75657FFCDDDBF1AEAE2383B32CE0EF + 8DDEBF372D0EC5150D98307539860F9985F2A23A34B3B4F582D815987077128A + 9EB802EE1E4BAF328A47DB1E1EC1772C877EB8E02C11C495F3185E708F407984 + 265A9736ABC3773DDE6E6CB47CEF117BDF856594D161B63A7523FD06D39552BD + 8C45CFEE94D0B2A4F1C10BD1B05B81F2D8D4717BC641F6485BCF7575B68A7509 + 2EAC9B3BE912FCFC043B1F0D891E42EFF972E432F969632AE3BD1852925C9B85 + FC9662FE94A1BCF131A40965645926ABF58DC698B831389D7FBB231CDAC96A24 + EF145D4364DB00443C93989A67EFB1F5BE38BA796397364700C2E70177131902 + 019A2E4EB4A49291B063E7121166A08CBE0B758932579B83F9F973180BB48A99 + 6F8FD140D6BE2069250B694DC025C6D0E88EF6F54F1EB1EC4A288E158633E2F5 + 2714373578C6CFE839EB79057070DE02C61437E14F5A55394218273589A6E005 + 29F30960BB2873377B9EAB69E5F282202D4CA0286C61E09B353737E7753045FA + 0CDDD06B93F7D8AA6F67D51531B6EA2C11378815C0376263DA0E060DB2274422 + 0B1D2407B38DD526D490E3553F6A66F99EC518133F9AA2148B1E585E7D8DC4DE + 8ED55F4C916ECEAE8854A0C0EE0FCEBC4EC6CB83FF6EC8E06B2136D6595C5A8F + A123E762C880E9A82AF3B4BB8BD9EF341D71527272376B15B5B157D471F61313 + 4B886E1653F7B489A9949BD9708FF55269026D659CC1328A1DE1A511DEC5201B + 5B774FD7BE6106806A20751F2C81B588E2D9CA943004A5CCC47A9A5ACFE5DC41 + 9B5535C36D5B57106050267F84C24058BBCFC0AF88AADF6351EC5212857B2CBF + 53D6C41E129C6F5225894B1C4DA5C9F3703AEF3AE2CA4A11519E8ECCC65CB6C7 + FD19EBD2199E913C53C582954AED18FB6572563B8131FFB6EDAFB7E8564730F1 + B73FFE60CB1F12397FFF1B72062F1BE59667AD05A7A417A0FFA0A9983A61298A + 0A8CDC0363C22D0CD43B4F116854EC08F612BBC540BE270C23DE45B97D3576B2 + 207010F39417C7AF433E1B9D88BDFF10F31D463C18C27A44DBC94DAC817C6DB0 + 4D74F27A405EB849797B2DDBF66E62606110E5F130E61027A91ECF1E9737E4EB + DEC1753C654732EB3D62268DAECCC492A4D594FB59F52F7222813F5CF5AEA865 + AF0BB11C4945EF55D41FE22A8A15B29E67FCD1B0E8612A9129B3B6D159ACB0DE + E7B3F59B0F0EE56FB9F60202FEEEEFD6F7CEB0F01B2183A6A6224BFA08B0CACC + 2945DF21D3B17AC55E77EF646F8BCBA5B36A023BDDCC61A27E21AD1D2DCFDA11 + 2E1D6FD2F6E14649129AC424C2F79D2FBCC68E38D328235F73170FF046C0BAB4 + 91366EA69E35C49ED2966AAC49DA48FFC16C22E93AC45467B9134D0291C87CCE + C5E9DDF27A79BF0E85300EB89DF9DDFB32CF323070366E30CF3AA78EF56ED9B0 + 71C89DA134599F51F37EC4E26EDB328FA07F746FDE938A84F21266F4B16A47F4 + 7072E0432E64B6B88B7E8F39476FB4C5ACC4D829184E36C257C09DF53E47D9DE + 69139DB878F7B9CA6F840C01405942720EF3A0A761E7B6530147B75E2F8BA727 + 743136656E7757AC7E4199453CB8B2F1278B2F51DE5D80A8F20C0FC5B8E6512B + 13695802B28BB585FC8A24362C6B66CCF361E6694FA2EF612A3DE8EE8E44FEF6 + C3A0A45E95502D67DB11432BEC3A3481BFE3AA8A59B08CFDE0D8C7219BBA82BA + 845014DDC12866A9DD2F732550153456D3AB5C8CF2A6E72C92C6DA540F06F1F7 + 4A96D2F7B46AB9F7C11BA0F902625F6BEF3EE0FADBD1EE7C6F4BFB0C70882EF9 + 201C167CFB4E0273A1A7B3CCE37D771DD4805ECD83BE599CCC50812998C752E8 + 25CD4D8A7A25D714313593B5965296E341A5E5CDE58022BBC7B078D76EE6415C + C84BF488CFB7539F40E279DCCF385024ADD832F708C7B2AF635AF45C64367524 + 19058C5881905F873D75E313FFD1D4CE1660B515D89CB953893CD94DAEB6C192 + 7DB833E33836A46D7667AFD54BB91E96AFE91FD99B4184C1441EEEA975E9399B + 257E1CD7F11F0BA80302258F9B5CF3EF0667F8150B9747AF11117AF79F8A73EC + BDE6F772100F9E31BBEE54DE2D26A00C62C6DB3276E67C8CE4CA328A463371A2 + F8A6B22EC9A1E7313CFA74C16D7A7ACFD25BBD9BD1A546F69BF9626F328CF96E + 6BCD9D00C1CB5E48DA24FD86EEE2C80125EF78D90C0FD9DC9893FBD5D63FB25A + 4A58A2B3D04357A96794DD1AFA169626AD43753BD36479EFB182EBD89D7BC895 + 5BFEE809F5AA6D4A540A2222249416BA439B5DD863FDB8B1C3EF89B96E7038B7 + 009FFCF7BCAD1BC8D0CDE90A205DBA1A87516383F1E07E523747713D564FF2BB + 82E6C13EF7BEC5EEECA3CCB203B2EA8A51D6FA18158FAB71B1E42E66F370B730 + 4CE226F5897DD9A7D884C3C132629B8557BBB74929BB4A0C025118FC8D697E6F + 8E677C7E5E02ECD8562ABCF82EF5818E7238D56D2DCCD25BCDF23B7B19969DAE + 92944A588840F29A8FE4B1434F4C6F96C35FC20CC28A8E187FFB3B5E9529D47E + EAFED6FDABA0A4CB0F07860C5E59A31F0AA0D72AE986A7CF4462EA94D5484D62 + 91DDAE5C5E36AC84A5D90F12C883185DB92BE31401C065D0DF9CBE0FCBA9C846 + 55266207C5A3B94CB3BC5072C315F7E4E7F2EB5DD7EB7DD5944F0C0D4ED4D75C + BBF54EFD511B013E9D4D4A5AA50B3BAF8AC62714135731C77A1976B28C4D1E43 + 56B4FE91C150911177D9B8316929B21A0AD0CED23E2773AF32C66A1AFD372B90 + 446B9299AFE381BFF2427EA07B33386EA1758F5731D2DFC6FF16DF8B841028F2 + B9F6D601196C23B8EB7A7A1BD80F768B91E7D8C908AC5C7E00D99945AF74D90D + F427ACA4BF612CBDA5E70B6E12305E322CA358513EB91E9467637CCC4424D677 + F44B535FD8E65C4347536A5D1EDA5F38D717753F635FABC3DAFD123B2F37387E + ECE5DE476C7EB7256B1F66C62E4659BDCB2F23755F4F155CC6A5BC072406AB69 + 499A45FF422A43DB4905F85F787E1432C93D9F3064E45CE14DE5545BFE7035F2 + EBBD98508D93D244424DC78910D82D5A7E37E1958281F360FE90C1E47632DF97 + 81E80CBF62615289F92895E4D0D063A864A8C56F71A5D555611545A66086426F + 67D9C72ACAC17235B1E8D8AEAC838CB5D98B5AEB33A7F797B7D531D36B11EDF0 + 5370ADE23E9E77EA23EB2516CB8BE8E048E11D00CBEB5E78D96F95F66A59C3A4 + 01E47C96BF1CF16038156506085ACFC45517D0847A92E575E2595DE41C93FBE7 + 6143EA1E343D76B5FCAA6A11E2B11EB3997ABA9D252EB358BBD64D182C76A03D + FAA6D9D869AE9D5A1CFF0A3879E57011C85C4C2EEF42F2C0C4A4AE4C56CFA3B5 + F5390E1DBB85AD3B2FA0BAAAA92B4374F9DEBCA63A3602615E43EA52363AD94A + 0B521A15D8E7D897779C05C7C2DDDD403B117602406A753D296524CE955CC262 + 56C0286A72A57132CA994581C9D69C28A1A6905D9EA9F5401765F0B4BA72361E + DF889359D7548889889DB78A5228E64CC12E06083EB66AF09736B25899D47362 + A512D1098E665FC2A68707D1CEBD286F6DA4437013FADDEF8359710BE87BB039 + 38ADCDD17B6486F0EB2209EEEF0476020138737FBCED6337F6D09F6ED7A5213B + D6E11F19BA5395A0858870F858045BC15E456D9DABD857B72E7303FD6C7E23E3 + 366E17A6D1E3BA9CCAF35C3636C96639CA9778C4A2BF121D71383B9CB55CA3F1 + C2206932A4F614DFADB98B69B1F350DE5685CA965625772FA787FB0E750F9F01 + 68FE74113D6F73FEDED6C2CF1FB1B75D633B7D274639955416EC9AC370F191EC + 7A7AA5888597B91EC90BDF917D4855E62B6D7555AB78CAC2CD47722F21B5D115 + 65FA8CE214631D5976275695D89FCC9ED29BD2F6A2844E4B771726FBBC1CE6E6 + AEAEDD5504E8EAA1BF428471BF3A100386EB66FFC8D0D5F5945534E2C8C96895 + 9FAC9B86F81DE3D7505FE359A198E799CBBB98251C6751B1DE9975821D4681BC + FA52551CEB0AFB2E489882790932DCA860C27BEC2C867F27A0AAE9055BBF2E67 + B9CB4D44A0F3D849718245E6BA7FC9FCBC8954FCEE39236EDBA5D231E751CBF2 + 8D7BB24E6211730EA2A49B8F8568A2BCC631E572362B6A88773BBBA18E3DB2AB + D800A5023BE9453E4B7DE939EDB92F09B5C78A2EB3793B0BB11161444C95AAE5 + FD2386A89A4D1778DF233627D4975388BA82F74E2CD4CBF2F5DABABF3BAFF649 + 27C2E3B41EE7B7BE5A6428679998D3E7135150D8852477F7C9BC9A7D11C08D2A + 7FC8B0E80398C25C5E69A12BA99A574B1EAA0A1BFA12562B8AF6E68C3DB4C284 + 22B636437D55D1D2C41E738B99833D9B0EBC12F86849E7AEAFD4C6ACB14C163B + AB62C53F7DB5BF60842D7B2FA87AB1025F7C61CD936694B43728A0954B7C1F2B + 1FB2044D420813F37FC1FD8A0C66BDB1625FC242EC650541A5FB72CE42549ED2 + 5A76AAE00A819F15C959B27F69DA129A8D93692428E2BF97E13A6B1C897FA381 + 8CB889225E5643112B786CC65886610F62018233D9F4C1B0D89B9A8B17F3ACEB + 4B4304F2C709641C2744B713377FE30472F4AF620CDFEFB12183BF17DA59AAB1 + A9256C7C7EF3761E6A6A8D8CA8401669DDE3B7724217C69203AD6C7ECAD0880B + 181E3B0C0362FA637BD61156BDEE40D2F4DA1AD6025A8C250C3F286EF0B4A854 + 3E6A518EAA9DB907347C78345931A7D248C7D6D6B4A3A4BC4319BDBA9641702D + AC20F192F9162754E24E444512CB705237A92BA3F5661DCD9BAB915C97AB8638 + 947B9A9EF4F96CCF750D5229BF9900CFE0521C27D01FA4B84329475DC2F1E4AA + 6369FB3379F770B5308E4EB220F6C3DBCBC8D2A76C92B895C9386C1C4256F084 + 98135D91CE18AEF99890388ED97FDB90545DEC6A2BA590D29ABD1342FC1A0EDD + 95F3E9CABD818B395D19D5E9DEEE2383DA548B8D17163722E24E2E1AD86CFC37 + B9FC21A9D34BB989CDD45DF6653382954DBE0746F6C5CC077371BB229194F617 + 06FBD550E9DEA32237D73DDCADBA020995D3559C8FB1D6EB1A8633FB0A2C933D + 8829CF6505BA5DB858749515AA17B15872069B78DC50B554AF94C433A5733192 + CA6A68D53AA0AA8CDF60DF0929675FC082C76119EC0894B515E9E4105A7C6B7D + F692DC620BC632FB2DA582B2BF010C220A5D65D5C16B4589F4BA5793DBC5A3F5 + D973B430264AEADE963457624FFE5186B2CF6688F6229CCF8B70A7C17AF8508C + FD74D207BAA51CFF2607DF31A89A7FA088E1A4F7F8D7477EBD985453F31851D1 + 456862B0D77FA44BED1B91F529532B936B294AA4ACC3C0A87E18FF601CCED25B + 2B4AE723567FC86AC86366573C1B873451F9BC8A88AA286435E7B2B1C8525C67 + F2BFBE9A59BB298B15399A9ED04CC971554E0337B8E1C9132AE93FA1A2AD96D9 + 6A5B90D190CB46EE0F58B5E30003E322B18485C6621926B181C18551E5C92C9E + DC4EC7D85A2AF331B8507C0B4B53D7107099035DEEEAEDF682B6CD08D6999D12 + 3B15CB123630D9C66516D5577455B62ABC5CA4B91CE7D14453EB3522D9A2B460 + CC62F2FE89BC4B5C4F254B5F5ADE3C03383C7426F95A47A7FA3A3C0B905E5952 + 4E370045B5A87230560482B8CA57E61F917E1D3288F93A23BD05ADCC99FD8F7E + D53CAA6513942406A5ED23B59EC7F4C7B5EC0E148B86162E42944D1EF8D5B228 + A66F6E500DFE54169DB1F9092CE732913DD8C252F6B25F0445412D2F2BD903B8 + 579280C5096B68D66C83381A97B0886FDF88DEB8C744FFD69FDAB199DD7AA444 + 4C2B2B63ACCDDC4AAA1EA7CCA472FF99A22B6C02B21D7422BBAFE4BA742C4D5C + C3BAA6551E5BDBFABC9D55400A88802F51461FC9F9E2EB2C621C8A207A9397D2 + 9B2C89FD52F4CC7D6987984C9373D6229799C5E717A04C64F8F73E68FF14DE3D + 43B7314010C95B5DAD0E24F975C8208ADD131EAEDFCDFCF7DE40FD7E119D9807 + 2172FCEECC53A4CA2B68A199436FEE5E52F43C3CA68852DBDE88A2D6626E9E27 + 196AA159EA1EBBF95C60D1AFA6A71DD45AF4E3D8CA5C84266D668102E64073D3 + F3EBAB29ABB3C30FCD997BD936B785A6D2A30557712CFFAC6AFC7E34EF2C1131 + C59D85D7444FFAA6D44374183E57327F02F3928FD247723CF33ADA0463F4C529 + 3DA23E92DB548188D214AC60FF88A1B10358197C15C5B47BD41F1A3ABAE93850 + 73B77DDEB0BA980013480E73978FB22B226E20F706728F35499D0B2EEBB6275B + 29B1CB226496F5ECD721439737E63FC80302E7752C377F9ACD4FA6C6CFC02CCA + D86B583B557484888A047AAC7F66E101E7C99A5D4EE58E22A6554E7B30077BD2 + 4F41D20044593E40F3E80126D154B63453040A6651B46AC45715D0E4798069AB + EC4DCDDCE2E8DA642ADAD45D9A9A114F9FC8EEF4D3CA1FF2883AC04196A29102 + BFCD8F5FA8DA468C3F4406AB789FA55E129ABC05A36246B132F83484B1844B78 + 51144DB2AC83649FAF01F0EACC4908DC11B05DA0AE9E64D6D8133D4677C67AD5 + 702080ED0749EC5F7712F9BAE581EE0266BEEA35BFEAF15E506668A035E81E4D + B1EB3337B1D5ED448CA3632A2475396B21EDA01C1ECD48D8568F2036730E2F89 + 19DB330ED1193682F586E6B14EE942A64B965354B98B55B446DD25F55F9BB69D + 65DEDBD98BA191BDA04F33D3EC025356773227B9120F6B8BB12E652BB6B1047C + 7A83CBF32D26D8C734CB3EA11E52D5FC0809558534029CA0DF641686C4B0A1FA + DD7EAA4ED4C5924826E5347957F0054084B9F9D20934106951C192AD3D1AD7CB + 79FB97B75FF5D1F81EEF5521A0272CFFFF983358C0E08D62981E5ED9F986F667 + 7850918BC33451AEA74CBF95D1AF52416277E65156C168465C6529FB436432AC + E1195AD870FD272A199261975A5FCE1231B4201544B26E6A144B30BE543AC339 + 3AB8B665ECA483ACA39741132B78DC6619F8C2469729579A3E364A93171A1FEA + C8058A1832718656AC83EC5EB43F8F1E7046A186A42C24720633CE682E63B036 + 50EF48A1F548F3781F3023E393AB88ACEC8B7ED94405D7805A42B41E34F7D027 + 057E5584F2558DD33514FDFF3132E88DE8EAC6920AD6B5FD84949A7C5CCC8BC4 + 7E8A3C970B1358F9620786460EC53A46C9EEA7182339D637CB1F2081D1AE998C + 1D6A66139547CF9EA0ED453BF3B3DBF0E8F963D62A95CF1E53E47A82A72F9FF3 + B327E444EDA826A7C86529FBBB35B1B8579DCA9AB1E1EC10B412ABD356D1E117 + A48A8ACDA15568253B04ED6178FA35F65BCE6C2883AA31D689DFFB4608FBB78E + DD379D28ADC91102DDC340EFF377365D1DA76B40EFED6EFF21DCAFE63DDD1CE5 + 55B0C35FB1B122AB8BB1A98465F2CF165FC1EEBC63EC457D85CEAEDD749ECDC1 + 8CD8D98C0ADD8EB0875BE9C9DECDDE6FABD8383D5451F10589D24C7D3D4343A4 + ED55287D0BBB996BB193CAEE6ACC4D09C644D65A1A153D14E312866164FC1052 + FF252AB4E2187585330597C88592D824E40988535E49BB0755EF8E3863ED8D70 + 49B3AE911B56BDC9E2BF624F3D20C1699C573576D741EE3F38677855C8D09D0D + F622278B832B9FD69C8CA63C7A92B371BF249766D57C46C81E66738F555891BC + 96CEBD39CA92B4808EAFB1711319293A00536266B29FC326363B594B3FC362D5 + 14FD5C6104C32E8EB3CCE36D6434E6A19A265B7F71507E97E28F7398DF6B31C8 + D0194CCE230812485254C070E76FF2E6797B43147F6328C5ABF38C0278AC7B05 + 01025EBC978975E9F97FAF9B03D83D999AD8ED19218D3676C26924A2D43267A0 + BCB995FE83C728A5829BC57C8338760DCDA3BFA082D1B0552D6DB456B531FC82 + 7A0781F0317BC2F9720889F54A053C5A543AC06975EC9A1F0053C17AFAEEFF48 + 8AB2D342C562D6953E1CDE60C7998BFE07E70CFF5E88607FAF3F6AFB1BCE5310 + 8678D6E952306E1363FC7A59F53A8CF5F84D75FD0DD7D6E5A15F95A4E04CA4FF + 0D90A1CBA4AC8B5BF45B8F1F0877F33107770C970D00BBB84AEF7CDF1CD70765 + 57CD4D4CCB92BED701411C31CFD78465AC7F8B73F8B59BE69BF32964F00C7EF9 + B52FD4CFFF7F6173BAB05605D45D3D74EB9997968953BDCE9B2C1CE8BE75675F + B5AF4138890F80503D9C038D57EAC2DEFD66B7769553F8DEBB764106A9BAD5C0 + 9FFA57F6436F9EE494BEB2F15EE5DC7ECD5881AEE96763FDF26FBE93C8E4DA0F + A7BDE167FA7B9E57C7BDBF66AEDD79D65C5FA06BEDCE7BFC3D13C8BBAD7DED04 + 63B297DEBEF3FE5E81FFFCFF17C9C9CE23ABECAE350000000049454E44AE4260 + 82} + OnClick = Image1DblClick + OnDblClick = Image1DblClick + end + object Image2: TImage + Left = 232 + Top = 30 + Width = 176 + Height = 131 + Picture.Data = { + 0B546478504E47496D61676589504E470D0A1A0A0000000D49484452000000C0 + 0000009108020000001A6C2002000000017352474200AECE1CE9000000046741 + 4D410000B18F0BFC6105000000206348524D00007A26000080840000FA000000 + 80E8000075300000EA6000003A98000017709CBA513C00000009704859730000 + 2E2200002E2201AAE2DD92000090EA49444154785EBDBD877F5B47B2267A777F + FB97BCDF7B7B77EFBB73673CE3202B58D1922CC9B62CDB8AB695B3288939E79C + 73CE5162CE9904418039E74C31E70C8204408ADA57D50D365B07206DCFDE7D1C + 8E0C02077DFA747DF555757575F57FF9F0E1C3FFFA5FFFEBBFFED7FF0AFFC26B + 78F12FFFF22FFFE5BFFC17F897FEC0FBF405BC09AFE9C5EC537A01BD865E00FF + F25F175C493F626DF29F6A7DCD1AD4FCCA7E4DED7777BE7D7852C1655A5BA377 + 878BE18776FBBFFDB7FFC68F06DF266D81352B1837AD77A46FD21F2A08FA9ABE + 38E0D90532629262D264A2643D143C2FDF3DC1B36B0A91C9571312FF0277DAD9 + D9A120A03FB413FC9F7404D90FFF29BD9EFD405382AF6B5E4CAFD1FA031FB1CE + D00B5883F423C177B53625B8A3D63FDFBF7F2FF82EBD8CDD42702F7A3DFC0B5D + DADEDEA61DA36F0A064AEBB8C165F02DDA26FB161B01DA2C3FF2FCED58AFF8A1 + 66FDE76FC7DA87D6E0027AC7FD865A539A0221F272A41F693E1A028B09895EA1 + 890026C8DF0587D6AFF3A064C3F7BB4FA51591FC9B30407410FF690C09A02FD0 + 19FA299313BD0B8F00D681FDDA61E30682DCAFB73C68F8E165D733B1F1621288 + 938D30EBE40172E475F20022E0E1C21E503B80B4B622F8CE0177158CBBE6B3B1 + 716402602F18A9F020609860E3220013D5579E42D8C009865B2BF7D0F6350745 + F362011BB14E0A207B8056B08E3146A1EF00A4B6B6B67826632424786AFE4FC1 + 280964CCFA2F180D4D5DD554390135687E653FA8C117D51E8C8009998CF981DE + AFC75A81297873BF2E6A5EC62BABA6A8B442F9FF2880D80850A050A95379F3DC + AC95080598A32DD061640F42DF149854FE025E9C0294686A2FFB223FE0BCC2D0 + BB33DDE0D55B538E02243185E769024D18FF37FF1D26183610821EEF074CCD07 + 632D08544DB3D3FCA00B744E9303048F2418973FCB40020D618D33AA102080C7 + 100FA903949EB78982E1651699DE971A3ED607ADBAC48F9E80E4984C057017D0 + B95600098691B189406128EE0F029060207879F000D71C2F01289912D3F705DA + A6095FAA22FC1050C909B0C506977E44EFC25FA6896FF61581093BB8C3D41BD5 + 949040A88C5A68E3022D623D14A8818033F89E0824A7759C794E3A40F7585302 + 9DE4DBD4CA40F4CD0344BC07207A8F3F820626E0DF6D5DD0278A5936B89A04C3 + 43613F00698A872706FE69FF2C803489938E09EF7569FA5EF471F867D90F409A + A8E29FF1007CFC11A168EA21DFB8E6A331E06A2A0F7D1CC6437F1440FB8941A0 + 135A312B20BD038048AFA45DE4C1449BA59F325D673A4DDE54BDDFDE02667FBF + F57E0718E13D5C4C9D899DF72AA54ABEBEAD5221FEF77E773EBCFF28A6B00336 + 41A1C49B6C6DEFA8B6049FC21777B6D486086EB6FD5EB5B5A3C29BAA94604FE0 + 7EE496EFF11AE8087012DE1FFE56F322758F7843A615BE9A6266032290281D43 + 813EF04ACE06996753AD88FC837ACEBECBA4C9F78D36A229E88F18683F140BC8 + 80091BC64B13C807004E00764D8D648342E5C1A36A0B90B30DD2FA00FF556C6F + AAB637B7363677B6B640F0204D3432205A857207E637F09FED8D99D5E9969996 + C2EE9268697C6C43626C6362464776D19028B1352DA7A730BD2527B33BBF6440 + 94DF5154DC5DD632D53EBD3EA5D8926D6F42DB0A6C0740060D9296C142C28DB7 + 0154D0A9F7D0FE16C00AD003DDA39C4ABB2D185C0180D84009B88AA773DA88A6 + A8982005F860D0E12FD094F1C10062FD6490D5D47FC1353C89680190A0070240 + B0D60514A7497407F390003DFCF8D296E90FF325418E2042D22670900A5E8304 + E15B40476B8AA5F185A1CED9F6DCFEA2B09A98D086D8A0C668FB0A1FB30AAF07 + 196677328C1EE49BDDC9367C906D625CE16E2C7237ABF2BE9F69FAA2D04EA7C4 + E15991EDEB12474B898F43A55F64C79BFCD1F2E2718968BCAE6BAE776A6542F5 + 5E8118512891BA763E20736D2BB6B615D00780159216F9E1399F3DB5268034C5 + C01E93E75A266F5E10F42EBCE418D4288EF93FF9CBB47A9C827604DDD004DC1F + 0210A55FBE2D9E907845D12467F6A926DAF851106821FD931F2F9E72E847AC3F + 5B9B72F8458382AC03ECA01A5F1B950C4A621A93AC451E4FF32D742B1CF4CB9C + EE251BDA5406B8D5C5C4F4E4978E3526B614253416E5775589FB5AEBDE75368E + 75764E0CD48EB62537E6A7D515455795C5B75744B716C774E7FB35BEB110F919 + 55B8BDAE7079526AF7A2D85ABFC8C2B73A24A33DA76BBE736A751C2C1A8A4AA1 + DA5ADFDCDE500294B6A02B3B5BEC0135D1C04B42A06FFC5053CC69A250AB4EF2 + B763A3CD70CC731203251B550A35FE7DCD5BF09FF29ACC638E07C01E03095447 + 606EB40288F59B6F5D40B3821BD381D3EC0D7B5F5393D4B0DB42AF47AE5AEF9C + EB4CA87FE35EE1E7D41C6256E1695D19E85E9B10DC9A933F5C231E6E6818ED1A + 5B9A9D5D5BDBD8D8DADE50BC57AA802CB0F3E0D200818005926D921E1003049E + 0CF6E7FDA66A6341BE30B6383E303B58DA2D49EF2E09AC4F76A80C35A9F07F25 + F63792F8D98B83F307CA5BC65BC75726C00F22FE0F1853B0A9DBD038A349A6EE + BC60E04D081BD2B1624E12030D3FB09AC3F8C7DF118C9B6090D9F03200693205 + 0F474D678E6F705F006972176308AD00E2094380659E5DF88F583FD868D29BA2 + EF4B7C60F540AB1D0F226894D6CEC0427F597F85BF38D220D7E955A9B36185A7 + 7765626C5D4EC358974C2197AFA0FB02F820BE0B90856A6B73635BA158DB5C69 + 186F89AA7E9B3A5898D89939B13AA15029F2DB4A03255135C30DCB8AA5BA81C6 + F9F579B8A94AF95EA9240E0F98836D30548A39F972D7CC405C5D86577DBC757D + A84D4D8059B9A745B97B6257061838C023B2915C01E0A09E103A6DBB468D118C + 80D705044029810713938DA6A6F1B2D004965600698E3C6FEC7883A00938BE27 + 0260B08FE05BC24834CF813CEBF2A03BE0358F0FFE81193F6BE54CF8D636CCAD + D059050F55892ABBADDADE56C1C57295BC7EB229B036C2B52EE865B6AD51A1B7 + 5F6D724697B47F71542EDF4079EC228C4EB8D5D3A50FC83A33AB535ED270EFBA + A482962A07699C4999D7CAFA32F42AAA3E4527DFA979A8EDBD623BB8F68D8DC8 + 7355B5DA3BFFCE5EEAED2E0D1F5F9C7CAF50B44EB776CFF7034A948AF5F1F9D1 + FAE9A6ECAEBCC8E6544BA9CF0B9183BEC43DA6FD6DDD40CDCAEA1C2116B84EA5 + 54827B04188447C0591E921F99AA690E172F7E7E90790ED0AACC822F0AFEE401 + A1694004883CC07A68029A318526C5EE0BA0FD6CDEC148FA5D0069E5649CA3AF + AD0273C0BC1B061F1F1510A450D64D34F834843E2BB0D4A970F36B4CCFEE6BA8 + 9FEA5B56AC8280C13C51F555A9006AE85CC3BFB8C604B3B0ED2D6CE1C3CEDB8E + 02F3229FFE9577D0E7D48E028B12AF4DD5267C5430223193044CAD4CC1FBB5E3 + F57A851E853DE2B1D97EA332DF94AE6268A9B8BBF259B1934191AB4F759853A5 + D7CB6C1BC78AD0F1D5A9D555C5E0C2547C43B1B324DAB12EC25C1AE8561B59F5 + AE46A658033602B040B780C8887D035041AF809370A22AF8110C0213D81F3758 + 9AFC2460A03F0E20E81B6FB058CB7C9F696BFC94931181F6B5301E830222F9DF + 01D07E0304B703A92301912526E5D67ADD589D5F43B44EB18359B55F70634659 + 67C3D422189AF7649AAD7C0FCCA0D212E6C7500D3182D049D986CCB936327DB8 + 7C5BB109DF2AEC2C05612BB61570A790CAF857F9CEC3B3C37047E5DA72724F85 + 45894F4A579E637544DB78C7E6D6B65D59C8F372C717D97621F519818DE90FCB + 5DEFE5392756A61254BC07888C2D4F48866B036ADF1A8B7D5E4B1CECAB02D33A + F397952BEF95483C40A39419F1EA9D2DC625BC5138804BE88033663A60D0F88F + 9871DCCFDC1CC04002B32060209E1769DFD8BFF0620F40828E6AD51B0673DE0A + F2E653AB3967FD138C207383E0D6482218E6D91A5E190A6D4CD2AF70D72D770F + 90BCED9A7AA7A08C42C2805BEB1B10FEA1860AF8866A0FF53FA80B85714594DE + CEEAC6AA635570E1B044B5BA0E74553424F16C8C932BE5F0514A67BE85D86F62 + 711C9C68E5F25AF578BD7E8DEF0B89C3B36CABB6D136405870679A6EAE6B555F + 3318239972DD5E1A6A58E83930D5BBB6BE185A9D90D359BAA6904167965697AA + 06DAC0A4BE2C71792E75B0AF0E7ADB9C39BB344D6348404040A8D0214D63C48F + 033325FC303263B49F21D394CE7E52D7AAF0F4A6549A9A50E66F4AA1CC6388FF + 0ABCD61207A257FF9F00105502AD8083211F9C1F886F4E76AF8FB0AC0F72AF8B + AFEC6F55A894DBF24DD069F057310844BF0D5C051EEF16C49DF726353C806894 + 7A49B6EC240DCC6C2FC22F6D6DA50C9478D7C5830983E7124DD53BD686CE2E4D + C1C8F44E77DB977BEB49E0D7F37E8E51ED48CBD6DA06308A4F639252B10DD435 + B536E15C1594D45EB021DFDC506C79D7C70748539636D6816C10AC3BDBE04997 + F6D69AE6783EC9B37D2AB2B52AF6699FEF526E6F62F408A67EBB632F18772624 + FA140241D281620EAFA63DD20A0B5E70077C855DA6C96DBC68B47E2AB80001C4 + C028A038ADB4A1C94082DB6865206C99CA9EB8C7B81681D79101226C0162C8E9 + 2D041FC558EA6B5B19FCB62567626902D98578C5A0CA4A6011052C2CA8932800 + 10DB6029DE7FD802F3A4DC40D75B3D5DDB4B3183304D469FD821CFAF6BB61B3A + 90D251EC240E9D589E023866F497EAE43BF78DF42AB7E4FE3551BA75BEAFCBDD + 75331DCC453E532B33932BABCFF3AD32FA0B48685B91D15DA09FEFD433D70334 + 068EB2575D484E7709F419FEAC1FAC8328D4CCCA1460656179A57CA0CEA534D2 + B8CCDBB52EA2F45D154C0011FA1B9B648503F04FD661C8944BC0C4F44F5E368C + 81F693E8C100628AAA290EFA118F572A16365B1428B9264B09B0BEC740AC158A + 09AAD39A9AA1494E9A50D5822A6A5FD08B210EEFE626A046A9449F66513E9FD8 + 96635AE6F13CD5CA5B1C3DB034AA9E58714B6330EC38CB812822597EA2360BD1 + A8526D42C007BC6F252C5EA9734699864DCA160D8B9D0D0BEDEAA69A93BA73F4 + AADC7307CBC6E686AC2AFC9F4A3CCAFA2BE5CA15B7929867228F07C556F7B24C + DD9B63D6D6174617A62C6B7CEB67DA60290C5CFBA09634FF969475F92230E082 + 7CDEA62EC0AAC8A76FAE6F5E361B559796D65DB2225F51A9A00FE8442FAC2DB4 + 4FF7A67417877464453425774C75C2A4124D33991EE20F47C0079821C1006A85 + 8BE04D9E7EB472BCA650A87CA9DC057EB4D60EB03779D2510388BEC593100D6F + 680587D6AE1F00A3DD554C4410595C82C50005D826F8EF947C36AA2BD5ACDA13 + 3C65E950FDA642065E0E7ACABBD9308CC6C10E915F940189F5808B01EEEA8E42 + 81E1BCF72A058A8A130FAE3C6C295A667B021B534D8B7DCC0B3C2CF35C935BF2 + 5BC6BBBD24B1D6E5BE92C13AE858FD60A75349D8DD24FD1B29AFEF8B9CE2DA8B + 4717462D258119BD65EF950A881B79D5C403B5E023EC7CE89FECB128F4B528F3 + 72AB0D302DF22AE8AC51ADA08335B13E59D82F99589E447655A816652B492D59 + E6F9CEB6A55E85A3E275E50A2ED4D2277FAF00B0F3C2D61C4C4DD6F9E700C413 + 9B5613C9138456A610D841AD66F123279AB2995633443996FE1C0020AD948B42 + 07024789020301F92B3FBC0786DB2CEF1479B4C4DAD746E57415CDAECF217CE1 + 0205C68B011280213A45A79C47ECDD0E4E73C09601DF8053043EF5F6E6CCCA68 + 514F697247CEDCE62255008A7BF857B9B6BEB52607DF6560617466756E6D6565 + 636303C0B9BE295F932D29D0BBC2C6A764D329B55941E204BBA2D092DE6AC04D + 61BFD8A53A21A63D33B82DC1AA31B067A11FE40F006A7DD76258E012DC9110D1 + 9B9EDA59A852C9E171546BEB92BE1ABBC6B8C4FAB79B6B6B5BB84C8711EAFEB9 + 81D0FAB71E6D09210D71BDD0023C895CB10DC14A9CDEABC7903E1A8F275E8705 + 38E355546004051FF17F3269EEA7E1029C69BA2EFBDD8BBEAF7D16A615F20C40 + 4CD1E9659ADD15F415E383B09004A285B9374E4FDE4FCBA6933AB220286798EB + 52D02A5240040E0809D7DB5153C904782F4D8202826A30E082848BB63654F2C6 + 91D6B8B6349B5AFFE7B9B60E656193B205E6685113BCB92D8739FCD63ACEBC76 + 05439D5AB4A2246E899DA19F42A33205C4B2019740BE9B7963F56E9268F37CCF + E785D692BE5AA01078D28ED96E8352678F96A4D2CE2AC5D232FA5EEF411DD6EC + CADC2DEA220726FAC4FDD2ACB662B82F5DBE9F5A9B0BAE4CF3694A08A98EA91C + 90408E00F0223563FCD0F132A68ABA1F5698B9D94FA89A70D9359B1FCDA4346F + C1B3C67E0C42078E7D97BED60220F60CFB31E77ECCA6A93DF44A04049207CC9B + B67A677BD2BB739D6B02ADAA83C2DA731A465AC1ABC16125E0C0303458A28F93 + 0FD9AE06E59662697D7E64ED5DD150856F4D945985874191877F5D72C570EBE2 + F202408F2934E5A1ADCD4D202B5C73407B071C081D20291FC88384D0102EB82C + 0AEC82030DD0C4B4109CC681F7BB2C5BEA1AEBCFED2C1B9AC2F52FB834B35F6C + 068BF6F5A930B7078C1365D88235320B9157667F61C3786B48DB9BECC6C2C9D5 + A9684972E3642BDC716D4DD6313FE05F1F675AE991D49FB9B03687A9481FCFED + 99C028B0D8F0F2D26216E0005AA2BCAB6904F876B4F2109338E308D6C3033040 + EFA53D12BD1F06F9E6285C7802DCEB1CC6F3681C5FBD5A8971C2AD1DE596CCA3 + 3CF8519E934E99BF4B55F4F0CA2808601B481F8546A0869285E8AD9A30048D37 + 4DB4B9578539D5879A15F978962496F7340CCE8F2BB720D102D51D5C217E7011 + 432A754611090CD3891AC693D80A035D65DB4539591301B62369680473EAD935 + 090FC2A47E23B5B930A43E6B706E182E9429D661FD55D455615EE1E5D21AED52 + E6E75E1D61DB145AD458DC3D37E8244ECCEA2C052B0A06777B63B370406258ED + FD4464E7290EEE99ECA13C0488C6D90059CFE741A389210163F10AAC4939542E + 54BABC778C1AB5BB158432349D27F1A81540968DA700D38C3ED18409E8E40013 + 2800E34100DA5D53A4F2A03283E7AA1DAFB569083512F9F81445754EF5C318AA + 3637D107E6389B754E804E78BF67722052925C3824E99D1FD850C8D57C43D863 + 772D96A070F787A480ED3BBFD8CF4CD366778712D90A40008FA0DA514DAE4ECF + C86631C0F35E19294D36C87575A80EB2AA0B70AF8D930ED54A279A0DF2DD0B47 + 25457D55EDB3FDE82C93D03A4E1D361435FD8D06655ECF2B9DBCEBA3061706B7 + E4184942944240EBE33D1E54044CAE14225A59643FBAA23265F3688159D4743C + 787C501A63D8E27BA2091504101B6E8159DD8FBBF8CBF66320C23E98214A3D1E + A2AFF2F2814ABB724FAB9A90BCFE8A2DC506B11D6046D434C594663F00D1E525 + 441B6CA8DA50A864721A7506B714344B002035B6B4C52D99CE693E201D3B9E7D + F17E18B184CC0DF46A90A1C0735F936F2AE5BE95B13A155E3A627793629F9EB9 + 3178BF65A2DBBCDC3BA43BB361AA637B6343B52627E172956269657B031756DB + A706DD6A228C6BBDECCABC7A263A908300E39B38CFD764209E7518A41857D1E1 + E21F733F0EE3F5816F876F813D32BD29E52A3A1A6C26CEC3911FBA7D19887588 + 6290F683B72902C07D743D7234C931C5C90BB8CECA8C9E42F30A5FF31CA7B23E + 09CA0262CB1825A0CC834C443586CDB9986E317C238F61FE961A94E818C19F20 + 0015A628EFA728FC88B307E14D06FF5C9A902229D8685E09C5413619920A84C7 + A1E713EBD391D254979C18D160133857AA9595F8AEACA7125BAFEAA8E5CD2530 + 5B60B2E13270820026731B53AB8A399C3DAC2CD89705E988BC1CA511FD4B03DB + 9B1BF04474E818C750C2E079426092B831D9B5BFBB368BE72D06178633FE469A + F684DD97618B0725EF5DF178401F888DFE7EE4F6670144504156AFD0A9D9AA1A + AA362FF38AECCBAC1DAC45614304796B4B49123808FF90ABC80F8591E081D58F + 4172DA719CF13FEAC01C2F7E1EC1F4B52675C32D984BCE88FA00AE657255DB11 + E2B2D0A922F4620382984A05BE5228BBA63A4DA4DE7A15AE15BD526AC0296941 + 6652F77857444352744B6ADD40934AA198589A0AA84B311205B996078D2C0C91 + 5BEC3EE2AEA20A9E856708FA9A7283BA57CC8DE35645782409C69307167F2381 + 5EB167673C2420423A6E68C2045A285008A6B87F8281C8EE05000A389E9543D5 + 41B509369290FC9E724C4855812BBD09AB59A8D0302FC3F031EA37C9EE43CF92 + 1F14BABAAE6623B22702274EE07502EB40B60D555CF22F635A7E14780051ADA2 + E8D494C17E1852B74F218EDD84B9244C12B101A03EB25B0316C3E0A1B6246335 + 06E53E110D392A9502FA842B171BC02E5B236BD32E92E0CAD69A96891E9B623F + C86E03FB3BB73CFBA637D7A62E38AE2B03180DD99A3E0546CBD486896914ED30 + 3F1BA7CFC55F40AFA103C533022F3B86153644AC113A7AB405860701B604FD61 + 98F90840020C6A4292EF8416C22737816B600D003247414FC52355BA854E0622 + 9F94F62285127371202A834BA1BBB31F6AC5482219B83220DF0D984963141A3C + 0F78A5D884841FB41EEAD580BDD9197D00C12032C3C7A854C067BCF2A1ECB7C1 + 830257563DAF162812AF306CACA92C3F6A87A4092C2B57232B8AE36AB2B6B7A0 + CF4851B058BFA158F1AD8B8F684DC6EC25F081263BE756E6B62074BEB9B9B836 + 97D09A6F56EF2B7E5783933550378CB262789497DC7EAF0F0010DF555E1B05E6 + 8517DFC18266CA49A948E066A00F24A016DA69FAA640420703887D0B27170AE5 + F4EAB873458041817B6E7FAD02F24D3FECD40C37B78EB5015D50DE403D260022 + 917EC41CBAA824E442428FA09A183FC46916588ADDA90A959F66F76857799AE5 + 47996A30733C05A3C96BAA56C5E005C9C3147A8F9E18E0E33DE46B2BE61767D5 + 855CB67636958AFCBEB2A77996EE0D71F39B18E4C4CC02589005128379DDEAFA + C8E0B05555985E99735E5B2104B4D13A12AB07DAC75B28C640EC11D8630A4882 + EFB9E023FA271D10DE35FE5DB0B23679D1F303FB2F3CF9F34864C3B4DF3DF663 + 20EC22CC5414CB818DD13AA52EF1ADF91B1B6BA0ECF5D32D46F92EA93D799872 + 05BFEA07A1931B503E748A20570B16C0215B4C3CDE90D691B7AE92E1A0E20574 + 6B9F9A8118C4797C0BA0C33F307DCD9C1E36947C833C2E058FA6C94CECBE7471 + 14B79201DCC181033DC1253B582D59896DCE72AF8CCAEC2A2A1F6A825C330019 + 0068787534A83CB2ACA76259B1B6B6BE9AD55EF0AAD8D14CEC5D355E870F0EE1 + 02125015889FF69C4A8AE6E7B311E0912140B9404904CCC46CA25638B2A63461 + 20A0ABBDC55481766A529C266234079AE01C672B797D65AFCADD83BAB2963757 + B664F2D6E936DB627F9D7C1B87AAA0F1B5494004500EC504E1215811902F6FCA + D27B4B7BDEB52E2CCFF8B624E9E638B48EB4E01207F1931849D0073800DFEC02 + 0629A624B4111E6A0230FDEE33F2C64BFD5D204B0C48D0880571D33636DB67DB + 4CCB3D0AC72438F327C1701813408F4765AC776978794FA57B4574644D02ACF6 + 970D75E949636CCAFCA697C760A020F8098CC6204B6FC17386408BE8A7F44DC6 + 5B02AC08E0C8F3071B55666D344944801881203E4A28DB6FF878911C30C44CAE + FD4B83F6B591D69250481B05CD03EF27559297DB53E35315652CF1F5AA8B9A5B + 9EC6072623453AF40144B0B2B6682D0D74280E9D5B9B83585C7243C1E4D2140D + 13E13205C5DAAE0BCC0F8AE035A307D66D7EC8E870330B48898709E99F02903A + 1A41D27D0000B8AB756973D54312615AE695509F0D1E0F606C5D290B6A88CF1B + 1403D9C25D92EA73C26BDE00B0565717BDC4E1BA85CE6F07F2573721311CB79B + F16E8700408C5790F976694913406C4CD868F0EFF01AC55442ABB5D2AAAB3C69 + A97D2001FB310D60DDE50DBFC0D6E2361A140B8D1C6E2F2996BC9B13CD4A7CAB + 475B719331A4308386425AEACECEE8FCA83FC4DF8A9DED45DE7D0B7D140D3829 + 866478C80D926FC474A49988FDFB164730F20BE97CC4D746017300D2840E03C4 + 7EF062EAC570C3B0C83C62AAC1AC714D24D18FF801D96D4D3D0FC74E2201D1A5 + B70F331B8B15C3F5F9BD9535138D532BF315C355BAB9F6DD8B7D70196CCC5E5F + 8720C02A99C5BD9F599CF093C43A3446E4BF2B2729D71858C48801993BD07518 + 8120292C98513E9824F89E0BC8E900221740422BBCE04D2D00DA6F10A97834CD + 1678BB987C4161F25E91D191A75FE29ED6960F73758A00E41A9C00E3A6F5E9B5 + 69EFAAA467A54E96D9BEC33323F0B16A1BFC4748DD92CD2B167D2431EE625857 + 9F21AE8FF05E9AC3C47795754F136114405406EC05450CF34CD9DEBFFDE856EB + E30B7409AF21C94AD034FD68616DD9AAC4D734DFE36581FDA33C33EFAA88AA9E + 1AA54C06D66A756DAE77B90F72D360BBF4F8DA747447E6B3649B8EE94E8C8E22 + 78602EA1429B88B9217B737BBA9E2520574DCD611AC21888AA071B43FABE5600 + 696285BD23F0EEB5034853723C6D6A0288A48F635A038CDD906CD8A6C22FB832 + 5EBE25436790440AE9E6047801F8421E5A9A78D35EEDDD92E8531336B1368E5A + 0B935EF96AE688C8B7F14DFFEC305957DF8B6AB03BEE0720068BFDEC9A268078 + 3E87993C5220F96103A49581F61B19363ED82C59D5A77A03FF40A431A225FD85 + D8F989D8CBB0CCF77E9A996E814B627B46705D64724F71C37877618FA86DAC15 + 5A687AD76F52E01ED99EBCA2201E378497301C4B9681C99A1EC3048F03060B4A + 483C3EA88163664EC00B07E89B560D1490371B9FBDD5785E3519570B344CEB08 + 62500DA6DF32F99C7C36AC29C952E4DB31D14B9D47BAEE8D11400A209CDE635D + 9505F98A6F43CCA372730F69D8DCFA1CDC657071CCBB245832588522C040EF5E + 19214DF5D21C0B361C30648003AD98630A27503EB95C4EE9879930819A0A4683 + F547301AB457D808E7AB414FA656E7EC4B82ACF2FC4BBB3A2CF37C6FA41A5E4B + 7E7DABD0D4B72E49A5900FCC0F4B7BAB304B6E6B276F5C6A25F12F1E9200A943 + 840A9A21DB2D31138AE280758CB7B67C7FD85330E2E18953EB33B26EF36AC02C + 9DA622F1484206D284086DF1775510AE510776897902B52B7C57A19FE794DE51 + 00DFC56006D99380BF182AC1FD82285D5C24C221AE1AACB311F99B55F8F84922 + 13A46F838AD31AFA1A612AABCE02F9B87CEE01DCC348988E29251B01800484CF + BEC298898D17AFE574E83575E66000F17A88ED6398716B766D6E7A6916A2842E + C5510F526DEF26F8DC488AFC2DCEDC21C73BB4217968798C58BD9D8E99FE5729 + 0E9EF5B1331B3334B24AF81B878D0A85758F520B93143F3E0C5B9A7643F0983C + D3D0C7847F59B33CF23421C100FACFEF0BFB08F85BDB90E7605AEA692DF68379 + 3BCEE4C182EF66599030098089AEAFC2320426AA825E8DCD4F4777667874C4B8 + 4A23BBA67B50E1C09B422714C3D01FD9054D56E5502EF890D71E6A92784F995D + CC84C10F2B7B7D8016F10FCE6BDA5ECBDC3D50D224C3091EA765BCEB61B2C3DD + 42BBD7A5EECFDF58FF96A0FB4A1490D759014ECDC8CABB25F9944AA5CCEC2CD7 + 13B92634666C6CADA3B2C150E13E26B5DFA3D967DA199E902851091888F588A2 + 84BF5E30CE9AD4C514897F58768B3F571F88EA2EB14AB8D98A6457E0E86C6CAC + A60F94E854B824342523FDE0DE1DAC0506FB4771C72906D9C86C8BC65A41B930 + 77181195375402BB8C3BE706E15BB8F24DB89AAE0769C2823E003F161F3B1F38 + E1C7E12637C2FC768A589809E21EA0DDE8DBC7BC226075E69F6ADE850A8FACD6 + 916D90D80E59B3D8475ACCE220DF92B9644997F46EB2F5FD3CCBA7B90EF713CD + EFA518E949225B863A33DB8A7F497BA553605B39D4D0BF386290E3F438DFBA71 + B205666B2A056C0B822D1F7458F67E786BCB8B9C1F220117F2B8D7EA99309DD9 + 475BF16D7EFCE965FB6E2CD46C654F5A34104A8690164F117589F5F29C3CEA63 + 6192057FF6CFF7BD69CF287F27595D9BDE566E5289AA5585E498817983A90744 + 9DD3A479921ECC38DE1716BB1FF0C3C11E55437B48B532B22B94A4F660BB2489 + 08D6D56011546D08782B2E187DC658FB2118AF27D322F46DD5498E6430C80F6D + 99972E36080189F50DF8CAC0C2D8D304A7DFDEDA3D48F1B12DC8B3C90B76AF8F + 4B1E2A70928487552685B7E5DE4976CDEF15D7F5F541AA5A74573AC4CFC8B20E + AEE608FAC95C224D8922CAB525B66A02883E23DF7376CD7E1812DC0EFE542FA6 + 0ABEA0B55B6A69C10D49562F9DA2C36B989D8737258202354C76C01A054830BA + 3EC5A0D0CDB73929BFB54C81CB583829C5D46370AB09B98C2F4F44D6BECDE92B + 5E5C5DA009A3CC83617E89A04BBF0B206222615D12B3E2719D1FE80C72B548D6 + 11C904836502F5023ED33F0A175E360286E7D9857600C543F7E7C02DC8320B6B + 8DC9838E1E9322268040A522D8C1BAB355D1D71051975FF9AE657A7512224311 + EDC906654E096D5910BCAE18E9B89A6811551107B968397D12638957E5BB2AEC + 3A2E0CE2365C7E40047FEE5A86BD693945337B347A3DFB975DCF1E50ABC4B592 + 88E0CDBDD578F5E8EC8EE97E2A88FD20E52C99FAB5CE74BECA73F06D8885A477 + D0B3D689AEB496EA96E9CED5CD453472B85307D396091310BF6F67A767AACF42 + 14EC511E0ACB64C84EB8EABE2748DE65A10FC60F10CFE4BCEC1185108E84142E + C5CAF8CAD8ECFAD4166CBBC175370CEB91F5FFBD00343F5EF03EBDBBE04D36DC + 3C8CD6546B905A59D62F962BD791873E76F6E9A069F222B215A970059F2AD737 + 565757925B727CEAA2EDC48136D260B7C6E8849E344B5160704DA65CB60AD7F4 + 2C8D98897D3CAA8236214886291E6AFBC50892BDE0F58A3E082327C14031810A + BAC7B4881F67D6ACE062260EA6366A275A53DD19C6D9A5AC51EC19F5673EBC5F + DD5CF11687BF2A74AD1EED00290D2D8DBE6DCCDC94AD928A601845855074EF78 + 57CB785BDE60598034A67AA401280AAAFE742F8CCC6F2ED3FBE21A24464F60A3 + 29B77F990C00A3044D6612A83E06A2DE6FB52C7440590F47B19F7F7D4C627B56 + CF621F4E67B0D93D33C963850D107D134653EB8E4A8630E9709D49A99B8DD4AF + 7DBA8FB8AFB82EC18F3215DBC7582479E1485BB0D51102CDAAD6D96157714CD3 + 4453C64099457D88775BA271AE6B527BFEFCE63ACC577BE7FABB1706621AD2F5 + CB5D1BA73AA89BC5A4CB4B8ACA5E401EFBE1462B9DB0E1D5542146A802E4099C + 74F5612BBC2A6BB2190393BA510C6D813DC2DD14D2E1069D6C7B5B49E8F2860C + DE89AD4E75AF0CC3A80F49855E5D5F8AEFC874AC0FCD1E2831CE73D129B4B328 + F581D1815BACACAE8C4D4D76BD1B18981C5996ADA8B6946A9A41F2C71C64EA50 + 53E2A549AB0C4302B5507F0409A3F2398FBAA897150E7AD51E2FCB9C74ABDC2D + 4B7D5A27DB882FADB6568C2468CB9A9A430788EA31181FD516FC0FD65970C10B + 52E1A25B535F57DAC32EE9D2A17A142DA910A209A08F5A262694DA229232B755 + 3E58155297DABCD81EDC9C7C2F515FDC5B2DC3ECB3EDB18571C7221F9D429BBC + EEF2E6C1D6E7258EE18D6F90BFD5AB6DD8650879F28CC804C7AB37CF4FAC7BAC + 93BC87449F54E0A1F34AC53F081590E0EB5A56E3D910F37D621A80DFA7190564 + 3A15DB96AD53E09AD259801DD95040750BEBAAE0BAA9A6AE99AEAAD1BAF8D60C + 8322372B69404E4F9978B03A7744622F8AB08AF3770AF0BBFA9BEE851F9F7F79 + F29793171E5CBFABAF6364975D5A36323D0153561C27E2A292DF8F7C145EEA74 + EC98EAACC95752BA8B4CAB7C5F173B98D604EA14393C29B53291F897F7638E29 + 3210B138703D8F45E43F6E82C3B74F2147EA2A82BB8FC14949AFD4A8CCED59A1 + 8569B957F7FC10DAC77D96CF182E91AC77A3946AC1BFDF5E585F8CAECFD2C9B7 + 7F5E60AD57E859D227A11B2FA1248DBF1872F53DDD2BC2E717279CEBC26DAA03 + 46962790CEF1672FA6BF9FC567B4C1038B018E228399392653B5EAEE5E276065 + AD9AC61E50CB6AFCC1002206997815502047B1EC5E176D9EE73DB2348E5E8E02 + B2C7173DCB23F54A5D8C2ADC4D60BF6681B77B518C64B0011C581883C4BCAC6F + AEBFFCF6CAAB339F5DB87CF2EC6F3F5C7F70F5B75FBFBFFAEDB17327FF76F1E8 + DF2F9EBBF08B99B363798B7841364F998778ACD4812156800E24F961E342697C + 6C71CCA922CCB8CA5BB7D8C140E4F532DFE149AE95455950D70C098B131AA394 + 460748EB10F308436D43EF1553BB21D96D53254FECC836AFF5B5AA0D128FD6AB + 5BD875CC597F34999F818CBEC01033140778BF259968322FF636ADF077AF090E + 6B88CDECC8AD1810978D573DCDB47E96EB20EEAB944CB44001AB37ED99388725 + 7B2FD1C30176E79E9D6723A6188C54F851822B79B264ECC0C348303202CAE1D9 + 680F40AC2101D7B121A6AD704D637D30EA1A37CC7419967B170D546273002912 + 38ED9F1F8A6ACA80020641B549658335CB0A198840A9500685249D3EF6D337DF + 7EFBDB2F4FA383A3F35233C706C7D716657393F35D4D5DF96FDF18BFBA7FFEF8 + B9437FBDF4E5A7BF3E786A9D555A04F147B82F093C92157BB256458D0BEDDE9E + 61DAD9E99B1F70698836AEF5716E8A3011FBD9D404D9D50685B667CFCAE670C6 + 44C236BCC1A2EDF0434CF9998582B07DACD98059F4F0E5F6E94EBB9A503DB18B + 57431264A6E2B6242036414507FE06E4B54006D86D80A512EDB5B4BFF16586C3 + D352C767E5EEAF4A3C835B52A36B5213EA0B629A4B1FA65825D665BE9B990078 + 39D606F52E0E4307D0C94303B69750A6559DA84019B0788451FA614FCD779607 + 870028BCC6F2CC4A11A925A95E2B4E3F02108A1398591EDE99635319D63F3348 + 0342345C01572A54AAF995653929484833312A6A6B4E7E7EE5DCE9EBD7EF3E12 + 49C48C2479D46EC8E4BD9D7D590929FA57AF1FFFF7635F7E79E3959143754B33 + CE43703984C60ED4A06100520FE2CE4E619B08369D99350438D4859A49FD2C6A + 7C4D2A3C22BB0AE664F354D8608AE8D7E95798A3C0145773E0605717C0162EE8 + 98EA762AF537ABF233957AA77614039FD236C1ED6712620F454799F7BAE835F4 + 025C61260E7D7E87F8419ACD83228757656E2685BE6543B56B8AD525D9CAE4DA + 5CC570EDAC7C11AAF4F9D5BDD51539670C9462011B2C1F80E966C8C8E407DA14 + 443ED98D1886D8D33134B3EFB22ED18B99FEF05F117C8B7D975E0CDF3A08403C + F7300061A97F2CCEF56160B2DBA22A30A439138A3DD1C834A6C6AB7013338A8A + B80F649D1ED94222955E3AF1E5E50BB79F99B9C1DE281C47F5C41E8919C37C64 + 491C9A818FA647279263631EDFBAF1C57F1C3DF4F965631BC7E6DE76785F737E + C4BB02B5632D0EAD717A128FA719E6BA156E8F8A2C1EE69941A533B08638CB23 + 69D774B819B93244B221630DAAF51815000C982AB229E575A5AB7D63B055A57F + E34833E93FF41A1CECBD75039E0FD8B853A4D23F77D908960E31545E35DAF230 + D9E571A6D3CDB78646D9EEE0EBC03631F9DA925C09F5F320BD153C828D8C8E92 + 17A52E76153E438BEF10B2A44C15DD31B41FEE797CD0A7A0CFCBBAC47A428782 + 5E4F5FF0FAC93EA217F03F3C73FFFE5919FC6DD4F700DF51A1CC6ACD33A8F412 + 8F37A38B476E4D2041E3FBB0631D8A7C23F5CFACCDC6D5A47949A37F7AAA7FF1 + D295AFCFFEF458CF36BD281FA65DF0296C8900E42821C806D55636E59B5B5B1B + 50470ACA4F6D6D2FCFAD14A4643DB872F1C817C72EFEA4535053A950C1DA105C + 0A38A0FB7FF0073141121EFAE707CDCBBC41CCB655811665FEFA624F8B2ADFE0 + A6B4D58D656AC2C03A617A09D902B245429A8C8A68BE353E03E6E2A0B5846256 + E8FCC28D545B55FD52BD7CC797523723919B61B11B6CCDA1536BBC18D6496869 + 5F3A7703F581CEA9546B9B4BE281CAC185612A2DB8E1F8DCF8CCE234499EA711 + CE2D288554D05915509C195E55F0A6AA1436EFE2A2216A092459C35342AC7EA3 + 61ACCDA0CCFB55A16DED580344621139900A4CD472AFF39CCDE2D1C350CB598F + BD59278514430F03D07EACC6AEE42F806FED6D2C64CDA925C3E50EF360444928 + B7606771524FA95D1D24F44CD0F818C5965A714942218EF2871DF996BC71BC35 + BE29D33B2DF9975B86174F5C3C7FFC9B535FDF3572F41037D7CB541BE849E0D4 + 1499992C7080E860F814EB9BABEFD6C66A3AAA6D1DAC2F7C79F4F8E7573C82A3 + 21620DD9D3CAB5555820A0A5E7E9BFD0C3D1A549EB027FD32ABF889ECCDC51B1 + 7773BCB9D43BBC2D636D130084312B3697C6F1272E296CDDDA5A870A511BB861 + 0DDD3A3059782CC6966C03B2536053A97C63A563A9DFB329DEAE39D4B4DA4FA7 + D8CFB23860607184641E12BB0DBD5D5ADA922167D0CC1D2A2DD160837999BFA3 + 3834BBBE38362DEDA589FDC51F5E9CFFEE49505C2C8404D02386D0141435C3B1 + C4AD4B848689BF8ED5A571F719E9DB2658B188F67CF31ABFE241317C8BECA5C7 + 9819AEF211DBCA869D1B7CB50019A3EC0A650F763C5C18CE34F1A40909764778 + A13661BBBCAA65FD92DD4600205094C9F931CFD62CA8DEB5BEB1AC4971340781 + A499E39880E80013739BF2D1C5C510FFD07B97BFB972F6D2575F9C3B79E2C7DB + 0F0C12F3B387E72767171720DC421649B0DA72D34CBB774DD4CB0227CFA6B89C + 9E72433BD78BE7CE1FFEC705179F10D275981D915A2DA8CE6481F6C3CED2862C + B625DFA525CA5E12EC5919EE5417FAB2DCC1AD2A6A757399C494768016D53B61 + 494519025C6809BF8DB223100636C4954B2CF3B2D539DFE598E76523F53769F0 + B36F0E72A90E322FF029ED95A2FDDADDD688D60122F33BDB332B734D03ED928E + BA747151604AA27188FF2F8E2EDF3D36F8EC8B33A78E5D3C7FFA878B5FFF74EA + F037D7BEBBB1BCBC862D60D463734B8EE5D800AC408708220CCDEEAC29D79A87 + 1B544A39145F839E37CCF4E997B9FB56446E80474F19885B97605E3FB53E14BE + BC916274C08C299597C005FC48C45CFB4CB8142E3C4D5043F627D23976A18661 + E8AAF15AB39AE894F662526E678F7BD49D23DD23798878BA16997F426E144CA7 + F0F08AC5C5D5E6EA667713E36BE7BE3DFC97AF3EFBCBD9B3A7EEDC7C68A163EA + E4171759D054112E4AB52A09B0A809F46A4F8EED2F4A7E97E7DD1C76C7DEFEF0 + F9EB5F7C793135BB18C65925839C3D3CB507FEA57B2260E813EB330C2ADC1C9B + C3204EF3ACC4EE7E818579B1EFF4EA14F404AAAC0036C8E22AAEE5D243C7C0FE + 602217A99B864D6DC276A47578A28DED8DF2911AFBAAA09762177DA9DBB3020B + B35A3F582AAE996C18981B6C1FEC69E86829A92B8FCB49B5F0747D66E772E7B5 + CDB55FF4CE9FFCF5E42797FEFE7F9FFCFC8B0BC7CFFDF8EDA55FAE9EBBF6DBA5 + 9F6E7CF7FD95F35F5FBD74CEE8C593ACA4641A152426F303D210DA49CC758199 + 2A902B94C14E6B2FD3CDB21B5E1D46BE516E0DCC0C584BFC9DABC2A7D667D4A9 + 895C6C8CE1835102629AFC506CA9EFB54B18FC1C931104334FFCC53416C06210 + 0C3AFCE4E02300D11B0B788C47B41AA43B1F36951B3EB511FA224F38FC8605DA + 791EA277A59825AF31320D64AF825CE00D39A56B18C681DEA1ACB729C19ECEF7 + AE5D3CFDE5C9CFFEF2D9DFFEF2E5BF7FF2CDE18B0FBED5D1BD616B6F1C1768FE + C6DFBE28C4A0D8DBBA2CFE8E8DD5D7977EFBEAC877B54D4DBCC6502207C18807 + AA0D44EE9655FE5014CCAB33D6A8CEC75E1C3644CAF990EB51686A8760F7355D + 1146BBF55EB1B2B9D838DB9C3B5014501FAD936DAD57EEFC34DDE176A0F54D6F + C3CBB6E68F3CEC6E3F373DF3FDE3A347EF1C3E74EBDFFF7AF1D3BF5D3AFCFF9E + FBFCEF874F1F3B79F9FCF95F7FFCFEF9EDABB64F9E3E7AACF793BEFEAFA65696 + 3E9EB75FE8FD70EAC7CBA7BF2B2E2C259A468685E4BC123093983BDD1204BE1D + D453DB51BDA92D78986997D65D8CEBB65BEF97D7165CABC3CD6B02DB17BAD1BC + 124B0BDF6634C3B881899651056F4318D4B4AED5D04F599BCC5409FC19F5E871 + B4F65146E21F02D0FB9DC98529BD6227D092E965D8888943A17963B45D44D770 + 98C02A6C6E42D816A4841942B844B0B985E579D51EC3FAAABC43DA929F98E266 + EBF6F485C9773F3D3D7BF4BB8B87BF3E7CFCC627C76F7C71F4E6C5F32F4E7FFF + F4D4E56767CFDF397CF4E4F5FBBA8159A961E909E91505D9D2928A566955775D + DFC850F3649F9D34CCBAC83FADAB28BA351DC2D02E35714D931D93CBD3C37393 + 7DD3C3151D5559D2A2ECAAE2D266716E4D7146595E66457E545E524076B45954 + 888EBFF34F2F8DCFDC7F79E2D797677E7875F1E4B3F3476F1E3B7AF3F091DB47 + BFBC78EACBCFCE7E76E8BBAF4F5D3F7FF9F9AFF7F59FDF75367C921512599655 + D42C6D1AEA199A9B9A53CA364717C6AC8A7CC1EA3937C73FB6773E76FCBCDEA3 + 177D9DB81983ECEF01178864FAA23542538CF54637B0F41D964723C9F3B34B73 + 618D39A2E106D8A6823384ED9DF8CE6C3DA9D7DBF61CB8926C8141579FA9103F + 15A59CC13B3D8C547803C41C265EED192A042DB039179B4EF2864C4B8532C63A + 3C9EF6EEB4B333323B6222F18A6BC857C146772C95AA8E85B06B48B01A661E38 + 2781A75981A52EA51C5A0373A3926DE02C9F26B1E334189617C13721788370D1 + 607D4277865B41906EB087736A885190F78F4F4C7FBC6770E6C2BD6367AE1C3A + F3DBF113BF5C3E75FEC289B35F7E71E9937F3DF4C97F3FFED9BF5D38F4972B87 + FEE3DAE143D74E9E7F70E4ECFD43A76F9FFEF6C9D91F5F9EFAF9C5912B4F8EFD + F4E4F037B70E1FBAFED591DB9F7D71E3CB23B7E0F7D34FAFC1EFE77FFFE1D067 + 3FFEFD1F3FFCE3B3EF8F1CBD74F4D037C70F7D77F6DB6BA7CE5D3B7BE6FEF757 + F5AFBD32BBFED25CCFC23E3323ABB1AABEBFAD777A647A7E625EB6B8AA5C97D3 + 3EA320A973405830B625DD40E26D2A0EFCD152F7F017177C2CACD756D1E96194 + 2C7019D11FC282311827C491C4F2011BB0131CA6112030748C14AA82B662ABC6 + A0B0CEB78A4D19B840781C07892451CA8117D0086F9BA880D9A7CC4231421260 + 85D9298123C59B11EA60090C145CFFFB00E29D32FAFDBEC57E53899774BA9D2C + 06E1F126024B494A7AE1936F29D6DBA7DA7CAAA31DAA422BC76AC05D84090B9E + C684B122849112E65DA850B0D6A4902956A35A338DCA5CEDE01093E658386FD0 + BB3DDE4A1A6C5A1168501CF8E28DE3D344A75B4EC6A7CFDF3C75F2B49189715A + 74644C8077909B7DA08B83AB95B193DE4B670390B6DEC317D6D75F987F7347E7 + CADDD7DFFEFCEA9BF3771EDE7FFAE2E9EB9B770D7E7E657EF19EC1B59796F4F7 + EC83D73F1A98DFB1B7BB6A62FAB39ED9B7770D2E7C77EBC4F7BF3D7577B12E08 + 7C916E07FBFD0CB25D6B46DB18C5A2A127E441404397EA703F366E7F53A82656 + 27EDC4FE8EF5518F7D6D8E7D75DDD7D30704CD9C121685DAD334823C7511F20D + 70A83771C90E564D5657496016C91B0EF76C9B6BB7AF0B71AE099D599D8137F9 + 603443094F2A9C85F9C827E10D1373A2A9AB24202D1E289ACE09EFA46BAF91C8 + 4C1DBB25A335F828A636E1759143D7FC20EE60A299A3E487DD09DEC0234760B3 + CEF6464C430614F275AB8FB2CF0FEE9E85C467FC80F8D8F8050CB9D0758AF7DB + BDB3FDD6A2603D911BF8319E1D49B0EFC7561CECD39CE4DF9E6698EF7D27D5F1 + 419EDB9D08BBE3DF3C3879F8F46B1D434021EFA2D1FB4FAD4C07C31D9BA3EFA7 + 9A801F632EF233CCF28C6DCB8A6A79FB3CD3EA5599F3CB52C717C5F60695EE26 + D5DEAF8A5C8CC57E6635212F8A7D5E1607DFF4F3FCFADCEDB3171F1B27797A75 + 25DD2E327D59605B365A0D87B56CA3E5798F596198B10642253BB60040B8794B + 09136E1594B7966F968E573B35873F8FB5FBEAD47D2F5B475C7C4063255C0F66 + A34AC90330810C0CC713ADC8B6A02E28412756D5838037F0DCD6CEAC6CC1B122 + D8B60ED63470CC695919BE11F6272F26819B486524708199311270126D50C3D1 + 544B986F4ACB2C8CFA34020CAABB8849C75BDED561CF336C86E7C9022ACE2AD5 + D73286DC868D321B50E00D93869AC67B622BB2E16CA5DC4669595B2DBCA35C5F + 43EBF61E0A346DA2FD22F8816BCB7B24B0346D22F2D3CB75B6AA09B5AC0A8223 + 51E20632FD9B636F46E8DC4B327B51E8F134C1E1ECE567978E7EFBE3F95BADFD + 5DA08B0A059A5188318273A58248A452513AD06050E47937431FCEBEB06E0D71 + 6D8FB5AB0B36AE707B5E68AB2FF2D029727C966FF730CBF265B1D3E30C8BDB6F + 0CAE27BCFE25D9E8D73716F7136DBFB9AA7BEEF8BD1F9E1B1997FA3FCFB64F6F + 2AC015F00D989D41AC086344240D8A961B2600C2B021967E8697234B235E0D71 + 46D91E876F3DBBF1D07C767E1E59845B80137039131262F2BD6A1D8EFC25758F + 1614F3E99D3991ADE90943D9C9DD594B2B8B80DD98C694270536A93DC5348744 + 20239ED234A988A284A79FFDAE11382D7C87E91DE90FEFADFF3E802812D590DA + F9B0245B023AF16A489443AA3CBA359B0C407B7A007305852CB53A33B92D6F4A + 36B1AD849A0160A4546B1B6B68D659DC9694E7010C01904010492D1906D541CF + 721C4C8BDC7DBA92FC5ADF78D647BAD5863AD485106183D43D75B33CBEBF6B70 + EEE4F95347CF56D6D442AF36D7201889270DC0AA151C4D01E140A00BDF8A3746 + 924043084C977B19D6F8EA97BA3AD486393444BE2876B1690CB76E0CD71379E9 + C3543FCBE57E8AFDFD0CC7DB29B637E3AC7E4B74FAC9D6E1EC57BF9C3875DD24 + D2BB6DB677139E0EAC2DB44D5282D043457B83EE2E42881432C230E8D6CE9A6A + C5471A6C5919F493BEC9F95F5FB9E644D58D359194978F82BF4C724CD9F0C5FB + 0F13AB63E10DC992774D93CBA35E55A1FAC56EA9EDC510AA050B9EDD5F0AD7A4 + D467DFCE33F36D7A83359348FD973DA108BC2AEE4FB81D9D7351D1302E14580C + DE7EF118E2095E1385D4613F08406A5AA39136A46BA4EDC1E9779655C1A1EDE9 + A4801DF40C299728C55EA239048941533BA67AED0B836DC4815503B5C8C73001 + 8350C726FE60AC1926F6A871F02EAC2B60E825A439FD55A9A77EBEBB4EBAAD4F + 4362C1BBCA84EE3C57716450635A687B9E8128E06EA6856E81C7F97BAF4F7F75 + EAF8A767DEA6E5C213027D411E23881062801B10D50503B32EEB98ECB02F0B7D + 5960635CE5A927F530ACF4B4AE0E0CEB4EB7290B3429F7F46F89332AF17A546C + FB2CCFFE6EB2F98374C73B6F5C7E8973D0CDF1707913F5D38FF78F7D76F2818E + C1C2EA228C1A8005CEF8A10BB10440345E8CCB7F24B9023E862AE91BF9C322DD + 62A77BFE16274FDF7B116AEF5F9B5C37D4048C859BE0767F989910BEB3B5DD32 + D306C56BBDC451253D6586F92E515D19F055F8AD1F6BB1CB775B512C570FD63F + 2DB1F76B4986C2B6B80BEF63D0F01683111BBD1DFD8872063F4763C64BD3A8F1 + C647D03235820C4C7F0C40B8858B64B0A203A09ADE98372AF38A684AA2EFE147 + 8007387D92D651200B0C80129026DCBBB057A253E65736D24EC89EE4F8EDFA3C + 4019749B379010587F8562DDAFFAAD61BE477C7796AB283CA1372BAC25EE65BE + BDA5C83BA62B2D77A4D2AF2DDDA8D0C3B434F8BA91E9914F3F3BFEC9093B274F + 80F5A602CE3290832B4E49083AA59041B6F256796FE3834CDBDB292677DE1AEB + 1438BC2C7735967A178F54CEACCC8C2E4F4557BD35CBF17A96E3F828D5C6B624 + CCABF04D4A7D61FB642FF4393BA7F0CC97E78E7F7E2634269602085A267BFFD5 + 75D5500EC4F212FD460D1A9EED77A80B77AA89F9E6FAEBAB0F4C4D8ABD0AC76B + D08F01087C9C4322B011541EE0EFCCC8A6CDCB7D4CAAFDCCAB7C1F5758C382FF + E6DC2244A8EBC7DA3DCBA3E54AE5C0E28049A5B75B6DD4D8FC28008811985667 + 853287BAF15D6F8631166F80D8358CA57864B2AF10E5F9686B2CBD2FBCB92F03 + EDD93F323D45330A8EE3CE4EF344E7EB02C7BCBE12C83FA499A2B834082B5FB8 + 9684C595C8AA2596E28516DEAD8DDBE587B40E77C16B300374664F26F7A0C310 + 58049303EF62A971907A627B9E7EA173505BC29BAE6C6771984989A76363A453 + 7D2454898B6DCF49EA913A8842EFC4FB7816265DBEFCC3D14F0F3F7AF87A7D73 + 03377D010741230AA823A30090A38504546F2B73DA1A8D523C1F245B3CCAB77C + 5C60792FCBD0B1C2A76DA21B8FB3D8F930BE3A5339D25837DEB9B0B10A7B46E9 + 6E237856384DE3E9BD675F7E72FCEAB547F3CB4B84E44888469DD786CB76C4B7 + C16926A80D8471225B524CAA82EF799B9E3C79FF79949D698577697F0D996AE2 + 32332F121E404C78B8A40FD9DC135D299D55DED2188762FF918559A836B1B5B9 + 3630373CB9B6086D0C2E0E393546DA4A83FA6630A4041D604EAE40F68C7278A3 + A3E92C7FE499EC630429870900C7EC1D6D419891A8D9145DA141006D211F560E + D7BD1279940D5541B842BE29DB54AE23039187C0851A329F82E550FCFFD6CEF8 + EA7854E39B65F902A12B3CA812A18668A3BF60C748120819E8E2896AEFCE38D7 + C6E8F0F654AFEA188B7CAFF8BE9C88B654700EF2FB4521AD6F1CEA43EF17B878 + 4932EC1C3D4E7F7AFAFB4BD7FA860661CD7653A5C038254C8301455BEFA18834 + 76000F78574DAD2FC677959856FA5BD5065A897D2DAA835E943A16F697E3AA3C + 5CB04616C0B1FB3037DE010BB8B12987676C6E6A3977E29B239F9E0D898CC5A9 + 22DA2D3A71046802A9905224A48006ACD466B6E5D837845B56477DF5F3B3CBD7 + F4EDEA225DABC2471627C84A3EF1B5C90FF36179FB455F631083540582455C95 + 1C9400AC17391E6DFBFDDCFA62517BC9ECFCD4D4DAA49528C0B0D45D3C202500 + C62F1EE006F1AB10948D583778F6E2CDDC7E0D0A2CAF8044FF388030F00E4F99 + 589FF5BCC8B5B8A70A30513BD25835524D436864E7012C95835292903349BAEB + 5D1AF6A88E1F5B9FADEFE92D6FAAEF999A681E1AA8E9EEAAEEEA10B7B5BC29CA + 4F2AC80D4B7D1B9E92E21717A11FECF338C0D22623D8392DD4BB22C6A122D4A7 + 26D6B731C94C1418D39F1DDC9E7AEFADD18342A7A0868CA68EF61FCF5D3DF2C5 + A9D4CC6CB837AEE383E582291D29E10CFA8CD611FE00D75CB5B5B832277DD710 + 509F6259156621F2362FF5BC9363145C1FBDB1B640E6CAA436089C110E5DC73D + A05BE0D243CF1DAD6D8FFDEDF0F12F2F96882B2909417B285280E80ED84DDC7F + BDA25C8A6C48D1CDB60BEC49B5CE0B3D74E2E6430F6B8BE6D0370DB974D98424 + 0F0AEBD569AA282CFB23383FECF4CC77A70DE4C7B424D7BD6B5C952F03C7970F + 0FDECBB14CAFCA9E5D9CF4AC8ED12D732919AE244B8FEA05807DB843BD3A2960 + 23461E9A3E93005E94B128B7D1053581D164FAF0070044B21488A67C80404862 + 53D6EB3CC796B10EB8C3DBEE5C6B916F447562666F6E6E6FA168483CB0D2DF3C + D254D25199204A098A4B786EE9F0C36B831B371E9FFCFAB763277F3975F6CE91 + 13B73E3F72EDE4D11F8FFDE3FC914FCE1DFEDBD94FFFEDF827FF7AFCDFFFFDF0 + 91AF7E3EF9C595539F5CFDEAD80F9F1FB975EAF86FA7BFBE7DE6C75717EF9B5F + D131BA67EBF5AB97D58FDE56211529B0B3CAC0D0F48BBF1F7BF1CA90901839A7 + 8BD84430871093C48D3C98858D6138F0438031A6D7E7DEB6E61A15B99B887DF4 + CA3D1F67DB3A368440928D4CB546D6A1D4E150B2890FEBEE4E8F4FE9DCB977F4 + D3338F9E192E1243467C50749AE9020D002EA929DD40ECF3AAD235A43BE5858B + DBF96F1E9A17FA9AD605768D0F028489078D52D87306B8E9F447768D58C7A9C5 + 49382EF3B5C4DBA6C8DD4914E25613D930D6503424B5A90A829DBEEB1B4B30A5 + 7859E698D19347A42B2C68274012DC984709FD54D373627D230FA89EAC6936C5 + 4888A28A5DF09113CDB7C5DF9B320B4E3970B7A7F26D4F994559C0F42C1E4999 + 3954E1541519DCF4C6511A6C531B6858ECFE3AD1E1C2F39787BF79F0F5B95FCE + 9DB974E6EBCBE7CF5C3DFBE989EF4E1CBDF5EDC507D77E7A74E3DA935F6EDAE8 + BC30B97BDBF8EE6D57033D3F6BEB28770F7733837BCFEDEF3858FEAAAF7BE3B6 + FEABE7FAB76FDEFDFAFC8313E71E1C3BF633E47E7CF58FF39F7EF1D3E7C77F39 + 75F2D7EBBFBEBA78E5C9375F7F7FECC8C5B0D878A43B5C6654C0D960B8B98CC0 + 86A446A2998238159E5F07FFBE57754C8D26D5160448526CA51177B36D9F143A + D84B0253DB327A26BAE0EC439C52827B0C412515E6627775F67E77EEE7C39F5F + D237B258DB90C13B00449846E25C41A9C8EA2CD0CD77B16C8E36AA70F3A889FB + E6C6EB1BCF2C2DEB43022B63145B10DA203B09116C1FA523324132FD262FB0B4 + 59FD68CBE374AB84BE4240FFECEA427E7BAD4F6972547B866D7560F554DDAA7C + C9A9205CBFD2BD66AA1DBDAB8FAB45EDC7431FC194470117F5E54D2A6B568012 + DEEFF9B899FD9732B87669BC108FDB0100650E5742C6D6E626AEEF6476567815 + 471775490A3B2A25D3ADCFBDDD4E5C7EF2F3CFCF2F7E77F1ECC9AFBFBBFCE0EB + 1F9F1A585915E5E5B737774C8D4DAF2D415D2ED88C0AFB2DB737D737E197E607 + 13D96CC737941995FAF9D44486B7E466F755045725E8A63A3F8EB37C1C64659B + E077DBDEEA3B139D4B2F744F9FFCF5D4DFBEFAEA3F0E9DFAE2EC37277F3E7EEC + 67EFD0B09EB1C115D932AEDB6E2B6572994CBE8E4647A984DA3F484A80245C7D + C32923FC6F45B9DA3D3F90DA5010208A712C8F30CF4B8D692A976F013620E903 + 1C22140F5C0CBD7A1B1BFFE5DF3EFDF493EF7CA362B0939B9BB03D03845D33D5 + A05FE66458E9615D15E4D814F632C9F5F8C5872621010EF59192A16A921F4EA2 + 1E74794C23AA2BD0558C662894B027532FD70972489A673AC94AFDFBF995D9F2 + 3EA95D6E70526B6EE7F4887755E2EB0A97AAB166DC91C7E569F028E1D9EE00EB + A6956C2832E8B2060F208618F62DBEFFFBAE85ED0108C33D98618884BCADCA1E + AEF4AA8F5C595F02E30EE745CE6ECCC3A7E85CD7D41C3FF1C3956FAF5FFDE6BB + C7B76E2527A6D775772556E61634EEA6D0D36C06FC450E26E9D3307B427F9B26 + C4E40D56EA5778E9963A583785C3C11A5EADD146959E4F0B1D9E6539C4F6E406 + B4A55A88035EA73A893AEADBEBDBD322235FDD7D74E293A3A70E5F38F4D9C553 + A7AEDFBA6F1CFC3661726916EF81EBFD72DC1088C8C7E9106208A668F20D15B8 + 4A10B724897FE022AD6CAC4CAECCCECB9660BFF1E6D22A7446A182046AB05068 + AB607DCED1D2F2F0DFCF9D3EF36B5671113C266CEE29EB91C0AE64FBE660A796 + 30EB4A3FFBC6F07B5E2EC72EFDEA5A129BF64EBCB83E870568C94E58E20151EF + 5B9827C37C0E628F70260B16523AD6EC290A4B6BCD47D6976FAA566043CBF6C4 + EA7C496FC3F0D274544BE6DD2CA3F48E22EAA0B07FB5D2CCC1E83980B1A8C7CD + F79901886608F1CF02ED1CB498AABE0D5DCEC14288E8164634659A95784CAC4E + 033F430C869213DCB5425C79FAD8D9EFBEB97CFDFBAB5D1D7DD4083674D7B5F4 + C3C650928F4CCB7990D30BA815A758C2C1C2D55465E3589B5763BC4DB5BFAEC8 + DDA632D05E1408854E6065C3B73925775812DD55A457E6F538CB2EA03C1E5C31 + F8DAC6922C2630F0AB7FFCEDE4A123E74E9C3FF2E5B9CF3E3FFFFD0FF7DC0383 + CB1BEA9736D7C1B9C1891F2E74E02F1CDB0D07C56D28E1F4653C9410B8881EF4 + 834BC2A01EB8F1149775715901F392315E083D8472CEFA3A4FBE3CFCC999F3D7 + B3ABC4612D49E6859EB13D792983A56E0D51F7330C4DCA7C6F19D89FBDF1DCB9 + 32A66B6908E1C08E3C238F2AE01B4DD704B77A61890AACFD8091D56D888F40B7 + 480D0752EB6643B90E6B35D1F5A90F728C125AB2E9BC8EF934544C8C3678686A + 628B5E4951228011ED98C0BFA65732BC0AECD74100E21808272AA4DE050228AA + 2DDFB8C2E3DDEA0426F961820B8E353CAC7C7DE3F9DDE75F7FF9CDB7E7AE891B + AAA7D767C0076C9F695B57ACC29494945520BC4E4447422A24090C2586CA0E2A + 38B5361DD494EAD218F1AACCDDA63CD0BB2A21B021CEA531C6B73DFD6D474144 + 73EAFD2C8B7B39169EA2E855E5DAE63AB83BB802252E2E7B70F3CA89BFFEE5D2 + B123DF9D3E7DE9E4A5A37FFFE6CBBFFF78EBA6B1675870F7483F499AC6E010DC + 1982430ABA304172F991FBD0BF232C05EB2090CA4EA6BF98B74F639E64C56071 + 66FEEEF5EBC70EFF70FAD2339354AF80DE94F0BE2C2F699C49A9F7F372DB8749 + D6E7CFBFB86D6915D096B2B0364F9306F9D1FB5D00A178007518DD2065143049 + 1197A8C9DE2992140CA4A8DA8E6DC97C2CB20C94C443AC419309E81D35D1C97A + C277E3007E62C4A6D9146FCB1845FD8E09A356111F0F17CD31ED3DB43EE57591 + CBE8DA0C168284F442C84D01A5512AE07EADF5CD3F7E7DE1EC6797CFFEF024BC + 240B36F599887C2413CD2CF0855A42375190E45EA2EDB8C681AB633B3B4B8A55 + 879210CBCAC0A08E749B8A80F8A15C870A3F7369A07165907F6382A32844A7D8 + E14E9EAD759EFFDCCA0240003C29A00CB8EFF2C2726E5AD6ABFBAF2E1CBA70FC + AF474EFEFDD0E9CF0F1DFFE2D0BFFDC7996BB79FB6F77782570B3EB25201FF62 + D05BB6BEB6B1B90EEF2044306B54414BA7D144577A8622393A1184A9DA50AE4E + C867634B73BEBBFEECCCD7BF7CFBE36BA337EEDE5D49E6127FDBFA10BD4AF75B + 7E4627BEBC7ECFD136BE27675DBE420A50ED460F092DFC2E80889F4D0B70D1A8 + 02EE3A430CD180081862880D6D29BDEB93F4EABCDF74E6C16E0DB4AFE4870A92 + BEA0C0A5B763B4C4038881E3001F88472133674C25787AA3B4A4A53A879003F1 + 6E7423032EC5BF69CAB2AD0C99DB804343DF2FAEAF960D4A07DEF52A37D79736 + 376757A70AAA4AAE7EFFFCF4A1E30F6EE9E57557C2CAA57F43327815EAAE63D0 + 0617E9A97FC0A2E3185DC1D9F64E6C735A547F41C998D4A926147E035AE36133 + E8FD742BC322B7F08E4C9B321FBD0A2FF78A58F02E31DA4C275C488128244842 + EF6EE9CE8C7F63FEF4E9D513A7CFFDEDF393FFFAE9E7FFCFDF323372E053703B + E14A9A38025C8371F04DF4B171FF03AE81400409223CC421C3740DAC170EE7B3 + 8A8624EEA5BE8685CEB67521A6311EE77E7871E2F8D593171E19447B3A55C718 + 88DD6103DA0D7BE32FBFFCF13763EBDAD166747890BCD4826402E3359E0A98B7 + 20A45E02096E138D22CF85899BF046EFC250407D42666B51D568BD435384755D + 50F16835569FD8FDE131C4D312B5531449F45EEC356F8678B2D4A425D649864E + 2A35989D3080FE2100D15D16640D6FA766BC018E2A926DC07AD3F6BBA59980DA + E491D97160A692CE5AABC200EFD6376F4AB20C8C4DBEFAE2D295DF742CB3FDC2 + 9B7360670FEA13A9354EE38D0847F2B36B5C71E4E07DF178BD5B7DAC4F6DA47E + 99DB831473B31277A352B77B99163A25CE86856E8605CEE63501212D2932D52A + 90045906813A8298138230A22973901BAA50CD8C4DA746C506589BBD090E5D9E + 5B0668C24ADD0604888082C0F0C2CE33881A61B4115303C8A0E0F9F3900308CA + 2D53ACF4AFF4435111CBCAE0C7B956F70BCCAD9B439C1AC2ED24111669BE377F + 83E4F95BE72E3CFED9D8C8BE3ADCB43EFC9AADF991AFAE3804042E2A97884BA5 + 9EC23081D1D167C2D0041059A1A50342DC442C458AF171B96AC3B720CAB8CCC7 + BB2E5E3FC549A7D4EE79B645E1A084372E3C447854690288758001482BBE0530 + A2EDD347604FC150FBD15A18635ADAC4DE9FE84AA2FB036931F066715B59647D + D2C6BA4CB9B4DC3BD25BF84E048F0E15A2603355DE60854EB9DB3BD9E4E6AADC + D7C5EBCAB953A7CE3F34F20D5C942F93BE92050134881F7592485D7DDA44FFC2 + 3B6B71305447D097781A497CA00C8FA5C4F749BEDDF32247C7C610EBEA00A7C6 + D0A72996B5A3B8B50F198598565C59431305997C90D821875F7A1E19AD86B609 + F331F49DE510E0817575481EC12835983238FC0D4A87913AE758E36A5B2E532E + 178F489C4BFCF5B3EC74F2AD9F173B19957A383546DB55858677BC756A8D716D + 8F7AD359FCCB2B9B53A7AF4290F3ECED97466F437EB5313F74ECBCA1B91D7A74 + 38C11686E37881B181DDD51CF5648A98201C1F940D2E476FE08AD0F6CEC43CFE + C8146BE5E3B5C652DFA77976D9FD1504636ACBC5CC8500494CF09A08E3C98F27 + 278A274D746A3213C313BCD09E91C8038846C3D4E91C1F3E4861CB5C45D0C2A6 + 0C6E37303BEA5319BD86CAAB542EAEC0A281698957CFDC384C41A1857A91F4E7 + EF6F9E3DF7C8C0C2666E118B4163E215EEC6FA68530135E05B9B60E6C0F8AB82 + DAD39E965A3D2F733490781A97B95A55FA3AD4869B95781996BB3CC9B5BF9B62 + F25BAA61641304A270C1813E33FE0088711505F7DAC15E1DF9E63A2C8F61961F + FAECB8BEAA585B85CC21800C96BADBA4DB523F6C28D697E40BDD73BDFEA55156 + 05BE7655C14F8BECF52BDC0DCB5D9D1B23CCC59E6E9288A49EE2A4FE8290E644 + 1B698095C4D7B925D2BE3CE88689D5C973F7CE1CB9F9E38F0637EE981E3B76F2 + C6F5C7AB2BAB48B4A447344EA3F587899C2360021B1C182445CACCB0D408D378 + 883D2C2B9697D616C5DD552695C1AFCA7D7206C458306F17A6940C98BCF83B52 + 8BA60920ADEFF0FCB45FCFE18B022A822BFF008070B31FC11089F889FBEBCC44 + BE336B8BF0BCE3CB33B19D85A8CBDB72B02872F986677554FFFC08DDEC0C1737 + B6B73C7861FD8F23976EDE7F55D3DC40A75E3871FBB8500B66FDC156E89D2DF9 + 9ADCA53AEA51B905C4EC5F14DB58487D823A53433B32D2FB8A0C8B9D9FE67BBD + C877B85B64662B095F96AFAA479D78E3F024E0D24B476A52BAB2429A62839BE3 + 7CA4E1ADE32DA27E5142536AF184B472A629A13933BE21B5EC5D65E970256413 + A475E63B96F8E8673BEAE639DC4CD4BF9A687523C5068ED8F16A8A0327CFB8C2 + FBB9C8CEB62924B02DD1A12ED8B636386BB028AC26D5BE21CCA8C2D330CFED86 + 8DD1B153BF7E7DF8BB4BA7CF7D73F6CCF9E3375A5B3BE00131DEAA86F4BE0062 + CEDFAE2C714EA156FDF73BEBEB6B732B53A373EFEAC69B8AC62A9DC40171CD19 + B9C365FA2257BD62479C9470133D664D0437E5298AC2EB0040B34F05CE99E657 + F85010FD967A6B3333589A77C21913F9A1481F5D9C82422470A403583488ACE4 + B5162FC119B3DBB047676B6A63C1479A94D353281DAE4A8055F48E78BFE604AB + B400E7209F2B67BF3BF2D925671FFFF9D585DD29CF1ED50334C98EF0ED15B9CC + B534EE7999C7E3229B6705D606E5CE5064C9591A1ED9996C55EBFBB2C8F96991 + E31389AF6E8ED3D0EC30A8292CC593892E96668AEB487D98697C275DFF4989C5 + 0B892DA0D0B129C4A539F25981AD5E859B457DE08B72C797952E0662AFC7B9D6 + 77B28CEEE75B3C2CB07A5468AD5BE9FEB8C0F6D73493DB19A63A258E5EED71FE + 1D6F5FC38D0A2D9F96D8BE2C767C92636922F68AEDCF88EACB746C8830ABF436 + A9F535AF0AF17893F0E2F683535F1CFFFEECF75F7D7A36342C0A4BB7ECD68285 + B112B8A8022781C9155773D764ADA36DB943C505EF44C1D244D80F695AE96156 + E869511CFBBCC8DDA12438B637EB55A593618EF3D0F23899E1EF6D27DF8FE70E + A64006384DEEA1FD645FA7ACC3BFC3831501C40CA1E09B821ED0E158585F86D2 + 90D97DF9A007B039B47EB4A164BC2EA5393B5EF2D624D3DBAA26DAA0DCCD561A + 0E85C95E895C5E56781BE77B75CDF4CD8CCCC28E89BFFEF7B34F9E5B740CE039 + 3D84A74966044C5AC109C6091158B1F78DA35D7AD94EFA951E96D55065CCD60C + 6A2454FA1856BAC2F1EC7AF9CE2F8A1C9F4BDDE118CD9AD14668016281B00006 + F3DEB4CEECBBB9C6FA0D5E3A15CE90B0F1B2D4E9518ED553808EC84DAF1CBE1B + F8AAD8E961B639BC76698A85ECC4E745B6FA627703B1C78B427BDD72F0D3CD7F + 4D357E986BFD38DFE655A1A3B9D8CBA4D2435FEA6A2871B76F08795DE4645313 + E8D4146626F132977A9948FD0C2ABC6D0B83061727C6C7666E5FBDFDD5DF0E1F + F9DB178FEE3F813020CDDF603645E052F0234C479E4C0B211B401E5C93FBA4C4 + CBA0DCC5A3362A0A6A6E56FA540E554D2C2DD6F437E7B797C677673C2FB20E6B + 7C0BD9E61875E4B652D076043FCC3EFE2E8C342F60406740D19CAC31D8E16A3C + A53B4DFDD07AEF75E5BA736DB05F6D38242002638BBBA4D78DCDCFDF7AF5E5E9 + BB9F9F7E7ED5D8FE6713939BD67606B1EE118DA9697D058195B15583F560D414 + 6BF294C4C49F2FFC78FAD36F1CDDBC46A6C7E8E0626C0FF27CE1B8509CC00015 + 2903A48986125FABFA809715F6CF8AED8C245EFA6267EFF6249FC6048362E797 + 154E4F8BEC6C8AFC7A67FA601E0691122869A55B686F50E3695AEDFFBADC55AF + C243B7D4F5598EDD932CCB6779B6C6126FEB8620DD52E7A7B9569612FF88FE5C + EFCE84D7654E3A252E2F8A9C1EE658DD4E35B9936E0679F577D2CCA004F8D36C + DB67D9D6BAA58EAFC54ECE6D1176D5C12FF2ED5E16391A8B3D0DCA5DF5C54EAF + F35CC3AA32479646A9DD191F9B7AF5E0C9C56327BC5CDCA9DB01FFC2648F0E29 + 1B684D48313061D06073737266B2B8B3D2AF3A39BC3D37AB37CFB53AB267B687 + 24C6A806E6063CEAC39F6499253563B5329879F23E161D464DE5E76FCD8B9217 + 343F3D64D708CC9156607C04206647F987E45B612A0517400CC54D1C665DEA27 + 53AC83A2DD7F6270F87F9EFFE1F8852B5F9DB976E2E24F5F7DFBE3F14B0FEFEA + BA0506C666A7E45615BEADCA960C36C9B761D737061B614E111A1CF6EDF7F72F + 7CFFC8D1CB77646A9C3C3F2667A19F05191032F9A46CCEB93AFC59B9E5FD22A3 + 57E52EC1DD59012D29FECDC901ED494E0D61BA65CE10BE33ABF149EB2B5CD95C + 83294BFD60BB7B6D74FC40FE9BEE029B723FA7A6508B7A5FDBA6408FB698A7D9 + D68F726C7445AE8695EEF7D34D1EA75ABA36C64071C23BE9C60FB3EDEF675901 + 68E082C7B9B6F7322C7E4B36D12FF5F0EA88332C777B5E606350E96626F101EF + 074A365BD40758D605EA95B8EA977BBC69CE59236BC918DA5E91815F07E569E6 + A61748817375DE310BC9F03E0AB359FC80238F42950508D6C31E20D5B65CB9D1 + 36DAEE5014EA501A5E3D52D330D910D494EC59176755156022F52AE8C3854516 + 95E11BA4E2A752A3EDB3CB7816D4CA4C820B0EE0245E25E8B7F68A6C0A885713 + 40EA767776E29A3383DA3360C906AE317A6D72E8FFFA9FC73FF9EBD1BFFEBF5F + FDED5F4FFCED7F9CFAE41FE7BE387CE9AB9F8EFDFDF2677F3B7FFCE4ED1F7E31 + 7CA063A763E26CEAE4E11D11915A901F979C76EFFEEB1327AE5CF9E94174D29B + FED1E175580A51C949E903545C98B5EA94DAEB88ECECEA42127BF22A276A9387 + F29DA06A42B587756DB01D78B2551E817589904308006A9BEE0E6F4F8FEFC849 + EF2F0A688BB7AF0F319378C29A9A7B53B46199C76B404389A3BED8554FE4F23C + DF49BFD4F35981CDD322EB27F90EF7336D6EA799DDCBB004F4E814393DCF7730 + 9380F3E1F5BAD4E941A639EC1A33ABF4D529B07B566CFBBCD4DEBA3E1852F19D + 0A2266D717214883A1279834E1160138931166A11881A69C4F73BDD97608E6CF + B2CC2C06206A896016B0B6B50E15A8210EA180F8FA867C6265A6796624409AFE + 38D7E34AFCD327E91610537851605F01A5617161712F2AC80C880040CCA2ED67 + C20E78FF80EF329EDB6320C15B3C6E785BC8900B6F960D49F50A5CFBC67B41E1 + 464746127DFD631C1DC2ED1CC29C1CFC6DAC7C8C2D0D1F5D7FF0C38D5FCFFCF4 + D39143DF1EFEDB89BF7F72E6D0E7E70F9F3E7DE4BB2347CF5DFEF197572F5EEB + E9BCBA7FFBC1B367BA5F9FFEF1E285DFEE3FB57B64666A17E91191F7362829CA + 2D3E443FC54F2FCFC3A2D82FB52B2FA12AD55914602C7537AEF1823D877675E1 + 0E4D6105A3D245C5D2F4FA54DA40AE7D5D906B7D44787F8A7D6390637348685F + 4A507BA2776B2CA001B6533D2AB07A5DE1F0BCC4F659B1D3B34287DB594650BF + 4CB7C2E35991D32F2926B7534DEFA699BD2C743693F8C1966D2829F724DFDA02 + 2A34B425B977C41B547BDC2FB2C4B0429167747BFEE8D2146685401813CA14C1 + 0E7FBAE28915D6487E3706A73EDAA72BD0783AA42C2847CDDCC6A6EC4D5D6656 + 4BFE867219A7A964FF104CE3C7E747DDEB121E66391B96789AD6FA81F9AE1F85 + 33AF81ACF107ADFF6EEA05EFA3F02441EFCE5C190632017AB41A32FE1ADA8266 + 201119482B620E7813BED339DEFDA0C01C32C0494231F210D632DEA5507842A8 + C2B13ABF3C37B9F8AE67ACADA2E94D7C927F4048A2A79BBBB9838ECE1DDD472F + 756EBF7A70FDCE4F67BFBFFDE34DF8F7ECE193C7BFF8F2E4E1AF8E7F71F2FEED + 6716E68E36968EE6B6EEBFEADA5CD5B5B8A967714BC7EAC23DDD6B86264F3CED + 1F78593DF4B7D48F737D1C6CF5C0CFEC6582C3ED689B474956CFDFDA59140798 + 97428DC408DBFA309BFA10BB8660B32A1F9D5227A36A2FEB66749C5F14D93F2B + B27B526007CEB86185E76BB11BE4133EC8B17A5DEA66D718A15FE6F9A2D8EE71 + 91F5A3226BD36A1F9FF644FBEA202391FB932C2B8FEA18C948DB3A245D408EC7 + 960A9242C037812DDAF82F597C254B1018D7C6D26224C289416FF242E0DEAAD1 + 838B5FB8C20BC336383F605D12E8DE10ED2EF64F684DAF1E6F6A99686D9D6E0D + A84F72AB89D2CD727585FD8A620F339167E72466D443A08B36C2288D099B2292 + 97BD56FF975E2300D61F212D4A3CFC957F1A4070EF59D92C6843546B21AE4AA8 + 94EB5BEBB5E375B10D6FA7A7DE2997D7A06A128464B032EDAE49EE5C1A84E398 + C9DC01A7EB40F9B265D9CCD8645F474F4B5D536599282F2333273D2BDC3F50E7 + C1E37347BF3E7FE4DC8DEB37EFBF7CF540DFF6E613B3EBF7742EFFFCF0FCB7CF + BFBFAA7BED17931F7ED6BBF8FD8B335F3F3EF3F5A3135FFD7AE4C86FE72EE99C + FFE6E9B9CB2FBEBDAD77F157BD6F7FD33F7FE3F5B99BAF6F5A5B3DF27179E8ED + F938D04D37DACB38C5E74992D3E344B787B15EAF52FC7553FC1F27D83D796BF7 + 2ADBCDAE2A2272202FA437C3A539DAAC3AC0A8C6D7A8C6072A065B88FD7D6A12 + 7D4A131A6067125481595D4792C1D52EC23C78043CAC9F217C68A116B27503C3 + 343444CE9886EA2EF34BA800C8AA2D9EE454DE57E959F5E66D6FADA328ECB5D8 + FD4EBEF98334F347E9C60FCA5CEEA49BEAA5DB87F7661A493CFD9A62A1AE3256 + BF837C2322440A8E833D187A19EF7433906932133347028A625732CBC52EF867 + 0004499D3ED2286B51C8D0E22828444657A9598967C140E53AB8D5E4A0543C3B + 0597091440F48353BD7ED2485389F7C8C2309013966380783FC49DD5BBACF65C + 3FE83DACB1B734B5F9B87A5CFBFEE71F2E3FBCFFD241D7C12FAC30CB3DEDAD55 + 74D00307C75B26563FEA98FCAC63F6CD6DDD6F7FD3BBF2ABC1851F742EFEF8EA + C4C9FBA7BEBEF3F5B777CF5FBA73F2C4CF678FFF74E6E8F7C78F7D7BEAD4D5D3 + A76EC00AE8B973D7CF5FBCFBD5F9C7C7BE7E74E63B9D135F3FBE78E5D5A9F38F + 4F5D787AE196DE999B3A171FE8FDAC677CCBDEE4BEAFC58B58FBD729CE1080F0 + 1245762FF4CBC91625340D74318FEC6B26C140D8608259710005B24389A41A90 + 310699D13516BA6C83E51677F36FC84220A9F188E53BF1775D26836569588683 + 53544583F5114DF9FA395E2F53AD9F163BC1DA05EC32034C836D4DED86443308 + D762EA99C04E3171326AD9CFC561DDF8237CC337CB638B1928ED268C77C7F6B3 + 65E94D793AF98EF5936892B3FA4B625BB3F1301E1C43DC940A9935CBEB73030B + 7D89B01BB0D4D5B13914CA5F16F696811293A35530E77D2FE781DC0F9577B75A + 0ADC747C602C3922E6D1AFCFCF5DB873EAFA8B6721365665018EF5911E1D89A6 + 123FF3BA40286FE52A8ECA1E2A35CDF07C95E2782FCAEC6EA0916EBC93659ABF + 5D7A88496CE0333FFB172EF6B7CD2CAEE99A9FBBA3FBE30BC31FEEBF3CFFDDDD + 93676F1F3E76F3C8D16BC7BEBA76F4F36FCF7C75EDF8E1EB47BFF8F9D067170E + 7D7EEED027DF9DF9EA97E3477F3973FEE1C5EBAFEF1998DD7CF4FAA58195BD47 + 40585A5AB2B448D252DD39D4393A370A85E8E85E039A1887FE344EA6D080D147 + C30C6BE24D1353B677D60229CF48CA7D92F7205D49AE5C6D986E7BDB9E91DB53 + 34B4320E296F8BCBF37DB323B65945FA9921BE35D1AF4B9CEC6A421A27DB7151 + 9BE49D513BC2E0A2C63797A648F1C17026103F6F5579F3B71F9FB1AF33137610 + 03FD2E808042FA66FACD6A7D4ADEC1619FCAC689C6A0CA04AC6703C5E114ABF5 + D34D9ED220AB128F90AE37AE707ABC2828A6352BBDBD38AA21755325234724ED + 4E57B8E7502F44E33A07A989470A31C326A996C696D746E6C72F3DFEFBE93B27 + 6F3EBBE564A49BEE6A50EE6D5B1F01004A1D2880AA3900E5A78576C6153EC6E5 + 7E2695FE50DCC34CEAEDD115EDDE1AE3D591E0D2146D56EEAB9FE31CD39DE554 + 1CF630C2F4698CD5A370F3476166BF7A1BDCF1337A106076CBDEF8273DB32716 + 16E67AA606F79FDDBBF0DDAF67CFDD387BE6C6B973578E9D3DF6D7135860EA9B + 9FBFBBFEDB8DDB3ABF3ED4BF76FBE57D1D237B1FEFB0E4045163F5C0E43B39CC + 07D5568CE6A3211F6139ED5D43A39E70212791ADE22483032038B30AC75887C3 + 46FD97794E4FB2EC2CAB83239B120717DF0140BA2726C4FD8DF12DA910DCB215 + 050DCF8FE16221EC1E209E13050734CB949CFEC980C570C660C1F313CF224CE2 + 14979AEC2530616C5E098DFC691306AD83126CCAD7A0FCA5677D0CA4AEAF6FAE + 7B5744544ED7B54DF50657C640E9A0A7259E7A796ED18D194DE31DD3F353B074 + 2F53CA1A465A6117226A1ED11FA2B7EAFC32927C4ED2F248A6190E2D5913803F + A08B4BEBAB6F2B0ACCFCBD7E31B23C73F5E59133F74F5ED2D1F10A0AAC4A8F68 + CC8EE9C931117BDFCAD23790F846779788DE55A7B6E61967BBEB957BBCAA707C + 5E6AF728DFFA61AED5A33C4B3DB1EBD312870785F68F8A9D1FE4DB3D82E58B0C + F38779B656D210A7B28830494ACB5437F44C2557C916D616C6E7C7FA466ACA24 + 8519B98951B11EF64E464F9EE8DCBCFEF3D73F5F3EF5F3E5933F1FF9CBA943FF + 76E2C491EF4F7FF7DB0FBF3C0D888FEA9918821DFE34E59B8A071E83889954F9 + A10B60E4F170EE869BC261E3A132BD2DCBB9D8AF7EBE677871A27B6E34A5B7EC + 65AEBD6B4BE4B27C5AB9B4AA90CB3CEA135F4BDC0B86C41039205B0AD5A5A919 + 80787CE04DC98F805718322886F6332CF453C177990E08704691FAA701A416BB + 7C33BEB35CA7D0A96FBC07449FD69C655BE4D638D31A54171FDA98943F58DD39 + D3BFAA58A354AB4E2F87C2D024CB18DFD9AD55C8B897029F421B879AA44EE3DE + 7B4CD851358FB4FBD5C7DB95073AE607BF0EF07E6EE376EBB1D1E10BBF7E7EE6 + F6B9DF5E5DB3B6BD1F14762FDA26BFA71CFD93AD6D28C508D8CDEF90A6354B62 + EB4BBCAB134D4A7D4CF23DE35BF393BA8B5D4AA2CC527D3CCB63E3A4F9A2EEE6 + C9F5C5F9F535721E1CF834241F8CF4831F68623B2098BEB930363BDA33DC5859 + F7363232CADFD7F4C5B3BB97AF7E7BF4DC91BF1C3FF6F76F6E5E79F8DCD2DE2C + C83D302532A7AAA0A1AFA1EB5DC7E2FA32AD2986E281C7C31DBA184F063D9C59 + 9BB32EF5CA6EC1638AE186E41C0355619FF8758E031C600D6FF6CC0EEA96B919 + 95B974CDF7E2417AA46C225D896604C366D76C3059189399302A6CCD0BF8F735 + 3949938D9809A32FFE79008115AB99EE70A90AEF99ED06698FAD8C67F6E48D2F + BE1B591C5F5E87EA5AE05E626554AC5E4F2A3161A6021C214BBC3F7206AFBA2A + 1E853C9B4D50AA24CA4A72A8317D11330FE19A8A913AC35C77D31A7FC34A37EB + 320FBB421FE334AF1B0EC6677F7B058982478E62E1BA1F7FD6B3B60BF30DCBC8 + 282F6F1D6A9F5E9D59858C6C22B1C9E59999A539C27A1FA07EEECADA1AE404A9 + 0794E4EC8260714718542CC4B27B0AC5C606E417610E2FE631410D322C2C02B3 + 4BAC10AC2E114D52C415AA9599E5A1EEE19686B637B1496E76AE7A4FEE7E7FE6 + 8BAFFEFAF9E1FFF9F5C94F7F39F1D9BDCB3FBCD23575F6080E0D7F9BD43AD43F + B9303D3E3B06696BB0972DBDAB5847E46A531F16D1F8A6A1AF16EAE0E00AE3D6 + 964F7562467731C02CAE2707C2F13685BE7DB30324AF0693197800C1C8D01572 + CA311410024869F20D0F3E4D42D22421C64C0C370C8BEA48F4019C26F8083B4A + 6AB940D5598FB2B0AC9E222CD9FCFEBDA85FD23F8767B06DC9B090177A887816 + 38EA0CD9F68D874181E3D933D3071F9003ADF7D488F5983D39499926C59CC023 + C2A20E3070AABC81AA17453E4F8A607A62AD2BF5766A8F3691F8BDC872D0CF74 + 7E916015919FE4E4E9FBE3F597E7BEB97FF4D095135F7C7FE1CCD5AB571F4285 + 43D7F0A0CCEAA286BE96E18991C5F515085E514303C02643A3CE7742DC433A11 + DC977488E6BF418C108A56C1D9B70AC01DA4A39114464C96C6AA2458AB9AEEF0 + C7F030CDB754ED2CCDAC8CF78D3789EA2AB30AE37C9D9DCCEEEBDCBFF2F305A8 + F871EAABCFBE397EE4EAD9AF6FDFFCF5A9B1ABE3F32007D302FF1739360F73CC + 8D445EA983A563B0D8BEAD70AA0F8B694E5C952D1B895C9F55DAC7D41640E171 + 3A68902144434B02ABC4302178C12EE3614165CA9B2466DAE89B023BC89313FF + 5DB8F277CECAD00A2C781252394915297D6B56ECDBBFD80F97893BAB22A489A4 + B4384EA8D4932C7C622C32803B6814CA49F9A473917FF3542BD985F091A9A67A + 40FFA546175D6922153A41C392EECA8DF4C6229302FFFBD9CEBAA5EE36C5FEB6 + 9581AF0A9C8CC43E56F5617E6DF17EF5118E799EA256D178CF487566699467A0 + BB959DE1B367372F5DB87CE48B73474E9DBC78FBFCE54710097FA4676EE7E919 + 981419941C93292EAAE96C6A1FEAE99F181E1A1F59585D5E95CBD636D621451A + 573277AD0F3F14D43463690ED87D46E762EAA997DA09E52FC6527FCAF7EB8BEB + FDCDDD1559596951D101460E96B79FFC74E9EE89D377BEFAF4CAC9AFAE5FBCA5 + FBB3ADC5351F6383B7EE7E15E12FD3ED4B06C56D139D3A39D6D6F5917DB3B442 + 34967785643D46D8BC85E2714347921A32DE0C31D80940C05C6FD6A0E0022D24 + C24C988094FE08151100E19889471A5F95056436E7019EE054A5C09694ECE682 + E29EB235F9328100699B384DE4B44745DE40D9AB12079FAA705843E7135B69CA + 1153117C7EE25F2309E1CE1F2C79001610C348DBAAAEA97E87FC909B7126CF73 + 1D6C1A828DABBC60E5E175B18B537598634BB47973B04B5D78CD683DE518F881 + A8C1D2CCFC78CF704F7D67577357696E71B09B97F54B5D9D5B379E5DF9F5D6E9 + 9F2E1EFDEEE8E7973EFDFCF2A75F5E39F4E5B7DF5CFCE5EBB3D72F5FB977FDD6 + A33B0FF59F1B58BFB6B077090B084B8F0BCB8A4F29CBCBAB11E5D78ACA1A25B0 + E5ADA1AFB1A8B544D45131B1320EF1D55525548A81BD1410A1C6C38729B369DA + 082AE0D4FA028B781FDFF87037230783AB777F3E7AF6D8BF9F3CFA8F9F4F5E7E + 71FE81EE4B3D57FBACC8A76FAC229A73650A58B2454DC238880C4AFAED950FA7 + FE251B3DDE78319D642FB40248D33CB10EF31211E80F83CD9F76A209259007D8 + 7EBF205B74AB8A81B468182808EE14768B7DC561094DA56B989F0A2E219E2E43 + F863BB6BBACBBD22C8B4CA43A714CF81AB1EAF43DDC6B23CA4280C1638DCCBCB + 64CFC9A30AEA29D32DE1A0F7132B530E8591B7E2DC9E66DB1B8ADC5E96D81B40 + CA4729AC955A3F2BB17F9A6BFD24D12CA33B17FD1A727F9C60D3FA6A645A048F + 00FF022B40EEF6DADCF2D4F0446B6D4B757995B8A8222731252924C2DFD6CE5E + F7356CE0B7D33779FACBFDDF2E5FBB76F1CAE5AF2F9DFAE2AB5387BE3CF5C5A1 + A39F7C76F82F874F7EFACD892F7EFAF2D0F523B093E9F8D5CBDF3DFCE1879757 + 1F9ADE7C69F6F313938766B64F2CEDF55C5D9CC27D1DC3BCDD22FD7CE343E372 + 92B32AF2AABA6BB2EA8A6DD3C21DCB4261FF646A4D4EFFE4707357777A72B6BB + A3F78D9BCFBEBFF2F4BB9357BF3E79EDF8857BDF3F347089881437D5BE9B1B5B + 56ACC23A06F5C7D5240163448A7AA1BE618D2FD894A82EA6C1E6620C61FC78F2 + 166D97F2F744C0DB2C1E4FBCA5A3D7FC7900A9F91A13980119993D657625DE03 + 4BFDD06FD8F0B6A65CA55B53546B7248E985C5EAE9F5C99CE1124B898F51A5BB + 279CCBD7531E5F9799589589BE0396E7C1DAEC8C2D9809133C2AB184E84F61C2 + 10142EDDD9AE9B1C30CEF2FD2DD6D100CEB2A8F3799C65F6AAC8F14589CFD322 + 671D919BAED84BB7CC3DA7BB7062E91D6C19026F05F08D8171F4A9609318E6A0 + 118B803B8F3519828618E8FC11F2943621736559BEB2B03A363C3ED833383638 + DA52D7525FDB58562AB6B1713534B60E0F898C098908F4F27776F4B4353077D2 + 3374D03534BAF740F7E6AFAF6EDC7AF8DD0F6038EF5DB87EE58B0B17FF72EEFC + E7678F7D79F2E8E1EFCF1CFFF5D4A1EB673EBFF6F9A5FB9FFFF8F0FCCD57F79E + 9B3F7E6A78E9EBEF2F9C3CF7C33737CF9FB972F2C4B9535F9C39F2D9B75F7E79 + F5CC99BB577E7A6D64ED9B90939F535E2A6DABEF19EB1F9A1D195B1A07E6DBA5 + 19621AA887A711D1D90F40F462462A3CB6E86B9E7E987AD38FFE34802806D189 + 815332B6B6DF2D8E9A177B44B6BDC18C30724E3BA67C93C36F56379692EB321D + CB7D4D2A61FF947B60E39B8E89415260737B1952AAD1D1C1F5235C855C97B167 + A366187EE88D38B71A2753680CA19C1E39366B686AB8ACA72AA60BCE4282EC0E + 2F6358372D74801D1D2F72ADF44A9CCD6A024C6A61EAEE5A3E28869C3F4278B8 + F4891E1A4E86D13B862ED051A06984E45E74A5825A1FB2EAB06B5A79A5648A88 + 65CD76706737121D3DD85BBDDAA19E42C29C6A637175757A71656A012A940F0D + 8CBEEB7D575B5DE3FF26CC22C1E9B1BFDDCB608F57FE1E4F7DEC7EB137F9FE81 + C16B5D736F5BDB474F5E5FBAA377F9B1D1BDFBCF1E5D3D77FB875397CF1E3BF3 + E5675FFDFDB343FFF6D9E7FFE3CB4FFE0D629BDF9E3FFFCBD98BBFFE70FDF1ED + 6786A64ECE0919E9B2CD75EC0CC103B34D022325C00773771880E8F8F390A2D7 + F008A372819F8376A6D24E088C1F0D91E0F0C0A1688414DE74E5EBE739430638 + 5C095B99CA7BC5708661F948B5776B3424570434C5473764D48EB5AD6F41980D + 4A8DE33146B3CBD3CBEB4B184AC3B2BF18B23D00FEF481717305A9A60B5B6748 + 3A03D91EB4B303B582DAE77AD3FBA4C665DE2F4BED8C442E0EF5215EAD7150AA + DCB8DA57BFD2CBA8D43BAE3DB365B675716D0A27E30823B2CB96AC53317D5013 + 0E8D88B35FB56F8CD331441BEE3E5241E014B7426F61755F58FE1B991A21FB58 + C9DC8CECA927717472A61CFE62E95EC422A88E4A092DCC6CCE795647EB973A9B + D67B393487BA37C4FA55277957C6C57664BF69C9EB5B18866F417112F3B240DF + EA37532BF3F215D9C2D4FCC4E0C450E760457E496258B0BBB5A1F16FB77EFCE2 + D3EF3FFDEC9BBF7EFAED3FBEFCFA33C897F9EED34FCEFE7AFB59753D16AF1530 + 0AFB93214360A418D368F2B1D62BD9F5FF2C80C85E19182A1891818561AB52FF + D096641C358522A022068E973329F480534BDDA5D1A5DD0DCB323C3695EE491D + 591CF3AD8930CDF3B029F02F1B95020C49E1B383569529B630A288FBF351ECB8 + 21157676617504984C63E94FB09935C32D6F3A8A1DCAC31C1BA24DAB039FE4DB + 1B16BB423286452D9E53F9BAC0C92CCFB37840B4B90DC9D71079203B90D90FB3 + 59BB0680BE41B99D6C1524D34212E1C40578886A293656E46B63331350BB18AE + C5BC0D4039095B61DD11C830A4BFC07C948CC054A3EFB893DB5B7A23E9E5933C + 2B9D5CBBE0DA84F6B99EB9F539487124A24540C3166F7B69F09322BBAC41917A + A7210937F082DC9229DF750D956717457B7A19DDBD7DE5D017E7FEFD3FCEFFFD + C8A7FFFDEF17CE5C9A989C14D08F805DD46A436FB9FB030F489127608DFF6400 + D19B927A9A4498E822ABE25B725C6A23876606C1EF9994CF8775258734271775 + 4B17D6D7500230AA3035819AD2DB1B71CDE93AF9B6915DA950934A37DD2EA236 + 7562690CCA0EA945C54DC7E8B3B17FF113B2BC449F1827692AA8E384C1118263 + 74AE216433BA3C9DD32F71AE08372DF636AB097A966FFBBAC8CEBE2918F2E75F + E14E64F798B6F4D1D551A57215C48BED80E4F128493269240B55D8368D83D345 + 15423CB8B485578095DE585A5E5C5898872B4187605F0A009BD941AC9486E68F + C08F2E769159247E1D4740D539DF6D9AEBF920C3DA303F2A7DB029B1BD34401A + 53DE5131BD3CB92C9BDB585D0170BF5B9D84DD703EB53113B2197013F1000D2C + 1ABA89B525C9520F3A6EBB27DB8174818CDFF5BC2B790B5B1AAC2DF58C234222 + 5656560416472BC1335AD26AD4346124B88CFEF9FB0CC4BEC6B7C83A44B10CC7 + E1C47666C7B465C836970052ED333DB523EDA4D2C4077059006528E3F71FC0A1 + 76AB8B729546CCAFCF8387D431DEED501AE65EE28B135432E0D474107E511FAB + 466D2D5DD3A6AF2919D037F90006FA65244005779A5F5FEC991DAD1E6FCDEC2D + 7712475AD5843D2BF37A54600313C067C5F6A6A51E6E650129DD79F5D3CD334B + 60D7C82181E49B3C815304A0F881517027B46266697A64E61DA4DE4229349490 + 8677C9AB2FED2A3408DFC6E8985231B83868571A782FCBFC71B675D1700D56BB + 926DC26A8668A0C6A2CCC7AAD07362766453294F1E2809687BDB33FB0EED352E + E3EFED0F64CFCE51270E9C40D8748C84CFB2AB9CBCEC7806D22A6801F3090CDC + 7F1A8060F65832506B5D1BFAA631156E093EC6F8FC0CADBD8AF685D49780F76B + DE35EA95785954064F2E62792178A77EB4D5B0D063706D94920D7D1E928FA5DE + 88C4CC39FD94E75EC1C3D3E52B7AB414247A61A8580E9163E5D8CA4C5A6BA94B + 69A4777DBC6D75886995BF798DCFF302AB572247BD0A27C80084CED1D509CC27 + E1B6371088A0F703EB1B98F3FC1EF22ED6D7556BE38B13B05D9AB1231D628144 + 59DF10E524BFA36EB2DD5C147A37C5FCB7442338D6DEAF3EBC7FA243B9B442D3 + 3E8A86AA939A2B0069EDB37DE0C90548E3214B9A4C5508176A6CCBE2C9802295 + 7213BE227949F4020662FA27EBEA7EDCC35FB61F030920F53BE55D3401C87AC6 + C6084B22C132C5D6A6636DD88374D3A1C511322521E16328BDF35EB9B036B7A1 + C41A83E5FDD5BAC59E2E759150ED9BD80ED5E8E23BA3FA08BBEC80D9A929B880 + 96A7203CB41798664FC5EE489F5FF34F627EE8111DE4B0C4DD6A5A9066B22A5B + 5C58996B9B1CCCEA92428D2C8B125F3DB13754CD958C35A29C5464CF35671738 + 4080FDC0F21D537353EB1BB2B6E1F62C513EF83ABC0805DCCCFA46FD36C86E1E + 5C7E6756E2733FDFFE45B19349858F751D9CA9181A5691BDB8B9021EA46C6359 + B50E9381B5E9B5293769C0933CF3CA815A143F31D70882DD3AA92CB423802F03 + 10450F039C00289AFD14308AC0DD618013BC600A032FFEC4345E53C9A80CE114 + 34E49A0F1F4A6019B9CC3FB517CA88A2561105DA062731AC3C6E66651601D425 + B12AF77796060E2F0CD3820DA3B271BD52B7B08A24586CDAE51E35800463C48C + 3A7B9F17215537F40D489F8050487629ACE8623093FAC30829724027ECAA025A + 0A2CCE10F5C12607281A813E3571F2D507E0ED8D23698EE47CC9E757E621D5AB + 67A46F116210C4075373A6062F52B1815071197867A7B1BBCE2AD7EF4EBAE5ED + B7060FD32CA1C08899C8BBA0AF46B6B1B9A15AF7AA0C4EEF2C80E1DA585F75AA + F67D5669E75D9B34BD3283A9E5B07A4B527FD095221AC526CF5484FCBF8C81D4 + 6ED2AEFBC84B4D132E0703880E354FB1F435555D7AF77F0640029CD2F1023D83 + 2958CE70CD8B02EB8A4109C998FA30B734EB200E0F6949C4AEA8B606C67B7D1B + 62ED6B825A463BC80E9EF7B99D5531356FC088F0634105A3F96C3CE508D143B8 + 87E49A12CF575DB78AA8231E9DA8F699884B81497D18ACC2E0372EB1C1848AAE + D8D3ED321F912E31227295BC6FA47F7A619AEE2444C5203376E2E1635769E799 + 83420784FEC0B4DFBD32FCC11BD327790E8FF23C740B3D615B12A44C558EE166 + 4BE82714D0AC1F6C8516B27ACA9E94DB9B56F8B54DBEC3D660511E00444A4DC3 + 1DA9D8E80FBD1D1D0DC6497F16406C00058FCCE0C2469B5EC94B841FFC3F0720 + AD7255DF008FC8500C2E0C19177859897C6656A720C17E6C6EC2BC3030B5BF04 + 175FD73707E6875EE6C3385AB7CFF6E2C36F6FF7BC1B9C5F9D87FCADDA81BACA + 7E49ED50EDFCD2189E004402F3B4DA1742804C9404CA443BA30555740AAE8E57 + A94D00195FAC3A46FD029C5DA1A524AFD51EB41AB56CBCC885C46127B32AC6DB + 9412588D30D62B4A0FD02829CC08F58870AFE0ECFADCAB3CA70779B6B0BBE895 + D8FFB7703BEFA2D080FA44EB8AB0B4EEEC9CBEE2827E09A059FC4EAA2B763096 + F86734A9ABB7E01140EA59A15A7E0200F1FDA4E3C0FF30856422E3E984419047 + 890049CC0DD7F4DC7941FC09005125D004EC9EE1C0EA298AA23E70749CE35BD3 + 152A19C026B3B738BA2D6573651EF2EB4A7B2B1FE7D8DCCB74A81AC6A823CA80 + F8ADC3B323D5C39DA24E496475968B24BF7048B2AE5AC1E123CBC9E8D1A0B26A + 019026BB7EC41FBB0FCA46560B6F7181105ECF046AA7A9AFBC60E8A7EA4922CE + B9B14E35D95FA89C93CF65B59586D5673BE405FAD6BD158D36AC6CAEAC6F29E2 + 9B739E67587B4863E04CA055F98A6385DFCB4A077751CCAA0226AD7BF177DA73 + 36FDE441433F62B0607FD26B0456827F7021CBEE7EC67F8577B6586B0205A6D7 + FF0900F1E3CB7782941425B3674C6456C0E17D41D509BA254E6FFAF2617DA3B4 + BD1456CB2DCB7C937B0AADCA035F55F8BE2EF4AEE8ACA30022D951E068E33A03 + C490943259D3740FA491074AA29795506E07BD16525CE6A31F8A6336528221D3 + 1CBB3F05205E3BD98D78ED67A8E5E1CB3004608762C2402A23B2910049545E77 + 190947BF8798B5A8BBA1A0B51CAA458146C038BDEDADEE591E8107CCEC2B32A9 + F1B59204B78FF7E0C5BBC860CF280087400D045AAD391A02C560E3C3D30F8FB9 + 8FB8F6E3A1A6DFE595475DDE85EF84A07FBC3CF827A1336D6C4EED4EA249C06C + 438512CE270C6A4E74A88F1E5E186D1C687E9AE7F5B0D0EA49B6D5AB5217BD12 + 4F97F2C825B2F847E60EC490638810CF9C83B032B4503FD3A39FED1955958CB3 + 72391EEE4C87806E8ED1547D5E2F050F4FC74573C405EFD36BD8BF07A82F1306 + DF269304B205A6D441F2D3564263E6BD4C13AF96B875A51C1C44CC87DF51E536 + 9514B615837903832E87B2D5AA95ECEE229D025BEBDA909291162CB72F83FDDD + F8C30C87E08918EB68A51CD62B81D4B432900040FCA3B141D65412011CFF0480 + 986AD2B16698C3CE51B76377160DAFDB47DBAC4561F9A35532D54A66679B7E5E + B47945B061AE57B824B37F6698F81E7B394024D8027952644D0C9C1ED5566C43 + 8659812704D9D42D734CFEBF0F20A66D0260B1E7FAE8D1342ED21C775EE9319C + 895184ED9195C9E4EE22E312AFF096E435C5128ED0FB1D99722DA02CA276A281 + 94B153D48F37E88A9D750AED626A5331FF972C79C028D2E1656152D6058A2ADE + BEF0A68087DA01003A80CF784DD01C1CF6CE3FC9403C18851604870D9F9CE208 + 2C92726929635004671BE6B614C036B1A1F1B186E1D6BED9613C0F052617642B + 34393C41EDCDD20281903506111160A4C6D95628AF593DDC8237A22166747A21 + AF956CFAE1B3D1C863D1E1264B106A7752A0285A555030224C6607208C35CB8C + 1A8EE66E081BBAD03CDD16521559D85D0A5164F9BABCA85F0207C5C54B923660 + 2D19E8794B11DB925536510FED8C4C0E38D5443ECAB5F12A8F58522CE13E4C5A + A08154B963EA2A60507A5F4D8E1450C50100FA5D64B03164CF28F80AEB03BCBF + C74002B513409B7F1ECD8F04EFC03882432357ACC7F55640758B37ADE9D405C6 + 9D763234492B1B0BA281EAE6D1561C5392A50EEB93446FD50B3D55FD52D88D90 + 3F84A96AB08C5D3FD9D035D70387CFE32977C4B7067F6B8FF8705EAD3E0B97A4 + 25D3529E7B7ACC038537829A6260530FCA014C23D9E3B3D932598F526FFBC21C + F00F3BC34BC3B087CB421CA49FE36451EE9DD12D56C2394E0AD5D0FC986371A8 + 774D14941C49EDCD7F946E96DB570E2CEB2D8ABC5F621750FB66797585DE8EED + 7517748CFDC94B94D93201D4B49A360139318808DEA7AB438CFF0E801A1BA8FF + 7C00C15DC9A409D301175667DD443146E5BE8D938D48DA5090F73DAE69948DD6 + 3CCB74A89B6AC575285C2585852619211AD46598C5C0395C70DA417D17046477 + CA07A5FAC5DE77B3CCDDC521AD531D6B4ABC125716D5FB63480890468030B243 + 27DDF8CBDB5C7E2CF63382BCDE0BC68E17212ECA93682F521E3CA90A477C6965 + D6AE20F06185D5DB4E914CBEECDFF0D6A1296E593E8BE11C991CEA4686893303 + CA339CA46FECB2433A865B933A521F15983B55878F2DCC3006A53ACCF84FC03D + 0262104C9478D614405F404E6AB6D6D8572FB42ADC10085A600305EFAB01443B + C75FA79581F867D37A01ED04AE3E2280B05AD4F4FA4278536E4C5BCAC0D2203D + 361BB6370457273E2F706F9EED26E74262A97B7817396443B52593D5CEB43934 + 8646F717AEAEAECE4C0FD99406863664D577B6D58EB485B4A59A157A2436A68C + CC0F91F4204203B8279A049AC93E103C975E239F9C8E86E6506AD557CDD160D2 + 222BBEF843BE48766200B1AA54508C24A022FEA5C8D5A2D80D0A4379492374CB + 1DDD44816D731DB0108C1409A5CD617F2516DADACCEE2EBE9F6B0AA58FFAA1CC + 19AE15AA27078CF0B49A0C062F5629813D8E0013025ED114AB5606D2142EF7A4 + 8279F0DE84636F1ACF3ABD9F85FADD0B78CD8681A589160091D9B999E48E2283 + 2CE7C2BE322C4AF75ED53BDB97D65E2CEEA9C515693C69849008A6642806263A + CD4A3D0CAA3D935BF26160A716A69AA73B3761E8979781A916E52B150375B605 + 81E6C5DEC98D59A3B2313CD70D05496327340C4D163476358CB759025BC6FF29 + D07B813AD147835BE0411F84DFA8BF35219BCE68CB5D595F84B760A1A3A2AFE9 + 459E8D5E9597BB34A16CA026B0365D27DDBEE91D29E748567B6069A264A8F675 + A19B4D79D8201C2C44CE7AC57C348A47F5528CDA520960C4F4FE0006A5C8103C + 8B663B9A006558D1FC2EED98261DD22BFF0F02880C33AE5382A3B3A6908537BD + D5C9B34E6CCF040F1B98096A2D163617CF2C8E42CD3C62C5A030FB6AFB62A76F + 6D8C41B93B1468868C7D6801AC1ED82C78AD80135031A90F2D63CB6C9B618933 + 1CBC6298E9FCB6260B741A8F61206128F514867A541F5B319EA2B5D2270F1AF6 + 9A3A044CBA7BDA4C1AAF1E6D7A9165DD3CD181E9AF90BDAADC88ABCE7C5EE80C + C70E4146C0DCF2BC41BE7B6657296E3A58585E964D87D725BECC77B22CF1EB9E + 9E44E581339D3EAED5C210C0E0C20B9B1965D6250114986BA2C6201726DDCFA0 + F3773C007C5A0104D77F74E425EDCD7E0CC4DE17749A7F5F3DBE5472D03C716A + F0FCDB35F9BC62D9BB26014A86574ED4A9D65601452B1B4B0353BDE2BEEAAA89 + E6ACFE22CFB250C8B870AE89F516C50D63E1982DD5FAC6E6CC4CE95075F5BB26 + 72AC389EA30D28496E4D37287377964688C6EB5A86DAA04A3D3050456F6D5853 + 464A6F61CD445DDF54D7AA7C9E81808E264201478BB85A787A159613219B3630 + 1988D02559E820FEB87A530E7C84069164AA92B4A155C552CF448768B43AAFB7 + 0C7A333A356A50EC96FEAE9CCCB0B091D5CDF5B8B6BCA7793685EFCACBBBCA13 + BAB3C697E16423E5CCDA8C4F6DC4E37C2BF78AF081D921E80CECFCC1A3E6F066 + 7B93737C9FAB97C06CCD012CA28975DEF45089301AA60D0A4C397F1781F93BE0 + BEF44A0410C51DFBF9A701B4AFED230909F0E9CAC66A7243AE71B65B6A47CED4 + EA14CE5895AAAEE9FECC0191A7243CA939B76B69B071AC0556C708A360761824 + DFB835C7BCE92D9043391598FCEFEC74CDF40437C57B34250CCE8EE070438EB3 + 02D76261E7909324E46589EDBD5403835CB7849652704D04B4AF1E5984074946 + 23BF68FE306B87BC496A17E19117343511D26D37A00C23E4A6A0791D9A1F7617 + 87EBA4D86019D742E7AEC57E8807FAD527F8B626C186148C8622FE20515A165A + 8DB9475EA2C4999545B8E9C4EA78407DF4AB12C788960CA893AC76A0A81BCEFD + 0884C7A42E88FD681A205E87597BB4713A023C80B462825DA08936763DDF5586 + 99FF3F00849688648382E55ADD5CA91C693111791A6439F62D0D509602271A4E + DADA54E0040D018D2B1860F830C123A3B6C25E1CE85D1BF7B6B9A873A64FB639 + 5F3C2C766F8CCB1928271612A983AC8D43699E8DC8F6FCD762178FA69892D1E6 + AEC9093693570F224D15527B309028485C34E2EC937258781C0BDD8B411AA409 + 95405798EC8189F2EF9531C07CC55E49FD550D33EDF9BD15B9AD6590CA523822 + B5130740DE019219F83A84A8FAE787CBFA6A71616B67A77512BD3AEBE680F086 + CC995538041E7F78A5E7CD0D2F486610186DEC277BADAACB78888E2A43A70022 + 8C8D34ED177B8735C543997E8A5B9B05F0FCE30CB42FE57C6C0749FE03C9F082 + 5912B96DD5648773598463857F5267169C05014123E44172DC9A7A620395F014 + 4BC0523DE3A3138B6310C0AD196F77C989B44D77F36E49F0A98E5F24C5722834 + 51D37036B715DE9A0B8BDEFED268ACBC0C68E066C5841AD4C750A2F1C2634A71 + 018E6EC40178038FC9B764E3AB63F3708827D97382E93C1447648F35647CBB34 + 467AD5C26153D3B43E84128E2CDADAEA98E9B52DF599952FA02680C5C3F39E48 + 9DAD4DC5CC32D49CC8B5ACF07D98659ED657065539D10D87B3C03E1E73FA174F + 3FBCBC79CBA069259801E14948803C1E76EC46077312F5A518CD3000D18EF1F7 + DAF3817E17375ABBB81FF6F9F749D89E1C644CF32CC0E86CEFCCC897826A6375 + 72ED73872A5092701A326EF8C12313E005A4D9C35E9CB72D39E88993FC46C8F1 + 18597D07A74CDA3585C3AE17B273068FE451C781DFEFACADAF78D6C43ECBB32E + 1BA8C238112EA2A947819239F9F7036E0DC3442DC5AC6CAA6F69A87DBEB77CA8 + 3A44141D2A8DF5AD0C3148B7B7C90900CE80D014042B4929319A2ABB33313702 + 87E1D954864E2C8EE3F637526301186D7E7DC1BED80B4F2080ADF248650AE5CA + F2D69A0C5256CCCABD9F945A42064B5A6B219466C05D9198DE8BC9FCF0437B45 + 71C304C6CB8CBDD64498569B259037336102DE6294C3DB264DB3A895ED183459 + 07F666613C791E0C264D3D105C2FC429911E598920FBF4C8DE07186EA837553A + 5C1BDAF836AD2B0B76B3639E289D896FBF9F5B9C312EF38DEBCEC42D38589019 + ED48FFDC9071A9B77989C7D8DC3BB26A860E28CDEA810EF44EF65B55079BD7F8 + 0D2D013981D181E443B5A5A0E2C113F3804FA09EF7D636CC9BCC21BDABDC49B7 + C215BE6258EE69290DB2A90D3190B83AD445150FD460094C2CF548B6E460640B + 7E647EB56F9FE63B36CCC23921641725093E6DA836EC8B3C2A875BE1CD4DA8A1 + A1502ECB97E2BAD29EE49B3FCDB1B12A0F291BACC75383D601B69B98E6A152E7 + 3DF2126260E2A5FBC70124E0183AFE023CF1706193359E5AB48A552BB03E6220 + 6AD518A96A65B6034C95002BCC6A6A7E85EF1FBA2F6023C88A58F7EC905B518C + 41A947664FD18A628930E707882CD68E74788A22537BF2DA17BAC14901602577 + E4E8895C0BFA2B88E92107FC90C23E58B27367676479CC4AE2E728095E91AF23 + 5C88754344923EE1BF24BA48D7AD24038D31CD99A11D59B13DF9B9A395693D25 + 6FDACAF2866A0B06A5399D1523AB9364D3236288501C6A003C51F7D8F0F3743B + 6771E0E2C63CC005CE280AAD8A2F1E94360F36348DF4C13B1B7279DFD2B06F5D + D49D0C63EB0AFFE281EAC1F9714A6058CF16E79058574AD334688E1B631DDE77 + D18485A6EA6A928480AE7824310A14B44CDF871F1E1E0259D34FF77C20DE0C0B + D8EF3F05401F19352246741A60490B0E4897CF170DD5443724A77667A6B5678F + CDBF03D681EB071787C26ADF1865B80554C7944E549988DDAD0B3D47E7C6E0BB + 3001464A816D7BA48A09BC231A94BE9638FA37C7A17A91E147BD80255EBA5C0B + 3FB8B70F77210292963757BAE7FA3A267BA657A7E1A017A8FC0C09A474AB3C1C + 454DA28574D73CC1335959A3C82E1AAA3528F308EE48A8E81197F5D7B997C60F + 2F4C62FEF2FBF76DA32DAE700C6FA1B591D83DBA33736C19D63148EE2C7C7F13 + 99095B20933B4DEB20302B07780B8C56B5AAFAC1C6813C82FAEE8C32E89B14A6 + 82171455EC2B9A30808FD44B19E8DC9142600C71FC43FEA703880E22112CA610 + C1EC0CFCE8A995C9D8A654BD1C27EFA698BAD13A20187CAAF73B73ABF3A2C186 + 909A58837C97F8967440017E0B2C8A52DE3ED002755FD0B7D854058A63EF1699 + 07D724A9BD63B2150D790ECB409181A389A838510702836A641BEAD57B753135 + 72282CB54DA4C0051D6AB2C4468344F8ABDC5265779698147A063767B5CF0D41 + 563CB438269B4A69CAD52BF2785C6EEB298928E9A99643C951DCC12AEF9CEF1C + 591B45271F5691A1B003D93222100C131213AA40CCBCEA6B652F1E0D7F848118 + DF0860C410C618E8779D1961249A7F06E6D93193295014FE62C6B4073C00EB0D + 2106E2D2522F18F75CC1CE4B388879BB7EBADFB932F84986796C5746FF6CEFF8 + F418DE055842A16C186EF32B8B170FD4D2CD15B0B06A96E939221B05A9C3FEAF + F8CE3CEBDAC0D29E6AC02278E2B04D1572237156440184B444EF86DE1075C5E8 + 0E18EE97AA1B250978856B6D14E6780D4EDCB0F81AF47B76697165636D6E6DBA + BA07360925C3411677520DDC5B92323B6A2617A7F06E30E152AAC664E33A6FED + 424469904540367D60400C9BDDFDA1037B006D080693918426450980C5DA6450 + E0DF39E062BE4BFC7729B3F08E3F6D4498D2CADF861932011E050C4CDB15BCF9 + 3BC8A5D821B686103B9129BE83DE1F44A893EBD23D6A22DCEBA3DCAA82DB17DB + E55BB8FF9C7CB436BE3401B0806FB58E76BCCCB2F5AE8E6E9BEC164F547B3445 + 40FADFDCC602EE0E960DF99644963455225A88BF8DFC412896CDDBF035C10446 + A5E105541401577DF7071F07E3462458A406113182643F24C49C6A06AAAD733D + A030EFCB622F1B71686C75CAD0E2181E960B47A043C2219EA5063BF755D57DCD + 0373638026125C22B7DF4DD0D50A027A7FC1471F59FF5D1BA475C0056F32FCED + 87184DF8F2EF68F684B6C3ECDD47006244CA6886F784F86710680CEBE5C1CAA4 + D9825A7EB8B71C8BC5C0EE55F425E829EAAAF7D30B7319AD85E6059E416D89D1 + 8D6F022BC3F27B4AD6D79760AA8FEE1BA4ECAFCBCA46A491EDE9B6F941BA05F6 + BA158E26E5EEB0D05DDE5F692BF2BCF7D6B866A099C280B20FADF042D72E882A + AB6D285E408807F58040042789C407276146DCDB859C8F9B7954134BC3791D45 + 0E15C14FA1B055B9A7476D8C74A265057251486D173CFE80AC4E403408F7B413 + B491B8284C02C82A2CFD3FF9A1E2D12A5A4D0051B169DA3E5EE1B5A287DD4BAB + D4F6FB0AEB15DF1341AF840CF491F251AF93FC086E2C3055742078AE3B784434 + 8D201B9A8F1046280A7E2617671AA7BB82EA939F9438DC4B370BA8896D99EBE8 + 9CEC82936C40164BB2D5AE77BD73F2F9FEC589DA89CEFC5E716C53466843B2A7 + 242EA6AD109614C8792658DB000F79C6F3766980991E8D82B5F5E902BEFAC464 + F58206AD2B4BA90A65BC285B68854AF29D597014EBCB3CFBC759962665FE618D + 3975E36D50A446ED2BED0E9360D0E8F8089E9171361D4C5EA19936EE37507C6B + 9A43C7C4C1EECB44C30B54AB7DE0B128705A0440E79BFAFD4377F976354747C0 + 786C3804D016F458A0379ACF434F32C1912782841AA98333130DC33D108FF691 + C6C2F139B0EB23AA3E29A125BBB4AF86465F688D042A4EA89F0AFB3E497E0775 + 63702102D34688CF436440DC119A9206F1425ACA87FCE2D7B7E473F2E9CEB98E + 8CD69CB76D19CEA25058547F966DAF5BE81AD35D9AD121E99B1E80FD8878FD5E + 8852AD6902C1F3F860A34701C4A4F24F0048932134C790416D3F12625DD5640A + 4D68EE4725FB028835218008DF104F3C02ECFF41F6E2158EBF11C90E22FF03E9 + 82DB0AD601AA93E24C78A767B63FBBAB38501A6592E3F23ACFD9A4C4D3B2C0DD + A6C423B135AD72403A30D533B930B2AE5C01C4C03189702E0C42056BADD27037 + 4ECA761D2FE8233013AE68CCCBE7FAE7FA9B27DB4B062B327A0BDCCB83CDF23D + A06215EC973014B9D84883DFF696374F0D8CCE4FC18970248B0DBB442BAC697D + 52C6CABC4631C5E545CB034E93ABD8F830466168F85D079C758C7FA169B3F8FE + 6B768C375B5ABBF73BC51568BF79A6D5EC01336AEC3236524CB7F6C3D34766EB + E328050D9710CF836CF4C4041F12D2217D82E40A381D726475A672BC29A4F18D + 6191C78B528747B96666E51E0EE2408F9A28FFE6B70E521FEFBA50C8532EEA2B + CF6B2F84F2B139DD45C9AD69B14D6F92BA32021B62BDAA23ECCB7D1D257EBA45 + 4E4FF22CEFE718DEC9307D9E6F6F5F15E2268D8CE9C82EEAAF1A5A9A185E9E92 + 6FA98F458365161291447C43781A10A9696B78CDE65599C99E299E8036342524 + 901FFFE7EFC6EAA8EC04F326063B1ECD820E33110BDEFFDF0510CF3102BB7680 + 4912A80E4F399A768DD11BBED805107954128C21B33DF46AA0E40506A389BB8D + 6918AAC9B5F9A6C9FEBA89AEC699BE92D15AAFAA18B3721F932A5FB36A7F7D91 + 8769958F81C4ED7EAEF973A8A058E2F8ACC0EE6589E3AB62473DB1FB937C3BCB + 4A7F8F9A68FFEAB8B4DEA262C83D1A6F9BDE989F97430A1B547CC04C23C42BD6 + 2B52C78270533DD9A146DCAA8FCA74F0FAC61E5CD3F7643AC988EA00A068B6C3 + 1495A9AEA6C5E155971F674D4BC49B1A866C5AFD5ED073011DD0A6B42CA6F200 + E42954D06FBE2B9AB4A4F51DF6154D83AD7598F6949BB9F2E0DDE244097D61F8 + 0A4EB070124EA44843039893BF35B7BE30BC345E3FD4D532D6D738D19D5A5F98 + D15E52D42F85105F5197B46EAC7D6065B47AB029B74D54DE57D3BF30B2285F96 + 6DC871B97ED77D560F166994CDFDE10F7C7FF746E8A171264C608C78E616102D + A322A6939A34C6D3156F59F8EF0ABEA5C976F41DF62F6D87A18436C547617863 + A7A9DE5A652A04107FD17E96882151D0A200B05AEF07D76892276B5013585ADF + A18FCD24C4A3FC2358EF065480B320CE4323494C6BE105667D60A51FB5EBCDDA + E18961BF67DC6F10349F5A809E8F58965CADA98A747BCD016AC95B13BE054D11 + D0013FB8B7FCB70420631FEDC7175A0024100CC32F7B9E7F1A409A9D1074FD8F + 0048D01F81B0D1DAED6671E06E07DCA441B2F6C99C8B7AD358909BFC92E01E4D + 2AC3AED1AD1C0234FF1100F15A71008018DFF0886798E60747AB7FC35FF0C701 + C40684E71EC6348CB4F817FC95FF3C80E8A0F0C3C1949E35CAA6A39A82D7DA09 + D64BC6AB6CA4F871E4298AFF0ACF1F07BCCF4687C6BA81AA50C749E2997A9542 + 5D8BF1039650257B5EE9F41FAFDCFD11389B07DC4E930B193E18DBD177785932 + DAE0AF61C3C2BAC1AB07FD94A98740CFF7EB8640ED79A0085A60C34EAF6118D5 + EC038F8A7D194813403CEA7F972AB40288FFD67E547980C6FF41003150AAD7B4 + A8F0B8DF3DF150A7877C4425FC4F00888A418015AD8861A0113C23FFA726FDB3 + F61980E803B201E4054F6F21D07C0668BE030C16FCDDF91D675A01247804B8E6 + 4F00482BCD30440B3E3D18405493A8460A00FE47A0C98F08AF52F4FD3D00411A + 065D6EDB1DE33D149108235E49F302F600A61ECFDFD5167EDCB50248F34D4D05 + D094C71F89EEF083C6BAB11F8805E8E4D9FDCF3210ED2D0F5F7807E34082867E + 5784FC059AE378C0D7B56A9E405D188DFF916E3024F116F0802E094653F0F583 + EFC8345EA0339A0FF547548251C57E6C41C7613F7ADB4F99B5F20A932FCFFAAC + DB4C55341F643F5062E9ACDD42B0FFCCAE0C0180780A3D58060275616324E83A + 4FDA07C351C0130285D67A3B2639DAF2EF320DEB8026D0B58EEF1F6990EAB156 + 75D25409AD14F26701C4835E73B4E9A7FBF5472BC4D9C5FF1F948ED15692D85C + CB0000000049454E44AE426082} + Stretch = True + OnClick = Image2DblClick + OnDblClick = Image2DblClick + end + end + inherited ActionList1: TActionList + Top = 16 + inherited actAceptar: TAction + OnExecute = actAceptarExecute + end + inherited actCancelar: TAction + OnExecute = actCancelarExecute + end + end +end diff --git a/Source/Modulos/Presupuestos de cliente/Views/uDialogOpcionesImpresionPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uDialogOpcionesImpresionPresupuestosCliente.pas new file mode 100644 index 00000000..c08f5e56 --- /dev/null +++ b/Source/Modulos/Presupuestos de cliente/Views/uDialogOpcionesImpresionPresupuestosCliente.pas @@ -0,0 +1,81 @@ +unit uDialogOpcionesImpresionPresupuestosCliente; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uDialogBase, ActnList, StdCtrls, ExtCtrls, jpeg, dxGDIPlusClasses; + +type + TfDialogOpcionesImpresionPresupuestosCliente = class(TfDialogBase) + Image1: TImage; + Image2: TImage; + procedure actAceptarExecute(Sender: TObject); + procedure actCancelarExecute(Sender: TObject); + procedure Image1DblClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure Image2DblClick(Sender: TObject); + private + FVerSello: Integer; + public + { Public declarations } + end; + + function ElegirOpcionesImpresionPresupuestoCliente(var AVerSello : Integer): Boolean; + +implementation + +{$R *.dfm} + +function ElegirOpcionesImpresionPresupuestoCliente(var AVerSello : Integer): Boolean; +var + AEditor : TfDialogOpcionesImpresionPresupuestosCliente; +begin + AEditor := TfDialogOpcionesImpresionPresupuestosCliente.Create(NIL); + try + Result := (AEditor.ShowModal = mrOk); + if Result then + begin + AVerSello := AEditor.FVerSello; + end; + finally + AEditor.Release; + end; +end; + +procedure TfDialogOpcionesImpresionPresupuestosCliente.actAceptarExecute(Sender: TObject); +begin + inherited; + ModalResult := mrOk +end; + +procedure TfDialogOpcionesImpresionPresupuestosCliente.actCancelarExecute(Sender: TObject); +begin + inherited; + ModalResult := mrCancel; +end; + +procedure TfDialogOpcionesImpresionPresupuestosCliente.FormCreate( + Sender: TObject); +begin + inherited; + FVerSello := 1; +end; + +procedure TfDialogOpcionesImpresionPresupuestosCliente.Image1DblClick( + Sender: TObject); +begin + inherited; + FVerSello := 1; + actAceptar.Execute; +end; + +procedure TfDialogOpcionesImpresionPresupuestosCliente.Image2DblClick( + Sender: TObject); +begin + inherited; + FVerSello := 2; + actAceptar.Execute; +end; + +end. diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm index 2db9c50f..0b93a199 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.dfm @@ -183,6 +183,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente object pagContenido: TTabSheet Caption = 'Contenido' ImageIndex = 1 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 inline frViewDetallesPresupuestoCliente1: TfrViewDetallesPresupuestoCliente Left = 0 Top = 0 @@ -212,77 +216,82 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente inherited ToolButton4: TToolButton Left = 278 Top = 0 + Wrap = True ExplicitLeft = 278 ExplicitTop = 0 end - inherited FontName: TJvFontComboBox - Left = 334 - Top = 0 - ExplicitLeft = 334 - ExplicitTop = 0 - end - inherited FontSize: TEdit [5] - Left = 479 - Top = 0 - Width = 200 - ExplicitLeft = 479 - ExplicitTop = 0 - ExplicitWidth = 200 - end - inherited ToolButton14: TToolButton [6] - Left = 679 - Top = 0 - Wrap = True - ExplicitLeft = 679 - end - inherited UpDown1: TUpDown + inherited ToolButton14: TToolButton Left = 0 + Wrap = False ExplicitLeft = 0 end + inherited FontName: TJvFontComboBox + Left = 65 + Top = 22 + ExplicitLeft = 65 + ExplicitTop = 22 + end + inherited FontSize: TEdit + Left = 210 + Top = 22 + Width = 200 + ExplicitLeft = 210 + ExplicitTop = 22 + ExplicitWidth = 200 + end + inherited UpDown1: TUpDown + Left = 410 + Top = 22 + ExplicitLeft = 410 + ExplicitTop = 22 + end inherited ToolButton13: TToolButton - Left = 17 - ExplicitLeft = 17 - end - inherited ToolButton6: TToolButton [9] - Left = 25 + Left = 427 Top = 22 - ExplicitLeft = 25 + ExplicitLeft = 427 ExplicitTop = 22 end - inherited ToolButton7: TToolButton [10] - Left = 91 + inherited ToolButton6: TToolButton + Left = 435 Top = 22 - Wrap = False - ExplicitLeft = 91 + ExplicitLeft = 435 ExplicitTop = 22 end - inherited ToolButton8: TToolButton [11] - Left = 158 + inherited ToolButton7: TToolButton + Left = 501 Top = 22 - ExplicitLeft = 158 + ExplicitLeft = 501 ExplicitTop = 22 end - inherited ToolButton12: TToolButton [12] - Left = 241 - Wrap = False - ExplicitLeft = 241 - ExplicitHeight = 22 - end - inherited ToolButton9: TToolButton [13] - Left = 249 + inherited ToolButton8: TToolButton + Left = 568 Top = 22 - ExplicitLeft = 249 + ExplicitLeft = 568 ExplicitTop = 22 end - inherited ToolButton10: TToolButton [14] - Left = 394 + inherited ToolButton12: TToolButton + Left = 651 Top = 22 - ExplicitLeft = 394 + ExplicitLeft = 651 ExplicitTop = 22 end - inherited ToolButton11: TToolButton [15] - Left = 519 - ExplicitLeft = 519 + inherited ToolButton9: TToolButton + Left = 659 + Top = 22 + ExplicitLeft = 659 + ExplicitTop = 22 + end + inherited ToolButton10: TToolButton + Left = 804 + Top = 22 + ExplicitLeft = 804 + ExplicitTop = 22 + end + inherited ToolButton11: TToolButton + Left = 929 + Top = 22 + ExplicitLeft = 929 + ExplicitTop = 22 end end inherited cxGrid: TcxGrid @@ -316,6 +325,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente object pagPortada: TTabSheet Caption = 'Portada' ImageIndex = 3 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object Panel1: TPanel Left = 0 Top = 0 @@ -448,6 +461,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente object pagMemoria: TTabSheet Caption = 'Memoria' ImageIndex = 4 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 object Panel2: TPanel Left = 0 Top = 0 @@ -751,6 +768,10 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente object pagInicidencias: TTabSheet Caption = 'Incidencias' ImageIndex = 2 + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitWidth = 0 + ExplicitHeight = 0 inline frViewIncidenciasCli: TfrViewIncidencias Left = 0 Top = 0 @@ -854,28 +875,28 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente ExplicitWidth = 764 ExplicitHeight = 125 inherited Bevel3: TBevel - Left = 385 + Left = 358 Top = 80 Height = 75 - ExplicitLeft = 385 + ExplicitLeft = 358 ExplicitTop = 80 ExplicitHeight = 75 end inherited Bevel4: TBevel - Left = 497 + Left = 470 Top = 122 - Width = 147 - ExplicitLeft = 497 + Width = 192 + ExplicitLeft = 470 ExplicitTop = 122 - ExplicitWidth = 147 + ExplicitWidth = 192 end inherited Bevel1: TBevel - Left = 497 + Left = 470 Top = 238 - Width = 147 - ExplicitLeft = 497 + Width = 73 + ExplicitLeft = 470 ExplicitTop = 238 - ExplicitWidth = 147 + ExplicitWidth = 73 end inherited Bevel2: TBevel Left = 130 @@ -899,27 +920,27 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente Width = 87 end inherited ImporteIVA: TcxDBCurrencyEdit - Left = 568 + Left = 541 Top = 157 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 568 + ExplicitLeft = 541 ExplicitTop = 157 ExplicitWidth = 20 Width = 20 end inherited ImporteTotal: TcxDBCurrencyEdit - Left = 498 + Left = 471 Top = 211 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 498 + ExplicitLeft = 471 ExplicitTop = 211 ExplicitWidth = 90 Width = 90 @@ -936,49 +957,49 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente ExplicitTop = 107 end inherited edtIVA: TcxDBSpinEdit - Left = 497 + Left = 470 Top = 157 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 497 + ExplicitLeft = 470 ExplicitTop = 157 end inherited ImporteBase: TcxDBCurrencyEdit - Left = 497 + Left = 470 Top = 80 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 497 + ExplicitLeft = 470 ExplicitTop = 80 ExplicitWidth = 91 Width = 91 end inherited edtRE: TcxDBSpinEdit - Left = 497 + Left = 470 Top = 184 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 497 + ExplicitLeft = 470 ExplicitTop = 184 end inherited ImporteRE: TcxDBCurrencyEdit - Left = 568 + Left = 541 Top = 184 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 568 + ExplicitLeft = 541 ExplicitTop = 184 ExplicitWidth = 20 Width = 20 @@ -1022,9 +1043,9 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente Width = 20 end inherited bTiposIVA: TButton - Left = 237 + Left = 210 Top = 161 - ExplicitLeft = 237 + ExplicitLeft = 210 ExplicitTop = 161 end inherited cbRecargoEquivalencia: TcxDBCheckBox @@ -1040,25 +1061,25 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente Width = 158 end inherited edtRetencion: TcxDBSpinEdit - Left = 497 + Left = 470 Top = 258 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 497 + ExplicitLeft = 470 ExplicitTop = 258 end inherited edtImporteRetencion: TcxDBCurrencyEdit - Left = 568 + Left = 541 Top = 258 Style.LookAndFeel.SkinName = '' Style.IsFontAssigned = True StyleDisabled.LookAndFeel.SkinName = '' StyleFocused.LookAndFeel.SkinName = '' StyleHot.LookAndFeel.SkinName = '' - ExplicitLeft = 568 + ExplicitLeft = 541 ExplicitTop = 258 ExplicitWidth = 20 Width = 20 @@ -1085,6 +1106,7 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente ExplicitLeft = 21 ExplicitTop = 29 ExplicitWidth = 277 + ExplicitHeight = 0 Width = 277 end inherited eDescripcionBonificacion: TcxDBTextEdit @@ -1096,6 +1118,8 @@ inherited fEditorPresupuestoCliente: TfEditorPresupuestoCliente StyleHot.LookAndFeel.SkinName = '' ExplicitLeft = 367 ExplicitTop = 29 + ExplicitWidth = 325 + Width = 325 end inherited eImporteBonificacion: TcxDBCurrencyEdit Left = 449 diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.pas index 760b2059..9cd50935 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestoCliente.pas @@ -107,7 +107,8 @@ implementation uses uViewDatosYSeleccionCliente, uDataModuleUsuarios, uClientesController, - uBizDireccionesContacto, uDialogUtils, uFactuGES_App, uDataTableUtils; + uBizDireccionesContacto, uDialogUtils, uFactuGES_App, uDataTableUtils, + uDialogOpcionesImpresionPresupuestosCliente; {$R *.dfm} @@ -296,10 +297,21 @@ begin end; procedure TfEditorPresupuestoCliente.ImprimirInterno; +var + AVerSello: Integer; + bPrevisualizar: Boolean; begin inherited; - if not Modified then - FController.Print(FPresupuesto); + bPrevisualizar := True; + + if (AppFactuGES.EmpresaActiva.ID = 1) then + //Preguntamos si desea que en los presupuestos se vea el Sello de Paco u Oscar, + //solo para empresa Tecsitel + bPrevisualizar := ElegirOpcionesImpresionPresupuestoCliente(AVerSello); + + if bPrevisualizar and Assigned(FPresupuesto) then + if not Modified then + FController.Print(FPresupuesto, False, AVerSello); end; procedure TfEditorPresupuestoCliente.OnClienteChanged(Sender: TObject); @@ -346,10 +358,21 @@ begin end; procedure TfEditorPresupuestoCliente.PrevisualizarInterno; +var + AVerSello: Integer; + bPrevisualizar: Boolean; begin inherited; - if not Modified then - FController.Preview(FPresupuesto); + bPrevisualizar := True; + + if (AppFactuGES.EmpresaActiva.ID = 1) then + //Preguntamos si desea que en los presupuestos se vea el Sello de Paco u Oscar, + //solo para empresa Tecsitel + bPrevisualizar := ElegirOpcionesImpresionPresupuestoCliente(AVerSello); + + if bPrevisualizar and Assigned(FPresupuesto) then + if not Modified then + FController.Preview(FPresupuesto, False, AVerSello); end; function TfEditorPresupuestoCliente.PuedoEnviar: Boolean; diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm index a16130de..33c4bb67 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm +++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.dfm @@ -2,7 +2,6 @@ inherited fEditorPresupuestosCliente: TfEditorPresupuestosCliente Caption = 'Lista de presupuestos de cliente' ClientWidth = 805 ExplicitWidth = 813 - ExplicitHeight = 240 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas index 26418562..02d24a1f 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas +++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosCliente.pas @@ -99,7 +99,7 @@ implementation uses uDataModulePresupuestosCliente, uDataModuleUsuarios, uFactuGES_App, uEditorBase, uEditorDBBase, uDialogUtils, Dialogs, - uDBSelectionListUtils, uGridStatusUtils, + uDBSelectionListUtils, uGridStatusUtils, uDialogOpcionesImpresionPresupuestosCliente, uGenerarFacturasCliPreCliUtils, uEditorFechaDecision, // uBizAlbaranesCliente, uAlbaranesClienteController, // uFacturasClienteController, uBizFacturasCliente, @@ -490,9 +490,12 @@ var Respuesta : Integer; APresupuestos: IBizPresupuestoCliente; AllItems: Boolean; + AVerSello: Integer; + bPrevisualizar: Boolean; begin APresupuestos := Nil; AllItems := False; + bPrevisualizar := True; if MultiSelect and Assigned(ViewGrid) then AllItems := (ViewGrid.NumSeleccionados > 1); @@ -518,8 +521,13 @@ begin else APresupuestos := Presupuestos; - if Assigned(APresupuestos) then - FController.Print(APresupuestos, AllItems); + if (AppFactuGES.EmpresaActiva.ID = 1) then + //Preguntamos si desea que en los presupuestos se vea el Sello de Paco u Oscar, + //solo para empresa Tecsitel + bPrevisualizar := ElegirOpcionesImpresionPresupuestoCliente(AVerSello); + + if bPrevisualizar and Assigned(APresupuestos) then + FController.Print(APresupuestos, AllItems, AVerSello); end; end; end; @@ -559,9 +567,12 @@ var Respuesta : Integer; APresupuestos: IBizPresupuestoCliente; AllItems: Boolean; + AVerSello: Integer; + bPrevisualizar: Boolean; begin APresupuestos := Nil; AllItems := False; + bPrevisualizar := True; if MultiSelect and Assigned(ViewGrid) then AllItems := (ViewGrid.NumSeleccionados > 1); @@ -587,8 +598,13 @@ begin else APresupuestos := Presupuestos; - if Assigned(APresupuestos) then - FController.Preview(APresupuestos, AllItems); + if (AppFactuGES.EmpresaActiva.ID = 1) then + //Preguntamos si desea que en los presupuestos se vea el Sello de Paco u Oscar, + //solo para empresa Tecsitel + bPrevisualizar := ElegirOpcionesImpresionPresupuestoCliente(AVerSello); + + if bPrevisualizar and Assigned(APresupuestos) then + FController.Preview(APresupuestos, AllItems, AVerSello); end; end; end; diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.dfm b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.dfm index f8558264..bc2b72a2 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.dfm +++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.dfm @@ -1,7 +1,5 @@ inherited fEditorPresupuestosClientePreview: TfEditorPresupuestosClientePreview Caption = 'Previsualizar el pedidos proveedor' - ExplicitWidth = 320 - ExplicitHeight = 240 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader diff --git a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.pas b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.pas index ed033bf9..f475589b 100644 --- a/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.pas +++ b/Source/Modulos/Presupuestos de cliente/Views/uEditorPresupuestosClienteReport.pas @@ -24,20 +24,31 @@ implementation {$R *.dfm} uses - uPresupuestosClienteReportController, uIntegerListUtils, uDialogUtils; + uPresupuestosClienteReportController, uIntegerListUtils, uDialogUtils, + uFactuGES_App, uDialogOpcionesImpresionPresupuestosCliente; -procedure TfEditorPresupuestosClientePreview.actExportarRTFExecute( - Sender: TObject); +procedure TfEditorPresupuestosClientePreview.actExportarRTFExecute(Sender: TObject); var I: Integer; + AVerSello: Integer; + bPrevisualizar: Boolean; + begin + bPrevisualizar := True; + // inherited; <- No llamar al padre if not Assigned(Controller) then raise Exception.Create('No se ha asignado el controlador necesario'); - for I := 0 to ListaID.Count - 1 do - if (Controller as IPresupuestosClienteReportController).ExportToWord(ListaID[I]) then - ShowInfoMessage('El presupuesto se ha exportado correctamente.'); + if (AppFactuGES.EmpresaActiva.ID = 1) then + //Preguntamos si desea que en los presupuestos se vea el Sello de Paco u Oscar, + //solo para empresa Tecsitel + bPrevisualizar := ElegirOpcionesImpresionPresupuestoCliente(AVerSello); + + if bPrevisualizar then + for I := 0 to ListaID.Count - 1 do + if (Controller as IPresupuestosClienteReportController).ExportToWord(ListaID[I], '', AVerSello) then + ShowInfoMessage('El presupuesto se ha exportado correctamente.'); end; end. diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL index 34c42447..dfbb966f 100644 --- a/Source/Servicios/FactuGES.RODL +++ b/Source/Servicios/FactuGES.RODL @@ -302,6 +302,8 @@ + + @@ -310,6 +312,8 @@ + + @@ -326,6 +330,8 @@ + + diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas index 86c13cf6..6059f5df 100644 --- a/Source/Servicios/FactuGES_Intf.pas +++ b/Source/Servicios/FactuGES_Intf.pas @@ -542,10 +542,10 @@ type { IsrvPresupuestosCliente } IsrvPresupuestosCliente = interface(IDataAbstractService) ['{8A06D5A7-8461-4F6E-8A8B-EC49C84C45D1}'] - function GenerarInforme(const ListaID: TIntegerArray): Binary; - function GenerarInformeEnWord(const ID: Integer): Binary; + function GenerarInforme(const ListaID: TIntegerArray; const VerSello: Integer): Binary; + function GenerarInformeEnWord(const ID: Integer; const VerSello: Integer): Binary; function GenerarCertificadoTrabajosEnWord(const ID: Integer): Binary; - function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary; + function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary; end; { CosrvPresupuestosCliente } @@ -558,10 +558,10 @@ type protected function __GetInterfaceName:string; override; - function GenerarInforme(const ListaID: TIntegerArray): Binary; - function GenerarInformeEnWord(const ID: Integer): Binary; + function GenerarInforme(const ListaID: TIntegerArray; const VerSello: Integer): Binary; + function GenerarInformeEnWord(const ID: Integer; const VerSello: Integer): Binary; function GenerarCertificadoTrabajosEnWord(const ID: Integer): Binary; - function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary; + function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary; end; { IsrvPedidosProveedor } @@ -1757,12 +1757,13 @@ begin result := 'srvPresupuestosCliente'; end; -function TsrvPresupuestosCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray): Binary; +function TsrvPresupuestosCliente_Proxy.GenerarInforme(const ListaID: TIntegerArray; const VerSello: Integer): Binary; begin try result := nil; __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInforme'); __Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); + __Message.Write('VerSello', TypeInfo(Integer), VerSello, []); __Message.Finalize; __TransportChannel.Dispatch(__Message); @@ -1774,12 +1775,13 @@ begin end end; -function TsrvPresupuestosCliente_Proxy.GenerarInformeEnWord(const ID: Integer): Binary; +function TsrvPresupuestosCliente_Proxy.GenerarInformeEnWord(const ID: Integer; const VerSello: Integer): Binary; begin try result := nil; __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnWord'); __Message.Write('ID', TypeInfo(Integer), ID, []); + __Message.Write('VerSello', TypeInfo(Integer), VerSello, []); __Message.Finalize; __TransportChannel.Dispatch(__Message); @@ -1808,12 +1810,13 @@ begin end end; -function TsrvPresupuestosCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary; +function TsrvPresupuestosCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary; begin try result := nil; __Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnPDF'); __Message.Write('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); + __Message.Write('VerSello', TypeInfo(Integer), VerSello, []); __Message.Finalize; __TransportChannel.Dispatch(__Message); diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas index de7822e7..ef1ddeb3 100644 --- a/Source/Servicios/FactuGES_Invk.pas +++ b/Source/Servicios/FactuGES_Invk.pas @@ -903,9 +903,10 @@ begin end; procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GenerarInforme(const ListaID: TIntegerArray): Binary; } +{ function GenerarInforme(const ListaID: TIntegerArray; const VerSello: Integer): Binary; } var ListaID: FactuGES_Intf.TIntegerArray; + VerSello: Integer; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin @@ -913,8 +914,9 @@ begin lResult := nil; try __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); + __Message.Read('VerSello', TypeInfo(Integer), VerSello, []); - lResult := (__Instance as IsrvPresupuestosCliente).GenerarInforme(ListaID); + lResult := (__Instance as IsrvPresupuestosCliente).GenerarInforme(ListaID, VerSello); __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPresupuestosCliente', 'GenerarInformeResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); @@ -933,17 +935,19 @@ begin end; procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerarInformeEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GenerarInformeEnWord(const ID: Integer): Binary; } +{ function GenerarInformeEnWord(const ID: Integer; const VerSello: Integer): Binary; } var ID: Integer; + VerSello: Integer; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin lResult := nil; try __Message.Read('ID', TypeInfo(Integer), ID, []); + __Message.Read('VerSello', TypeInfo(Integer), VerSello, []); - lResult := (__Instance as IsrvPresupuestosCliente).GenerarInformeEnWord(ID); + lResult := (__Instance as IsrvPresupuestosCliente).GenerarInformeEnWord(ID, VerSello); __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPresupuestosCliente', 'GenerarInformeEnWordResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); @@ -989,9 +993,10 @@ begin end; procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); -{ function GenerarInformeEnPDF(const ListaID: TIntegerArray): Binary; } +{ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary; } var ListaID: FactuGES_Intf.TIntegerArray; + VerSello: Integer; lResult: Binary; __lObjectDisposer: TROObjectDisposer; begin @@ -999,8 +1004,9 @@ begin lResult := nil; try __Message.Read('ListaID', TypeInfo(FactuGES_Intf.TIntegerArray), ListaID, []); + __Message.Read('VerSello', TypeInfo(Integer), VerSello, []); - lResult := (__Instance as IsrvPresupuestosCliente).GenerarInformeEnPDF(ListaID); + lResult := (__Instance as IsrvPresupuestosCliente).GenerarInformeEnPDF(ListaID, VerSello); __Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPresupuestosCliente', 'GenerarInformeEnPDFResponse'); __Message.Write('Result', TypeInfo(Binary), lResult, []); diff --git a/Source/Servicios/RODLFILE.res b/Source/Servicios/RODLFILE.res index 9c1b0691..02ed7955 100644 Binary files a/Source/Servicios/RODLFILE.res and b/Source/Servicios/RODLFILE.res differ diff --git a/Source/Servidor/FactuGES_Server.RES b/Source/Servidor/FactuGES_Server.RES index afea69f4..0daf3df8 100644 Binary files a/Source/Servidor/FactuGES_Server.RES and b/Source/Servidor/FactuGES_Server.RES differ diff --git a/Source/Servidor/FactuGES_Server.dproj b/Source/Servidor/FactuGES_Server.dproj index f4f3655d..46b5b2c5 100644 --- a/Source/Servidor/FactuGES_Server.dproj +++ b/Source/Servidor/FactuGES_Server.dproj @@ -35,7 +35,11 @@ Delphi.Personality -FalseTrueFalse/standaloneTrueFalse1820FalseFalseFalseFalseFalse308212521.8.2.01.8.2.0jueves, 24 de junio de 2010 13:44 +FalseTrueFalse/standaloneTrueFalse1830FalseFalseFalseFalseFalse308212521.8.3.01.8.3.0jueves, 24 de junio de 2010 13:44 + + + + ExpressPrinting System by Developer Express Inc.