From dd9a8741185145a3240799dc0e893cec70f921a6 Mon Sep 17 00:00:00 2001 From: Zaher Salman Date: Tue, 8 Jun 2010 12:15:23 +0000 Subject: [PATCH] Devel and main branch are identical at this point --- src/external/MuSRFitGUI/devel/MuSRFit.pl | 689 ++++++++++------- src/external/MuSRFitGUI/devel/MuSRFit.ui | 840 ++++++++++++--------- src/external/MuSRFitGUI/devel/MuSRFit.ui.h | 66 +- 3 files changed, 925 insertions(+), 670 deletions(-) diff --git a/src/external/MuSRFitGUI/devel/MuSRFit.pl b/src/external/MuSRFitGUI/devel/MuSRFit.pl index d637c421..a7b9d30e 100755 --- a/src/external/MuSRFitGUI/devel/MuSRFit.pl +++ b/src/external/MuSRFitGUI/devel/MuSRFit.pl @@ -1,6 +1,6 @@ # Form implementation generated from reading ui file 'MuSRFit.ui' # -# Created: Tue Jun 8 13:35:32 2010 +# Created: Tue Jun 8 13:53:29 2010 # by: The PerlQt User Interface Compiler (puic) # # WARNING! All changes made in this file will be lost! @@ -10,7 +10,7 @@ use strict; use utf8; -package MuSRFitform; +package MuSRFitformR; use Qt; use Qt::isa qw(Qt::MainWindow); use Qt::slots @@ -131,24 +131,35 @@ use Qt::attributes qw( FILENAME textMSROutput FourierPage - FUnitsLabel - FApodizationLabel - FPlotLabel - FUnits - FApodization - FPlot - textLabel1 - textLabel1_3 - textLabel1_3_5 + FourierBox FrqMin - textLabel1_3_2 - textLabel1_3_6 - textLabel1_2 - textLabel1_3_3 - textLabel1_3_7 - FrqMax textLabel1_3_4 + textLabel1_7 + textLabel1_3_5 + FUnits + textLabel1_3_6 + FApodization + FrqMax + FPlot + FUnitsLabel textLabel1_3_8 + textLabel1_3_7 + FPlotLabel + textLabel1_2 + FApodizationLabel + textLabel1_3_3 + FPHASE + textLabel1 + RRFBox + textLabel1_6_2_2 + textLabel1_6 + textLabel1_6_2_4 + RRFFrq + textLabel1_6_2_3 + RRFPack + textLabel1_6_2 + RRFUnits + RRFPhase T0Page groupHist0 textLabel2 @@ -180,7 +191,7 @@ use Qt::attributes qw( Bg24 Data14 Data24 - ConstPage + TabPage TheoryBlock_Label TheoryBlock ParametersList_Label @@ -191,7 +202,7 @@ use Qt::attributes qw( AddConstraint textLabel2_2_3_4 FunctionsBlock - textLabel1_6 + textLabel1_6_3 ResetFunc MenuBar fileMenu @@ -260,6 +271,57 @@ our $image0_data = pack 'C*', our $image1; our $image1_data = pack 'C*', +0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x00, + 0xce, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xd5, 0x53, 0xc9, 0x11, 0xc3, + 0x20, 0x0c, 0x5c, 0x31, 0xf9, 0xb8, 0x24, 0x28, 0xc5, 0x8d, 0xb8, 0x06, + 0x37, 0xe2, 0x52, 0xe4, 0x92, 0xfc, 0x54, 0x1e, 0x19, 0x65, 0x98, 0x8d, + 0x15, 0x98, 0xd8, 0x3c, 0xb2, 0x2f, 0x21, 0xc1, 0x6a, 0xd1, 0x21, 0xaa, + 0x8a, 0x11, 0x48, 0x6e, 0x2c, 0xf3, 0x64, 0x1c, 0x5c, 0xe6, 0xc9, 0x6a, + 0x3f, 0xdf, 0xf1, 0xf3, 0x99, 0x3f, 0xb9, 0xb1, 0x6e, 0x87, 0x30, 0xc9, + 0xba, 0x1d, 0xc2, 0xfe, 0x08, 0x9c, 0x24, 0x39, 0x01, 0x00, 0x44, 0x24, + 0x67, 0xf1, 0xfa, 0x5d, 0x1d, 0x73, 0x5f, 0x62, 0x12, 0xbe, 0xc8, 0x89, + 0x98, 0x20, 0xc2, 0xa3, 0x96, 0x1f, 0x29, 0xed, 0x21, 0xaa, 0xef, 0xbf, + 0x15, 0x7b, 0x2d, 0xeb, 0x40, 0x4f, 0x5d, 0x9b, 0x8a, 0xa3, 0xec, 0x4e, + 0xde, 0xa3, 0x96, 0x21, 0x43, 0xe7, 0x38, 0x97, 0x62, 0xb9, 0x94, 0x4b, + 0x5f, 0x67, 0x88, 0x01, 0xb6, 0xab, 0x8a, 0x27, 0x70, 0xfb, 0x32, 0x31, + 0x97, 0xe2, 0x2e, 0xf2, 0x8f, 0x39, 0xde, 0x55, 0xe5, 0x8e, 0xb2, 0x84, + 0x0b, 0x32, 0x84, 0xb8, 0x47, 0x75, 0xab, 0xe1, 0x3f, 0x29, 0xf6, 0x3e, + 0x44, 0x02, 0x72, 0x29, 0x26, 0x00, 0xc2, 0xac, 0x06, 0x80, 0xbb, 0xd8, + 0xf2, 0x19, 0x5e, 0x3f, 0x6e, 0x2e, 0x48, 0x3d, 0x25, 0xdf, 0x26, 0xc6, + 0x95, 0x7b, 0xbc, 0x6b, 0xf3, 0xf8, 0x51, 0x0f, 0xc6, 0xae, 0xf4, 0x5f, + 0x11, 0x3f, 0x01, 0xc3, 0xec, 0xa5, 0x79, 0xcd, 0xbc, 0x94, 0xf7, 0x00, + 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; + +our $image2; +our $image2_data = pack 'C*', +0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, + 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, + 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x00, + 0xd7, 0x49, 0x44, 0x41, 0x54, 0x38, 0x8d, 0xbd, 0x54, 0xc1, 0x0d, 0x83, + 0x30, 0x0c, 0x3c, 0x47, 0x7c, 0xba, 0x05, 0x6b, 0xc4, 0x52, 0x3b, 0x08, + 0x8b, 0x74, 0x06, 0x16, 0x61, 0x14, 0xf3, 0xcc, 0x38, 0x3c, 0xd3, 0x47, + 0xe5, 0x2a, 0x4a, 0x13, 0x48, 0x2c, 0xe0, 0x3e, 0x90, 0x93, 0x7c, 0x9c, + 0xcf, 0xc1, 0x24, 0x22, 0xb8, 0x02, 0xf4, 0x1c, 0x43, 0x9c, 0x97, 0x8d, + 0x94, 0x78, 0x4f, 0x8f, 0x38, 0x2f, 0x1b, 0xe9, 0x53, 0x39, 0x00, 0x50, + 0x3e, 0x17, 0xc9, 0xf9, 0x79, 0xd9, 0x68, 0x00, 0x00, 0xcf, 0x1c, 0x01, + 0x60, 0x15, 0xa1, 0xbc, 0x28, 0xff, 0xc0, 0xd1, 0xbb, 0x9e, 0x5d, 0x4d, + 0xb0, 0x84, 0xb4, 0xf8, 0x08, 0xc3, 0xaf, 0xd5, 0x31, 0x00, 0x13, 0x76, + 0xdb, 0xec, 0x16, 0xd6, 0x02, 0xcf, 0x1c, 0x5f, 0x63, 0xa8, 0x3a, 0xcd, + 0x5b, 0xde, 0x83, 0x4b, 0x0f, 0xb5, 0x8c, 0x5b, 0x5d, 0xa6, 0x18, 0x4a, + 0xa4, 0x67, 0xfe, 0x46, 0x83, 0xb6, 0x28, 0x4a, 0xb7, 0x82, 0x00, 0x44, + 0xc9, 0x9c, 0x7a, 0xe6, 0xd8, 0x3a, 0xd0, 0x1a, 0x5c, 0x89, 0x5c, 0x45, + 0x48, 0xaf, 0xe0, 0xa9, 0xc2, 0x67, 0xa0, 0x2a, 0xac, 0xae, 0xad, 0xce, + 0x77, 0x1d, 0xaf, 0x22, 0x64, 0x8d, 0xa5, 0x29, 0x0a, 0x8b, 0xf8, 0xfd, + 0x19, 0xdf, 0x26, 0xdc, 0x3b, 0xcc, 0x2e, 0xc7, 0x3d, 0xc3, 0x34, 0x45, + 0xd1, 0xe2, 0xde, 0x9c, 0xb1, 0xfe, 0xf2, 0x35, 0xf1, 0xe2, 0x12, 0xb2, + 0x8a, 0xa7, 0xfb, 0x85, 0x80, 0xff, 0xe5, 0x6e, 0x45, 0x2a, 0xf4, 0x01, + 0x19, 0x04, 0x97, 0x00, 0x1e, 0x10, 0xdf, 0x32, 0x00, 0x00, 0x00, 0x00, + 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; + +our $image3; +our $image3_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x02, @@ -326,8 +388,8 @@ our $image1_data = pack 'C*', 0x4b, 0x59, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image2; -our $image2_data = pack 'C*', +our $image4; +our $image4_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x03, @@ -419,8 +481,8 @@ our $image2_data = pack 'C*', 0x30, 0x7a, 0xb8, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image3; -our $image3_data = pack 'C*', +our $image5; +our $image5_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x02, @@ -486,8 +548,8 @@ our $image3_data = pack 'C*', 0x1a, 0xe0, 0xff, 0x0b, 0x36, 0xcf, 0x4c, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image4; -our $image4_data = pack 'C*', +our $image6; +our $image6_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x03, @@ -579,8 +641,8 @@ our $image4_data = pack 'C*', 0x8b, 0xbf, 0x01, 0xe8, 0x70, 0xcb, 0xc9, 0xb3, 0x58, 0x58, 0xb9, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image5; -our $image5_data = pack 'C*', +our $image7; +our $image7_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x03, @@ -666,8 +728,8 @@ our $image5_data = pack 'C*', 0xd7, 0x1e, 0x86, 0xe2, 0x2f, 0xe4, 0xea, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image6; -our $image6_data = pack 'C*', +our $image8; +our $image8_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x04, @@ -767,8 +829,8 @@ our $image6_data = pack 'C*', 0x06, 0x86, 0x58, 0x55, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image7; -our $image7_data = pack 'C*', +our $image9; +our $image9_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x02, @@ -823,8 +885,8 @@ our $image7_data = pack 'C*', 0x6d, 0x71, 0x21, 0x14, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image8; -our $image8_data = pack 'C*', +our $image10; +our $image10_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x02, @@ -883,8 +945,8 @@ our $image8_data = pack 'C*', 0xc1, 0xbf, 0x00, 0x24, 0x91, 0x01, 0xa1, 0xf6, 0x94, 0xe3, 0xca, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image9; -our $image9_data = pack 'C*', +our $image11; +our $image11_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x03, @@ -973,8 +1035,8 @@ our $image9_data = pack 'C*', 0xc4, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image10; -our $image10_data = pack 'C*', +our $image12; +our $image12_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x01, @@ -1015,8 +1077,8 @@ our $image10_data = pack 'C*', 0x55, 0x03, 0x46, 0xd4, 0xfe, 0x54, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image11; -our $image11_data = pack 'C*', +our $image13; +our $image13_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x02, @@ -1080,8 +1142,8 @@ our $image11_data = pack 'C*', 0x25, 0x79, 0xad, 0xb1, 0x85, 0x0a, 0xbe, 0x46, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image12; -our $image12_data = pack 'C*', +our $image14; +our $image14_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x04, @@ -1186,8 +1248,8 @@ our $image12_data = pack 'C*', 0xb9, 0x61, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image13; -our $image13_data = pack 'C*', +our $image15; +our $image15_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x04, @@ -1284,8 +1346,8 @@ our $image13_data = pack 'C*', 0x9f, 0xd3, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image14; -our $image14_data = pack 'C*', +our $image16; +our $image16_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x18, 0x08, 0x06, 0x00, 0x00, 0x00, 0xe0, 0x77, 0x3d, 0xf8, 0x00, 0x00, 0x02, @@ -1339,8 +1401,8 @@ our $image14_data = pack 'C*', 0xdd, 0x3e, 0xbd, 0xd4, 0x13, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image15; -our $image15_data = pack 'C*', +our $image17; +our $image17_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x03, @@ -1422,8 +1484,8 @@ our $image15_data = pack 'C*', 0xb8, 0x19, 0xf9, 0xe3, 0xb0, 0xa8, 0x92, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image16; -our $image16_data = pack 'C*', +our $image18; +our $image18_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x00, @@ -1449,8 +1511,8 @@ our $image16_data = pack 'C*', 0xb0, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image17; -our $image17_data = pack 'C*', +our $image19; +our $image19_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x00, @@ -1477,8 +1539,8 @@ our $image17_data = pack 'C*', 0x1b, 0x78, 0x58, 0xd2, 0x1f, 0x6a, 0x6c, 0x70, 0x02, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image18; -our $image18_data = pack 'C*', +our $image20; +our $image20_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x01, @@ -1507,8 +1569,8 @@ our $image18_data = pack 'C*', 0x7c, 0xbe, 0x7e, 0xc1, 0xd5, 0xa3, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82; -our $image19; -our $image19_data = pack 'C*', +our $image21; +our $image21_data = pack 'C*', 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x16, 0x08, 0x06, 0x00, 0x00, 0x00, 0xc4, 0xb4, 0x6c, 0x3b, 0x00, 0x00, 0x00, @@ -1577,10 +1639,14 @@ sub NEW $image18->loadFromData($image18_data, length ($image18_data), "PNG"); $image19 = Qt::Pixmap(); $image19->loadFromData($image19_data, length ($image19_data), "PNG"); + $image20 = Qt::Pixmap(); + $image20->loadFromData($image20_data, length ($image20_data), "PNG"); + $image21 = Qt::Pixmap(); + $image21->loadFromData($image21_data, length ($image21_data), "PNG"); if ( name() eq "unnamed" ) { - setName("MuSRFitform" ); + setName("MuSRFitformR" ); } setSizePolicy(Qt::SizePolicy(3, 3, 1, 1, this->sizePolicy()->hasHeightForWidth()) ); setMinimumSize(Qt::Size(21, 275) ); @@ -2244,231 +2310,277 @@ sub NEW $layout25->addWidget(groupTitle); textMSROutput = Qt::TextEdit($LayoutWidget_8, "textMSROutput"); - textMSROutput->setWordWrap( &Qt::TextEdit::WidgetWidth() ); textMSROutput->setOverwriteMode( 1 ); $layout25->addWidget(textMSROutput); musrfit_tabs->insertTab( MSRPage, "" ); FourierPage = Qt::Widget(musrfit_tabs, "FourierPage"); - my $LayoutWidget_10 = Qt::Widget(FourierPage, '$LayoutWidget_10'); - $LayoutWidget_10->setGeometry( Qt::Rect(5, 5, 545, 94) ); - my $layout33_2 = Qt::HBoxLayout($LayoutWidget_10, 11, 6, '$layout33_2'); + FourierBox = Qt::GroupBox(FourierPage, "FourierBox"); + FourierBox->setGeometry( Qt::Rect(6, 6, 547, 125) ); - my $layout26_2 = Qt::VBoxLayout(undef, 0, 6, '$layout26_2'); - - FUnitsLabel = Qt::Label($LayoutWidget_10, "FUnitsLabel"); - $layout26_2->addWidget(FUnitsLabel); - - FApodizationLabel = Qt::Label($LayoutWidget_10, "FApodizationLabel"); - $layout26_2->addWidget(FApodizationLabel); - - FPlotLabel = Qt::Label($LayoutWidget_10, "FPlotLabel"); - $layout26_2->addWidget(FPlotLabel); - $layout33_2->addLayout($layout26_2); - - my $layout27 = Qt::VBoxLayout(undef, 0, 6, '$layout27'); - - FUnits = Qt::ComboBox(0, $LayoutWidget_10, "FUnits"); - FUnits->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, FUnits->sizePolicy()->hasHeightForWidth()) ); - $layout27->addWidget(FUnits); - - FApodization = Qt::ComboBox(0, $LayoutWidget_10, "FApodization"); - FApodization->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, FApodization->sizePolicy()->hasHeightForWidth()) ); - $layout27->addWidget(FApodization); - - FPlot = Qt::ComboBox(0, $LayoutWidget_10, "FPlot"); - FPlot->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, FPlot->sizePolicy()->hasHeightForWidth()) ); - $layout27->addWidget(FPlot); - $layout33_2->addLayout($layout27); - - my $layout28 = Qt::VBoxLayout(undef, 0, 6, '$layout28'); - - textLabel1 = Qt::Label($LayoutWidget_10, "textLabel1"); - $layout28->addWidget(textLabel1); - - textLabel1_3 = Qt::Label($LayoutWidget_10, "textLabel1_3"); - $layout28->addWidget(textLabel1_3); - - textLabel1_3_5 = Qt::Label($LayoutWidget_10, "textLabel1_3_5"); - $layout28->addWidget(textLabel1_3_5); - $layout33_2->addLayout($layout28); - - my $layout29 = Qt::VBoxLayout(undef, 0, 6, '$layout29'); + my $LayoutWidget_10 = Qt::Widget(FourierBox, '$LayoutWidget_10'); + $LayoutWidget_10->setGeometry( Qt::Rect(12, 19, 525, 100) ); + my $layout34_2 = Qt::GridLayout($LayoutWidget_10, 1, 1, 5, 5, '$layout34_2'); FrqMin = Qt::LineEdit($LayoutWidget_10, "FrqMin"); FrqMin->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, FrqMin->sizePolicy()->hasHeightForWidth()) ); - $layout29->addWidget(FrqMin); - textLabel1_3_2 = Qt::Label($LayoutWidget_10, "textLabel1_3_2"); - $layout29->addWidget(textLabel1_3_2); + $layout34_2->addWidget(FrqMin, 0, 3); + + textLabel1_3_4 = Qt::Label($LayoutWidget_10, "textLabel1_3_4"); + + $layout34_2->addWidget(textLabel1_3_4, 1, 5); + + textLabel1_7 = Qt::Label($LayoutWidget_10, "textLabel1_7"); + + $layout34_2->addWidget(textLabel1_7, 1, 2); + + textLabel1_3_5 = Qt::Label($LayoutWidget_10, "textLabel1_3_5"); + + $layout34_2->addWidget(textLabel1_3_5, 2, 2); + + FUnits = Qt::ComboBox(0, $LayoutWidget_10, "FUnits"); + FUnits->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, FUnits->sizePolicy()->hasHeightForWidth()) ); + + $layout34_2->addWidget(FUnits, 0, 1); textLabel1_3_6 = Qt::Label($LayoutWidget_10, "textLabel1_3_6"); - $layout29->addWidget(textLabel1_3_6); - $layout33_2->addLayout($layout29); - my $layout31 = Qt::VBoxLayout(undef, 0, 6, '$layout31'); + $layout34_2->addWidget(textLabel1_3_6, 2, 3); - textLabel1_2 = Qt::Label($LayoutWidget_10, "textLabel1_2"); - $layout31->addWidget(textLabel1_2); + FApodization = Qt::ComboBox(0, $LayoutWidget_10, "FApodization"); + FApodization->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, FApodization->sizePolicy()->hasHeightForWidth()) ); - textLabel1_3_3 = Qt::Label($LayoutWidget_10, "textLabel1_3_3"); - $layout31->addWidget(textLabel1_3_3); - - textLabel1_3_7 = Qt::Label($LayoutWidget_10, "textLabel1_3_7"); - $layout31->addWidget(textLabel1_3_7); - $layout33_2->addLayout($layout31); - - my $layout32 = Qt::VBoxLayout(undef, 0, 6, '$layout32'); + $layout34_2->addWidget(FApodization, 1, 1); FrqMax = Qt::LineEdit($LayoutWidget_10, "FrqMax"); FrqMax->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, FrqMax->sizePolicy()->hasHeightForWidth()) ); - $layout32->addWidget(FrqMax); - textLabel1_3_4 = Qt::Label($LayoutWidget_10, "textLabel1_3_4"); - $layout32->addWidget(textLabel1_3_4); + $layout34_2->addWidget(FrqMax, 0, 5); + + FPlot = Qt::ComboBox(0, $LayoutWidget_10, "FPlot"); + FPlot->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, FPlot->sizePolicy()->hasHeightForWidth()) ); + + $layout34_2->addWidget(FPlot, 2, 1); + + FUnitsLabel = Qt::Label($LayoutWidget_10, "FUnitsLabel"); + + $layout34_2->addWidget(FUnitsLabel, 0, 0); textLabel1_3_8 = Qt::Label($LayoutWidget_10, "textLabel1_3_8"); - $layout32->addWidget(textLabel1_3_8); - $layout33_2->addLayout($layout32); + + $layout34_2->addWidget(textLabel1_3_8, 2, 5); + + textLabel1_3_7 = Qt::Label($LayoutWidget_10, "textLabel1_3_7"); + + $layout34_2->addWidget(textLabel1_3_7, 2, 4); + + FPlotLabel = Qt::Label($LayoutWidget_10, "FPlotLabel"); + + $layout34_2->addWidget(FPlotLabel, 2, 0); + + textLabel1_2 = Qt::Label($LayoutWidget_10, "textLabel1_2"); + + $layout34_2->addWidget(textLabel1_2, 0, 4); + + FApodizationLabel = Qt::Label($LayoutWidget_10, "FApodizationLabel"); + + $layout34_2->addWidget(FApodizationLabel, 1, 0); + + textLabel1_3_3 = Qt::Label($LayoutWidget_10, "textLabel1_3_3"); + + $layout34_2->addWidget(textLabel1_3_3, 1, 4); + + FPHASE = Qt::LineEdit($LayoutWidget_10, "FPHASE"); + FPHASE->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, FPHASE->sizePolicy()->hasHeightForWidth()) ); + + $layout34_2->addWidget(FPHASE, 1, 3); + + textLabel1 = Qt::Label($LayoutWidget_10, "textLabel1"); + + $layout34_2->addWidget(textLabel1, 0, 2); + + RRFBox = Qt::GroupBox(FourierPage, "RRFBox"); + RRFBox->setGeometry( Qt::Rect(6, 135, 547, 125) ); + + my $LayoutWidget_11 = Qt::Widget(RRFBox, '$LayoutWidget_11'); + $LayoutWidget_11->setGeometry( Qt::Rect(10, 18, 265, 100) ); + my $layout35 = Qt::GridLayout($LayoutWidget_11, 1, 1, 5, 5, '$layout35'); + + textLabel1_6_2_2 = Qt::Label($LayoutWidget_11, "textLabel1_6_2_2"); + + $layout35->addWidget(textLabel1_6_2_2, 2, 0); + + textLabel1_6 = Qt::Label($LayoutWidget_11, "textLabel1_6"); + + $layout35->addWidget(textLabel1_6, 0, 0); + + textLabel1_6_2_4 = Qt::Label($LayoutWidget_11, "textLabel1_6_2_4"); + + $layout35->addWidget(textLabel1_6_2_4, 2, 2); + + RRFFrq = Qt::LineEdit($LayoutWidget_11, "RRFFrq"); + + $layout35->addWidget(RRFFrq, 0, 1); + + textLabel1_6_2_3 = Qt::Label($LayoutWidget_11, "textLabel1_6_2_3"); + + $layout35->addWidget(textLabel1_6_2_3, 1, 2); + + RRFPack = Qt::LineEdit($LayoutWidget_11, "RRFPack"); + + $layout35->addWidget(RRFPack, 1, 1); + + textLabel1_6_2 = Qt::Label($LayoutWidget_11, "textLabel1_6_2"); + + $layout35->addWidget(textLabel1_6_2, 1, 0); + + RRFUnits = Qt::ComboBox(0, $LayoutWidget_11, "RRFUnits"); + + $layout35->addWidget(RRFUnits, 0, 2); + + RRFPhase = Qt::LineEdit($LayoutWidget_11, "RRFPhase"); + + $layout35->addWidget(RRFPhase, 2, 1); musrfit_tabs->insertTab( FourierPage, "" ); T0Page = Qt::Widget(musrfit_tabs, "T0Page"); my $T0PageLayout = Qt::GridLayout(T0Page, 1, 1, 11, 6, '$T0PageLayout'); - my $layout27_2 = Qt::HBoxLayout(undef, 0, 6, '$layout27_2'); + my $layout27 = Qt::HBoxLayout(undef, 0, 6, '$layout27'); groupHist0 = Qt::GroupBox(T0Page, "groupHist0"); groupHist0->setSizePolicy( Qt::SizePolicy(5, 5, 0, 0, groupHist0->sizePolicy()->hasHeightForWidth()) ); groupHist0->setMinimumSize( Qt::Size(0, 0) ); - my $LayoutWidget_11 = Qt::Widget(groupHist0, '$LayoutWidget_11'); - $LayoutWidget_11->setGeometry( Qt::Rect(5, 18, 100, 150) ); - my $layout16_2 = Qt::VBoxLayout($LayoutWidget_11, 11, 6, '$layout16_2'); + my $LayoutWidget_12 = Qt::Widget(groupHist0, '$LayoutWidget_12'); + $LayoutWidget_12->setGeometry( Qt::Rect(5, 18, 100, 150) ); + my $layout16_2 = Qt::VBoxLayout($LayoutWidget_12, 11, 6, '$layout16_2'); - textLabel2 = Qt::Label($LayoutWidget_11, "textLabel2"); + textLabel2 = Qt::Label($LayoutWidget_12, "textLabel2"); $layout16_2->addWidget(textLabel2); - textLabel2_2_2_3 = Qt::Label($LayoutWidget_11, "textLabel2_2_2_3"); + textLabel2_2_2_3 = Qt::Label($LayoutWidget_12, "textLabel2_2_2_3"); $layout16_2->addWidget(textLabel2_2_2_3); - textLabel2_2_2 = Qt::Label($LayoutWidget_11, "textLabel2_2_2"); + textLabel2_2_2 = Qt::Label($LayoutWidget_12, "textLabel2_2_2"); $layout16_2->addWidget(textLabel2_2_2); - textLabel2_2_2_2 = Qt::Label($LayoutWidget_11, "textLabel2_2_2_2"); + textLabel2_2_2_2 = Qt::Label($LayoutWidget_12, "textLabel2_2_2_2"); $layout16_2->addWidget(textLabel2_2_2_2); - textLabel2_2_2_2_2 = Qt::Label($LayoutWidget_11, "textLabel2_2_2_2_2"); + textLabel2_2_2_2_2 = Qt::Label($LayoutWidget_12, "textLabel2_2_2_2_2"); $layout16_2->addWidget(textLabel2_2_2_2_2); - $layout27_2->addWidget(groupHist0); + $layout27->addWidget(groupHist0); groupHist1 = Qt::GroupBox(T0Page, "groupHist1"); groupHist1->setFrameShadow( &Qt::GroupBox::Plain() ); - my $LayoutWidget_12 = Qt::Widget(groupHist1, '$LayoutWidget_12'); - $LayoutWidget_12->setGeometry( Qt::Rect(8, 17, 75, 150) ); - my $layout18 = Qt::VBoxLayout($LayoutWidget_12, 0, 0, '$layout18'); + my $LayoutWidget_13 = Qt::Widget(groupHist1, '$LayoutWidget_13'); + $LayoutWidget_13->setGeometry( Qt::Rect(8, 17, 75, 150) ); + my $layout18 = Qt::VBoxLayout($LayoutWidget_13, 0, 0, '$layout18'); - t01 = Qt::LineEdit($LayoutWidget_12, "t01"); + t01 = Qt::LineEdit($LayoutWidget_13, "t01"); $layout18->addWidget(t01); - Bg11 = Qt::LineEdit($LayoutWidget_12, "Bg11"); + Bg11 = Qt::LineEdit($LayoutWidget_13, "Bg11"); $layout18->addWidget(Bg11); - Bg21 = Qt::LineEdit($LayoutWidget_12, "Bg21"); + Bg21 = Qt::LineEdit($LayoutWidget_13, "Bg21"); $layout18->addWidget(Bg21); - Data11 = Qt::LineEdit($LayoutWidget_12, "Data11"); + Data11 = Qt::LineEdit($LayoutWidget_13, "Data11"); $layout18->addWidget(Data11); - Data21 = Qt::LineEdit($LayoutWidget_12, "Data21"); + Data21 = Qt::LineEdit($LayoutWidget_13, "Data21"); $layout18->addWidget(Data21); - $layout27_2->addWidget(groupHist1); + $layout27->addWidget(groupHist1); groupHist2 = Qt::GroupBox(T0Page, "groupHist2"); groupHist2->setEnabled( 1 ); groupHist2->setFrameShadow( &Qt::GroupBox::Plain() ); - my $LayoutWidget_13 = Qt::Widget(groupHist2, '$LayoutWidget_13'); - $LayoutWidget_13->setGeometry( Qt::Rect(8, 17, 75, 150) ); - my $layout18_2 = Qt::VBoxLayout($LayoutWidget_13, 0, 0, '$layout18_2'); + my $LayoutWidget_14 = Qt::Widget(groupHist2, '$LayoutWidget_14'); + $LayoutWidget_14->setGeometry( Qt::Rect(8, 17, 75, 150) ); + my $layout18_2 = Qt::VBoxLayout($LayoutWidget_14, 0, 0, '$layout18_2'); - t02 = Qt::LineEdit($LayoutWidget_13, "t02"); + t02 = Qt::LineEdit($LayoutWidget_14, "t02"); $layout18_2->addWidget(t02); - Bg12 = Qt::LineEdit($LayoutWidget_13, "Bg12"); + Bg12 = Qt::LineEdit($LayoutWidget_14, "Bg12"); $layout18_2->addWidget(Bg12); - Bg22 = Qt::LineEdit($LayoutWidget_13, "Bg22"); + Bg22 = Qt::LineEdit($LayoutWidget_14, "Bg22"); $layout18_2->addWidget(Bg22); - Data12 = Qt::LineEdit($LayoutWidget_13, "Data12"); + Data12 = Qt::LineEdit($LayoutWidget_14, "Data12"); $layout18_2->addWidget(Data12); - Data22 = Qt::LineEdit($LayoutWidget_13, "Data22"); + Data22 = Qt::LineEdit($LayoutWidget_14, "Data22"); $layout18_2->addWidget(Data22); - $layout27_2->addWidget(groupHist2); + $layout27->addWidget(groupHist2); groupHist3 = Qt::GroupBox(T0Page, "groupHist3"); groupHist3->setEnabled( 1 ); groupHist3->setFrameShadow( &Qt::GroupBox::Plain() ); - my $LayoutWidget_14 = Qt::Widget(groupHist3, '$LayoutWidget_14'); - $LayoutWidget_14->setGeometry( Qt::Rect(8, 17, 75, 150) ); - my $layout18_3 = Qt::VBoxLayout($LayoutWidget_14, 0, 0, '$layout18_3'); + my $LayoutWidget_15 = Qt::Widget(groupHist3, '$LayoutWidget_15'); + $LayoutWidget_15->setGeometry( Qt::Rect(8, 17, 75, 150) ); + my $layout18_3 = Qt::VBoxLayout($LayoutWidget_15, 0, 0, '$layout18_3'); - t03 = Qt::LineEdit($LayoutWidget_14, "t03"); + t03 = Qt::LineEdit($LayoutWidget_15, "t03"); $layout18_3->addWidget(t03); - Bg13 = Qt::LineEdit($LayoutWidget_14, "Bg13"); + Bg13 = Qt::LineEdit($LayoutWidget_15, "Bg13"); $layout18_3->addWidget(Bg13); - Bg23 = Qt::LineEdit($LayoutWidget_14, "Bg23"); + Bg23 = Qt::LineEdit($LayoutWidget_15, "Bg23"); $layout18_3->addWidget(Bg23); - Data13 = Qt::LineEdit($LayoutWidget_14, "Data13"); + Data13 = Qt::LineEdit($LayoutWidget_15, "Data13"); $layout18_3->addWidget(Data13); - Data23 = Qt::LineEdit($LayoutWidget_14, "Data23"); + Data23 = Qt::LineEdit($LayoutWidget_15, "Data23"); $layout18_3->addWidget(Data23); - $layout27_2->addWidget(groupHist3); + $layout27->addWidget(groupHist3); groupHist4 = Qt::GroupBox(T0Page, "groupHist4"); groupHist4->setEnabled( 1 ); groupHist4->setFrameShadow( &Qt::GroupBox::Plain() ); - my $LayoutWidget_15 = Qt::Widget(groupHist4, '$LayoutWidget_15'); - $LayoutWidget_15->setGeometry( Qt::Rect(8, 17, 75, 150) ); - my $layout18_4 = Qt::VBoxLayout($LayoutWidget_15, 0, 0, '$layout18_4'); + my $LayoutWidget_16 = Qt::Widget(groupHist4, '$LayoutWidget_16'); + $LayoutWidget_16->setGeometry( Qt::Rect(8, 17, 75, 150) ); + my $layout18_4 = Qt::VBoxLayout($LayoutWidget_16, 0, 0, '$layout18_4'); - t04 = Qt::LineEdit($LayoutWidget_15, "t04"); + t04 = Qt::LineEdit($LayoutWidget_16, "t04"); $layout18_4->addWidget(t04); - Bg14 = Qt::LineEdit($LayoutWidget_15, "Bg14"); + Bg14 = Qt::LineEdit($LayoutWidget_16, "Bg14"); $layout18_4->addWidget(Bg14); - Bg24 = Qt::LineEdit($LayoutWidget_15, "Bg24"); + Bg24 = Qt::LineEdit($LayoutWidget_16, "Bg24"); $layout18_4->addWidget(Bg24); - Data14 = Qt::LineEdit($LayoutWidget_15, "Data14"); + Data14 = Qt::LineEdit($LayoutWidget_16, "Data14"); $layout18_4->addWidget(Data14); - Data24 = Qt::LineEdit($LayoutWidget_15, "Data24"); + Data24 = Qt::LineEdit($LayoutWidget_16, "Data24"); $layout18_4->addWidget(Data24); - $layout27_2->addWidget(groupHist4); + $layout27->addWidget(groupHist4); - $T0PageLayout->addLayout($layout27_2, 0, 0); + $T0PageLayout->addLayout($layout27, 0, 0); musrfit_tabs->insertTab( T0Page, "" ); - ConstPage = Qt::Widget(musrfit_tabs, "ConstPage"); + TabPage = Qt::Widget(musrfit_tabs, "TabPage"); - my $LayoutWidget_16 = Qt::Widget(ConstPage, '$LayoutWidget_16'); - $LayoutWidget_16->setGeometry( Qt::Rect(6, 1, 540, 360) ); - my $layout34_2 = Qt::VBoxLayout($LayoutWidget_16, 11, 6, '$layout34_2'); + my $LayoutWidget_17 = Qt::Widget(TabPage, '$LayoutWidget_17'); + $LayoutWidget_17->setGeometry( Qt::Rect(11, 6, 540, 360) ); + my $layout34_2_2 = Qt::VBoxLayout($LayoutWidget_17, 11, 6, '$layout34_2_2'); - my $layout33_3 = Qt::GridLayout(undef, 1, 1, 0, 6, '$layout33_3'); + my $layout33_2 = Qt::GridLayout(undef, 1, 1, 0, 6, '$layout33_2'); - TheoryBlock_Label = Qt::Label($LayoutWidget_16, "TheoryBlock_Label"); + TheoryBlock_Label = Qt::Label($LayoutWidget_17, "TheoryBlock_Label"); $cg->setColor(&Qt::ColorGroup::Foreground, &black); $cg->setColor(&Qt::ColorGroup::Button, Qt::Color(230,240,249)); $cg->setColor(&Qt::ColorGroup::Light, &white); @@ -2522,14 +2634,14 @@ sub NEW $pal->setDisabled($cg); TheoryBlock_Label->setPalette( $pal ); - $layout33_3->addWidget(TheoryBlock_Label, 0, 0); + $layout33_2->addWidget(TheoryBlock_Label, 0, 0); - TheoryBlock = Qt::TextEdit($LayoutWidget_16, "TheoryBlock"); + TheoryBlock = Qt::TextEdit($LayoutWidget_17, "TheoryBlock"); TheoryBlock->setEnabled( 1 ); - $layout33_3->addWidget(TheoryBlock, 1, 0); + $layout33_2->addWidget(TheoryBlock, 1, 0); - ParametersList_Label = Qt::Label($LayoutWidget_16, "ParametersList_Label"); + ParametersList_Label = Qt::Label($LayoutWidget_17, "ParametersList_Label"); $cg->setColor(&Qt::ColorGroup::Foreground, &black); $cg->setColor(&Qt::ColorGroup::Button, Qt::Color(230,240,249)); $cg->setColor(&Qt::ColorGroup::Light, &white); @@ -2583,34 +2695,34 @@ sub NEW $pal->setDisabled($cg); ParametersList_Label->setPalette( $pal ); - $layout33_3->addWidget(ParametersList_Label, 0, 1); + $layout33_2->addWidget(ParametersList_Label, 0, 1); - ParametersList = Qt::TextEdit($LayoutWidget_16, "ParametersList"); + ParametersList = Qt::TextEdit($LayoutWidget_17, "ParametersList"); ParametersList->setEnabled( 1 ); - $layout33_3->addWidget(ParametersList, 1, 1); - $layout34_2->addLayout($layout33_3); + $layout33_2->addWidget(ParametersList, 1, 1); + $layout34_2_2->addLayout($layout33_2); my $layout25_6 = Qt::HBoxLayout(undef, 0, 6, '$layout25_6'); - CParamsCombo = Qt::ComboBox(0, $LayoutWidget_16, "CParamsCombo"); + CParamsCombo = Qt::ComboBox(0, $LayoutWidget_17, "CParamsCombo"); CParamsCombo->setSizePolicy( Qt::SizePolicy(0, 7, 0, 0, CParamsCombo->sizePolicy()->hasHeightForWidth()) ); $layout25_6->addWidget(CParamsCombo); - textLabel1_4_6 = Qt::Label($LayoutWidget_16, "textLabel1_4_6"); + textLabel1_4_6 = Qt::Label($LayoutWidget_17, "textLabel1_4_6"); $layout25_6->addWidget(textLabel1_4_6); - ConstraintLine = Qt::LineEdit($LayoutWidget_16, "ConstraintLine"); + ConstraintLine = Qt::LineEdit($LayoutWidget_17, "ConstraintLine"); ConstraintLine->setSizePolicy( Qt::SizePolicy(7, 7, 0, 0, ConstraintLine->sizePolicy()->hasHeightForWidth()) ); ConstraintLine->setMinimumSize( Qt::Size(0, 25) ); $layout25_6->addWidget(ConstraintLine); - AddConstraint = Qt::PushButton($LayoutWidget_16, "AddConstraint"); + AddConstraint = Qt::PushButton($LayoutWidget_17, "AddConstraint"); AddConstraint->setSizePolicy( Qt::SizePolicy(0, 7, 0, 0, AddConstraint->sizePolicy()->hasHeightForWidth()) ); $layout25_6->addWidget(AddConstraint); - $layout34_2->addLayout($layout25_6); + $layout34_2_2->addLayout($layout25_6); - textLabel2_2_3_4 = Qt::Label($LayoutWidget_16, "textLabel2_2_3_4"); + textLabel2_2_3_4 = Qt::Label($LayoutWidget_17, "textLabel2_2_3_4"); $cg->setColor(&Qt::ColorGroup::Foreground, &black); $cg->setColor(&Qt::ColorGroup::Button, Qt::Color(230,240,249)); $cg->setColor(&Qt::ColorGroup::Light, &white); @@ -2663,60 +2775,60 @@ sub NEW $cg->setColor(&Qt::ColorGroup::LinkVisited, Qt::Color(82,24,139)); $pal->setDisabled($cg); textLabel2_2_3_4->setPalette( $pal ); - $layout34_2->addWidget(textLabel2_2_3_4); + $layout34_2_2->addWidget(textLabel2_2_3_4); - FunctionsBlock = Qt::TextEdit($LayoutWidget_16, "FunctionsBlock"); - $layout34_2->addWidget(FunctionsBlock); + FunctionsBlock = Qt::TextEdit($LayoutWidget_17, "FunctionsBlock"); + $layout34_2_2->addWidget(FunctionsBlock); my $layout30 = Qt::HBoxLayout(undef, 0, 6, '$layout30'); - textLabel1_6 = Qt::Label($LayoutWidget_16, "textLabel1_6"); - $layout30->addWidget(textLabel1_6); + textLabel1_6_3 = Qt::Label($LayoutWidget_17, "textLabel1_6_3"); + $layout30->addWidget(textLabel1_6_3); - ResetFunc = Qt::PushButton($LayoutWidget_16, "ResetFunc"); + ResetFunc = Qt::PushButton($LayoutWidget_17, "ResetFunc"); ResetFunc->setMaximumSize( Qt::Size(100, 32767) ); $layout30->addWidget(ResetFunc); - $layout34_2->addLayout($layout30); - musrfit_tabs->insertTab( ConstPage, "" ); + $layout34_2_2->addLayout($layout30); + musrfit_tabs->insertTab( TabPage, "" ); fileNewAction= Qt::Action(this, "fileNewAction"); - fileNewAction->setIconSet( Qt::IconSet($image1) ); + fileNewAction->setIconSet( Qt::IconSet($image3) ); fileOpenAction= Qt::Action(this, "fileOpenAction"); fileOpenAction->setEnabled( 0 ); - fileOpenAction->setIconSet( Qt::IconSet($image2) ); + fileOpenAction->setIconSet( Qt::IconSet($image4) ); fileOpenAction->setVisible( 0 ); fileSaveAction= Qt::Action(this, "fileSaveAction"); - fileSaveAction->setIconSet( Qt::IconSet($image3) ); + fileSaveAction->setIconSet( Qt::IconSet($image5) ); fileSaveAsAction= Qt::Action(this, "fileSaveAsAction"); - fileSaveAsAction->setIconSet( Qt::IconSet($image4) ); + fileSaveAsAction->setIconSet( Qt::IconSet($image6) ); filePrintAction= Qt::Action(this, "filePrintAction"); filePrintAction->setEnabled( 0 ); - filePrintAction->setIconSet( Qt::IconSet($image5) ); + filePrintAction->setIconSet( Qt::IconSet($image7) ); fileExitAction= Qt::Action(this, "fileExitAction"); - fileExitAction->setIconSet( Qt::IconSet($image6) ); + fileExitAction->setIconSet( Qt::IconSet($image8) ); editUndoAction= Qt::Action(this, "editUndoAction"); editUndoAction->setEnabled( 0 ); - editUndoAction->setIconSet( Qt::IconSet($image7) ); + editUndoAction->setIconSet( Qt::IconSet($image9) ); editRedoAction= Qt::Action(this, "editRedoAction"); editRedoAction->setEnabled( 0 ); - editRedoAction->setIconSet( Qt::IconSet($image8) ); + editRedoAction->setIconSet( Qt::IconSet($image10) ); editCutAction= Qt::Action(this, "editCutAction"); editCutAction->setEnabled( 0 ); - editCutAction->setIconSet( Qt::IconSet($image9) ); + editCutAction->setIconSet( Qt::IconSet($image11) ); editCopyAction= Qt::Action(this, "editCopyAction"); editCopyAction->setEnabled( 0 ); - editCopyAction->setIconSet( Qt::IconSet($image10) ); + editCopyAction->setIconSet( Qt::IconSet($image12) ); editPasteAction= Qt::Action(this, "editPasteAction"); editPasteAction->setEnabled( 0 ); - editPasteAction->setIconSet( Qt::IconSet($image11) ); + editPasteAction->setIconSet( Qt::IconSet($image13) ); editFindAction= Qt::Action(this, "editFindAction"); - editFindAction->setIconSet( Qt::IconSet($image12) ); + editFindAction->setIconSet( Qt::IconSet($image14) ); helpContentsAction= Qt::Action(this, "helpContentsAction"); helpContentsAction->setEnabled( 0 ); - helpContentsAction->setIconSet( Qt::IconSet($image13) ); + helpContentsAction->setIconSet( Qt::IconSet($image15) ); helpIndexAction= Qt::Action(this, "helpIndexAction"); helpIndexAction->setEnabled( 0 ); - helpIndexAction->setIconSet( Qt::IconSet($image14) ); + helpIndexAction->setIconSet( Qt::IconSet($image16) ); helpAboutAction= Qt::Action(this, "helpAboutAction"); separatorAction= Qt::Action(this, "separatorAction"); FileExistCheck= Qt::Action(this, "FileExistCheck"); @@ -2725,19 +2837,19 @@ sub NEW ManualFile= Qt::Action(this, "ManualFile"); ManualFile->setToggleAction( 1 ); fileChangeDirAction= Qt::Action(this, "fileChangeDirAction"); - fileChangeDirAction->setIconSet( Qt::IconSet($image15) ); + fileChangeDirAction->setIconSet( Qt::IconSet($image17) ); optionsnew_itemAction= Qt::Action(this, "optionsnew_itemAction"); parametersExport_AsAction= Qt::Action(this, "parametersExport_AsAction"); - parametersExport_AsAction->setIconSet( Qt::IconSet($image16) ); + parametersExport_AsAction->setIconSet( Qt::IconSet($image18) ); parametersAppend_ToAction= Qt::Action(this, "parametersAppend_ToAction"); - parametersAppend_ToAction->setIconSet( Qt::IconSet($image17) ); + parametersAppend_ToAction->setIconSet( Qt::IconSet($image19) ); Fit= Qt::Action(this, "Fit"); Fit->setIconSet( Qt::IconSet($image0) ); Plot= Qt::Action(this, "Plot"); Plot->setToggleAction( 0 ); - Plot->setIconSet( Qt::IconSet($image18) ); + Plot->setIconSet( Qt::IconSet($image20) ); T0= Qt::Action(this, "T0"); - T0->setIconSet( Qt::IconSet($image19) ); + T0->setIconSet( Qt::IconSet($image21) ); optionsFourier= Qt::Action(this, "optionsFourier"); optionsFourier->setToggleAction( 1 ); optionsT0= Qt::Action(this, "optionsT0"); @@ -2811,7 +2923,7 @@ sub NEW MenuBar->insertSeparator( 8 ); languageChange(); - my $resize = Qt::Size(579, 501); + my $resize = Qt::Size(583, 501); $resize = $resize->expandedTo(minimumSizeHint()); resize( $resize ); clearWState( &Qt::WState_Polished ); @@ -2838,11 +2950,12 @@ sub NEW Qt::Object::connect(helpAboutAction, SIGNAL "activated()", this, SLOT "helpAbout()"); Qt::Object::connect(T0, SIGNAL "activated()", this, SLOT "ShowMuSRT0()"); Qt::Object::connect(Plot, SIGNAL "activated()", this, SLOT "GoPlot()"); - Qt::Object::connect(AddConstraint, SIGNAL "clicked()", this, SLOT "AppendToFunctions()"); + Qt::Object::connect(ManualFile, SIGNAL "toggled(bool)", this, SLOT "RunSelectionToggle()"); Qt::Object::connect(ResetFunc, SIGNAL "clicked()", this, SLOT "InitializeFunctions()"); Qt::Object::connect(FitType1, SIGNAL "activated(const QString&)", this, SLOT "InitializeFunctions()"); - Qt::Object::connect(FitType2, SIGNAL "activated(int)", this, SLOT "InitializeFunctions()"); - Qt::Object::connect(FitType3, SIGNAL "activated(int)", this, SLOT "InitializeFunctions()"); + Qt::Object::connect(FitType2, SIGNAL "activated(const QString&)", this, SLOT "InitializeFunctions()"); + Qt::Object::connect(FitType3, SIGNAL "activated(const QString&)", this, SLOT "InitializeFunctions()"); + Qt::Object::connect(AddConstraint, SIGNAL "clicked()", this, SLOT "AppendToFunctions()"); setTabOrder(musrfit_tabs, RunNumbers); setTabOrder(RunNumbers, BeamLine); @@ -2993,8 +3106,8 @@ sub languageChange Comp2Label->setText( trUtf8("Second Component") ); FitAsyTypeLabel->setText( trUtf8("Fit type") ); FitAsyType->clear(); - FitAsyType->insertItem( trUtf8("Asymmetry") ); - FitAsyType->insertItem( trUtf8("SingleHist") ); + FitAsyType->insertItem( $image1, trUtf8("Asymmetry") ); + FitAsyType->insertItem( $image2, trUtf8("SingleHist") ); LRBFLabel->setText( trUtf8("Histograms list") ); LRBF->setText( trUtf8("1,3") ); RUNSAuto->setTitle( trUtf8("RUN Numbers") ); @@ -3006,6 +3119,7 @@ sub languageChange BeamLine->insertItem( trUtf8("LTF") ); BeamLineLabel->setText( trUtf8("On beam line") ); YEAR->clear(); + YEAR->insertItem( trUtf8("2010") ); YEAR->insertItem( trUtf8("2009") ); YEAR->insertItem( trUtf8("2008") ); YEAR->insertItem( trUtf8("2007") ); @@ -3034,7 +3148,7 @@ sub languageChange textLabel1_5->setText( trUtf8("Minimization type") ); ltc->setText( trUtf8("Life time correction") ); musrfit_tabs->changeTab( FittingPage, trUtf8("Fitting") ); - buttonGroupSharing->setTitle( trUtf8("Shared Parameters") ); + buttonGroupSharing->setTitle( trUtf8("Shared parameters among different runs") ); SharingComp1->setTitle( trUtf8("1st Component") ); ShParam_1_1->setText( trUtf8("Param1") ); ShParam_1_2->setText( trUtf8("Param2") ); @@ -3082,15 +3196,16 @@ sub languageChange FILENAMELabel->setText( trUtf8("Enter [name] for output [name].msr file (optional)") ); Qt::ToolTip::add(FILENAME, trUtf8("Name of the produced MSR file (optional)")); Qt::WhatsThis::add(FILENAME, trUtf8("Name of the produced MSR file (optional)")); - textMSROutput->setText( undef ); musrfit_tabs->changeTab( MSRPage, trUtf8("MSR File") ); - FUnitsLabel->setText( trUtf8("Units") ); - FApodizationLabel->setText( trUtf8("Apodization") ); - FPlotLabel->setText( trUtf8("Plot") ); + FourierBox->setTitle( trUtf8("Fourier transform parameters") ); + textLabel1_3_4->setText( undef ); + textLabel1_7->setText( trUtf8("Phase:") ); + textLabel1_3_5->setText( undef ); FUnits->clear(); FUnits->insertItem( trUtf8("MHz") ); FUnits->insertItem( trUtf8("Gauss") ); FUnits->insertItem( trUtf8("Mc/s") ); + textLabel1_3_6->setText( undef ); FApodization->clear(); FApodization->insertItem( trUtf8("STRONG") ); FApodization->insertItem( trUtf8("MEDIUM") ); @@ -3102,17 +3217,28 @@ sub languageChange FPlot->insertItem( trUtf8("imag") ); FPlot->insertItem( trUtf8("real_and_imag") ); FPlot->insertItem( trUtf8("phase") ); - textLabel1->setText( trUtf8("Range: from") ); - textLabel1_3->setText( undef ); - textLabel1_3_5->setText( undef ); - textLabel1_3_2->setText( undef ); - textLabel1_3_6->setText( undef ); - textLabel1_2->setText( trUtf8("to") ); - textLabel1_3_3->setText( undef ); - textLabel1_3_7->setText( undef ); - textLabel1_3_4->setText( undef ); + FUnitsLabel->setText( trUtf8("Units") ); textLabel1_3_8->setText( undef ); - musrfit_tabs->changeTab( FourierPage, trUtf8("Fourier") ); + textLabel1_3_7->setText( undef ); + FPlotLabel->setText( trUtf8("Plot") ); + textLabel1_2->setText( trUtf8("to") ); + FApodizationLabel->setText( trUtf8("Apodization") ); + textLabel1_3_3->setText( undef ); + textLabel1->setText( trUtf8("Range: from") ); + RRFBox->setTitle( trUtf8("Rotatting reference frame (RRF) parameters") ); + textLabel1_6_2_2->setText( trUtf8("Phase") ); + textLabel1_6->setText( trUtf8("Frequency") ); + textLabel1_6_2_4->setText( undef ); + RRFFrq->setText( undef ); + textLabel1_6_2_3->setText( undef ); + textLabel1_6_2->setText( trUtf8("Packing") ); + RRFUnits->clear(); + RRFUnits->insertItem( trUtf8("MHz") ); + RRFUnits->insertItem( trUtf8("kHz") ); + RRFUnits->insertItem( trUtf8("Mc/s") ); + RRFUnits->insertItem( trUtf8("G") ); + RRFUnits->insertItem( trUtf8("T") ); + musrfit_tabs->changeTab( FourierPage, trUtf8("FFT/RRF") ); groupHist0->setTitle( undef ); textLabel2->setText( trUtf8("t0") ); textLabel2_2_2_3->setText( trUtf8("Bg1") ); @@ -3123,15 +3249,15 @@ sub languageChange groupHist2->setTitle( trUtf8("Hist2") ); groupHist3->setTitle( trUtf8("Hist3") ); groupHist4->setTitle( trUtf8("Hist4") ); - musrfit_tabs->changeTab( T0Page, trUtf8("t0/Bg Bins") ); + musrfit_tabs->changeTab( T0Page, trUtf8("t0/Bg") ); TheoryBlock_Label->setText( trUtf8("THEORY Block") ); ParametersList_Label->setText( trUtf8("Parameters List") ); textLabel1_4_6->setText( trUtf8("=") ); AddConstraint->setText( trUtf8("Add") ); textLabel2_2_3_4->setText( trUtf8("FUNCTIONS Block") ); - textLabel1_6->setText( undef ); + textLabel1_6_3->setText( undef ); ResetFunc->setText( trUtf8("Reset") ); - musrfit_tabs->changeTab( ConstPage, trUtf8("Constraints") ); + musrfit_tabs->changeTab( TabPage, trUtf8("Constraints") ); fileNewAction->setText( trUtf8("&New") ); fileNewAction->setMenuText( trUtf8("&New") ); fileNewAction->setAccel( Qt::KeySequence( trUtf8("Ctrl+N") ) ); @@ -3279,7 +3405,7 @@ sub fileChangeDir sub filePrint { - print "MuSRFitform->filePrint(): Not implemented yet.\n"; + print "MuSRFitformR->filePrint(): Not implemented yet.\n"; } sub fileExit @@ -3344,37 +3470,37 @@ sub parametersAppend sub editUndo { - print "MuSRFitform->editUndo(): Not implemented yet.\n"; + print "MuSRFitformR->editUndo(): Not implemented yet.\n"; } sub editRedo { - print "MuSRFitform->editRedo(): Not implemented yet.\n"; + print "MuSRFitformR->editRedo(): Not implemented yet.\n"; } sub editCut { - print "MuSRFitform->editCut(): Not implemented yet.\n"; + print "MuSRFitformR->editCut(): Not implemented yet.\n"; } sub editCopy { - print "MuSRFitform->editCopy(): Not implemented yet.\n"; + print "MuSRFitformR->editCopy(): Not implemented yet.\n"; } sub editPaste { - print "MuSRFitform->editPaste(): Not implemented yet.\n"; + print "MuSRFitformR->editPaste(): Not implemented yet.\n"; } sub helpIndex { - print "MuSRFitform->helpIndex(): Not implemented yet.\n"; + print "MuSRFitformR->helpIndex(): Not implemented yet.\n"; } sub helpContents { - print "MuSRFitform->helpContents(): Not implemented yet.\n"; + print "MuSRFitformR->helpContents(): Not implemented yet.\n"; } sub helpAbout @@ -3475,9 +3601,16 @@ sub CreateAllInput $All{"FUNITS"}= FUnits->currentText; $All{"FAPODIZATION"}= FApodization->currentText; $All{"FPLOT"}= FPlot->currentText; + $All{"FPHASE"}=FPHASE->text; # Fourier range $All{"FrqMin"}=FrqMin->text; $All{"FrqMax"}=FrqMax->text; + +# Rotating reference frame parameters + $All{"RRFFrq"}=RRFFrq->text; + $All{"RRFPack"}=RRFPack->text; + $All{"RRFPhase"}=RRFPhase->text; + $All{"RRFUnits"}=RRFUnits->currentText; # Get values of t0 and Bg/Data bins if given my $NHist = 1; @@ -3527,7 +3660,7 @@ sub CreateAllInput } # Also theory block and paramets list - my ($Full_T_Block,$Paramcomp_ref)= MSR::CreateTheory(@FitTypes); + my ($Full_T_Block,$Paramcomp_ref)= MSR::CreateTheory(@FitTypes); $All{"Full_T_Block"}=$Full_T_Block; $All{"Paramcomp_ref"}=$Paramcomp_ref; my @Paramcomp = @$Paramcomp_ref; @@ -3537,25 +3670,6 @@ sub CreateAllInput # and the associated theory block $All{"Func_T_Block"}=TheoryBlock->text; -# Read initial values of paramets from tabel - my $erradd = "d"; - my $minadd = "_min"; - my $maxadd = "_max"; - my $NRows = InitParamTable->numRows(); - my $Header=InitParamTable->verticalHeader(); - if ($NRows > 0) { - for (my $i=0;$i<$NRows;$i++) { -# Take label of row, i.e. name of parameter - my $Param=$Header->label($i); -# Then take the value, error, max and min (as numbers) - $All{"$Param"}=1.0*InitParamTable->text($i,0); - $All{"$erradd$Param"}=1.0*InitParamTable->text($i,1); - $All{"$Param$minadd"}=1.0*InitParamTable->text($i,2); - $All{"$Param$maxadd"}=1.0*InitParamTable->text($i,3); - } - } - - # Shared settings are detected here my $Shared = 0; my $PCount =0; @@ -3614,6 +3728,32 @@ sub CreateAllInput $All{"FILENAME"}="TMP"; } + +# This has to be at the end of CreateAll + my %PTable=MSR::PrepParamTable(\%All); + +# Setup the table with the right size + my $NParam=scalar keys( %PTable ); + +# Read initial values of paramets from tabel + my $erradd = "d"; + my $minadd = "_min"; + my $maxadd = "_max"; + my $Header=InitParamTable->verticalHeader(); +# TODO: Should not go over all rows, only on parameters. + if ($NParam > 0) { + for (my $i=0;$i<$NParam;$i++) { +# Take label of row, i.e. name of parameter + my $Param=$Header->label($i); +# Then take the value, error, max and min (as numbers) + $All{"$Param"}=1.0*InitParamTable->text($i,0); + $All{"$erradd$Param"}=1.0*InitParamTable->text($i,1); + $All{"$Param$minadd"}=1.0*InitParamTable->text($i,2); + $All{"$Param$maxadd"}=1.0*InitParamTable->text($i,3); + } + } + + # Return Hash with all important values return %All; @@ -3674,7 +3814,6 @@ sub UpdateMSRFileInitTable (my $TBlock_ref, my $FPBlock_ref)=MSR::ExtractBlks(@lines); my @FPBloc = @$FPBlock_ref; -# Counter for initialization table (including Alpha, N0 and Bg) my $PCount=0; foreach my $line (@FPBloc) { $PCount++; @@ -3773,7 +3912,6 @@ sub ActivateShComp my $Full_T_Block= $All{"Full_T_Block"}; my $Component=1; - foreach my $FitType (@FitTypes) { my $Parameters=$Paramcomp[$Component-1]; my @Params = split( /\s+/, $Parameters ); @@ -3798,17 +3936,13 @@ sub ActivateShComp $CompShL->setText($All{"FitType$Component"}); # Change state/label of parameters -# Also add it to the constraints drop down menu for (my $i=1; $i<=9;$i++) { my $ParamChkBx="ShParam_".$Component."_".$i; my $ChkBx = child($ParamChkBx); -# my $CParam = $Params[$i-1]."_".$Component; - if ($Params[$i-1] ne "" ) { + if ($Params[$i-1] ne "") { $ChkBx->setHidden(0); $ChkBx->setEnabled(1); $ChkBx ->setText($Params[$i-1]); -# CParamsCombo->insertItem($CParam,-1); -# $Full_T_Block=~ s/\b$Params[$i-1]\b/$CParam/; } else { $ChkBx->setHidden(1); } @@ -3830,6 +3964,7 @@ sub InitializeTab for (my $i=0;$i<$NRows;$i++) { # TODO: Better remove the row rather than hide it. InitParamTable->hideRow($i); +# InitParamTable->removeRow($i); } } @@ -3873,7 +4008,7 @@ sub TabChanged # Initialize FUNCTIONS block only if it has not been initialized yet if ($All{"Func_T_Block"} eq "" ) { InitializeFunctions(); - } + } } @@ -4114,10 +4249,10 @@ sub InitializeFunctions package main; use Qt; -use MuSRFitform; +use MuSRFitformR; my $a = Qt::Application(\@ARGV); -my $w = MuSRFitform; +my $w = MuSRFitformR; $a->setMainWidget($w); $w->show; exit $a->exec; diff --git a/src/external/MuSRFitGUI/devel/MuSRFit.ui b/src/external/MuSRFitGUI/devel/MuSRFit.ui index 382bbb5a..2dfd0ff6 100755 --- a/src/external/MuSRFitGUI/devel/MuSRFit.ui +++ b/src/external/MuSRFitGUI/devel/MuSRFit.ui @@ -1,14 +1,14 @@ -MuSRFitform +MuSRFitformR - MuSRFitform + MuSRFitformR 0 0 - 579 + 583 501 @@ -1595,11 +1595,17 @@ Asymmetry + + image1 + SingleHist + + image2 + FitAsyType @@ -1778,6 +1784,11 @@ + + + 2010 + + 2009 @@ -2130,7 +2141,7 @@ - Shared Parameters + Shared parameters among different runs AlignLeft @@ -2982,12 +2993,6 @@ textMSROutput - - - - - WidgetWidth - true @@ -3000,314 +3005,409 @@ FourierPage - Fourier + FFT/RRF - + - layout33 + FourierBox - 5 - 5 - 545 - 94 + 6 + 6 + 547 + 125 - + + Fourier transform parameters + + - unnamed + layout34 - + + + 12 + 19 + 525 + 100 + + + - layout26 + unnamed - + + 5 + + + 5 + + - unnamed + FrqMin - - - FUnitsLabel - + + + 5 + 5 + 0 + 0 + + + + + + textLabel1_3_4 + + + + + + + + textLabel1_7 + + + Phase: + + + + + textLabel1_3_5 + + + + + + + - Units - - - - - FApodizationLabel + MHz + + - Apodization - - - - - FPlotLabel + Gauss + + - Plot + Mc/s - - - - + + + FUnits + + + + 5 + 5 + 0 + 0 + + + + + + textLabel1_3_6 + + + + + + + + + STRONG + + + + + MEDIUM + + + + + WEAK + + + + + NONE + + + + FApodization + + + + 5 + 5 + 0 + 0 + + + + + + FrqMax + + + + 5 + 5 + 0 + 0 + + + + + + + power + + + + + real + + + + + imag + + + + + real_and_imag + + + + + phase + + + + FPlot + + + + 5 + 5 + 0 + 0 + + + + + + FUnitsLabel + + + Units + + + + + textLabel1_3_8 + + + + + + + + textLabel1_3_7 + + + + + + + + FPlotLabel + + + Plot + + + + + textLabel1_2 + + + to + + + + + FApodizationLabel + + + Apodization + + + + + textLabel1_3_3 + + + + + + + + FPHASE + + + + 5 + 5 + 0 + 0 + + + + + + textLabel1 + + + Range: from + + + + + + + + RRFBox + + + + 6 + 135 + 547 + 125 + + + + Rotatting reference frame (RRF) parameters + + + + layout35 + + + + 10 + 18 + 265 + 100 + + + - layout27 + unnamed - - - unnamed - - - - - MHz - - - - - Gauss - - - - - Mc/s - - - - FUnits - - - - 5 - 5 - 0 - 0 - - - - - - - STRONG - - - - - MEDIUM - - - - - WEAK - - - - - NONE - - - - FApodization - - - - 5 - 5 - 0 - 0 - - - - - - - power - - - - - real - - - - - imag - - - - - real_and_imag - - - - - phase - - - - FPlot - - - - 5 - 5 - 0 - 0 - - - - - - - - layout28 + + 5 - - - unnamed - - - - textLabel1 - - - Range: from - - - - - textLabel1_3 - - - - - - - - textLabel1_3_5 - - - - - - - - - - layout29 + + 5 - + - unnamed + textLabel1_6_2_2 - - - FrqMin - - - - 5 - 5 - 0 - 0 - - - - - - textLabel1_3_2 - - - - - - - - textLabel1_3_6 - - - - - - - - - - layout31 - - + + Phase + + + - unnamed + textLabel1_6 - - - textLabel1_2 - - - to - - - - - textLabel1_3_3 - - - - - - - - textLabel1_3_7 - - - - - - - - - - layout32 - - + + Frequency + + + - unnamed + textLabel1_6_2_4 - - - FrqMax - - - - 5 - 5 - 0 - 0 - - - - - - textLabel1_3_4 - + + + + + + + RRFFrq + + + + + + + + textLabel1_6_2_3 + + + + + + + + RRFPack + + + + + textLabel1_6_2 + + + Packing + + + + - - - - - - textLabel1_3_8 + MHz + + - + kHz - - - - + + + + Mc/s + + + + + G + + + + + T + + + + RRFUnits + + + + + RRFPhase + + + + @@ -3315,7 +3415,7 @@ T0Page - t0/Bg Bins + t0/Bg @@ -3667,34 +3767,34 @@ - ConstPage + TabPage Constraints - layout34 + layout34_2 - 6 - 1 + 11 + 6 540 360 - unnamed + unnamed_2 - layout33 + layout33_2 - unnamed + unnamed_2 @@ -4565,11 +4665,11 @@ - unnamed + unnamed_2 - textLabel1_6 + textLabel1_6_3 @@ -4677,7 +4777,7 @@ fileNewAction - image1 + image3 &New @@ -4697,7 +4797,7 @@ false - image2 + image4 &Open MSR... @@ -4717,7 +4817,7 @@ fileSaveAction - image3 + image5 &Save MSR... @@ -4737,7 +4837,7 @@ fileSaveAsAction - image4 + image6 Save MSR &As... @@ -4757,7 +4857,7 @@ false - image5 + image7 Print @@ -4774,7 +4874,7 @@ fileExitAction - image6 + image8 Exit @@ -4794,7 +4894,7 @@ false - image7 + image9 Undo @@ -4814,7 +4914,7 @@ false - image8 + image10 Redo @@ -4834,7 +4934,7 @@ false - image9 + image11 Cut @@ -4854,7 +4954,7 @@ false - image10 + image12 Copy @@ -4874,7 +4974,7 @@ false - image11 + image13 Paste @@ -4891,7 +4991,7 @@ editFindAction - image12 + image14 Find @@ -4911,7 +5011,7 @@ false - image13 + image15 Contents @@ -4931,7 +5031,7 @@ false - image14 + image16 Index @@ -5010,7 +5110,7 @@ fileChangeDirAction - image15 + image17 &Change dir @@ -5038,7 +5138,7 @@ parametersExport_AsAction - image16 + image18 Export As... @@ -5055,7 +5155,7 @@ parametersAppend_ToAction - image17 + image19 Append To... @@ -5089,7 +5189,7 @@ false - image18 + image20 Plot @@ -5103,7 +5203,7 @@ T0 - image19 + image21 Show t0 and Bg Bins @@ -5146,60 +5246,66 @@ 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000d349444154388db594510e84200c44a7864bd9fb673c16fe50b7a95501dd97104983435b06842422ab6ab5f946ca6941074b0ca813cd36eaa5f89f050049811352d53aac8a96b165640256fe468ac546b33eb5c298ededa3f05b1655adbef4b8c062a3e92fbc117d83643ebe6275d53dd1dd637345af3b3e3bbcb8e19470763b23ddc2de3924c58b676d2a67897b717f4b25dcd848f5a3b9e4f8c651dd200992c86205680f4f82c555b51e6b92fe5a2502c0cc3bd40a13b98a133faf17cb286639833fc4db56bce17fafdb9762deeb438fd0083bbf3298df1bba5b870000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000002c949444154388db5934b4854511cc67fe7dc73c7999cb41acb6a2a22d28aa227f6448808a38248905ab80a5ab46a5154eb20dab4691591460815d42283a0508a088328911e584932a5e318448e363377661cefcc3d2d46f175291dea8303f77e177ef73bff87d05a33a6fb0f9e8cbfcc40a6bf6c456d4d559fdb3735d53874703f7e9f39c9b36d48a7219582541a52294d2cf989fe4838dcdcda5e595b53d53d95236794cc04af77c229cafb6b2af7625b035f9a5bdb37160406f078c6a145debc57b6c0c7aa95fbb0ad81f7cdaded3b0b02c378e231b096693c450e81b23dd8d6c0abbb8fded417041e83fb464bd11bfe4a22f915afb78fe0b215283b7abba9a9692db834ef6f92127c3ec18eadeb49a52014d2dad142680ddf87faa2f3156b81ae592706500a8687211281a2d07d61765e43291062428042c0bf42dd44da5a31142c2f7b44c5ba0e0cc361fee007b5e0dbd395aee0914cd6d67f5893781c92af2f52b9eb25745c462a8930159ecf37a93ffeab74dbe29ef3ee605b99b118c462104f8065413209090b8686c04ac2c8ea73647ac2541cce61f834d214545487c9468768eb2eb9012ecd532abf108e035a43ce197f7634385d0ff144db8846e3941787f16eaa0204b9de105f9adf663795d8d59d27e69e74052b9507693d19aa1d30128dcc3b520d7a116801467ef6e4e2201bced42a34fbac96e7bba7838dc98927c2b586d4e606c2af3f203ede2358b714a93538a03323bcb9d2928da4fd977f76b4dc9e3ec7223fab72b4fa5313cf2d5f82ec7d4ae9b1a5e40606c9748530fc7e7426c7f6b30794bcfaa4a2ae4d77ff75dca404c30073b4f64a41b6ff19233d7dfc183c0ad2440b49cc7f9ae4bbcfba7ca1deeddabc3f4988fc4f02758d64ac18c1920089c70dc86486d2ea8d5c7f5123bc62f0c2a9d982c76428c59c790100d4964b0c5b718a3df9cbfb4a03995927765371700dc52e7e412b3d13fd37f0b45234debaf34fc0bf01fe532119ee8d4b590000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000ce49444154388dd553c911c3200c5c31f9b82428c58db80637e252e492fc541e1965988d1598d83cb22f21c16ad121aa8a11486e2cf3641c5ce6c96a3fdff1f3993fb9b16e8730c9ba1dc2fe089c24390100442467f1fa5d1d735f6212bec8899820c2a3961f29ed21aaefbf157b2deb404f5d9b8aa3ec4edea3962143e7389762b9944b5f678801b6ab8a2770fb323197e22ef28f39de55e58eb2840b3284b84775abe13f29f63e440272292600c2ac0680bbd8f2195e3f6e2e483d25df26c6957bbc6bf3f8510fc6aef45f113f01c3eca579cdbc94f70000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003f749444154388db5955f68d56518c73fe7777ed333dd3f67fecb74c722ed62f9071223332c5620062d0982a88bec22888aeac242322d2b2808b12e022fb4a0eea216155de46866641bcaccd4e2b464736ecef36f673be7fcfebc7f9eb78b6dce95125ef8c2c3fbc0fb3c9ff7e179bf0f6fc239c78d58de0da10289eb4d78f5cdeeb41877a86696b7b65cd62b3e7a7f63e96a71d755f16b6f75bfd4dc98eaddfe54ebe6ed4fb636599143d70c76ce5dd3a6d6ae777ad6eedcdbd3dbd935e2aa55e7b259ed4647adfbf860c63df3c24fed57e3265a9efec3b56f5e8808280bda08cac017df0f95c26fd7ccdbf3def13de95b9a763ff8400b8df53518e3d0da628c23954af2fabbdda5b1f178c5e707ee9fd192c4a61de7dcbedd2b5006220bca40ac61a82f64e058866d6dcbb86b5d335a835260ed34d839c7df8315f67e78aae387d3899739b5b97f0aecff5b6e46c170cf10f526e28d17d730a716acbd7a1b451cad2b9bd8b4aeb95da4f069e729a6c156a6c1a5f3214327fa79b82d4d7a79ed35df0560b462d8df71099c43ebb9648aa3fb5873642d22e01cfe95d58c8f8c73cffa25ff0b2d5585adbb32b4dd7b33b72eab4304d2ab16a7cb55fb8a3694f67f70bcdeb7329de02d5dc8ce83a7d9b05e7016ac58ac15c438c43acca4ffddaf451edbd2c2ac054d1c190011989d82df7ac7ea073bfbb240d78c567c753847faf605ac5eea33efa63904e20895235410448e400b5104cfae5c4c5ce3d3736e029af0a03010923dd66f914a9a847b7b06f8f0d12c99cf5a2964358df37da40e7265c89761e0225446211f433e0bc592259f8b090a152e9ec9521aae96881283d4db5578aecb376602fa634fc8a63b1ba84d41cdc21a7a33e32c58de40e602f40dc048ce90cb5b2ee50db9bc21288584a52aa5e1519c721090c5b73ed8b3641eeaf765526e47ba8b6cdbd84c55e0520c59af813f4f5ac42509228752102921568e2816f2b9001d68983b176c0cc490544d383900e08915c6abf0fbd9128fb7d59129c285224440b12c8c5584583b22e5501a4a639a919100ebcfc64bcd9e2997a469c4d231a963387caccc7dab1b19a9409d0f4b525067a16189cf585161fc04cd6268d011f58b14b735259138468218136bc2c0902bc8fc81419da57fcb4900df5847d72f05763cba883bea276f9e075a431439b4f68863431c5b94f250ca278a0c5afb44512d4ad5a0548a2f8f8ecdffe4bcfbe6b274ab81a17fa0cc231b660e85e781ef7b2493093ccf9bf4bdcbbee74d9c4df93f9f0941dcd753f97e61b8ca734fb4fc67ba92c9097338440cb1d284514c186a824011c53151a8d15a88b5a1efaf002e6cedb80cc64bd079a2c8ddcf8fe1c42102884344b056b05a30c6608d608dc1188bd1163132b18ba51a38085cc79585256ed467fa0f0f457af9307ab8bf0000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000d749444154388dbd54c10d83300c3c477cba056bc4523b088b7406166114f3cc383cd347e52a4a13482ce03e90937c9ccfc12422b802f41c439c978d94784f8f382f1be9533900503e17c9f979d9680000cf1c016015a1bc28ffc0d1bb9e5d4db084b4f808c3afd531001376dbec16d602cf1c5f63a83acd5bde834b0fb58c5b5da6184aa467fe4683b6284ab7820044c99c7ae6d83ad01a5c895c4548afe0a9c267a02aacaeadce771daf22648da5290a8bf8fd19df26dc3bcc2ec73dc33445d1e2de9cb1fef235f1e212b28aa7fb8580ffe56e452af401190497001e10df320000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000002c249444154388dd5943d8f1c4510869fd99d35773ef0c705c8329203021001827f8090900810883f003111227506d14504fc03624840204182217300423210fa641964c9be1577bb33bbd3dd55d5d504333bc7c96b3b764badaaee19bdfdf4dbd50d4f5bab36c90f3ffefa515d4f0f5433b37a42d376c4a464cbccea29661911c52ca36aa86ea271e79f39f3a3c577cd62f5f1cf373e5f00d41be1ba9e1ebcf4cab54b5071edea3e9f7ef10dcb2670e1b95d3efbe4fdc7d27d7fe3167fdebafdc1b75ffd02f0e119e194942e0ad5b0899bbf1f72f9c279ea7af2c46d2f9a0e07dcf3bb23e82691617b55d50bef5fdce3e517aff0c295cb4f14163196cb1529c938772a2c8aa831a97ac2b7df7895abcf5f64ffd2b38f15752f2c9b96e5a2c12c3f2c9cc410cd94629c341defbdf53aa5144a81f9713be4fd7813cd8c939396a307c774216266db887b2bba98f8ed8f3ba865cc32967dc8bdaf889c1131624834cb96f53a707cd212a33c8a581155421c4aca725f529607ff8d98941885b65d11ba484a424a8a88106324e72dc23a58e1ee9cdf3d87651f6ad7a88ae30693929996ccce6cca64f71cb349c56c3ae12804521272f647111b3bcfcc78e7cdd7707742104248a4a4a8da6097f5072d36f62fbffe8979488ff718c02c1342220441d5b6089f5d208920a2dbad484911cd981a77effecbfdfb0daa365c611daeb08ef698f5e23b3b35290a49d2766119c84c95aa2aecedd588802ad475a1ae613a2d98c16452502d5455011c1988ddb7799c94d5ba239bb15a45168b6ea4ea094f1f21111d1fa1d9ac1aac90edc43124d6eb407147d570cfe4fc7037eba3bb8d42fd42b29d38c4440809bc606694e2b8f7bdcff330ee63ce9bbca022a828ee5b88c33ab25eb4e46cac56cbf1e44fabe0ec21aae6f19f75db90ba35bead8e8fe78bebf7fe7e701053e2f65f87e45c46e29c0ba5f8ffe64ebfb917ee1dcee982e2ce759edaf61f121ae0ff0b36cf4c0000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000002c949444154388db5934b4854511cc67fe7dc73c7999cb41acb6a2a22d28aa227f6448808a38248905ab80a5ab46a5154eb20dab4691591460815d42283a0508a088328911e584932a5e318448e363377661cefcc3d2d46f175291dea8303f77e177ef73bff87d05a33a6fb0f9e8cbfcc40a6bf6c456d4d559fdb3735d53874703f7e9f39c9b36d48a7219582541a52294d2cf989fe4838dcdcda5e595b53d53d95236794cc04af77c229cafb6b2af7625b035f9a5bdb37160406f078c6a145debc57b6c0c7aa95fbb0ad81f7cdaded3b0b02c378e231b096693c450e81b23dd8d6c0abbb8fded417041e83fb464bd11bfe4a22f915afb78fe0b215283b7abba9a9692db834ef6f92127c3ec18eadeb49a52014d2dad142680ddf87faa2f3156b81ae592706500a8687211281a2d07d61765e43291062428042c0bf42dd44da5a31142c2f7b44c5ba0e0cc361fee007b5e0dbd395aee0914cd6d67f5893781c92af2f52b9eb25745c462a8930159ecf37a93ffeab74dbe29ef3ee605b99b118c462104f8065413209090b8686c04ac2c8ea73647ac2541cce61f834d214545487c9468768eb2eb9012ecd532abf108e035a43ce197f7634385d0ff144db8846e3941787f16eaa0204b9de105f9adf663795d8d59d27e69e74052b9507693d19aa1d30128dcc3b520d7a116801467ef6e4e2201bced42a34fbac96e7bba7838dc98927c2b586d4e606c2af3f203ede2358b714a93538a03323bcb9d2928da4fd977f76b4dc9e3ec7223fab72b4fa5313cf2d5f82ec7d4ae9b1a5e40606c9748530fc7e7426c7f6b30794bcfaa4a2ae4d77ff75dca404c30073b4f64a41b6ff19233d7dfc183c0ad2440b49cc7f9ae4bbcfba7ca1deeddabc3f4988fc4f02758d64ac18c1920089c70dc86486d2ea8d5c7f5123bc62f0c2a9d982c76428c59c790100d4964b0c5b718a3df9cbfb4a03995927765371700dc52e7e412b3d13fd37f0b45234debaf34fc0bf01fe532119ee8d4b590000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003fe49444154388dd593cb6b5d551487bf73ee39378f9bf7a3a6e94b694b2bb65a1111a13a102b82edc0fe0d0a82e0d006670e041d8aa8d38238d18120522cad5207c596da121f55aad69b3ed2a4499a9b7bef39679fbdd77e38484c93b60a1dba266bb3f8f1b1d66fed15711fb1f03ed5643cfdc00dbcf96a73aa7db53d75e9a3b9b3c78f1e38c9dc9ddae47ec07137bbba7686fdd591ebd1e0de57b635ebd36f0767fb4ef0cd3b074ea2d681bf3e7eee485c8927ac78d224a6d9cad1c6e2ac234d2a586b31c662ade3d78e0f93a7fb8fd7b8f62951fb045d0b8f76deca8b873f0b2f77c217ebc169357d77c7cecdc49598cd63831c79ef738cb13c30dac7c46b2fad0a8364985f5e27f6319440d3b37875961fd28387cf3716a68137d64da7b5509486521b004e9fff83d9f926aa346b64015b3f4a7564065add20fdf8762fbf15db311bf7e0bd3b7497c7462c461c61a53032d8c3eeed1b7968ebe8aac8e737201c230a03a03ba0eca2b950e5f7aea768b60a8cc85dfb488cb118b144d172e1e073fbd83a3ecc86e1de956603be718ab8a30ed910f80a2eebc36e7a9cf9eb63349b0dac75f7020b462cce7b1aad82c32f3e4108811002f38b6d708afef65754077b60b102ba83765ee5726d2f4bb94315e5bf812d228e565672eea73ad63aac7588f558e718f5177876cf34a8412080d4b8382d7ca92d8b799b526b9cfb8f8e556910eb1071cbd93a82e43c367686a46f1c16045c42d1709cbab9911b91c31883526bc1fb60f9365c62c461c4e17da0d655c5a6cb9d6a6de9e347366d0b607a0003b687bfaecdd0ecdb4d8f4bb99917686d70ce03fb52a00ba80226d15a3022f4f674f2c2fe4770ce5396069535e96c9ea636340a6d03a146de70c896e739f4e43318717cfcc9318a4221622ac0c81a27d25856bedb3fdee6b922cf4ba45ca223aa1345034037f8216e3522dae916546968b532f2bc4015eade1e6b2d88388a4253af2f3037d746c452b10d86c7c7408621aae26ccccfd714533d31aa9ca2b33341a912630cdef93bb93e316229b5c11a431c07babb13440249d6c2fbed50dd859319ea93df32dbb117224f9ac684e011238811bc5f053b960f5e275a0bedaca05a89c9b29266b340c4d2b1344f36344054445c3e53e7eccc832c25bdd84c61ad234d638c118c15bcf70168ad403d4c8644294d912b7c9a206271cee1bd23cb0cdf7f779eeeca247fb60650dd9bf062f1dee19c238a02ce59bcb3048287c97cad17b1521aa50c6569b0d61282c77b8f379672fa0a57cc18a677332184d59193a442b59ae2bc47ac5b6bc5ede5a9a2245b6a6192983c6f216211b198da06f48e03844a8d542cb03c490860ad43298d6ab7d0457eafe591cccf2e4e4c5d9e9e10112e5eb884f7cb9d39e757dfb7f3fadaec95065a5bbc8fdeba8bfcbf8bbf01e870cbc9b35858b90000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003f749444154388db5955f68d56518c73fe7777ed333dd3f67fecb74c722ed62f9071223332c5620062d0982a88bec22888aeac242322d2b2808b12e022fb4a0eea216155de46866641bcaccd4e2b464736ecef36f673be7fcfebc7f9eb78b6dce95125ef8c2c3fbc0fb3c9ff7e179bf0f6fc239c78d58de0da10289eb4d78f5cdeeb41877a86696b7b65cd62b3e7a7f63e96a71d755f16b6f75bfd4dc98eaddfe54ebe6ed4fb636599143d70c76ce5dd3a6d6ae777ad6eedcdbd3dbd935e2aa55e7b259ed4647adfbf860c63df3c24fed57e3265a9efec3b56f5e8808280bda08cac017df0f95c26fd7ccdbf3def13de95b9a763ff8400b8df53518e3d0da628c23954af2fabbdda5b1f178c5e707ee9fd192c4a61de7dcbedd2b5006220bca40ac61a82f64e058866d6dcbb86b5d335a835260ed34d839c7df8315f67e78aae387d3899739b5b97f0aecff5b6e46c170cf10f526e28d17d730a716acbd7a1b451cad2b9bd8b4aeb95da4f069e729a6c156a6c1a5f3214327fa79b82d4d7a79ed35df0560b462d8df71099c43ebb9648aa3fb5873642d22e01cfe95d58c8f8c73cffa25ff0b2d5585adbb32b4dd7b33b72eab4304d2ab16a7cb55fb8a3694f67f70bcdeb7329de02d5dc8ce83a7d9b05e7016ac58ac15c438c43acca4ffddaf451edbd2c2ac054d1c190011989d82df7ac7ea073bfbb240d78c567c753847faf605ac5eea33efa63904e20895235410448e400b5104cfae5c4c5ce3d3736e029af0a03010923dd66f914a9a847b7b06f8f0d12c99cf5a2964358df37da40e7265c89761e0225446211f433e0bc592259f8b090a152e9ec9521aae96881283d4db5578aecb376602fa634fc8a63b1ba84d41cdc21a7a33e32c58de40e602f40dc048ce90cb5b2ee50db9bc21288584a52aa5e1519c721090c5b73ed8b3641eeaf765526e47ba8b6cdbd84c55e0520c59af813f4f5ac42509228752102921568e2816f2b9001d68983b176c0cc490544d383900e08915c6abf0fbd9128fb7d59129c285224440b12c8c5584583b22e5501a4a639a919100ebcfc64bcd9e2997a469c4d231a963387caccc7dab1b19a9409d0f4b525067a16189cf585161fc04cd6268d011f58b14b735259138468218136bc2c0902bc8fc81419da57fcb4900df5847d72f05763cba883bea276f9e075a431439b4f68863431c5b94f250ca278a0c5afb44512d4ad5a0548a2f8f8ecdffe4bcfbe6b274ab81a17fa0cc231b660e85e781ef7b2493093ccf9bf4bdcbbee74d9c4df93f9f0941dcd753f97e61b8ca734fb4fc67ba92c9097338440cb1d284514c186a824011c53151a8d15a88b5a1efaf002e6cedb80cc64bd079a2c8ddcf8fe1c42102884344b056b05a30c6608d608dc1188bd1163132b18ba51a38085cc79585256ed467fa0f0f457af9307ab8bf0000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b249444154388d9594db6fd44514c73ff3bb75dbdda55d8cdbb4200a4d4b5bd3284414a3084568dad81062a4120dbef237c083c4575f89a40f3e61a231a24f3ed912de08acb484b281a42c50ed65d3d2ad2cddcbefd7df5c7ce805b6ed72f92693c99c73e6332733678ea08a868753d9643291a8e607b87327933a79b2ef93cd7c4eb54ddbb62593eded6f5aebed4a1bb43118037373b99d8000cc4b838dd9108bd206a50d5269841068adaa6daf0e564a56852a6d10168461f8ea60299f82d743a532d8a632e615325655a14a6bb43648b95415bce171007a7a7adaa50cab427d3f444b85effbd1cececebae766dcdbdbfb9952eac3e3c74f7cdedcdcdca6b5b656a1f21968e087282951c2c6f3dcc4d9b3e7e66fdd1abd3132f2f75f9665fd3e3c3c7c0740f4f7f7dbfbf77f343e30f0f52ecff3009899f987a20f7bde7b8750ad420d7eb0020d15b59ec395cb431c3d7c00216c8c31e4f3790607cfff3238f8c357764b4bcbe93367be3d1589d4605916966571efe104bb3adea5bca409424d28354a19841058b68de3ba282c8837a30bb3048161b154c2b53ddada3abac6c646869c0307ba4f47223515f7f3b010a1d18daeada58662682849f09541ea657be07a88ffeed3f8fa16ae67eff17e63070d0d0d44a3d12f9caeaeaeb71cc75ea9044db9ec93091338f316c510c6f386d9122c7fb0f5b2d9bf6038f186c7e19d7bd6acdbb7efd8ed04c192e7ba0e524a826009cf7399d0af71e39ee0fa5c35e053150a314e45dcb5b5ebda2493c94627951a092391244d4d0992c9048e03ffced771fbfe73796b9ab7b7108d462814cacccc2c90cb3d616e6e5e394250544ad74f4de5989aca2184e0fcbe38813d4f513a3cf605b99221f34813ab11ec480812b5501f815a11e2a91257afce561ca6b57aec044139178d469a974d86a1a13f37cdac61659e591915be8604fbf67dbc4c309a7c7e61c629169f4c45a3b55d004b4b3ed7ae5da1b5b595d6d6d697ba8a542a455d5d9c43878e02b0b8f804dff7279d5ceed1cf42a8be582c8eef1bfafafa3972e453b66e6d780172591d1d5d64b359e2f10860313dfdc04c4e4efee1c462b15fc7c76fffd8dd7db4a6be3ecac1837decddfb36e2f9c50080948a64b289bb7727a8af8f03904e8f6632994cdab978f162984ea7db6ede1cfd2e168bed3e766ce00321366f4eeba1522a1cc7e6c183fbfea54b3f5dcf66a7c72e5f1efe1ea8eca7172efcd6bbb858322f52184a532e07a650289b7cbe68d2e971d3dddddff92caba21fd7d579dfccce2e305b593d1b648c414a8952cb230c435cd7fd1238b71af33f85d71e86e22fe4ea0000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000002c249444154388dd5943d8f1c4510869fd99d35773ef0c705c8329203021001827f8090900810883f003111227506d14504fc03624840204182217300423210fa641964c9be1577bb33bbd3dd55d5d504333bc7c96b3b764badaaee19bdfdf4dbd50d4f5bab36c90f3ffefa515d4f0f5433b37a42d376c4a464cbccea29661911c52ca36aa86ea271e79f39f3a3c577cd62f5f1cf373e5f00d41be1ba9e1ebcf4cab54b5071edea3e9f7ef10dcb2670e1b95d3efbe4fdc7d27d7fe3167fdebafdc1b75ffd02f0e119e194942e0ad5b0899bbf1f72f9c279ea7af2c46d2f9a0e07dcf3bb23e82691617b55d50bef5fdce3e517aff0c295cb4f14163196cb1529c938772a2c8aa831a97ac2b7df7895abcf5f64ffd2b38f15752f2c9b96e5a2c12c3f2c9cc410cd94629c341defbdf53aa5144a81f9713be4fd7813cd8c939396a307c774216266db887b2bba98f8ed8f3ba865cc32967dc8bdaf889c1131624834cb96f53a707cd212a33c8a581155421c4aca725f529607ff8d98941885b65d11ba484a424a8a88106324e72dc23a58e1ee9cdf3d87651f6ad7a88ae30693929996ccce6cca64f71cb349c56c3ae12804521272f647111b3bcfcc78e7cdd7707742104248a4a4a8da6097f5072d36f62fbffe8979488ff718c02c1342220441d5b6089f5d208920a2dbad484911cd981a77effecbfdfb0daa365c611daeb08ef698f5e23b3b35290a49d2766119c84c95aa2aecedd588802ad475a1ae613a2d98c16452502d5455011c1988ddb7799c94d5ba239bb15a45168b6ea4ea094f1f21111d1fa1d9ac1aac90edc43124d6eb407147d570cfe4fc7037eba3bb8d42fd42b29d38c4440809bc606694e2b8f7bdcff330ee63ce9bbca022a828ee5b88c33ab25eb4e46cac56cbf1e44fabe0ec21aae6f19f75db90ba35bead8e8fe78bebf7fe7e701053e2f65f87e45c46e29c0ba5f8ffe64ebfb917ee1dcee982e2ce759edaf61f121ae0ff0b36cf4c0000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000045749444154388da595cd4f545718c67fe79c3b7760669896f1624305044394882c2c289258a31235367161e28a85d1a50b57a64b57eaae24eac2855b13fa078864ecc684b882513a52c5548b16ac7c88c0ccbdcc1733e77471ef8cd836ddf82627e74deeb9cf79cef37e891fa125a4d4b55d8e33642965f30556ae544ab32b2b239b95ca552ba4d4b52b274f5ec8e7f3acb82e18f3d9612904524aa410a86097ffdc033f5a576797e1c24f0f1f627538ced0462ec7c2eedd247a7b3f0315d59f844085c3082110e5325208df0fbe55fd8de7cf89a6d37438ce90654969afb82e0d9d9de872f933a6d18e0eec8e0ec24d4d44120900363e7e64636989dcab57c4d6d7610b70b8bd9d522a8525a56d19c018c366368bdedc04c0aaaf67db891334f6f4fc4bc798e310731ce8eee6cf8909542a45bd312025a258440881012c8c0163286532a862113b1261e7a54bd4050c7f7bf4880fcf9e51595a221e0e63353793e8e9a17d60809d070fe2eedac5fbbb7769b22cd8dc44001883a58d411bc3eae424897dfbf8e6dc39ea120972990cbf0c0fb3fdfd7b5a62315feb6211e9bac8d7af79934ed33c344483e3a00e1f663399c4360603686390c6185f8a850542d1284e7f3f0063376ed03e3b4b63a582f13cbe3a791275f428854c063c0f7b7a9accbd7b00741e39c2bbc646c8e51081b4b29a5c4a299a4e9d02e0d7fbf789a7d358f93cc675a96f6fc7397d9ab633677c00d705cfc3a452ac8e8f0310efeb23b7b484010cf88ca510584a11efee06607674946dd92c3a9bc5b82e52a95af07428049e07ae8bf03c542a05c0f6ce4e5617176b8c2d13e8128ec789b6b501907ff9125128604a254c2804c5e2a7b42895c0f3fccb8ca19c4efb8c5b5ac8d8363baac0da1844c0b86af54aa1a4f41720b5fe94dfc660698d34c6afbc2d955a0cfc5af0300691cbe1cdcf0310d9bbd707550a2b28dbad85b3b59ced3d7b00c8be7bc7d7e53246eb207881c64a2972333300b40c0e82945801ebad8c8dd648295141efb00e1d0260656686ede130d582933ad0584989974c02b0efec59d67b7b6b7294a6a6f0e6e6587bfb96fc9327a880b17de000e1c14100e692499c0058578109800b8f1fb3383606c077d7af93efebf319e7f3642f5e64fefc790e84423e687f3ff6952b00bc1e1be3dbe9692c29315aa3ab5921c07fb6526cdcbac5c6fefd449b9be9be7993b9070f084d4c60bd79431b10eaea420c0c1039760c006f6181b9dbb7f93e164308810ea410c3b19839dad949241cae3d9d860642972fd3fac30ffc9ffd3e3acad29d3bf48642d84a218460796d8d9f2727fd74ab6a5c5bf93c6a78983fc6c791c78f93e8ea22dedaea477f7e9e959919fe4a26d9f1e2058722915adbac32d6c66055b42ee50b05bb311aada5587552c49f3e454d4d510096c36136ca651aca659a6c9b56cb426c01ad36fc0febeb54b42e596b85c2c862267341030df5f5ff391daa7b34e8b5cbd533e0377afc69b392cdf2767999b54261c4d2c65c4d2d2e125f5d1d92427cd130d5c694b2a5d28836e6eadf44cbf02c068658550000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003fe49444154388dd593cb6b5d551487bf73ee39378f9bf7a3a6e94b694b2bb65a1111a13a102b82edc0fe0d0a82e0d006670e041d8aa8d38238d18120522cad5207c596da121f55aad69b3ed2a4499a9b7bef39679fbdd77e38484c93b60a1dba266bb3f8f1b1d66fed15711fb1f03ed5643cfdc00dbcf96a73aa7db53d75e9a3b9b3c78f1e38c9dc9ddae47ec07137bbba7686fdd591ebd1e0de57b635ebd36f0767fb4ef0cd3b074ea2d681bf3e7eee485c8927ac78d224a6d9cad1c6e2ac234d2a586b31c662ade3d78e0f93a7fb8fd7b8f62951fb045d0b8f76deca8b873f0b2f77c217ebc169357d77c7cecdc49598cd63831c79ef738cb13c30dac7c46b2fad0a8364985f5e27f6319440d3b37875961fd28387cf3716a68137d64da7b5509486521b004e9fff83d9f926aa346b64015b3f4a7564065add20fdf8762fbf15db311bf7e0bd3b7497c7462c461c61a53032d8c3eeed1b7968ebe8aac8e737201c230a03a03ba0eca2b950e5f7aea768b60a8cc85dfb488cb118b144d172e1e073fbd83a3ecc86e1de956603be718ab8a30ed910f80a2eebc36e7a9cf9eb63349b0dac75f7020b462cce7b1aad82c32f3e4108811002f38b6d708afef65754077b60b102ba83765ee5726d2f4bb94315e5bf812d228e565672eea73ad63aac7588f558e718f5177876cf34a8412080d4b8382d7ca92d8b799b526b9cfb8f8e556910eb1071cbd93a82e43c367686a46f1c16045c42d1709cbab9911b91c31883526bc1fb60f9365c62c461c4e17da0d655c5a6cb9d6a6de9e347366d0b607a0003b687bfaecdd0ecdb4d8f4bb99917686d70ce03fb52a00ba80226d15a3022f4f674f2c2fe4770ce5396069535e96c9ea636340a6d03a146de70c896e739f4e43318717cfcc9318a4221622ac0c81a27d25856bedb3fdee6b922cf4ba45ca223aa1345034037f8216e3522dae916546968b532f2bc4015eade1e6b2d88388a4253af2f3037d746c452b10d86c7c7408621aae26ccccfd714533d31aa9ca2b33341a912630cdef93bb93e316229b5c11a431c07babb13440249d6c2fbed50dd859319ea93df32dbb117224f9ac684e011238811bc5f053b960f5e275a0bedaca05a89c9b29266b340c4d2b1344f36344054445c3e53e7eccc832c25bdd84c61ad234d638c118c15bcf70168ad403d4c8644294d912b7c9a206271cee1bd23cb0cdf7f779eeeca247fb60650dd9bf062f1dee19c238a02ce59bcb3048287c97cad17b1521aa50c6569b0d61282c77b8f379672fa0a57cc18a677332184d59193a442b59ae2bc47ac5b6bc5ede5a9a2245b6a6192983c6f216211b198da06f48e03844a8d542cb03c490860ad43298d6ab7d0457eafe591cccf2e4e4c5d9e9e10112e5eb884f7cb9d39e757dfb7f3fadaec95065a5bbc8fdeba8bfcbf8bbf01e870cbc9b35858b90000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000023b49444154388dedd54f68d30014c7f16fd2ac71eb562b1b76b021ab0c640c598720881e36f02244d8403d88487af5e09fb183f71d15c744c483909d77b1d0c0f030eac59b87ce8b30d0669b75d35517d7d4a66dfe78a8741b5dd5293b0806dee5c7cb87e4e525117cdfe7200ef140d47f1216144569085f0ea5545146f3cacc9e5dbc98f813b8e18a17ba52aa9d439b3a99255ad85417ba52ea5fc3f391d488e3a2dd1bcb31341863ea4a804eb9a0cd47f68fd761bd2319773dffd9ddf3ef091de961690d2c37cc9d0b3e87e592a67724f7858b007a682e8eefa413a7d7228edccbd21af5cadb61ae9da9100c789a1e9afb6d5ce0f2561c414c9fea9723c7a352d3c6ad6285e7af0570ed8452ba3afb6bf8d2974dc460a4450e012005e0dc89ed0663a35600d56a151c0b6058b1af677e064bf8de38ae4df59b5d3bd977a63f7d8dc6c3adb506cf876af1a389202640340194b2da14d5834fe340ba618f75e989d679b447edefdece5ebd03d75acd00a38a73c36c8a4a8f6f83380d241be1c0a3110287d283fd51a41dcbb8b8ec4271c504668059c5bb6900e8e2c33e600cb805f401268218dbf3cdd3850769da7a47068eb5eecaf305d8d82c41691dbc4a2d94daa0250c8850fa602288a38a3f91d97b0d7c6f9ce24af6cd6a5f241695eb71bb0cedddad40ac9e551cc87d2e836598c0a8e24f64a0c9474861d20486b18c4c7639879107ab0c7675bbf205c8ae97c8adbe05cb48023185c9fa43dd7314bbc6c27df5c7fce288c1daad574c00037801ccec04ebf0ff3fc881c3df0122e6e0f16d7121140000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003b249444154388d9594db6fd44514c73ff3bb75dbdda55d8cdbb4200a4d4b5bd3284414a3084568dad81062a4120dbef237c083c4575f89a40f3e61a231a24f3ed912de08acb484b281a42c50ed65d3d2ad2cddcbefd7df5c7ce805b6ed72f92693c99c73e6332733678ea08a868753d9643291a8e607b87327933a79b2ef93cd7c4eb54ddbb62593eded6f5aebed4a1bb43118037373b99d8000cc4b838dd9108bd206a50d5269841068adaa6daf0e564a56852a6d10168461f8ea60299f82d743a532d8a632e615325655a14a6bb43648b95415bce171007a7a7adaa50cab427d3f444b85effbd1cececebae766dcdbdbfb9952eac3e3c74f7cdedcdcdca6b5b656a1f21968e087282951c2c6f3dcc4d9b3e7e66fdd1abd3132f2f75f9665fd3e3c3c7c0740f4f7f7dbfbf77f343e30f0f52ecff3009899f987a20f7bde7b8750ad420d7eb0020d15b59ec395cb431c3d7c00216c8c31e4f3790607cfff3238f8c357764b4bcbe93367be3d1589d4605916966571efe104bb3adea5bca409424d28354a19841058b68de3ba282c8837a30bb3048161b154c2b53ddada3abac6c646869c0307ba4f47223515f7f3b010a1d18daeada58662682849f09541ea657be07a88ffeed3f8fa16ae67eff17e63070d0d0d44a3d12f9caeaeaeb71cc75ea9044db9ec93091338f316c510c6f386d9122c7fb0f5b2d9bf6038f186c7e19d7bd6acdbb7efd8ed04c192e7ba0e524a826009cf7399d0af71e39ee0fa5c35e053150a314e45dcb5b5ebda2493c94627951a092391244d4d0992c9048e03ffced771fbfe73796b9ab7b7108d462814cacccc2c90cb3d616e6e5e394250544ad74f4de5989aca2184e0fcbe38813d4f513a3cf605b99221f34813ab11ec480812b5501f815a11e2a91257afce561ca6b57aec044139178d469a974d86a1a13f37cdac61659e591915be8604fbf67dbc4c309a7c7e61c629169f4c45a3b55d004b4b3ed7ae5da1b5b595d6d6d697ba8a542a455d5d9c43878e02b0b8f804dff7279d5ceed1cf42a8be582c8eef1bfafafa3972e453b66e6d780172591d1d5d64b359e2f10860313dfdc04c4e4efee1c462b15fc7c76fffd8dd7db4a6be3ecac1837decddfb36e2f9c50080948a64b289bb7727a8af8f03904e8f6632994cdab978f162984ea7db6ede1cfd2e168bed3e766ce00321366f4eeba1522a1cc7e6c183fbfea54b3f5dcf66a7c72e5f1efe1ea8eca7172efcd6bbb858322f52184a532e07a650289b7cbe68d2e971d3dddddff92caba21fd7d579dfccce2e305b593d1b648c414a8952cb230c435cd7fd1238b71af33f85d71e86e22fe4ea0000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000027249444154388ded95df4b936114c73fefebfc91ad7cd72f35a2e6af6976b3821002c95d54173d928a6517112d22080451bce84fe832af03dd455751294c08ea620baa9b88d68d6939b7a05a3ae75edd66737bf7be5dcca653340dbc087ae0c0c339e7fbe11c78ce7924c330d88923ef08f59f044b428875ce97f56ebba9841eb99816c07abb768cb17933afc247017c5a8c81e68fadae2d835fec772bb2c4d0b1bdd1b65b6766693e594975a5394fe07917e2f19b38eecf753edda0fd5ca435b829f899e2b6cb129ebb2de3cad9d3351417156edaeaf3d7e3dcf336a89a4ed5c5f956756ddc0430ba67c48e6e783a1afd8a7f5ae2c98339c6228700282f8d71a9f11bf5d68328fb0ee484d69a06ba66fdcac30fd5c380635dc5742d2a487200508020c803c0888877040146cd4fadc00dd07b2ed8c28afdf8919c38a3a519f46acc25648788777af3c197178691e43624b95724aedcdfa8f5d1dd8f140cdd535721d9ed35a539ff6428c5fba9b44b2c5e75e6833be7a248b243fcbce6db105aec6a59be2a48f2d0896a8b72d89275a809783b1ef561e8bdab352691bc6ed90898850eda31340f263398b295c693904c65e3258550b8cb624f670c0f002915f494fac701114b377d18ba132d4e7da54453ad448502a9cc8a9daa82a65a89f23209b44515437714d86cb63fb1b1e96edf27ce7f8944636d45256514c8a065f22d18867028a082e110da1ddf96475a64ba5d6492ce4020c0cc0224d32b36390d91ef132a86e610996e1f6c735708a3cf859e7286befa998d414a83a91948842700da85d1977b00db5e42827e17bae68cfcf013985e221d9d00700afabdabf3fe6abb2dc35dc483bfa1aeb539d2ff1f64c7c1bf00249101a1f694e3ca0000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000045749444154388da595cd4f545718c67fe79c3b7760669896f1624305044394882c2c289258a31235367161e28a85d1a50b57a64b57eaae24eac2855b13fa078864ecc684b882513a52c5548b16ac7c88c0ccbdcc1733e77471ef8cd836ddf82627e74deeb9cf79cef37e891fa125a4d4b55d8e33642965f30556ae544ab32b2b239b95ca552ba4d4b52b274f5ec8e7f3acb82e18f3d9612904524aa410a86097ffdc033f5a576797e1c24f0f1f627538ced0462ec7c2eedd247a7b3f0315d59f844085c3082110e5325208df0fbe55fd8de7cf89a6d37438ce90654969afb82e0d9d9de872f933a6d18e0eec8e0ec24d4d44120900363e7e64636989dcab57c4d6d7610b70b8bd9d522a8525a56d19c018c366368bdedc04c0aaaf67db891334f6f4fc4bc798e310731ce8eee6cf8909542a45bd312025a258440881012c8c0163286532a862113b1261e7a54bd4050c7f7bf4880fcf9e51595a221e0e63353793e8e9a17d60809d070fe2eedac5fbbb7769b22cd8dc44001883a58d411bc3eae424897dfbf8e6dc39ea120972990cbf0c0fb3fdfd7b5a62315feb6211e9bac8d7af79934ed33c344483e3a00e1f663399c4360603686390c6185f8a850542d1284e7f3f0063376ed03e3b4b63a582f13cbe3a791275f428854c063c0f7b7a9accbd7b00741e39c2bbc646c8e51081b4b29a5c4a299a4e9d02e0d7fbf789a7d358f93cc675a96f6fc7397d9ab633677c00d705cfc3a452ac8e8f0310efeb23b7b484010cf88ca510584a11efee06607674946dd92c3a9bc5b82e52a95af07428049e07ae8bf03c542a05c0f6ce4e5617176b8c2d13e8128ec789b6b501907ff9125128604a254c2804c5e2a7b42895c0f3fccb8ca19c4efb8c5b5ac8d8363baac0da1844c0b86af54aa1a4f41720b5fe94dfc660698d34c6afbc2d955a0cfc5af0300691cbe1cdcf0310d9bbd707550a2b28dbad85b3b59ced3d7b00c8be7bc7d7e53246eb207881c64a2972333300b40c0e82945801ebad8c8dd648295141efb00e1d0260656686ede130d582933ad0584989974c02b0efec59d67b7b6b7294a6a6f0e6e6587bfb96fc9327a880b17de000e1c14100e692499c0058578109800b8f1fb3383606c077d7af93efebf319e7f3642f5e64fefc790e84423e687f3ff6952b00bc1e1be3dbe9692c29315aa3ab5921c07fb6526cdcbac5c6fefd449b9be9be7993b9070f084d4c60bd79431b10eaea420c0c1039760c006f6181b9dbb7f93e164308810ea410c3b19839dad949241cae3d9d860642972fd3fac30ffc9ffd3e3acad29d3bf48642d84a218460796d8d9f2727fd74ab6a5c5bf93c6a78983fc6c791c78f93e8ea22dedaea477f7e9e959919fe4a26d9f1e2058722915adbac32d6c66055b42ee50b05bb311aada5587552c49f3e454d4d510096c36136ca651aca659a6c9b56cb426c01ad36fc0febeb54b42e596b85c2c862267341030df5f5ff391daa7b34e8b5cbd533e0377afc69b392cdf2767999b54261c4d2c65c4d2d2e125f5d1d92427cd130d5c694b2a5d28836e6eadf44cbf02c068658550000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003d049444154388d9d955b485b771cc7bfe7e4e4666d76cc6c35316a6493d43af134bad9d5871a686765945a3a18658345287bf0654b614cf6522aac0f9badb5b0be6c6bf230f2d23253ac506869ed982dbde1d9c6d84acd929ae8b471e6e45c7339c9d9c316ebad78f9c11ffefcfedfff87dfe57f21344d0300100481f56c74f42e6db55a6e170a1ad3dedeb4e686228f5c97b6dcfc6d6d8d4ca1a0ad2ba43643b55a2ddd04014892b26aeddab571afc9643c05a06ed36092fc2f41515c0ef6fb47bd36db0ebfd56a79a1dd0c58146564b3790882b4e81b18087aebeaec7eb7bb1e1c276c15ac40961588a20c00e8ebbbe8ddb3c7e5dfbf9f01cf2b98987812286a37550a4150204969f0bc841327ce780f1c78d3dfdaba0bf1780257affec49224e1db62c4326439039e97d0d9f9b6dfe5aac5d4d41c2e5d1a611716784f6fef316e4b11cb721ae3e3bfc0e5aac5eedd4e44a3b3b87cf9260bc073e1c2496ea9764df0ad3e47b7514f30063d60a0106dfe22160080e9c82452a94a1c3ab417d1e82c82c1ebaca6c1130c9ee656329681aff43a9c96520c37ed0353be4b0fbc42418c007f9caff94497c7d0033389fa967d0885ee201c8eb38a92f18c8c0cac82020051bc82811e075db5b31039d895a3130903645e87329b0e966603c438409a74b833d582470fdf4232fa1893dc8eb2b5a08b4f4471f2ed870eff079dbcf7cf78099effa3efe93a1b0f3c3d57d351c590b7cd8d06c06c0044027fff2c23ab681067733e009c06849a3e8f712bc18ba7a2daaa78f56a168f7ea7ce779d8d070020c169acc2e7015945219641f8ba009bc788ca660aaec32583af779afd469a8c3cecaf665646be087ed598c1c2bc064ed09e157d29491bdc56a22217cfe1fe9534bbad1c402e07e34e0d543e0f63a986fa77f4346526865fda3c51062ab667515d963ef5d5117badbd1c4c7383d2812c89b19b3a161a3caa9c4f422c60e61eb87412be7c01476a5bd05dd3a0396f7ce6e83ef8753cb40afc38563ae6ae943a8eef5da061c6a730eb31395d8a07bf1a03aa0adf7b17e3dc5fdfdb918f698886a9d3edfdb10080c06fe71c9146b7ea5432140360355848eb8e0e8ddb071987d45d62023da79858394b0d7dfcc374a0a8915279280b2a12491d5bf4852388bee1ce38958c6eed52f4df98e100f4fc3f00a456960d89e78836d8d3cef9a4e9230063dfbc5f45d3a519468ea950322f69de46ecc9336a4c1373687b8df77ef9ae7d584faa136e074f3f9d24a1645f940158728e37f2e70d1eb33b2b2cd989e3adf37431574120f0dd5d5be8e48f334781352ec846c00070e6b09d2933e5869b2b046752d1839ddb1ed011f0f58dcc704bc1ff02755cb448a18033c40000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000023b49444154388dedd54f68d30014c7f16fd2ac71eb562b1b76b021ab0c640c598720881e36f02244d8403d88487af5e09fb183f71d15c744c483909d77b1d0c0f030eac59b87ce8b30d0669b75d35517d7d4a66dfe78a8741b5dd5293b0806dee5c7cb87e4e525117cdfe7200ef140d47f1216144569085f0ea5545146f3cacc9e5dbc98f813b8e18a17ba52aa9d439b3a99255ad85417ba52ea5fc3f391d488e3a2dd1bcb31341863ea4a804eb9a0cd47f68fd761bd2319773dffd9ddf3ef091de961690d2c37cc9d0b3e87e592a67724f7858b007a682e8eefa413a7d7228edccbd21af5cadb61ae9da9100c789a1e9afb6d5ce0f2561c414c9fea9723c7a352d3c6ad6285e7af0570ed8452ba3afb6bf8d2974dc460a4450e012005e0dc89ed0663a35600d56a151c0b6058b1af677e064bf8de38ae4df59b5d3bd977a63f7d8dc6c3adb506cf876af1a389202640340194b2da14d5834fe340ba618f75e989d679b447edefdece5ebd03d75acd00a38a73c36c8a4a8f6f83380d241be1c0a3110287d283fd51a41dcbb8b8ec4271c504668059c5bb6900e8e2c33e600cb805f401268218dbf3cdd3850769da7a47068eb5eecaf305d8d82c41691dbc4a2d94daa0250c8850fa602288a38a3f91d97b0d7c6f9ce24af6cd6a5f241695eb71bb0cedddad40ac9e551cc87d2e836598c0a8e24f64a0c9474861d20486b18c4c7639879107ab0c7675bbf205c8ae97c8adbe05cb48023185c9fa43dd7314bbc6c27df5c7fce288c1daad574c00037801ccec04ebf0ff3fc881c3df0122e6e0f16d7121140000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000019549444154388da594cd6e82401485cf1dc6f8205d1a9b98b8eed2751fc0b7d37d7d1013928a8b26f60d8c69b448c90c73baa0a0c0f0637a120284e1dc73ef7c2024b1df7f121d0ac31d96cb57e95ad3104944d181f732266392181e8f5f3c9dce8ca20357ab3792c4d043f98a05812008044add1ecfe7cf58af379d9dddcb6b0c002282200800e4a3d86edf0160b0b9eeacaa14b22cc362f182f3f91b974b8cfdfe635062af719e363f2ba510c7099224ad8ce65f894508e71caed71f28a5a094c26c366d50e4a3c66b6cad83b50e719c204d0d00603279f23c8fffba9862bddef0debcd11b99a74cd31424311a058dc243a869186719cb945aeb928cbafaa8a98c82248c311091f2e8dab02e6a2ac6cee5e67d1a424d258e3159e5e53ebc0a6a8cc9a0b582d6b79cb5c416a48074e526fa54a7663c1e81d4b0f6b6be342e4620428848eb48daa821f3f72ac661b84318ee5a5b9ecda6e5759d9aa22b6b5dd3b8ef5f5b7c696dd438e74a420a0dfff8d14e4d5e0095c40f193f42cd83890b6a58a1c6d7c560e33a35f7aadf033dbfcd427dd4f8f40bcc2c550346d4fe540000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000027249444154388ded95df4b936114c73fefebfc91ad7cd72f35a2e6af6976b3821002c95d54173d928a6517112d22080451bce84fe832af03dd455751294c08ea620baa9b88d68d6939b7a05a3ae75edd66737bf7be5dcca653340dbc087ae0c0c339e7fbe11c78ce7924c330d88923ef08f59f044b428875ce97f56ebba9841eb99816c07abb768cb17933afc247017c5a8c81e68fadae2d835fec772bb2c4d0b1bdd1b65b6766693e594975a5394fe07917e2f19b38eecf753edda0fd5ca435b829f899e2b6cb129ebb2de3cad9d3351417156edaeaf3d7e3dcf336a89a4ed5c5f956756ddc0430ba67c48e6e783a1afd8a7f5ae2c98339c6228700282f8d71a9f11bf5d68328fb0ee484d69a06ba66fdcac30fd5c380635dc5742d2a487200508020c803c0888877040146cd4fadc00dd07b2ed8c28afdf8919c38a3a519f46acc25648788777af3c197178691e43624b95724aedcdfa8f5d1dd8f140cdd535721d9ed35a539ff6428c5fba9b44b2c5e75e6833be7a248b243fcbce6db105aec6a59be2a48f2d0896a8b72d89275a809783b1ef561e8bdab352691bc6ed90898850eda31340f263398b295c693904c65e3258550b8cb624f670c0f002915f494fac701114b377d18ba132d4e7da54453ad448502a9cc8a9daa82a65a89f23209b44515437714d86cb63fb1b1e96edf27ce7f8944636d45256514c8a065f22d18867028a082e110da1ddf96475a64ba5d6492ce4020c0cc0224d32b36390d91ef132a86e610996e1f6c735708a3cf859e7286befa998d414a83a91948842700da85d1977b00db5e42827e17bae68cfcf013985e221d9d00700afabdabf3fe6abb2dc35dc483bfa1aeb539d2ff1f64c7c1bf00249101a1f694e3ca0000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000002ab49444154388d8d953b6854411486bfb9f78680c6204202e283588845445704254acc8a36a6b2b7b0486d2104b130b1b15110b14a9a2882a5165a2485882f108455221ae3ab301811821a13b377ef6bceb1b8fbca6677b33f1cb8cc9cfbcd7fce0c33863aba7af5ce0d20533da6caf4c58b67cfd7e6aa6a3dc45a8d8e8edf1e1fbfafb51a1bbba7232363b76ba18dc27cb8d9bbd9315c3686ccb35fc7362f751ccd0c0f9fc1f783550b0641c8ad5b0fe9fcf7723adbf5e2af2ad37bcebd5f5341499e1fe893edfdc7331d3b76b27457e9ebdbcbfcfc42dde4bebe7dbc7cfe23b3edf42e56be7fcabebed69b3d7861e6405d309d5b32dd877a0088ac0fc0dcdccf86ad8a6cc886ad1bd9d0bd87f9371f338df2bc483d344acb3e31203c7efaa02114e06456d3fc30264a9c8679e6d1f57ecd0e0d3485cd7c1b6a3a9fcbcd323474caac72ecfb82c441a37fcadabfbfa7fc1d454a92082b2b3e8e93ba9e9898d26ab8e3172c1a054da356ae6b705d07d7adb4e2f0e15e2626a6b40a2c4814348d7a32863238979be5d5ab99b273002f085b6b452d1428b641181c3cc2d2529ee5e53cefde7d05c0539155e56a21063f86c482142bebaae7d6608cc1750d8b8b050a8500d7adec9fa72a48148228fa270fb1b4ecd818b05689638be7b988547aee21828405f4b70fb15d17aa0a715c3a1505c230a1bdbd0d550f6b2ba652c78bcb683e6c09aa9aba0cc31055686b730110518ca96a05d622bf97d785964a8f63258aa2f467cf452475992482e354f7384c90286e092c02719c608c2987e3388828ae6b4892caddec51dabc16646dfd8bdd18ca0b95c10b7f1d0af988f6b6f54f435cb5b9a5a356edb25ade95c9cfe6d2e06eedda943404668b7794882d6e60fa4a48f19cd77b9d3c802b935fccdaa98adebefda6d6969ca66e537865ac16ee35039694cbcd92cbcdb6925ad67f2579adb1850abe460000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000003d049444154388d9d955b485b771cc7bfe7e4e4666d76cc6c35316a6493d43af134bad9d5871a686765945a3a18658345287bf0654b614cf6522aac0f9badb5b0be6c6bf230f2d23253ac506869ed982dbde1d9c6d84acd929ae8b471e6e45c7339c9d9c316ebad78f9c11ffefcfedfff87dfe57f21344d0300100481f56c74f42e6db55a6e170a1ad3dedeb4e686228f5c97b6dcfc6d6d8d4ca1a0ad2ba43643b55a2ddd04014892b26aeddab571afc9643c05a06ed36092fc2f41515c0ef6fb47bd36db0ebfd56a79a1dd0c58146564b3790882b4e81b18087aebeaec7eb7bb1e1c276c15ac40961588a20c00e8ebbbe8ddb3c7e5dfbf9f01cf2b98987812286a37550a4150204969f0bc841327ce780f1c78d3dfdaba0bf1780257affec49224e1db62c4326439039e97d0d9f9b6dfe5aac5d4d41c2e5d1a611716784f6fef316e4b11cb721ae3e3bfc0e5aac5eedd4e44a3b3b87cf9260bc073e1c2496ea9764df0ad3e47b7514f30063d60a0106dfe22160080e9c82452a94a1c3ab417d1e82c82c1ebaca6c1130c9ee656329681aff43a9c96520c37ed0353be4b0fbc42418c007f9caff94497c7d0033389fa967d0885ee201c8eb38a92f18c8c0cac82020051bc82811e075db5b31039d895a3130903645e87329b0e966603c438409a74b833d582470fdf4232fa1893dc8eb2b5a08b4f4471f2ed870eff079dbcf7cf78099effa3efe93a1b0f3c3d57d351c590b7cd8d06c06c0044027fff2c23ab681067733e009c06849a3e8f712bc18ba7a2daaa78f56a168f7ea7ce779d8d070020c169acc2e7015945219641f8ba009bc788ca660aaec32583af779afd469a8c3cecaf665646be087ed598c1c2bc064ed09e157d29491bdc56a22217cfe1fe9534bbad1c402e07e34e0d543e0f63a986fa77f4346526865fda3c51062ab667515d963ef5d5117badbd1c4c7383d2812c89b19b3a161a3caa9c4f422c60e61eb87412be7c01476a5bd05dd3a0396f7ce6e83ef8753cb40afc38563ae6ae943a8eef5da061c6a730eb31395d8a07bf1a03aa0adf7b17e3dc5fdfdb918f698886a9d3edfdb10080c06fe71c9146b7ea5432140360355848eb8e0e8ddb071987d45d62023da79858394b0d7dfcc374a0a8915279280b2a12491d5bf4852388bee1ce38958c6eed52f4df98e100f4fc3f00a456960d89e78836d8d3cef9a4e9230063dfbc5f45d3a519468ea950322f69de46ecc9336a4c1373687b8df77ef9ae7d584faa136e074f3f9d24a1645f940158728e37f2e70d1eb33b2b2cd989e3adf37431574120f0dd5d5be8e48f334781352ec846c00070e6b09d2933e5869b2b046752d1839ddb1ed011f0f58dcc704bc1ff02755cb448a18033c40000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000049149444154388d95955b6c944518869f99ffb487eef66f69cb967ad10a36f180161488312660823131206a888844b6953b1b0991182f38085c34484c4189180e6d4940b83042d110a03156083448a2e5868294166a0b2d14da6e77973dfcff3f5ed036b484aa6f3237339327ef7cdf9777040fe9d0a113a586e16dcc229608a96c8142d704caa555b96affd2a56f6ee731da5cd7a2ce9c6ba3696f950010a3070d0d3f465d5dd406823e3b909383df6f21a504c0711c52f1388958ac359da4b2aaea9dd689e085abea5477570f6da7d68bcd752d4a00ecdc79306a04647d41718450288869ea689a0680ebb818a681a66924e2096e76760c0e0d38b3aaab3fb8fe38f70b57d5295953535fea48b7b6a038826d87b17373c8cf0b93678708858218a681937500985290474959992db44cfd44d8da1dcd2abaf1980268da5b25a4eb2656dbf9613b18f4130cfa098773c80d87b04339b88e4b61411e81800fd3d401881417915f60cfdfb2e59b8a51e8c75b4faaaeee3bf4f4f4f3d2bbb50a40a6ddcc127b4a3e8661e0f399f87d1621bf9fdc6010cff330759d40c04730e0c7efb3300d9dd2e9a564b3c32b47c143b1240303c3a45269945200e852aa52cb34d07589142010689a462c91c4f25958a681a73ca4940821504a11298e904a25c71c5fbbd683e33864d359e2b11800d23035344d4308c1502c41f7addb74fc7d93bb4343847302189a86a9eb63cb320c4c5d279dbe3f56df96c3d5654ed6211e8bd1fedb1601a00fc71208f160eafc3e0bddd09140382787a06591ca64d0751d5d4aa49428a5703c8f6432f570efaeffd9b8563cbc21fbfaee5e775d1729250383c3643359345dc3f55c92990c9aa661681ac6885353d7e9edb9493c9e796496c781fb7b078fdee8e804c0b20c1cd7c3f51e34402090234e0d4dc3320c745da7e96413c3c3eefe49c1f1b8d874fad7b383e97416bfcf429362b2fb74767472b1b58d9292270727053737ef1beced8e57fe7ce418e94c169fcf04c0f5140a85e779789e47d675b9fc573b5feff896f2f20ac2e160c564600da0b3b3f572d05776b1fdeaa537ecdc90af706a11baae21857810264270f2f809be3ff0033366bc4049c9340aad7bcb3e9979e58bf766074a0ffe3edc38113ceeddf3e77f649b6676636124b4243f2f50aa6902905cbd72a3399b35f6cf9933af359d4edbb6bc5d5f9e3c523ab722c440673b6db7fc0dcbeb6e553e627bc39eb3ead515bb14e09bb4c023faeefde2813b17d6a964db36d57ff86575fe335bed5a563c2e3f2440cbf92bdceebd0d90aafef294aa58b44d4d064edc674dcb9146ac3c9bc0f36f317df6d33c372d19ad5954fc48388dea8905d1ddaa7cc1c649c100eb5f8f440f7f3a53b97d752a79a946f51f9aa77ea90eabcf5f8bd40388ad072ea83b7713f4df8bd1b069f1e4b33641ab5f89442b6615d57fb87e0de9fe9b242f3672e1741b3fb5061b6457cf3d4623efc5b7bf52f0e09b59b8aaee5f5def38dbdb70fa5c5fe59e0ddbb18a4a08cc5cccb3739f4249232a13c9f458e431921967ceb5d1ddd5f39f5cd7ffd1d7d072beb772f7ba5a1c7f3efb8e43b06205624174b74a2653a4efa7c7a5d3ffd5ca8aa9f57ebf8ceacf2ca7b33775f41f5687e4181c28b9610000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000019549444154388da594cd6e82401485cf1dc6f8205d1a9b98b8eed2751fc0b7d37d7d1013928a8b26f60d8c69b448c90c73baa0a0c0f0637a120284e1dc73ef7c2024b1df7f121d0ac31d96cb57e95ad3104944d181f732266392181e8f5f3c9dce8ca20357ab3792c4d043f98a05812008044add1ecfe7cf58af379d9dddcb6b0c002282200800e4a3d86edf0160b0b9eeacaa14b22cc362f182f3f91b974b8cfdfe635062af719e363f2ba510c7099224ad8ce65f894508e71caed71f28a5a094c26c366d50e4a3c66b6cad83b50e719c204d0d00603279f23c8fffba9862bddef0debcd11b99a74cd31424311a058dc243a869186719cb945aeb928cbafaa8a98c82248c311091f2e8dab02e6a2ac6cee5e67d1a424d258e3159e5e53ebc0a6a8cc9a0b582d6b79cb5c416a48074e526fa54a7663c1e81d4b0f6b6be342e4620428848eb48daa821f3f72ac661b84318ee5a5b9ecda6e5759d9aa22b6b5dd3b8ef5f5b7c696dd438e74a420a0dfff8d14e4d5e0095c40f193f42cd83890b6a58a1c6d7c560e33a35f7aadf033dbfcd427dd4f8f40bcc2c550346d4fe540000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000043149444154388d8d954d6c545514c77ff7beef992953a04829691952401a44890944d2f8d584a5a189bb26ee202a316eba926008892b6263a20b17ccd25437268d6b5335418d2921f801a122525b18a14c69a7d39979f3debc7b5cbc692d20c849cee6dcfff9dfffbdf79c7315ff63874f8a2f42179013c0185612a17cf1ac0a1f97a71eb530784a3a8161631812a10fc81b81c4501198159814c3c4a50fd5d213110f9e921c30a214a3394f0a3d1b710a5b8cda964fd01a4a4b1637e6b594ee99787e59cf44891a1361fcf2476ae591c42fbe2f79239cb135c707b69bcc91e760603b6c0884e55a8c91141ef82e73775b7c7541f1c334f5e5d03e97184e4f7fac2a0f11b7957e90f5e4ed23fb5beeabfb6d02c7103663f219cdf62e1b6963a7e7221cc7c26033351df2d9792b2a2db99f8a70eaf74f52e57a9de0115b73ecf01e715f79c64621acd423067a5dfa7b5c7c5713b4fd40bfcfd64e4514b7787e77c0eb871237e326c744185925d3ab0fa514a3852d267b7097a2112bca958867777a049ea6d684cb7370f106cc96c108746db0e9d964510d6177afcfc17eb24a31baf38474ae573c1c3852d8d70bad44b15885aca7f05d8d11f8e3365cbf0337cb3075ad45b91201d011686a21dcab42efe6840e3f29186118c03e7c527c6318ca677072be62b99eee94f56c5a09342298be05cd388dc7cd3a819b01a0160a3f5e35dcae68ea9143e02947aa0cf5bd255fd8ede2efcb78a8a8a558aca5049586c5bd1aac84506da4b10ea7c6e0804d2eb03102df5e365c29596b8f94f55122f489d065033911f2be63580eff05016b9b00584985a32ffbf43de521c0d4b584af7fbdbf0d7c078c9017919c9d9834d88c61a10a6b35b53ec16af0c64b2e3bb67ab412f8e6b784cfbf57ac84faa10e1349096c11aa02956a6861590f800031c2d66e4dcfa694e2c275c3973f29c258afe1551bdb0c01910a8aaa6d600198ad3591ac87524a1051a97049d3b4d25896a2da80f357d34ad0ff31652a3504cc2cc282be785685c630596b482c2268a5b034d81a6c2bf5bb558ba93f35df5d81b9721a731e7011a152333130592a3aa19dde0b13b526efd59bb2a77ba342ad5723902431956a0bad3459df2791fbe58ac09d25c34a2833c004b41be4e731b514276aacb4686aca34c978906d7bc6130ef4c5bc7628e0e80b01837b15397ffd3a2471c85ff3ad5a2b91b152d1595a236e0b1b5f6ed8c55f667594c40d7c5708da89aeebd1329a3849ef36f052f75d218e1a4c5d9768a9ae8a20e3ab7cf79de9e977252fc299cdd9e8f8be5ec9f4776b1cc7c1b66047173836cccc4318431c35992e09976e24f5f9aa730e385d2a7a0f8fcd55dbf58ee404463c2b19edceb70a7bbb1bceb68db6f283008046a3cead722c57fef6e35b8bd64c18eb3190f152d17bf4a05f6f8513d229c2b00843266dd3bc88a4758a99052641264a45f7c9bea607adf74df145d86c443a4040a40ab2502a3a8ffd4cff01b1e10a7293d99fd30000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000002ab49444154388d8d953b6854411486bfb9f78680c6204202e283588845445704254acc8a36a6b2b7b0486d2104b130b1b15110b14a9a2882a5165a2485882f108455221ae3ab301811821a13b377ef6bceb1b8fbca6677b33f1cb8cc9cfbcd7fce0c33863aba7af5ce0d20533da6caf4c58b67cfd7e6aa6a3dc45a8d8e8edf1e1fbfafb51a1bbba7232363b76ba18dc27cb8d9bbd9315c3686ccb35fc7362f751ccd0c0f9fc1f783550b0641c8ad5b0fe9fcf7723adbf5e2af2ad37bcebd5f5341499e1fe893edfdc7331d3b76b27457e9ebdbcbfcfc42dde4bebe7dbc7cfe23b3edf42e56be7fcabebed69b3d7861e6405d309d5b32dd877a0088ac0fc0dcdccf86ad8a6cc886ad1bd9d0bd87f9371f338df2bc483d344acb3e31203c7efaa02114e06456d3fc30264a9c8679e6d1f57ecd0e0d3485cd7c1b6a3a9fcbcd323474caac72ecfb82c441a37fcadabfbfa7fc1d454a92082b2b3e8e93ba9e9898d26ab8e3172c1a054da356ae6b705d07d7adb4e2f0e15e2626a6b40a2c4814348d7a32863238979be5d5ab99b273002f085b6b452d1428b641181c3cc2d2529ee5e53cefde7d05c0539155e56a21063f86c482142bebaae7d6608cc1750d8b8b050a8500d7adec9fa72a48148228fa270fb1b4ecd818b05689638be7b988547aee21828405f4b70fb15d17aa0a715c3a1505c230a1bdbd0d550f6b2ba652c78bcb683e6c09aa9aba0cc31055686b730110518ca96a05d622bf97d785964a8f63258aa2f467cf452475992482e354f7384c90286e092c02719c608c2987e3388828ae6b4892caddec51dabc16646dfd8bdd18ca0b95c10b7f1d0af988f6b6f54f435cb5b9a5a356edb25ade95c9cfe6d2e06eedda943404668b7794882d6e60fa4a48f19cd77b9d3c802b935fccdaa98adebefda6d6969ca66e537865ac16ee35039694cbcd92cbcdb6925ad67f2579adb1850abe460000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000018000000180806000000e0773df8000002304944415448899dd5cb4e54411006e06f865114af3131021a160671e365a16f6074e9d2b8d52089f125e6397c099fc157d095181315508c1708a00383302eba8ef4f41c06b4929399aeaefaebeffaebf4e1f0d6446fc8338e1368a191273622b9cf590fde8e27071ef04d602c7234c279165d6c61b7006f245f3b966d788c0d6ce3c5dededffd192ca1d30cef6a59b9609f27cfe13be6f11a37fb0b80299c4633077b87c99a2259ebdaf03c087d09961f4a749cc251344ab66f6a8a445f2b966d7819204d6cd614e8b3ba8998c1497be28f85afda7f88db386750e859dc91a66aa412b9ceaee2137ec57a2c4e77317296305f9cec093ee32d16d11956a0aec8b138d948f2f781cf6239c0ab9cdd830a94457a01be5d80cf65cc972a700647b2ce72e1f723b4818f39f36ae33005ca222335fb9b588bdff2451d7abf94cf65693c2732df23d9d494e0ad21ac9f611d1dfcc6cfec041b92365311bb10b103ec0f12f9aebdbeee482d588fffdd88b9214dcf4a10e9b35283a7c5ba156c97a529f911c0dd343d6d788533e26aa86399f7f2bec1be5f9366bf4a6e4ab76fb5ff00b7c23730349506f702601157a479ae6c42ba3d37a516f4a46b7d1a972266357c03ed6ee03c2e487dfe1afeb522ee3ade4b42f78269f55693da583ba22d49b4e8abad489e94c4ad6c1cdfa489da09a04ec48b75edb0b422a8abbfefe5098ee3887e117b516ca8b532d03c714beafdb424de4a46e29f6cbf0f7d03a3d2676f340aaed947c8ff2950ed551f9c9e217d1e667f0045acd1dd3ebdd4130000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000049149444154388d95955b6c944518869f99ffb487eef66f69cb967ad10a36f180161488312660823131206a888844b6953b1b0991182f38085c34484c4189180e6d4940b83042d110a03156083448a2e5868294166a0b2d14da6e77973dfcff3f5ed036b484aa6f3237339327ef7cdf9777040fe9d0a113a586e16dcc229608a96c8142d704caa555b96affd2a56f6ee731da5cd7a2ce9c6ba3696f950010a3070d0d3f465d5dd406823e3b909383df6f21a504c0711c52f1388958ac359da4b2aaea9dd689e085abea5477570f6da7d68bcd752d4a00ecdc79306a04647d41718450288869ea689a0680ebb818a681a66924e2096e76760c0e0d38b3aaab3fb8fe38f70b57d5295953535fea48b7b6a038826d87b17373c8cf0b93678708858218a681937500985290474959992db44cfd44d8da1dcd2abaf1980268da5b25a4eb2656dbf9613b18f4130cfa098773c80d87b04339b88e4b61411e81800fd3d401881417915f60cfdfb2e59b8a51e8c75b4faaaeee3bf4f4f4f3d2bbb50a40a6ddcc127b4a3e8661e0f399f87d1621bf9fdc6010cff330759d40c04730e0c7efb3300d9dd2e9a564b3c32b47c143b1240303c3a45269945200e852aa52cb34d07589142010689a462c91c4f25958a681a73ca4940821504a11298e904a25c71c5fbbd683e33864d359e2b11800d23035344d4308c1502c41f7addb74fc7d93bb4343847302189a86a9eb63cb320c4c5d279dbe3f56df96c3d5654ed6211e8bd1fedb1601a00fc71208f160eafc3e0bddd09140382787a06591ca64d0751d5d4aa49428a5703c8f6432f570efaeffd9b8563cbc21fbfaee5e775d1729250383c3643359345dc3f55c92990c9aa661681ac6885353d7e9edb9493c9e796496c781fb7b078fdee8e804c0b20c1cd7c3f51e34402090234e0d4dc3320c745da7e96413c3c3eefe49c1f1b8d874fad7b383e97416bfcf429362b2fb74767472b1b58d9292270727053737ef1beced8e57fe7ce418e94c169fcf04c0f5140a85e779789e47d675b9fc573b5feff896f2f20ac2e160c564600da0b3b3f572d05776b1fdeaa537ecdc90af706a11baae21857810264270f2f809be3ff0033366bc4049c9340aad7bcb3e9979e58bf766074a0ffe3edc38113ceeddf3e77f649b6676636124b4243f2f50aa6902905cbd72a3399b35f6cf9933af359d4edbb6bc5d5f9e3c523ab722c440673b6db7fc0dcbeb6e553e627bc39eb3ead515bb14e09bb4c023faeefde2813b17d6a964db36d57ff86575fe335bed5a563c2e3f2440cbf92bdceebd0d90aafef294aa58b44d4d064edc674dcb9146ac3c9bc0f36f317df6d33c372d19ad5954fc48388dea8905d1ddaa7cc1c649c100eb5f8f440f7f3a53b97d752a79a946f51f9aa77ea90eabcf5f8bd40388ad072ea83b7713f4df8bd1b069f1e4b33641ab5f89442b6615d57fb87e0de9fe9b242f3672e1741b3fb5061b6457cf3d4623efc5b7bf52f0e09b59b8aaee5f5def38dbdb70fa5c5fe59e0ddbb18a4a08cc5cccb3739f4249232a13c9f458e431921967ceb5d1ddd5f39f5cd7ffd1d7d072beb772f7ba5a1c7f3efb8e43b06205624174b74a2653a4efa7c7a5d3ffd5ca8aa9f57ebf8ceacf2ca7b33775f41f5687e4181c28b9610000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000038249444154388db595cf6b5c5514c73fef4766d2264da631050b46a2558a229404b156ba70e142dd982c4411174a0b5d360b8566515c28d1aac5a62e142be44f502c2e249616ab062948b4859aa84d6968da24f3266f6632efcd7be7be7b5c4c7e27820573e172e072cee79efbbdf79ee3a82adb31dc6da102cebd38bffbe16821b33a92cb797d8b35e9193af9fcf8469f6505fe73c6ef9d1eed6bded134f54a7f6fdf91d70f21c68edc4b529bc6a9e10bdd439f7c7ff1dbeffed0eaa268a9946818a67ae187291d183c3fb055c6aa8aa3aa3c33f8dba61bfcf9fd03cec79f5e1a686b6f7ee7c5e79e287476b42092618cc5188bdfe472f68b1fc3bb738b3d9f9f7ee9e65a308073e8c4b8befdda7e520b92412250295598bb3ec90b4f3fc0c127bb71802c538c59051b638912e1d4f0c5afcf9de9efdf08f60bcd3e8f3cda8cd806f4d6d5dbec886679f3c85314da73a8824823e8c4c89ffc7ea34296296a15df7798fccbebe3f0378ad8905ffa762f6fe0db2511a205c3c44fd7e8d9bf87dec3bd9bb43e76f61a8b99cf076f1da41a432c5017701cf8756c868f3e1b2bacf577f6be31a6fbbadaa8046576e67dda77e5510b6a2d995534534ad5847d0f1638f6ea635cfe1bc21a9423a8d521b85964f2f204778a77e0eacbce8a14071e6ee3fcc9c711a0584ad8d39127026a066a4923b8568730822bd38d2c130395b2303d7e8b606a8ee6bc070a478f7ff52c7009c057ab08500382cca1584c6969cf315f81bb25989987b0aa04654350ce28570d335321c1d41c2ac9ead9ad0538be066c51a00e78bb734c5c5fa4a99c6376014aa1128442b164982f09f381500d6392b0066a01c88c12546350e5cbe1fefe7367967e9eaa9202b185990588fc56a66e27a402621491f5d388c55a0baad42261ae5cc7e45b604331f3330b31301d36b4cc1ca85b1729a7a4e2929886a689402a4a9629990841b18af57278ad6d0d66b601eca098143a73b04ba1c381fbee6f222cc658944e4f087d21cc0b959694a852673188616f335621cb12acb58cceae7f9ebeab4a570eba7240ebea3da4dd4d248941049204441cd2d425497622d2449208692aa4a941c4307a657da174ed1685de75c1f33c7cdfc5f3dc15ebba8db565eb79ded2ba0b763dc7e55f1a88e7392b419ee7e1baee12d4c5f39c25bb3a37827db55b935d175cd7453523953a71bd4e14c5c4f598384a88e2987a9c20598611b309ecf0d0d0ffd6f4f4c6e08ad0ce7635d37f00f4b819f9e3b0a8920000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000043149444154388d8d954d6c545514c77ff7beef992953a04829691952401a44890944d2f8d584a5a189bb26ee202a316eba926008892b6263a20b17ccd25437268d6b5335418d2921f801a122525b18a14c69a7d39979f3debc7b5cbc692d20c849cee6dcfff9dfffbdf79c7315ff63874f8a2f42179013c0185612a17cf1ac0a1f97a71eb530784a3a8161631812a10fc81b81c4501198159814c3c4a50fd5d213110f9e921c30a214a3394f0a3d1b710a5b8cda964fd01a4a4b1637e6b594ee99787e59cf44891a1361fcf2476ae591c42fbe2f79239cb135c707b69bcc91e760603b6c0884e55a8c91141ef82e73775b7c7541f1c334f5e5d03e97184e4f7fac2a0f11b7957e90f5e4ed23fb5beeabfb6d02c7103663f219cdf62e1b6963a7e7221cc7c26033351df2d9792b2a2db99f8a70eaf74f52e57a9de0115b73ecf01e715f79c64621acd423067a5dfa7b5c7c5713b4fd40bfcfd64e4514b7787e77c0eb871237e326c744185925d3ab0fa514a3852d267b7097a2112bca958867777a049ea6d684cb7370f106cc96c108746db0e9d964510d6177afcfc17eb24a31baf38474ae573c1c3852d8d70bad44b15885aca7f05d8d11f8e3365cbf0337cb3075ad45b91201d011686a21dcab42efe6840e3f29186118c03e7c527c6318ca677072be62b99eee94f56c5a09342298be05cd388dc7cd3a819b01a0160a3f5e35dcae68ea9143e02947aa0cf5bd255fd8ede2efcb78a8a8a558aca5049586c5bd1aac84506da4b10ea7c6e0804d2eb03102df5e365c29596b8f94f55122f489d065033911f2be63580eff05016b9b00584985a32ffbf43de521c0d4b584af7fbdbf0d7c078c9017919c9d9834d88c61a10a6b35b53ec16af0c64b2e3bb67ab412f8e6b784cfbf57ac84faa10e1349096c11aa02956a6861590f800031c2d66e4dcfa694e2c275c3973f29c258afe1551bdb0c01910a8aaa6d600198ad3591ac87524a1051a97049d3b4d25896a2da80f357d34ad0ff31652a3504cc2cc282be785685c630596b482c2268a5b034d81a6c2bf5bb558ba93f35df5d81b9721a731e7011a152333130592a3aa19dde0b13b526efd59bb2a77ba342ad5723902431956a0bad3459df2791fbe58ac09d25c34a2833c004b41be4e731b514276aacb4686aca34c978906d7bc6130ef4c5bc7628e0e80b01837b15397ffd3a2471c85ff3ad5a2b91b152d1595a236e0b1b5f6ed8c55f667594c40d7c5708da89aeebd1329a3849ef36f052f75d218e1a4c5d9768a9ae8a20e3ab7cf79de9e977252fc299cdd9e8f8be5ec9f4776b1cc7c1b66047173836cccc4318431c35992e09976e24f5f9aa730e385d2a7a0f8fcd55dbf58ee404463c2b19edceb70a7bbb1bceb68db6f283008046a3cead722c57fef6e35b8bd64c18eb3190f152d17bf4a05f6f8513d229c2b00843266dd3bc88a4758a99052641264a45f7c9bea607adf74df145d86c443a4040a40ab2502a3a8ffd4cff01b1e10a7293d99fd30000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000dd49444154388dbd55ed0e8430082b892f35de3ff5b1b81f8ac1c93ed4bb6b62dc269452492624d183aa5adc931455357fd7f1240500962cb115dc3af742f1dbd24a7a8b29c51e7347c494e2275d5d14bf253c887fe5b100187afc887834c7198aaaad0301278fbf69cbffe6d89115ac2de85972dbe31284f47c7e3415333fafa9b85416d54445d564cfaf631d161f922009dbd77b8059e8ccd756756b217f6a2a049048269b85c7b9ef23d2a988c5484255bb85b398a1e28cb4b6208bb94c454886b7e84459eb06d8ba5d53c7baaf58f5f4c3321f6f290ef7588b670a1fe923b36c6e54b07f0000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000018000000180806000000e0773df8000002304944415448899dd5cb4e54411006e06f865114af3131021a160671e365a16f6074e9d2b8d52089f125e6397c099fc157d095181315508c1708a00383302eba8ef4f41c06b4929399aeaefaebeffaebf4e1f0d6446fc8338e1368a191273622b9cf590fde8e27071ef04d602c7234c279165d6c61b7006f245f3b966d788c0d6ce3c5dededffd192ca1d30cef6a59b9609f27cfe13be6f11a37fb0b80299c4633077b87c99a2259ebdaf03c087d09961f4a749cc251344ab66f6a8a445f2b966d7819204d6cd614e8b3ba8998c1497be28f85afda7f88db386750e859dc91a66aa412b9ceaee2137ec57a2c4e77317296305f9cec093ee32d16d11956a0aec8b138d948f2f781cf6239c0ab9cdd830a94457a01be5d80cf65cc972a700647b2ce72e1f723b4818f39f36ae33005ca222335fb9b588bdff2451d7abf94cf65693c2732df23d9d494e0ad21ac9f611d1dfcc6cfec041b92365311bb10b103ec0f12f9aebdbeee482d588fffdd88b9214dcf4a10e9b35283a7c5ba156c97a529f911c0dd343d6d788533e26aa86399f7f2bec1be5f9366bf4a6e4ab76fb5ff00b7c23730349506f702601157a479ae6c42ba3d37a516f4a46b7d1a972266357c03ed6ee03c2e487dfe1afeb522ee3ade4b42f78269f55693da583ba22d49b4e8abad489e94c4ad6c1cdfa489da09a04ec48b75edb0b422a8abbfefe5098ee3887e117b516ca8b532d03c714beafdb424de4a46e29f6cbf0f7d03a3d2676f340aaed947c8ff2950ed551f9c9e217d1e667f0045acd1dd3ebdd4130000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000f049444154388dbd926b1283300884978e970af79ff558f487a2481313b52d334e1ec2025f1092383355b5782629aa6abe667f920200532db0e5dcbaf744f1dfd40a7a6a4315bbcf9522862abed3d547c54f0537e15f3116005dc6b7847b735cb3a26a73a78003e36f62f9df1cbbd512660467482e332ea19033ceb7a662e4f19a159784280b155593353efbba59fc4882246cddaf0e66a133df5bead642fcd0540820514c1684dbbd9fa34daaeaf90c100180888724769fbad57c5e8b88998b67e6355147e35d3412efa271cd4c7b5ce39ee43e15aac5c8f930fc51c039ee4c177491b101db1806e876101a33693efc1b7858d21f6a6c70020000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000038249444154388db595cf6b5c5514c73fef4766d2264da631050b46a2558a229404b156ba70e142dd982c4411174a0b5d360b8566515c28d1aac5a62e142be44f502c2e249616ab062948b4859aa84d6968da24f3266f6632efcd7be7be7b5c4c7e27820573e172e072cee79efbbdf79ee3a82adb31dc6da102cebd38bffbe16821b33a92cb797d8b35e9193af9fcf8469f6505fe73c6ef9d1eed6bded134f54a7f6fdf91d70f21c68edc4b529bc6a9e10bdd439f7c7ff1dbeffed0eaa268a9946818a67ae187291d183c3fb055c6aa8aa3aa3c33f8dba61bfcf9fd03cec79f5e1a686b6f7ee7c5e79e287476b42092618cc5188bdfe472f68b1fc3bb738b3d9f9f7ee9e65a308073e8c4b8befdda7e520b92412250295598bb3ec90b4f3fc0c127bb71802c538c59051b638912e1d4f0c5afcf9de9efdf08f60bcd3e8f3cda8cd806f4d6d5dbec886679f3c85314da73a8824823e8c4c89ffc7ea34296296a15df7798fccbebe3f0378ad8905ffa762f6fe0db2511a205c3c44fd7e8d9bf87dec3bd9bb43e76f61a8b99cf076f1da41a432c5017701cf8756c868f3e1b2bacf577f6be31a6fbbadaa8046576e67dda77e5510b6a2d995534534ad5847d0f1638f6ea635cfe1bc21a9423a8d521b85964f2f204778a77e0eacbce8a14071e6ee3fcc9c711a0584ad8d39127026a066a4923b8568730822bd38d2c130395b2303d7e8b606a8ee6bc070a478f7ff52c7009c057ab08500382cca1584c6969cf315f81bb25989987b0aa04654350ce28570d335321c1d41c2ac9ead9ad0538be066c51a00e78bb734c5c5fa4a99c6376014aa1128442b164982f09f381500d6392b0066a01c88c12546350e5cbe1fefe7367967e9eaa9202b185990588fc56a66e27a402621491f5d388c55a0baad42261ae5cc7e45b604331f3330b31301d36b4cc1ca85b1729a7a4e2929886a689402a4a9629990841b18af57278ad6d0d66b601eca098143a73b04ba1c381fbee6f222cc658944e4f087d21cc0b959694a852673188616f335621cb12acb58cceae7f9ebeab4a570eba7240ebea3da4dd4d248941049204441cd2d425497622d2449208692aa4a941c4307a657da174ed1685de75c1f33c7cdfc5f3dc15ebba8db565eb79ded2ba0b763dc7e55f1a88e7392b419ee7e1baee12d4c5f39c25bb3a37827db55b935d175cd7453523953a71bd4e14c5c4f598384a88e2987a9c20598611b309ecf0d0d0ffd6f4f4c6e08ad0ce7635d37f00f4b819f9e3b0a8920000000049454e44ae426082 - 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000010649444154388dad54d10e84200ceb0c3f65ff3ff5b3760f3283133c39af090959a0ebca864942c64a7aec37c92e071e60c90192b7899ea2b4970d304940434e12d3aca88a439163e788f237c92236abfa6245e0576f0180a40f89df9002c042f2547a3e1831031e5720c99668b737a567b54074c143aca48f0404a9a2c296b8cda844301a9ad11d03ce6d2ac9d869ad3690254bb25c4dc9ca7a6a3b89be5af8b3c72411777b36952ec3005b2d19d8ad31d262df83372b54f8a01207e05e17fa0b92f6919664d5d7fc906812b8f6bfe378bce61e6af8b0767aa4efa654d2e177014eaffe6afa827425bdd44cafc739e36fbf5b7eec61bba5a1300096ff838cad99c0a90199c1079e7cbe7ec1d5a3e00000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000dd49444154388dbd55ed0e8430082b892f35de3ff5b1b81f8ac1c93ed4bb6b62dc269452492624d183aa5adc931455357fd7f1240500962cb115dc3af742f1dbd24a7a8b29c51e7347c494e2275d5d14bf253c887fe5b100187afc887834c7198aaaad0301278fbf69cbffe6d89115ac2de85972dbe31284f47c7e3415333fafa9b85416d54445d564cfaf631d161f922009dbd77b8059e8ccd756756b217f6a2a049048269b85c7b9ef23d2a988c5484255bb85b398a1e28cb4b6208bb94c454886b7e84459eb06d8ba5d53c7baaf58f5f4c3321f6f290ef7588b670a1fe923b36c6e54b07f0000000049454e44ae426082 + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000f049444154388dbd926b1283300884978e970af79ff558f487a2481313b52d334e1ec2025f1092383355b5782629aa6abe667f920200532db0e5dcbaf744f1dfd40a7a6a4315bbcf9522862abed3d547c54f0537e15f3116005dc6b7847b735cb3a26a73a78003e36f62f9df1cbbd512660467482e332ea19033ceb7a662e4f19a159784280b155593353efbba59fc4882246cddaf0e66a133df5bead642fcd0540820514c1684dbbd9fa34daaeaf90c100180888724769fbad57c5e8b88998b67e6355147e35d3412efa271cd4c7b5ce39ee43e15aac5c8f930fc51c039ee4c177491b101db1806e876101a33693efc1b7858d21f6a6c70020000000049454e44ae426082 + + + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b0000010649444154388dad54d10e84200ceb0c3f65ff3ff5b3760f3283133c39af090959a0ebca864942c64a7aec37c92e071e60c90192b7899ea2b4970d304940434e12d3aca88a439163e788f237c92236abfa6245e0576f0180a40f89df9002c042f2547a3e1831031e5720c99668b737a567b54074c143aca48f0404a9a2c296b8cda844301a9ad11d03ce6d2ac9d869ad3690254bb25c4dc9ca7a6a3b89be5af8b3c72411777b36952ec3005b2d19d8ad31d262df83372b54f8a01207e05e17fa0b92f6919664d5d7fc906812b8f6bfe378bce61e6af8b0767aa4efa654d2e177014eaffe6afa827425bdd44cafc739e36fbf5b7eec61bba5a1300096ff838cad99c0a90199c1079e7cbe7ec1d5a3e00000000049454e44ae426082 + + 89504e470d0a1a0a0000000d4948445200000016000000160806000000c4b46c3b000000bc49444154388dd595c10dc2300c45bf512fdd82392cb14817e90c5da4a3f8ca383d8693d15720366941c03f3572f26cfd38ae5cced7824acbba0900ccd35878dd233133388401bcae63afe8d45bc9ef8155f5c1738e45f1101c41cd4cb2e42978593799a7b1d417e7f04c03839ec15b07bdea56a25d97676692557eb82b5a7e1f0247557ff78170abb5e2bbc091b8b7f9010df1b13eb827003ee4b1aa96b4e2ccdf5abef78fc726b78c7ff7dac01200f761528fc6bd5080fe79efd60d86746ad3b710aeb60000000049454e44ae426082 @@ -5207,165 +5313,171 @@ Fit activated() - MuSRFitform + MuSRFitformR GoFit() parametersAppend_ToAction activated() - MuSRFitform + MuSRFitformR parametersAppend() parametersExport_AsAction activated() - MuSRFitform + MuSRFitformR parametersExport() BeamLine activated(int) - MuSRFitform + MuSRFitformR T0Update() Browse clicked() - MuSRFitform + MuSRFitformR fileBrowse() InitParamTable valueChanged(int,int) - MuSRFitform + MuSRFitformR CallMSRCreate() musrfit_tabs selected(const QString&) - MuSRFitform + MuSRFitformR TabChanged() fileChangeDirAction activated() - MuSRFitform + MuSRFitformR fileChangeDir() fileOpenAction activated() - MuSRFitform + MuSRFitformR fileOpen() fileSaveAction activated() - MuSRFitform + MuSRFitformR fileSave() filePrintAction activated() - MuSRFitform + MuSRFitformR filePrint() fileExitAction activated() - MuSRFitform + MuSRFitformR fileExit() editUndoAction activated() - MuSRFitform + MuSRFitformR editUndo() editRedoAction activated() - MuSRFitform + MuSRFitformR editRedo() editCutAction activated() - MuSRFitform + MuSRFitformR editCut() editCopyAction activated() - MuSRFitform + MuSRFitformR editCopy() editPasteAction activated() - MuSRFitform + MuSRFitformR editPaste() helpIndexAction activated() - MuSRFitform + MuSRFitformR helpIndex() helpContentsAction activated() - MuSRFitform + MuSRFitformR helpContents() helpAboutAction activated() - MuSRFitform + MuSRFitformR helpAbout() T0 activated() - MuSRFitform + MuSRFitformR ShowMuSRT0() Plot activated() - MuSRFitform + MuSRFitformR GoPlot() - AddConstraint - clicked() - MuSRFitform - AppendToFunctions() + ManualFile + toggled(bool) + MuSRFitformR + RunSelectionToggle() ResetFunc clicked() - MuSRFitform + MuSRFitformR InitializeFunctions() FitType1 activated(const QString&) - MuSRFitform + MuSRFitformR InitializeFunctions() FitType2 - activated(int) - MuSRFitform + activated(const QString&) + MuSRFitformR InitializeFunctions() FitType3 - activated(int) - MuSRFitform + activated(const QString&) + MuSRFitformR InitializeFunctions() + + AddConstraint + clicked() + MuSRFitformR + AppendToFunctions() + musrfit_tabs diff --git a/src/external/MuSRFitGUI/devel/MuSRFit.ui.h b/src/external/MuSRFitGUI/devel/MuSRFit.ui.h index 648cd3e5..4012c009 100755 --- a/src/external/MuSRFitGUI/devel/MuSRFit.ui.h +++ b/src/external/MuSRFitGUI/devel/MuSRFit.ui.h @@ -280,9 +280,16 @@ void MuSRFitform::CreateAllInput() $All{"FUNITS"}= FUnits->currentText; $All{"FAPODIZATION"}= FApodization->currentText; $All{"FPLOT"}= FPlot->currentText; + $All{"FPHASE"}=FPHASE->text; # Fourier range $All{"FrqMin"}=FrqMin->text; $All{"FrqMax"}=FrqMax->text; + +# Rotating reference frame parameters + $All{"RRFFrq"}=RRFFrq->text; + $All{"RRFPack"}=RRFPack->text; + $All{"RRFPhase"}=RRFPhase->text; + $All{"RRFUnits"}=RRFUnits->currentText; # Get values of t0 and Bg/Data bins if given my $NHist = 1; @@ -332,7 +339,7 @@ void MuSRFitform::CreateAllInput() } # Also theory block and paramets list - my ($Full_T_Block,$Paramcomp_ref)= MSR::CreateTheory(@FitTypes); + my ($Full_T_Block,$Paramcomp_ref)= MSR::CreateTheory(@FitTypes); $All{"Full_T_Block"}=$Full_T_Block; $All{"Paramcomp_ref"}=$Paramcomp_ref; my @Paramcomp = @$Paramcomp_ref; @@ -342,25 +349,6 @@ void MuSRFitform::CreateAllInput() # and the associated theory block $All{"Func_T_Block"}=TheoryBlock->text; -# Read initial values of paramets from tabel - my $erradd = "d"; - my $minadd = "_min"; - my $maxadd = "_max"; - my $NRows = InitParamTable->numRows(); - my $Header=InitParamTable->verticalHeader(); - if ($NRows > 0) { - for (my $i=0;$i<$NRows;$i++) { -# Take label of row, i.e. name of parameter - my $Param=$Header->label($i); -# Then take the value, error, max and min (as numbers) - $All{"$Param"}=1.0*InitParamTable->text($i,0); - $All{"$erradd$Param"}=1.0*InitParamTable->text($i,1); - $All{"$Param$minadd"}=1.0*InitParamTable->text($i,2); - $All{"$Param$maxadd"}=1.0*InitParamTable->text($i,3); - } - } - - # Shared settings are detected here my $Shared = 0; my $PCount =0; @@ -419,6 +407,32 @@ void MuSRFitform::CreateAllInput() $All{"FILENAME"}="TMP"; } + +# This has to be at the end of CreateAll + my %PTable=MSR::PrepParamTable(\%All); + +# Setup the table with the right size + my $NParam=scalar keys( %PTable ); + +# Read initial values of paramets from tabel + my $erradd = "d"; + my $minadd = "_min"; + my $maxadd = "_max"; + my $Header=InitParamTable->verticalHeader(); +# TODO: Should not go over all rows, only on parameters. + if ($NParam > 0) { + for (my $i=0;$i<$NParam;$i++) { +# Take label of row, i.e. name of parameter + my $Param=$Header->label($i); +# Then take the value, error, max and min (as numbers) + $All{"$Param"}=1.0*InitParamTable->text($i,0); + $All{"$erradd$Param"}=1.0*InitParamTable->text($i,1); + $All{"$Param$minadd"}=1.0*InitParamTable->text($i,2); + $All{"$Param$maxadd"}=1.0*InitParamTable->text($i,3); + } + } + + # Return Hash with all important values return %All; } @@ -475,7 +489,6 @@ void MuSRFitform::UpdateMSRFileInitTable() (my $TBlock_ref, my $FPBlock_ref)=MSR::ExtractBlks(@lines); my @FPBloc = @$FPBlock_ref; -# Counter for initialization table (including Alpha, N0 and Bg) my $PCount=0; foreach my $line (@FPBloc) { $PCount++; @@ -570,7 +583,6 @@ void MuSRFitform::ActivateShComp() my $Full_T_Block= $All{"Full_T_Block"}; my $Component=1; - foreach my $FitType (@FitTypes) { my $Parameters=$Paramcomp[$Component-1]; my @Params = split( /\s+/, $Parameters ); @@ -595,17 +607,13 @@ void MuSRFitform::ActivateShComp() $CompShL->setText($All{"FitType$Component"}); # Change state/label of parameters -# Also add it to the constraints drop down menu for (my $i=1; $i<=9;$i++) { my $ParamChkBx="ShParam_".$Component."_".$i; my $ChkBx = child($ParamChkBx); -# my $CParam = $Params[$i-1]."_".$Component; - if ($Params[$i-1] ne "" ) { + if ($Params[$i-1] ne "") { $ChkBx->setHidden(0); $ChkBx->setEnabled(1); $ChkBx ->setText($Params[$i-1]); -# CParamsCombo->insertItem($CParam,-1); -# $Full_T_Block=~ s/\b$Params[$i-1]\b/$CParam/; } else { $ChkBx->setHidden(1); } @@ -625,6 +633,7 @@ void MuSRFitform::InitializeTab() for (my $i=0;$i<$NRows;$i++) { # TODO: Better remove the row rather than hide it. InitParamTable->hideRow($i); +# InitParamTable->removeRow($i); } } @@ -666,7 +675,7 @@ void MuSRFitform::TabChanged() # Initialize FUNCTIONS block only if it has not been initialized yet if ($All{"Func_T_Block"} eq "" ) { InitializeFunctions(); - } + } } @@ -810,7 +819,6 @@ void MuSRFitform::fileBrowse() RunFiles->setText($RunFiles); } - void MuSRFitform::AppendToFunctions() { my $ParName=CParamsCombo->currentText();