From 518422ecb571baa2e57ddc27632cc92a42b7a1f6 Mon Sep 17 00:00:00 2001 From: BlubbFish Date: Sun, 16 Apr 2017 20:55:53 +0000 Subject: [PATCH] Enchanchement #2, #3 and #4 fixed --- svnsync/Controllers/ControllersTray.cs | 58 ++++++++++++++++++---- svnsync/Controllers/ControllersWindow.cs | 26 ++++------ svnsync/Models/ModelsWindow.cs | 7 +++ svnsync/Program.cs | 6 ++- svnsync/Properties/AssemblyInfo.cs | 4 +- svnsync/Views/ViewsWindow.cs | 10 ++-- svnsync/Views/ViewsWindowForm.Designer.cs | 40 +++++++++------ svnsync/Views/ViewsWindowForm.cs | 7 +-- svnsync/Views/ViewsWindowFormFileList.cs | 23 ++++++--- svnsync/Views/ViewsWindowFormInterface.cs | 1 - svnsync/bin/Release/SvnSync.exe | Bin 45056 -> 52224 bytes svnsync/svnsync.csproj.user | 2 +- 12 files changed, 120 insertions(+), 64 deletions(-) diff --git a/svnsync/Controllers/ControllersTray.cs b/svnsync/Controllers/ControllersTray.cs index d0c6ffd..28cf74c 100644 --- a/svnsync/Controllers/ControllersTray.cs +++ b/svnsync/Controllers/ControllersTray.cs @@ -12,7 +12,7 @@ namespace svnsync.Controllers private static ControllersWindow controllerWindow; //private string args; public delegate void _enableLoopRun(); - public event _enableLoopRun StartLoop; + public static event _enableLoopRun StartLoop; /// /// Controlls a Tray. @@ -23,13 +23,17 @@ namespace svnsync.Controllers { viewTray = new ViewsTray(); InitControllerWindow(); - if (viewTray.Model.Args.HasArgumentType("-cron")) { - if (this.CronJob(0, false)) { + Runner(); + } + + private static void Runner() { + if(viewTray.Model.Args.HasArgumentType("-cron")) { + if(CronJob(0, false)) { viewTray.ShowSuccess(); System.Threading.Thread.Sleep(5000); viewTray.Dispose(); } else { - this.StartLoop(); + StartLoop(); } return; } else { @@ -39,8 +43,6 @@ namespace svnsync.Controllers private static void InitControllerWindow() { controllerWindow = new ControllersWindow(); - controllerWindow.SetAction(Handles.FormType.Normal); - controllerWindow.SetDeletedFiles(new List()); } public override void Dispose() @@ -53,7 +55,7 @@ namespace svnsync.Controllers } } - private Boolean CronJob(Int32 run, Boolean readyToCommit) + private static Boolean CronJob(Int32 run, Boolean readyToCommit) { if (viewTray.Model.Svn == null) { return HandleError(Handles.SvnType.NotInit, ""); @@ -92,7 +94,7 @@ namespace svnsync.Controllers return HandleError(Handles.SvnType.ExternDeletedFiles, ""); } } - return this.CronJob(run + 1, true); + return CronJob(run + 1, true); } else { if (readyToCommit) { viewTray.Model.Svn.SetArgCheckIn("Automatic Cronjob Checkin: " + StringHelper.GetTimeStamp(DateTime.Now)); @@ -104,7 +106,7 @@ namespace svnsync.Controllers if (viewTray.Model.Svn.IsError) { return HandleError(Handles.SvnType.UnexpectedError, viewTray.Model.Svn.Error); } - return this.CronJob(run + 1, true); + return CronJob(run + 1, true); } } return true; @@ -119,6 +121,7 @@ namespace svnsync.Controllers break; case Handles.SvnType.HasVersionitedFiles: controllerWindow.SetAction(Handles.FormType.UnversionFiles); + controllerWindow.SetNewFiles(viewTray.Model.Svn.NoVersionFiles); break; case Handles.SvnType.UnexpectedError: controllerWindow.SetAction(Handles.FormType.Error); @@ -173,13 +176,46 @@ namespace svnsync.Controllers } System.Windows.Forms.TreeView t = (System.Windows.Forms.TreeView)((ViewsWindowFormFileList)((System.Windows.Forms.Button)sender).Parent).tree; List l = TreeBuilder.getSelectedNodes(t.Nodes); - controllerWindow.Hide(); + controllerWindow.Dispose(); + System.Windows.Forms.Application.DoEvents(); + InitControllerWindow(); viewTray.Model.Svn.DeleteFiles(l); if(viewTray.Model.Svn.IsError) { HandleError(Handles.SvnType.UnexpectedError, viewTray.Model.Svn.Error); return; } - //this.runagainButton_Click(sender, null); + RunAgainButton_Click(sender, null); + } + internal static void RunAgainButton_Click(object sender, EventArgs e) { + controllerWindow.Dispose(); + System.Windows.Forms.Application.DoEvents(); + InitControllerWindow(); + Runner(); + } + + internal static void SvnOpenButton_Click(object sender, EventArgs e) { + System.Diagnostics.Process p = new System.Diagnostics.Process(); + p.StartInfo.FileName = "cmd"; + p.StartInfo.WorkingDirectory = viewTray.Model.Args.GetArgumentData("-d"); + p.StartInfo.Arguments = "/K svn"; + p.Start(); + } + + internal static void AddButton_Click(object sender, EventArgs e) { + if(!(sender is System.Windows.Forms.Button)) { + return; + } + System.Windows.Forms.TreeView t = (System.Windows.Forms.TreeView)((ViewsWindowFormFileList)((System.Windows.Forms.Button)sender).Parent).tree; + List l = TreeBuilder.getSelectedNodes(t.Nodes); + controllerWindow.Dispose(); + System.Windows.Forms.Application.DoEvents(); + InitControllerWindow(); + viewTray.Model.Svn.AddFiles(l); + if(viewTray.Model.Svn.IsError) { + HandleError(Handles.SvnType.UnexpectedError, viewTray.Model.Svn.Error); + return; + } + RunAgainButton_Click(sender, null); } } } diff --git a/svnsync/Controllers/ControllersWindow.cs b/svnsync/Controllers/ControllersWindow.cs index b034fb4..43e8bd8 100644 --- a/svnsync/Controllers/ControllersWindow.cs +++ b/svnsync/Controllers/ControllersWindow.cs @@ -10,10 +10,10 @@ namespace svnsync.Controllers public class ControllersWindow : OwnController { private static ViewsWindow viewWindow; - private Handles.FormType initAction; + private Handles.FormType initAction = Handles.FormType.Normal; private String initMessage; - private List initDeletedFiles; - private static ControllersTray controllerTray; + private List initDeletedFiles = new List(); + private List initNewFiles = new List(); /// /// Tray Controller /// @@ -25,6 +25,7 @@ namespace svnsync.Controllers viewWindow.Model.Message = this.initMessage; viewWindow.Model.FormType = this.initAction; viewWindow.Model.DeletedFiles = this.initDeletedFiles; + viewWindow.Model.NewFiles = this.initNewFiles; viewWindow.Draw(); } @@ -33,6 +34,7 @@ namespace svnsync.Controllers if (viewWindow != null) { viewWindow.Dispose(); } + viewWindow = null; } public static void FormClosed(Object sender, FormClosedEventArgs e) @@ -48,9 +50,7 @@ namespace svnsync.Controllers } else { viewWindow.Model.FormType = formType; } - //throw new NotImplementedException(); //this.CreateSVNOpen("Fehler im Cronjob, mehr als 10 Aufrufe!", ""); - //this.CreateFileList("Hinzufügen", "Diese Daten sind unversioniert:", s.getNoVersionFiles(), new EventHandler(addButton_Click)); //this.CreateSVNOpen("Es ist ein Unvorhersebarer Fehler aufgetreten", p); } @@ -70,16 +70,12 @@ namespace svnsync.Controllers } } - internal static void RunAgainButton_Click(object sender, EventArgs e) { - throw new NotImplementedException(); - } - - internal static void SvnOpenButton_Click(object sender, EventArgs e) { - throw new NotImplementedException(); - } - - internal void Hide() { - viewWindow.Hide(); + internal void SetNewFiles(List list) { + if(viewWindow == null) { + this.initNewFiles = list; + } else { + viewWindow.Model.NewFiles = list; + } } } } diff --git a/svnsync/Models/ModelsWindow.cs b/svnsync/Models/ModelsWindow.cs index b58f4df..cc32700 100644 --- a/svnsync/Models/ModelsWindow.cs +++ b/svnsync/Models/ModelsWindow.cs @@ -33,6 +33,13 @@ namespace svnsync.Models set { this.DeletedFilesValue = value; this.Update(); } } + private List NewFilesValue; + public List NewFiles { + get { return this.NewFilesValue; } + set { this.NewFilesValue = value; this.Update(); } + } + + public CmdArgs Args { get; private set; } } diff --git a/svnsync/Program.cs b/svnsync/Program.cs index 0302080..014761e 100644 --- a/svnsync/Program.cs +++ b/svnsync/Program.cs @@ -30,14 +30,16 @@ namespace svnsync try { Svn.Instance.SetDirectory(CmdArgs.Instance.GetArgumentData("-d")); t = new ControllersTray(); - t.StartLoop += T_StartLoop; + ControllersTray.StartLoop += T_StartLoop; t.Execute(); } catch (Exception e) { t.HideToolTip(); String text = e.Message + "\n\n" + e.StackTrace; String title = "Exception in SVNSync: " + CmdArgs.Instance.GetArgumentData("-d"); MessageBox.Show(text, title, MessageBoxButtons.OK, MessageBoxIcon.Error); - FileMutex.Instance.Delete(); + #if !DEBUG + FileMutex.Instance.Delete(); + #endif return; } if (!CmdArgs.Instance.HasArgumentType("-cron")) { diff --git a/svnsync/Properties/AssemblyInfo.cs b/svnsync/Properties/AssemblyInfo.cs index 3f7fba9..3261b38 100644 --- a/svnsync/Properties/AssemblyInfo.cs +++ b/svnsync/Properties/AssemblyInfo.cs @@ -33,6 +33,6 @@ using System.Resources; // Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern // übernehmen, indem Sie "*" eingeben: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.4.0")] -[assembly: AssemblyFileVersion("1.0.4.0")] +[assembly: AssemblyVersion("1.0.5.2")] +[assembly: AssemblyFileVersion("1.0.5.2")] [assembly: NeutralResourcesLanguageAttribute("de-DE")] diff --git a/svnsync/Views/ViewsWindow.cs b/svnsync/Views/ViewsWindow.cs index 8332452..d1a80f3 100644 --- a/svnsync/Views/ViewsWindow.cs +++ b/svnsync/Views/ViewsWindow.cs @@ -8,6 +8,7 @@ namespace svnsync.Views public class ViewsWindow : OwnView { private ViewsWindowFormInterface form; + public ModelsWindow Model { get; private set; } public ViewsWindow() { @@ -24,6 +25,7 @@ namespace svnsync.Views change = true; } break; + case Helpers.Handles.FormType.UnversionFiles: case Helpers.Handles.FormType.DeletedFiles: if(!(this.form is ViewsWindowFormFileList)) { change = true; @@ -42,6 +44,7 @@ namespace svnsync.Views case Helpers.Handles.FormType.Normal: this.form = new ViewsWindowForm(); break; + case Helpers.Handles.FormType.UnversionFiles: case Helpers.Handles.FormType.DeletedFiles: this.form = new ViewsWindowFormFileList(); break; @@ -57,19 +60,16 @@ namespace svnsync.Views public override void Dispose() { + this.Model.RemoveObserver(this); this.form.BeginInvoke((Action)(() => { this.form.Dispose(); })); } - public ModelsWindow Model { get; private set; } - internal void Draw() { this.Model.SetObserver(this); } - internal void Hide() { - this.form.Hide(); - } + } } diff --git a/svnsync/Views/ViewsWindowForm.Designer.cs b/svnsync/Views/ViewsWindowForm.Designer.cs index 4023309..38c5bea 100644 --- a/svnsync/Views/ViewsWindowForm.Designer.cs +++ b/svnsync/Views/ViewsWindowForm.Designer.cs @@ -30,44 +30,55 @@ { this.messageBox = new System.Windows.Forms.RichTextBox(); this.label1 = new System.Windows.Forms.Label(); - this.opencmd = new System.Windows.Forms.Button(); + this.svnOpenButton = new System.Windows.Forms.Button(); + this.doAgainButton = new System.Windows.Forms.Button(); this.SuspendLayout(); // // messageBox // - this.messageBox.Location = new System.Drawing.Point(6, 19); + this.messageBox.BackColor = System.Drawing.SystemColors.ControlLightLight; + this.messageBox.Location = new System.Drawing.Point(13, 30); this.messageBox.Name = "messageBox"; this.messageBox.ReadOnly = true; - this.messageBox.Size = new System.Drawing.Size(452, 208); + this.messageBox.Size = new System.Drawing.Size(443, 195); this.messageBox.TabIndex = 2; this.messageBox.Text = ""; // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(6, 3); + this.label1.Location = new System.Drawing.Point(10, 10); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(51, 13); this.label1.TabIndex = 1; this.label1.Text = "Meldung:"; // - // opencmd + // svnOpenButton // - this.opencmd.Location = new System.Drawing.Point(6, 233); - this.opencmd.Name = "opencmd"; - this.opencmd.Size = new System.Drawing.Size(75, 23); - this.opencmd.TabIndex = 3; - this.opencmd.Text = "Open CMD"; - this.opencmd.UseVisualStyleBackColor = true; - this.opencmd.Visible = false; + this.svnOpenButton.Location = new System.Drawing.Point(318, 233); + this.svnOpenButton.Name = "svnOpenButton"; + this.svnOpenButton.Size = new System.Drawing.Size(140, 23); + this.svnOpenButton.TabIndex = 6; + this.svnOpenButton.Text = "SVN Öffnen"; + this.svnOpenButton.UseVisualStyleBackColor = true; + // + // doAgainButton + // + this.doAgainButton.Location = new System.Drawing.Point(170, 233); + this.doAgainButton.Name = "doAgainButton"; + this.doAgainButton.Size = new System.Drawing.Size(140, 23); + this.doAgainButton.TabIndex = 5; + this.doAgainButton.Text = "Wiederholen"; + this.doAgainButton.UseVisualStyleBackColor = true; // // ViewsWindowForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(464, 262); + this.Controls.Add(this.svnOpenButton); + this.Controls.Add(this.doAgainButton); this.Controls.Add(this.label1); - this.Controls.Add(this.opencmd); this.Controls.Add(this.messageBox); this.Name = "ViewsWindowForm"; this.Padding = new System.Windows.Forms.Padding(3); @@ -81,7 +92,8 @@ private System.Windows.Forms.RichTextBox messageBox; private System.Windows.Forms.Label label1; - private System.Windows.Forms.Button opencmd; + private System.Windows.Forms.Button svnOpenButton; + private System.Windows.Forms.Button doAgainButton; } } \ No newline at end of file diff --git a/svnsync/Views/ViewsWindowForm.cs b/svnsync/Views/ViewsWindowForm.cs index da8ab5b..a26745a 100644 --- a/svnsync/Views/ViewsWindowForm.cs +++ b/svnsync/Views/ViewsWindowForm.cs @@ -19,6 +19,8 @@ namespace svnsync.Views { InitializeComponent(); this.FormClosed += ControllersWindow.FormClosed; + this.doAgainButton.Click += ControllersTray.RunAgainButton_Click; + this.svnOpenButton.Click += ControllersTray.SvnOpenButton_Click; } public void UpdateForm() @@ -32,10 +34,5 @@ namespace svnsync.Views { this.model = window; } - - public void Hide() { - this.ShowInTaskbar = false; - this.WindowState = FormWindowState.Minimized; - } } } diff --git a/svnsync/Views/ViewsWindowFormFileList.cs b/svnsync/Views/ViewsWindowFormFileList.cs index aa56b61..11d8760 100644 --- a/svnsync/Views/ViewsWindowFormFileList.cs +++ b/svnsync/Views/ViewsWindowFormFileList.cs @@ -17,8 +17,8 @@ namespace svnsync.Views { public ViewsWindowFormFileList() { InitializeComponent(); this.FormClosed += ControllersWindow.FormClosed; - this.doAgainButton.Click += new EventHandler(ControllersWindow.RunAgainButton_Click); - this.svnOpenButton.Click += new EventHandler(ControllersWindow.SvnOpenButton_Click); + this.doAgainButton.Click += new EventHandler(ControllersTray.RunAgainButton_Click); + this.svnOpenButton.Click += new EventHandler(ControllersTray.SvnOpenButton_Click); } public void UpdateForm() { @@ -31,19 +31,26 @@ namespace svnsync.Views { this.tree.ImageList = TreeBuilder.getImages(this.tree.Nodes); this.runButton.Click += new EventHandler(ControllersTray.DeleteButton_Click); break; + case Handles.FormType.UnversionFiles: + this.title.Text = "Diese Daten sind unversioniert:"; + this.runButton.Text = "Hinzufügen"; + this.tree.Nodes.AddRange(TreeBuilder.createDirList(this.model.NewFiles, this.model.Args.GetArgumentData("-d"))); + this.tree.ImageList = TreeBuilder.getImages(this.tree.Nodes); + this.runButton.Click += new EventHandler(ControllersTray.AddButton_Click); + break; } })); } - //this.CreateFileList("Löschen", "Diese Daten sind gelöscht worden:", s.getWasDeletedFiles(), new EventHandler(deleteButton_Click)); - public void SetModel(ModelsWindow window) { this.model = window; } - - public void Hide() { - this.ShowInTaskbar = false; - this.WindowState = FormWindowState.Minimized; + new public void Dispose() { + this.BeginInvoke((Action)(() => { + this.Visible = false; + this.ShowInTaskbar = false; + })); + base.Dispose(true); } } } diff --git a/svnsync/Views/ViewsWindowFormInterface.cs b/svnsync/Views/ViewsWindowFormInterface.cs index efd6571..3aafb7d 100644 --- a/svnsync/Views/ViewsWindowFormInterface.cs +++ b/svnsync/Views/ViewsWindowFormInterface.cs @@ -12,6 +12,5 @@ namespace svnsync.Views { void Show(); IAsyncResult BeginInvoke(Delegate method); void Dispose(); - void Hide(); } } diff --git a/svnsync/bin/Release/SvnSync.exe b/svnsync/bin/Release/SvnSync.exe index 267ed36cd4725c1685c1ebb3b86636aad0ff31c5..45d1b0dcca82ae49f2051c4c146f5ae1f0e7fb34 100644 GIT binary patch literal 52224 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

ZBz}Ht}N8 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 ZO|&i--g7x`0tVzVo)8+pxQhQ1^96-iUpoK* delta 19018 zcmb_^3w%`7wf8#voH;Xdl1ws_WF`s01bKLvBtQsY0F_q&Q+b6qfjh7N_;Wl@?pAk5Vd9>*Ly1twsBwmDXB&tCUvlt+%(e+&-;VzyDhMF3!goxu!NDPh@Ouh7*v>hhA0>GtcQupvr~-f+Df7j7~P*x zCDG;G1fC;0TDEoI`Fa+h65mf}4;q6rPXQ~z_cna{d?v%I5vi6oZ;duXXHcl{J&JFi z&t#&heMmu{;>O{_))fV4^CqHK8i)+gbBOG}%_Q13lqHC=GmRnHdCJNR2LXYo+F=q| zj-3-U-58P60aE3v8<-mkx)7;y>|ot5l8`SPWzzZT75%e%7bv$FXBMT` z!?jN6x6+8e-HFCpyBL&t&}Z-B60ZfAho;ymkej_Y6jhH^@wjV)S6!in+Oqj(NnAI? z%R@m@^mwI^&R%X_lo>F}qSv7s|Dt{L&VXo5OvO{Evsr)}bJ^$A^j5G7 zgH-9c{Hwt4qivUw>1hdD^cDe}u5(nW?G1p3wpR`)mUCa70vB`CfS{E0D#?A-MZvj- z7DLhaMF`Bf1y^#x&4{ut$n-`rzbA?-P{>8)Z{F{k==gt#xwuKRDBtx9_0m)Wf2 zdajA({oU;Ka?thvs}*z)AHJ3+H~y1vgrYoV7w7V3$d0-_|C$&YL!f^xJ=Nh1wte=F++$F zJ#|snvQk?Rs(@QTZ*=oLWwGSLjno6YJzBJ65Mm$KIE+3?^X*EPM_*#S;jM&qmk znTo^n02&MnQRQMdI?Am>QTjrlj-A?yrX>>T!Jxb$06IOz(?fe1Jk$Cycu@CYD0diy zcOv0fYDbVVWWkk-z*24vEU6t>TdeA#YKMboY6mK_7*MwDxe(NY5BV5X654NMSesVE zasK%7$Pa$voXd$5jkl|(tJEjKPTk$3Hq)y&^)oK|1y@5Tw3&oE3iT>)DnxI>7A#f) zqIdvO`Zr(#vBpxuKG)>=8P!Gp)yXu^Po|oq#dP{CRHd5Ccsw!t2}qtS>dBK*mhqUtc_baV}kmR+hJU>N=;!M&nm-N=-)(5@fq}5|& z(1#f5NlP%I6HLFBoySJT7m(z`eT3vQ&Uakrn`(BPQ%zq-8@uE8K}R{0^c6jCn|jP; zx8xP(ah52=2>LI?)XpBr8V!ivYR^b~i3de6ofveRgn<6@g8HMMdGS~9vb+N?@FAgq4+17@%OHNaD80AD}H zANnyj`st6$)Hdl1#t`NbrZ%RU^(FBaU zXnHENIOvgSc$zMjHk-3Ol2|}i!!Tql-flWMRjom9I@<4apt9kZs5Aq7o{F|N6Bx4f z<#;5Pd5uiz;<$dK-e5OB0zR)vj)%1q0|hIQ<6%GU#B1}EscG>c=*}H0kc{g=nQk zlM(J59{K02B~E$)wB(rHLOcp{>i>qQ#B$t4pcdwa^1>A>Dn@$9w@zL-6|m4aBqFEA z3|9rw-|SB}f2q&U568paG7tz5#~{y^dSTuVIPR6%ide!yDs>72(SW-mJ2_TyF?&!L zj)tS5s3q>CG0$vHY)&*>XjcssW}y>xSR!is#o60pgN9Z@G6xQ0E9gvk_r3SuKOKqX zycf68w-U%#RM4%+z7lgYxg1Ro3BtKWdNz(muVTwq{jJ<+%WVdg8{!d%Ucel-Yic!B zF~Y;z>J*PC>n>#(pDR(Q%9UQI3h18U-CSH zuCn6?O?NN~ssrHE=|1uPdk8e6L81oyXAH>qI!pspzeQhlI^nj+e# z6309oN9V+W;?UMtw$9=z690XNO| zuE8Tox`lZ(Xau(qR~YGy;9oDN?^ev;80_>}xnvE&s*{mLgx9VL-+!&TS=Orl7S3I(w1xlQwJLdIpJ1!FyBW_OG<|N~^|ngUwSdF)N@UVK&{G6G*!t@I$#p2rt3p1V4kRbIbt=|~ z>R_;gpH5gW9=|%BDGJN#!OLoO5JQ<4kXP&)BiX$LfdM=B!y6-8vyg}M*Kglg^uaCW zu%t4JTwdP&=@_94M`e$eL^8$P{%tUfInaPdZq?->aa)$roS?TI%<7_G?_yXJ#N@ah z+&;W`ZOm4hcG+of2g*abp%0yohNPW&;c7eVH_~?_FFUa`n)zSE?*Axst2uN-^%ht5 z_#Ym->>o580GE4Q+B~pimjNFi`>DbB_Am51UD~c zp06|&#SrY((*?;w3v0?wntnb_H*$F(7C4_OIEf8~Q)tKR-s0>FWn~$xNdCzbZE|p_ zrjH55Fs--nI9~P2xP4{T^pSC~_Sri_P^LHX=T`EtN3fHt74L4GL|vqNI%f2IO!7jr z5Ys1tz@kj%XhP4}-l>#ZRj$XRW9zAuXUkN===>(TP4(v9q>Ky%)ajZ=Drfh9_ zab_RHcXIIyI94n7;~>+Y02rpUboyo%a5zlvEkLzJ7hPw2`+Mlry_|c7_s|LNlRY@R zV^7kb0>?YR>L*BTTuv%}u7t@E-2rj$(4u$ZkxVJ~Ad{v$4&^vXWq1dGO$}mdJ&Y|Ec_w%Cj3#?N*iMh!M=p%-ok#fI?8geI=%3x8{S6tqG%;Xa9egKFSIofHcb9%3=Bro9n zk4>;$^qxHzNIDn5!-&PvtQ5kh=jGTQrVLga9L1f~(-^Tqef5rAx09QCj)$SBfXjyah)BL5s-^MQ&^#Nf^_*Q7Aq+J+iB5jH zUxFSSP%T0_le^@B+@RQrA=gD?2zQ6c5r>Y4_XN;vJdLRR6Dq; zY=Qc46JF*h{OZT~%DIe(`ZMC*F))&ORRLPcnCtS09w5k`a?nOuS zqM4dryq3|_dU)?HLkraoZhYdFE6|y|(TZ0%hp^S+ldNMG2I7Tw{Z<%`2BP*stS6}A z3>;}BgYkj-Cg5Q(a)TGhVX;iK41EDf(sGZZ!22pdUMQZ)R#eta4wYmpX4S=0n_xSf z+Q}a9Kuuo?H?9vQvK6!IaE#}6h2>mP|5pS(btmM~k3jDFP&`{Pg+;hEzQ~IZVSWSi zxy3&JNuRG(BD-}LV7^L)`E@y|KlW2S4V>9_Ut>$L9`E3IX{A*g*-|6K?&~KuiN&}N ze6a==8^lcR4QArjrD`N|ccHQo?6#3w4ixO0IrypXfN;OY0g={5?ZnbTJ8DM*`&%b< z;sOBMcCq3;3Ylt^zy^f%_mJIpffyqgHQ0xpghEr)W+c$KCz38lgyrhwBY2jv;HwbC z_7(#k+gm;jc1L2QpEi4zKiHl+wGNuJpV6X*4wDE;<-AEk_cW%Hq7f=Tv`P4hsKZC?W-hQ!`; z0{DXjXQA! zNDr{9ca26XYMk_Zh;}m0jEuBz47ZQ>K7!n;+;72i=b*sNgKny=7#UZ1*bM3OD^cr2KuR z7&T#!u>eBx8 zLm90AFAue&aoIk*KZ0=b_e#GyJ709q`}$0_!|o=SOnz6Zv%DWelg3RCiP^^k-cK|h zL?|oPdM{;@Bgbas6^xvzv=aT+rL-SMUbyt*H1@nm=`Sg-PWnmCMB@{EIC%BMU8&og zyfx#GyYzKv!OpQL=^la|U?}gW9F);&2bXx;xRsw*?#p1h7<5=PrH0G0d;#Dyyr1>0 z^>0k9^F`mYkvub92jdmF72)0sFwINd&g1TORP|-*`rg)Q9`5!KL0=$s zFITusXf{@nUs2XqDf3c~_9|ss-`?qfR6YXVD^~U1-D$RdIizt(@!ABA0yq{T7vNlY zD{S^Z7QO&gA2=3bzX4a-th|BI7f!k%nvpsQ@APRg^}C+N#N9i&qI(7qy{-3`d_Gge zxrhcLDeRgEtwru@5UH+A<%enW3q{>0Wbbuw({BJcb|=e;aI$RICBUJuQ=Y8Qlpi%* z0DbN*jDu7o^oW%AYpLBa1RD%VM&+=}av3dn)wzN&-d|A5t^Xg&b)8qPY!|k8R&sHA zFPw9K1D84?#b{-xuo0Ozk9SST49z~aYDk8+xP#G%Hatf$zMv!3+P*#wzv(V4B8QQ3 z2QOMcm!RO+sIdXhS)f0KEIoK?o41;U@lj~Zl7U|v9!6%QzYneBBQXziOhrcN zGJHRVFY-0Li7)2c2*Un?BP4<>jI1SwIC8Mv!w&#Avj>_JnO#P^;m}>iXN(Aa%Qy=B zdEgG66!;>bO{XDa)0==X%d0jghjt0PC&KYK5qSihw*?N(XHFep zgs#YE7gyw8V@{;je4>f84KPAay&vMYZtWGASIl@14VXnPU2_|ru!{~(}EUoUD$>1!hM zdx7r=%qwR3(m2bzahAV2&hG94jL<*gtTR6WD>G?eg3Z)`h|tA=F*=fH4># z(WX|6`zT(yj=@i@3g|je#h}OFS%7`lO`wX#U|3uq;%p>!#IR3B8HLT)NXa<~cY zxKKKrd9SySK9|xDCNoME)aE63dQpTWZp;C0-^w2=S zIRcjoTqCd*Lhx7M4Z_(A7^P2!SoN0hVkr7Scn#|QHrxjIgYXW(KM2&ZDRB0HGuYXO zT63NKfHyc4D$E#x_*;Q_mFP~|8=9(yKNdJnU4q|H4D+c&Dsu^j+Grtn(}Pfx zOP2|irLRFWmuo@UUYMVz54fOC7*9iz7b7k^VZ5dq`%rJGCcNOBD_Xc-63fgIp|snD zbc;~pb_Ruqg}jYMnyWz_5o$M0Fk3MwPx@4Y>0vtlK`2&w16~l^Ka3sdqUCr$T|y-n zX^LB4LVt2KwaUB^NB%zz*VLWnK5QJ$;Ka%GzHQz{nM!OEHTetk5DlV-e9E+r(qJO& zgjlrH`YI;mh7p>&$oeJ?rFpz?qHLn|J!Fq}eQLUO2GeutC|x$kI!jgbq)#oe45Nlh zaKXa$HdwjF$P8`s$%$6N7)6~vm9{F4(e!7m|18>N4Kv123HI|$-3DqLt@5e+K-E(v z=OdIoVbvHD=pmo_9?B-tX6!t<>~*W&xRfr()|;ubIPYIZnQ!^z-ywP#z2Z{?1D6?- zX%_a=EIK_f-Iz+-e5xrh%$QC$3iT|8UK3X7d;GG4fh5w_=dkIZ(L4KYARH2 z?=`NVXNBqt4YfVGf==>_0v`Dz?2j9>=qEl^Z)ZWB_Nl4%A!9cE+Nb8)O`zV=lnk#q z^w)mW`#qG0tQi{L?aT>dF2#h}gL)^8CMqA#`4`jTb?Ya_0{UZ*XcF(B-Vv%xOe~}@ zcEdz^1TUmPLhTLB2>#qyNW+Ed3e63k0X5n$TN?bev4|%4Wvha}1vO1mqH{5=m>~IA zD_u-i`xXB+xYt-r>wN0Dpht^ot5CZ`zYM-_EFnIk5bX~AKG=#sakyEi1C$>MtEIFD z8)u>eR20fr%jgcDstgr^a(VTk10_wx`RYnaf1#YW^tX#eQKZ%!PA&svx`<)KZ@+4G&RQ<1|C~?53gN8nu$1_o;fJUht{X@K}_M znxZ9t6dJ2m(WiXsBjF_0)I&mLZlk8~B-Koh2)Q?ORk#7v*M;f|tq(VXI-$#?*H+VS zg*rjkL(OU`naU<~7p|szgzBPO!*kVYs-MPXIz6wZD}>rh2c_P}gzC!B7sCr7`lMg@ zSa^kMq2;{6M+={U=z3}uN~hBGv|lJ~em(t*P}=-@I^~z~da#~;tLvdjo7H;yqfp$W zt)QOO6lFe}NYVy+SBpvuH_({rY<@5O1?D$UqfZ&mR<(iV3#I3MD|HCfMLh4Xp>m&k z4LYx(mu5&KMCUbhMyPD)X6Fud4OPtKvTW#Z#`!GBVLo}pxd+rJpZccrCAE>3`qWA1 z7^qI4dP%7Jed^zZdO@h$LiIVPAo)9?bksJ|PleJWez-0oP1-1&@0@!417raa0K7j`W-U;|0>H)yB>KI^>9yh)m z`HOnm_)$cej~l-N9wz2*p*JG~&F^48pSjSSBHPC>+4)JF_c?Xc5-&mcbzc5n;}{Lh zzsNjgROeR}??Ky*`KL@nVqmBi@D0W0hl}P~wMRII3tl$y zLk%{zj~*=e1Ju1(@ON{(`c(m0576%m_8NDhO_p^h{k6aW$B3R)r;LJV#5!e^M+?DW zr4NvHg=NO8VbMdz6va_wnIVvz7#)r+CR-T-{S&M)^s9m^z(0~d&pMSc=0^u2uvZCO z7j>*A_0i~J6d#B#x0=b2Njl8g#*kpVMrPH9{jlzcmr+_~m_?e0peG~BFq7!IdW6@*K`HjMi zWf^K|k%wW}T=cSOsJ5aeW4N^DO)+*>V6AW%V%7qlFmi>HD+jS6!HayH_XTfDEyH}S z=w!e!Uu6B}D@BKluvuRGV{ir)A2NPvxW)MywS}rdY@vqY8_a!bX>pUWPi+*qSKwj5 zQ^r?||06KmoEZPFz$xR3_`3n_Kb}t2`N|$5V}kL7y-&@HbJuK)C+#WbzW83_EMAlDO#K8f`;o7 zaGgHRFoQlmtBS--k(e}8c`-7S$x~=MR8K?Kyrw>8cL`ofFD5=|hy9uTCu}tKfnRAH z08G+wnp5&q`rsQTh-2nE80g`e36t9pTGpoP;x@sM!eNHfJ4R zJ#7TMgf;_CrmcVrrF5y3u8`7IQo2@3H_+3N*(@?0BC}0oZV;JHk=X;82puqfj$`R= zY6*?N5%-DU2)yWg4sZwlXbg`kdJC{l3et2XgmUmAdIS!jZvsvexRGXqKat)8=M&Tp ze1Y(n)8J5}F)?TbTLlhMKeyHyQv@~(+^q_O>x|t#o)f&y{(|6NP&vU&UhrE&OtH9H zv%oH!@xub268N;hGXg2drIi9F3+xPuyuhafp3!)?DgZsXT>6y2&WK0~e2QVl=*(wU zkvZC&YId1f^PqX!{IgkVjkG-LVe32A3)U;v?=2%x8W z?cdsO+X@RV;j$_hS9S(2?krqX*c3(Y#;~9j;ew-Bt|z`=AA#Wg_CtV2?Z*ML!OU4a z{ziWRd?(1ohw&PS=#B7tff>L_&es6{?mP*oa-IQv&wL&*H-}-Vz=oWcR0zfu3}K^% z|HfjYV$e8&^|*jhxQb&qUYwi&sHlO$y#JXFFBQ!|pBpq&;1y_v!i#u@v+y^Z2F(Uk zxaW%kUk9kD0|UvRt$>Plp@j-(sRTHkfC`IiDd3G5W(vb@AmARV0Q@KoLOh~0)4bQL zvl^`0L)PrTDEkb~cbAdX$@>-FVs(G+!euUVbcmU|A^UWu(70LPQHGa%h6VVyPd%S| z>8&0WTzH}cF$Ti;Y2Z%{(RiRVTi#h>tZftLy-_pFc zB}MHm9oKoOjq6(5TC&G(nlr3h%Ph~^yr82w)zPw+W;eICQ^!gnnGfeazHi&*u-VX> zYFX3arMA>If!p8LURLV=y`j!rjG_~0-?VGoD(8iYS_=~`nYpJ8PqphV| zNA|w`^qUo&E9wW zg~s~qcW*y9uCD&#>7yD()z?fNKclW@%*CVYYwD-gPpKI0>Xh8$E5@P8u>~ zQ%lDNZ|$gU<3`~#Hhb`niFxcsPg}ER?kKb8ZtXx2v+v(=;Rro|mNd6^pu47T!xZo~ z!>N`nTbtWjJGS!>Svg~CTid+mjt%JZhC6=|p5|@Z?6o6s+1i7X^5(Uq)}fmEC^-O!yEhN2?;CO42pM@K-4Q5TiqJQBMBOaZfF+ifup z*R)5Gp!PA+(@50-$bJ`BL24TTq z=sd-vA(TTZ*7>Ubms?<%7f`_kcrShd{?95HR-vGoedoc-%t3XfP1#3dcITVqL}hU-s;m zW*C=d>yKPk#=|8NK^N+gBg0*f-t4E2EQHV-M=o3m!x+%fuAwN=HZP3?EzvkuYt-B+ z;_7sG9orrgt9lwNiggW)bq&&^a}mZhn%gxSp(zMju$x`}NoW{#Si)?E)rPp{^_C~C2L%PQ2{h?GjIXlIuIv)9|X-s(*c6xSpI6gg( z?KJMSx<3!SNSy9_KC7N4n%qbJ - -d "D:\\Visual Studio 2012\\Projects" -cron -autoadd -externals-own + -d "D:\\Visual Studio 2012\\Projects" -cron -externals-own false Project