Index: xword/UICommons/AddinSettingsForm.cs =================================================================== --- xword/UICommons/AddinSettingsForm.cs (revision 0) +++ xword/UICommons/AddinSettingsForm.cs (revision 0) @@ -0,0 +1,431 @@ +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.IO; +using System.Linq; +using System.Threading; +using System.Diagnostics; +using System.Windows.Forms; +using XWiki.Logging; +using XWiki; + +namespace UICommons +{ + /// + /// Provides UI for changing the add-in settings. + /// + public partial class AddinSettingsForm : Form + { + /// + /// Specifies if at least an instance of the form is visible. + /// + public static bool IsShown = false; + bool connectionSettingsApplied = true; + bool addinSettingsApplied = true; + bool loadingDialogFlag = false; + + const String connectionDocUrl = "http://xoffice.xwiki.org/xwiki/bin/view/XWord/User_Guide#HConnecttoaXWikiserver"; + + #region connectivity + StringCollection connectMethods = Properties.Settings.Default.ConnectMethods; + Dictionary connectDictionary = new Dictionary(); + #endregion + + #region Properties + + /// + /// Gets or sets the value of connectionSettingsApplied, indicating if + /// the connections settings are applied. + /// + public bool ConnectionSettingsApplied + { + get { return connectionSettingsApplied; } + set { connectionSettingsApplied = value; } + } + + /// + /// Gets or sets the value of addinSettingsApplied, indicating if + /// the addin settings (XOffice common settings) are aplied. + /// + public bool AddinSettingsApplied + { + get { return addinSettingsApplied; } + set { addinSettingsApplied = value; } + } + + /// + /// Gets or sets the value of loadingDialogFlag. + /// + public bool LoadingDialogFlag + { + get { return loadingDialogFlag; } + set { loadingDialogFlag = value; } + } + + /// + /// Gets the connect methods. + /// + public StringCollection ConnectMethods + { + get { return connectMethods; } + } + /// + /// Gets the connectDictionary. + /// + public Dictionary ConnectDictionary + { + get { return connectDictionary; } + } + + /// + /// Gets or sets the URL of the server that the add-in conncets to. + /// + public String ServerURL + { + get + { + return txtServerURL.Text; + } + set + { + txtServerURL.Text = value; + } + } + + /// + /// Gets the user name that was provided. + /// + public String UserName + { + get + { + return txtUserName.Text; + } + set + { + txtUserName.Text = value; + } + } + + /// + /// Gets the password that was provided. + /// + public String Password + { + get + { + return txtPassword.Text; + } + set + { + txtPassword.Text = value; + } + } + + /// + /// Gets or sets the datasource of the comboProtocol combobox. + /// + public object ComboProtocolDataSource + { + get { return comboProtocol.DataSource; } + set { comboProtocol.DataSource = value; } + } + + /// + /// Gets or sets the selected index of the comboProtocol combobox. + /// + public int ComboProtocolSelectedIndex + { + get { return comboProtocol.SelectedIndex; } + set { comboProtocol.SelectedIndex = value; } + } + + /// + /// Gets the selected value of the comboProtocol combobox. + /// + public object ComboProtocolSelectedValue + { + get { return comboProtocol.SelectedValue; } + } + + /// + /// Gets the checked value of the ckRememberMe checkbox. + /// + public bool IsCkRememberMeChecked + { + get { return ckRememberMe.Checked; } + } + + /// + /// Returns TRUE if connection tab is selected. + /// + public bool IsTabConnectionSelected + { + get { return tabControl.SelectedTab == tabConnection; } + } + + /// + /// Return TRUE if repository tab is selected. + /// + public bool IsTabFileRepositorySelected + { + get { return tabControl.SelectedTab == tabFileRepository; } + } + + /// + /// Gets the text value from the txtPagesRepo textbox. + /// + public string TxtPagesRepoText + { + get { return txtPagesRepo.Text; } + set { txtPagesRepo.Text = value; } + } + + /// + /// Gets the text value of the txtAttachmentsRepo textbox. + /// + public string TxtAttachmentsRepoText + { + get { return txtAttachmentsRepo.Text; } + set { txtAttachmentsRepo.Text = value; } + } + + /// + /// Gets or sets the text value of groupBox1. + /// + public string GroupBox1Text + { + get { return groupBox1.Text; } + set { groupBox1.Text = value; } + } + + #endregion Properties + + #region Public Event Handlers + + /// + /// Actions to perform when on form load. + /// + public EventHandler OnFormLoad; + + /// + /// Actions to perform when applying settings. + /// + public EventHandler OnApply; + + /// + /// Actions to perform when OK button was pressed. + /// + public EventHandler OnOK; + + + /// + /// Actions to perform when user changes the protocol. + /// + public EventHandler OnProtocolChange; + + /// + /// Actions to perform on canceling settings. + /// + public EventHandler OnCancel; + + #endregion Public Event Handlers + + /// + /// Default constructor. Initializes all components. + /// + public AddinSettingsForm() + { + InitializeComponent(); + } + + + /// + /// Event triggered when the "Apply" button is clicked. + /// + /// The control that triggered the event. + /// The event parameters. + private void btnApply_Click(object sender, EventArgs e) + { + this.OnApply(sender, e); + } + + + /// + /// Event triggered when the "Cancel button is pressed. + /// + /// The control that triggered the event. + /// The event parameters. + private void btnCancel_Click(object sender, EventArgs e) + { + this.OnCancel(sender,e); + this.DialogResult = DialogResult.Cancel; + this.Close(); + } + + /// + /// Event that is automatically triggered the Form is loading. + /// + /// The control that triggered the event. + /// The event parameters. + private void ConnectionSettingsForm_Load(object sender, EventArgs e) + { + this.OnFormLoad(sender,e); + } + + /// + /// Event triggered when a connection setting is changed. + /// + /// The control that triggered the event. + /// The event parameters. + private void txtAnyConnectionSetting_TextChanged(object sender, EventArgs e) + { + connectionSettingsApplied = false; + } + + /// + /// Event triggered when the OK button is pressed. + /// + /// The control that triggered the event. + /// The event parameters. + private void btnOK_Click(object sender, EventArgs e) + { + this.OnOK(sender, e); + } + + /// + /// Event triggered when the select pages repository is clicked. + /// + /// The control that triggered the event. + /// The event parameters. + private void btnPagesRepo_Click(object sender, EventArgs e) + { + FolderBrowserDialog dialog = new FolderBrowserDialog(); + DialogResult result = dialog.ShowDialog(); + if (result == DialogResult.OK) + { + txtPagesRepo.Text = dialog.SelectedPath; + } + } + + /// + /// Event triggered when the select downloaded attachments repository is clicked. + /// + /// The control that triggered the event. + /// The event parameters. + private void btnAttachmentsRepo_Click(object sender, EventArgs e) + { + FolderBrowserDialog dialog = new FolderBrowserDialog(); + DialogResult result = dialog.ShowDialog(); + if (result == DialogResult.OK) + { + txtAttachmentsRepo.Text = dialog.SelectedPath; + } + } + + /// + /// Checks if a path is valid + /// + /// The value of the path. + /// True if the path is valid. False if the path is not valid. + public bool ValidatePath(String path) + { + bool valid = true; + try + { + if (!Path.IsPathRooted(path)) + { + valid = false; + } + } + catch (Exception) + { + valid = false; + } + return valid; + } + + /// + /// Checks if a url is valid. + /// + /// The value of the url to be checked. + /// True if the url is valid. False if the url is not valid. + private bool ValidateURL(String url) + { + bool valid = true; + try + { + Uri uri = new Uri(url, UriKind.Absolute); + } + catch (UriFormatException) + { + valid = false; + } + return valid; + } + + + /// + /// Event triggered when the textbox loses the focus. + /// + /// The control that triggered the event. + /// The event parameters. + private void txtPagesRepo_Leave(object sender, EventArgs e) + { + bool isValid = ValidatePath(txtPagesRepo.Text); + if (!isValid) + { + UserNotifier.Error("The path you provided is not valid. Please select a valid path"); + } + } + + /// + /// Event triggered when the textbox loses the focus. + /// + /// The control that triggered the event. + /// The event parameters. + private void txtAttachmentsRepo_Leave(object sender, EventArgs e) + { + bool isValid = ValidatePath(txtAttachmentsRepo.Text); + if (!isValid) + { + UserNotifier.Error("The path you provided is not valid. Please select a valid path"); + } + } + + /// + /// Event triggered when a repository setting is changed. + /// + /// The control that triggered the event. + /// The event paramaters. + private void anyRepoSettingChanged_TextChanged(object sender, EventArgs e) + { + addinSettingsApplied = false; + } + + private void comboProtocol_SelectedIndexChanged(object sender, EventArgs e) + { + this.OnProtocolChange(sender, e); + } + + private void linkConnectDoc_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + if (e.Button == MouseButtons.Left) + { + Process p = new Process(); + p.StartInfo = new ProcessStartInfo(connectionDocUrl); + p.Start(); + } + } + + private void AddinSettingsForm_FormClosed(object sender, FormClosedEventArgs e) + { + IsShown = false; + } + + private void AddinSettingsForm_Shown(object sender, EventArgs e) + { + IsShown = true; + } + } +} \ No newline at end of file Index: xword/UICommons/AddinSettingsForm.Designer.cs =================================================================== --- xword/UICommons/AddinSettingsForm.Designer.cs (revision 0) +++ xword/UICommons/AddinSettingsForm.Designer.cs (revision 0) @@ -0,0 +1,374 @@ +namespace UICommons +{ + partial class AddinSettingsForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddinSettingsForm)); + this.tabControl = new System.Windows.Forms.TabControl(); + this.tabConnection = new System.Windows.Forms.TabPage(); + this.txtServerURL = new System.Windows.Forms.TextBox(); + this.ckRememberMe = new System.Windows.Forms.CheckBox(); + this.txtPassword = new System.Windows.Forms.TextBox(); + this.lblPassword = new System.Windows.Forms.Label(); + this.txtUserName = new System.Windows.Forms.TextBox(); + this.lblUserName = new System.Windows.Forms.Label(); + this.lblServerUrl = new System.Windows.Forms.Label(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.linkConnectDoc = new System.Windows.Forms.LinkLabel(); + this.comboProtocol = new System.Windows.Forms.ComboBox(); + this.lblProtocol = new System.Windows.Forms.Label(); + this.tabFileRepository = new System.Windows.Forms.TabPage(); + this.grp = new System.Windows.Forms.GroupBox(); + this.btnAttachmentsRepo = new System.Windows.Forms.Button(); + this.txtAttachmentsRepo = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.btnPagesRepo = new System.Windows.Forms.Button(); + this.txtPagesRepo = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.btnApply = new System.Windows.Forms.Button(); + this.btnOK = new System.Windows.Forms.Button(); + this.btnCancel = new System.Windows.Forms.Button(); + this.tabControl.SuspendLayout(); + this.tabConnection.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.tabFileRepository.SuspendLayout(); + this.grp.SuspendLayout(); + this.SuspendLayout(); + // + // tabControl + // + this.tabControl.Controls.Add(this.tabConnection); + this.tabControl.Controls.Add(this.tabFileRepository); + this.tabControl.Dock = System.Windows.Forms.DockStyle.Top; + this.tabControl.Location = new System.Drawing.Point(0, 0); + this.tabControl.Name = "tabControl"; + this.tabControl.SelectedIndex = 0; + this.tabControl.Size = new System.Drawing.Size(416, 260); + this.tabControl.TabIndex = 0; + // + // tabConnection + // + this.tabConnection.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; + this.tabConnection.Controls.Add(this.txtServerURL); + this.tabConnection.Controls.Add(this.ckRememberMe); + this.tabConnection.Controls.Add(this.txtPassword); + this.tabConnection.Controls.Add(this.lblPassword); + this.tabConnection.Controls.Add(this.txtUserName); + this.tabConnection.Controls.Add(this.lblUserName); + this.tabConnection.Controls.Add(this.lblServerUrl); + this.tabConnection.Controls.Add(this.groupBox1); + this.tabConnection.Location = new System.Drawing.Point(4, 22); + this.tabConnection.Name = "tabConnection"; + this.tabConnection.Padding = new System.Windows.Forms.Padding(3); + this.tabConnection.Size = new System.Drawing.Size(408, 234); + this.tabConnection.TabIndex = 0; + this.tabConnection.Text = "Connection Settings"; + this.tabConnection.UseVisualStyleBackColor = true; + // + // txtServerURL + // + this.txtServerURL.Location = new System.Drawing.Point(102, 25); + this.txtServerURL.Name = "txtServerURL"; + this.txtServerURL.Size = new System.Drawing.Size(271, 20); + this.txtServerURL.TabIndex = 12; + this.txtServerURL.Text = "http://localhost:8080"; + this.txtServerURL.TextChanged += new System.EventHandler(this.txtAnyConnectionSetting_TextChanged); + // + // ckRememberMe + // + this.ckRememberMe.AutoSize = true; + this.ckRememberMe.Checked = true; + this.ckRememberMe.CheckState = System.Windows.Forms.CheckState.Checked; + this.ckRememberMe.Location = new System.Drawing.Point(297, 196); + this.ckRememberMe.Name = "ckRememberMe"; + this.ckRememberMe.Size = new System.Drawing.Size(94, 17); + this.ckRememberMe.TabIndex = 18; + this.ckRememberMe.Text = "Remember me"; + this.ckRememberMe.UseVisualStyleBackColor = true; + // + // txtPassword + // + this.txtPassword.Location = new System.Drawing.Point(102, 110); + this.txtPassword.Name = "txtPassword"; + this.txtPassword.PasswordChar = '*'; + this.txtPassword.Size = new System.Drawing.Size(271, 20); + this.txtPassword.TabIndex = 15; + this.txtPassword.Text = "admin"; + this.txtPassword.TextChanged += new System.EventHandler(this.txtAnyConnectionSetting_TextChanged); + // + // lblPassword + // + this.lblPassword.AutoSize = true; + this.lblPassword.Location = new System.Drawing.Point(21, 113); + this.lblPassword.Name = "lblPassword"; + this.lblPassword.Size = new System.Drawing.Size(56, 13); + this.lblPassword.TabIndex = 17; + this.lblPassword.Text = "Password:"; + // + // txtUserName + // + this.txtUserName.Location = new System.Drawing.Point(102, 68); + this.txtUserName.Name = "txtUserName"; + this.txtUserName.Size = new System.Drawing.Size(271, 20); + this.txtUserName.TabIndex = 14; + this.txtUserName.Text = "Admin"; + this.txtUserName.TextChanged += new System.EventHandler(this.txtAnyConnectionSetting_TextChanged); + // + // lblUserName + // + this.lblUserName.AutoSize = true; + this.lblUserName.Location = new System.Drawing.Point(21, 71); + this.lblUserName.Name = "lblUserName"; + this.lblUserName.Size = new System.Drawing.Size(63, 13); + this.lblUserName.TabIndex = 13; + this.lblUserName.Text = "User Name:"; + // + // lblServerUrl + // + this.lblServerUrl.AutoSize = true; + this.lblServerUrl.Location = new System.Drawing.Point(21, 28); + this.lblServerUrl.Name = "lblServerUrl"; + this.lblServerUrl.Size = new System.Drawing.Size(66, 13); + this.lblServerUrl.TabIndex = 11; + this.lblServerUrl.Text = "Server URL:"; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.linkConnectDoc); + this.groupBox1.Controls.Add(this.comboProtocol); + this.groupBox1.Controls.Add(this.lblProtocol); + this.groupBox1.Location = new System.Drawing.Point(8, 6); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.Size = new System.Drawing.Size(383, 184); + this.groupBox1.TabIndex = 20; + this.groupBox1.TabStop = false; + this.groupBox1.Text = "Settings"; + // + // linkConnectDoc + // + this.linkConnectDoc.AutoSize = true; + this.linkConnectDoc.Location = new System.Drawing.Point(330, 148); + this.linkConnectDoc.Name = "linkConnectDoc"; + this.linkConnectDoc.Size = new System.Drawing.Size(35, 13); + this.linkConnectDoc.TabIndex = 25; + this.linkConnectDoc.TabStop = true; + this.linkConnectDoc.Text = "Why?"; + this.linkConnectDoc.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkConnectDoc_LinkClicked); + // + // comboProtocol + // + this.comboProtocol.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboProtocol.FormattingEnabled = true; + this.comboProtocol.Location = new System.Drawing.Point(94, 145); + this.comboProtocol.Name = "comboProtocol"; + this.comboProtocol.Size = new System.Drawing.Size(230, 21); + this.comboProtocol.TabIndex = 24; + this.comboProtocol.SelectedIndexChanged += new System.EventHandler(this.comboProtocol_SelectedIndexChanged); + // + // lblProtocol + // + this.lblProtocol.AutoSize = true; + this.lblProtocol.Location = new System.Drawing.Point(13, 148); + this.lblProtocol.Name = "lblProtocol"; + this.lblProtocol.Size = new System.Drawing.Size(67, 13); + this.lblProtocol.TabIndex = 23; + this.lblProtocol.Text = "Connect via:"; + // + // tabFileRepository + // + this.tabFileRepository.Controls.Add(this.grp); + this.tabFileRepository.Location = new System.Drawing.Point(4, 22); + this.tabFileRepository.Name = "tabFileRepository"; + this.tabFileRepository.Padding = new System.Windows.Forms.Padding(3); + this.tabFileRepository.Size = new System.Drawing.Size(408, 234); + this.tabFileRepository.TabIndex = 1; + this.tabFileRepository.Text = "File Repository"; + this.tabFileRepository.UseVisualStyleBackColor = true; + // + // grp + // + this.grp.Controls.Add(this.btnAttachmentsRepo); + this.grp.Controls.Add(this.txtAttachmentsRepo); + this.grp.Controls.Add(this.label5); + this.grp.Controls.Add(this.btnPagesRepo); + this.grp.Controls.Add(this.txtPagesRepo); + this.grp.Controls.Add(this.label4); + this.grp.Location = new System.Drawing.Point(8, 6); + this.grp.Name = "grp"; + this.grp.Size = new System.Drawing.Size(383, 206); + this.grp.TabIndex = 21; + this.grp.TabStop = false; + this.grp.Text = "Settings"; + // + // btnAttachmentsRepo + // + this.btnAttachmentsRepo.Location = new System.Drawing.Point(308, 57); + this.btnAttachmentsRepo.Name = "btnAttachmentsRepo"; + this.btnAttachmentsRepo.Size = new System.Drawing.Size(54, 23); + this.btnAttachmentsRepo.TabIndex = 22; + this.btnAttachmentsRepo.Text = "..."; + this.btnAttachmentsRepo.UseVisualStyleBackColor = true; + this.btnAttachmentsRepo.Click += new System.EventHandler(this.btnAttachmentsRepo_Click); + // + // txtAttachmentsRepo + // + this.txtAttachmentsRepo.Location = new System.Drawing.Point(81, 59); + this.txtAttachmentsRepo.Name = "txtAttachmentsRepo"; + this.txtAttachmentsRepo.Size = new System.Drawing.Size(221, 20); + this.txtAttachmentsRepo.TabIndex = 21; + this.txtAttachmentsRepo.Text = "C:\\Temp"; + this.txtAttachmentsRepo.TextChanged += new System.EventHandler(this.anyRepoSettingChanged_TextChanged); + this.txtAttachmentsRepo.Leave += new System.EventHandler(this.txtAttachmentsRepo_Leave); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(6, 62); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(69, 13); + this.label5.TabIndex = 20; + this.label5.Text = "Attachments:"; + // + // btnPagesRepo + // + this.btnPagesRepo.Location = new System.Drawing.Point(308, 21); + this.btnPagesRepo.Name = "btnPagesRepo"; + this.btnPagesRepo.Size = new System.Drawing.Size(54, 23); + this.btnPagesRepo.TabIndex = 19; + this.btnPagesRepo.Text = "..."; + this.btnPagesRepo.UseVisualStyleBackColor = true; + this.btnPagesRepo.Click += new System.EventHandler(this.btnPagesRepo_Click); + // + // txtPagesRepo + // + this.txtPagesRepo.Location = new System.Drawing.Point(81, 23); + this.txtPagesRepo.Name = "txtPagesRepo"; + this.txtPagesRepo.Size = new System.Drawing.Size(221, 20); + this.txtPagesRepo.TabIndex = 14; + this.txtPagesRepo.Text = "C:\\Temp"; + this.txtPagesRepo.TextChanged += new System.EventHandler(this.anyRepoSettingChanged_TextChanged); + this.txtPagesRepo.Leave += new System.EventHandler(this.txtPagesRepo_Leave); + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(6, 26); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(40, 13); + this.label4.TabIndex = 13; + this.label4.Text = "Pages:"; + // + // btnApply + // + this.btnApply.Location = new System.Drawing.Point(248, 266); + this.btnApply.Name = "btnApply"; + this.btnApply.Size = new System.Drawing.Size(75, 23); + this.btnApply.TabIndex = 16; + this.btnApply.Text = "Apply"; + this.btnApply.UseVisualStyleBackColor = true; + this.btnApply.Click += new System.EventHandler(this.btnApply_Click); + // + // btnOK + // + this.btnOK.Location = new System.Drawing.Point(167, 266); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(75, 23); + this.btnOK.TabIndex = 17; + this.btnOK.Text = "OK"; + this.btnOK.UseVisualStyleBackColor = true; + this.btnOK.Click += new System.EventHandler(this.btnOK_Click); + // + // btnCancel + // + this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; + this.btnCancel.Location = new System.Drawing.Point(329, 266); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(75, 23); + this.btnCancel.TabIndex = 18; + this.btnCancel.Text = "Cancel"; + this.btnCancel.UseVisualStyleBackColor = true; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // AddinSettingsForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.btnCancel; + this.ClientSize = new System.Drawing.Size(416, 295); + this.Controls.Add(this.btnCancel); + this.Controls.Add(this.btnApply); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.tabControl); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "AddinSettingsForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "XWord - Settings"; + this.Load += new System.EventHandler(this.ConnectionSettingsForm_Load); + this.Shown += new System.EventHandler(this.AddinSettingsForm_Shown); + this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.AddinSettingsForm_FormClosed); + this.tabControl.ResumeLayout(false); + this.tabConnection.ResumeLayout(false); + this.tabConnection.PerformLayout(); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.tabFileRepository.ResumeLayout(false); + this.grp.ResumeLayout(false); + this.grp.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl tabControl; + private System.Windows.Forms.TabPage tabConnection; + private System.Windows.Forms.TextBox txtServerURL; + private System.Windows.Forms.Button btnApply; + private System.Windows.Forms.CheckBox ckRememberMe; + private System.Windows.Forms.TextBox txtPassword; + private System.Windows.Forms.Label lblPassword; + private System.Windows.Forms.TextBox txtUserName; + private System.Windows.Forms.Label lblUserName; + private System.Windows.Forms.Label lblServerUrl; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.TabPage tabFileRepository; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.Button btnCancel; + private System.Windows.Forms.GroupBox grp; + private System.Windows.Forms.Button btnPagesRepo; + private System.Windows.Forms.TextBox txtPagesRepo; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Button btnAttachmentsRepo; + private System.Windows.Forms.TextBox txtAttachmentsRepo; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.LinkLabel linkConnectDoc; + private System.Windows.Forms.ComboBox comboProtocol; + private System.Windows.Forms.Label lblProtocol; + + } +} \ No newline at end of file Index: xword/UICommons/AddinSettingsForm.resx =================================================================== --- xword/UICommons/AddinSettingsForm.resx (revision 0) +++ xword/UICommons/AddinSettingsForm.resx (revision 0) @@ -0,0 +1,659 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAQAEBAAAAAAIABoBAAARgAAACAgAAAAACAAqBAAAK4EAAAwMAAAAAAgAKglAABWFQAAQEAAAAAA + IAAoQgAA/joAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD//////v7+//Hx + 8f/6+vr////////////+/v7/iYn+/3Nz/v/+/v7///////7+/v/8/Pz/8PDw//7+/v/+/v7//v7+/+Xl + 5f9ZWFj/hIOD//n6+v/+/v7//v7+/3l5/v9iYv7//f7///7+/v/8/Pz/kpGR/1dVVf/W1tb//v7+//7+ + /v/u7u7/X15e/1JQUP+VlJT//f39//7+/v96ev7/YmL+//3+/v/+/v7/pqWl/1JQUP9aWFj/4uLi//7+ + /v///////v7+/9TU1P9YVlb/UlBQ/6yrq//+/v7/xMX+/7i5/v/+/v7/u7u7/1NRUf9VU1P/xsXF//7+ + /v/+/v7////////////+/v7/wcHB/1NRUf9TUlL/wcHB//7+/v/+/v7/z8/P/1dVVf9SUFD/srGx//7+ + /v///////////////////////v7+//7+/v+sq6v/UlBQ/1dVVf/U1NT/4ODg/11bW/9SUFD/nJub//39 + /f/////////////////+/v7//v7+///+/v/+/v7//f39/5WUlP9RT0//YV9f/2dlZf9SUFD/hoSF//v7 + +//+/v7//v7+//7+/v/+/v7/4bd+/92ubf/erm3/79m7//7+/v/6+fn/goCA/1JQUP9ST1D/dXR0//X1 + 9f/+/v7/u9r+/2qv/v9qr/7/erf+/+K4gf/er2//3q9w/+/ZvP/+/v7/+/v7/4iHh/9SUFD/UlBQ/3p5 + ef/39/f//v7+/8Dc/v9ys/7/crP+/4K7/v/+/v7//v7+//7+/v/+/v7//v7+/52cnP9RT0//XVtb/2Jh + Yf9SUFD/jYyM//z8/P/+/v7//v7+//7+/v/+/v////////7+/v/+/////v7+/7S0tP9TUFD/VVNT/87O + zv/a2tr/WlhY/1JQUP+jo6P//v7+//7+/v/////////////////+/v7//v7+/8jIyP9VU1P/U1FR/7m5 + uf/+/v7//v7+/8nIyP9VU1P/UlBQ/7m5uf/+/v7//v7+///////+/v7//v7+/9ra2v9bWVn/UlBQ/6Sj + o//9/v7/w+3d/7jq1v/+/v7/tLOz/1JQUP9WVFT/zc3N//7+/v/+/v7///////Dw8P9jYmL/UlBQ/46M + jP/8/Pz//v7+/3nYs/9i06b//v7+//7+/v+dnZ3/UlBQ/1xbW//m5eX//v7+///////j4+P/VlRU/3x7 + e//4+Pj//v////7+/v952LP/YtOm//7+/v/+/v7/+/v7/4qJif9UUlL/09LS//7+/v///////v7+/+rr + 6//4+Pj//v7+//7+/v/+/v7/it28/3PXsP/+/v7//v7+//7+/v/6+vr/6Ojo//7+/v//////AAD//wAA + //8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//ygA + AAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////v7+//7+ + /v/+/v7//v7+//////////////////////////7//v7+//Ly/v8+P/3/JCT9/+Pj/v/9/v7///////// + /////////////////////////v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/////////////v7+//7+ + /v/v7+//2tra/+/v7//+/v7////////////////////////////+/v//4+P+/xAQ/f8BAf3/w8P+//39 + ///////////////////+/v7///////3+/v/19fX/29vb/+np6f/+/v7//v7+//7+/v/+/v7///////7+ + /v/+/v7/6erq/2xsbP9WVFT/a2pq/+Tk5P/+/v7//v7+//////////////////7+///j4/7/EBD9/wEB + /f/ExP7//P3///////////////////7+/v/+/v7/8vLy/317e/9WVVX/YWBg/9TT0//+/v7//v7+//// + ///+/v7//v7+//7+/v+wrq//UE5O/1JQUP9SUFD/cG5u/+zt7f/9/v7//v7+/////////////v7+/+Pj + /v8PEP3/AQH9/8TE/v/8/f/////////////+/v7//v7+//f39/+Hh4f/UlBQ/1JQUP9SUFD/iYiI//39 + /f////////////7+/v/+/v7//v7+/8LCwv9QT0//UU9P/1JQUP9ST1D/f35+//Dw8P/+/v7//v7+//7+ + /v/+/v7/4+P+/xAQ/f8BAf3/xMT+//z9///+/v7///////7+/v/5+fn/m5qa/1JQUP9RT0//UVBQ/1JP + T/+fnZ3//v7+///////////////////////+/v7/+Pj4/4uKiv9RT0//UlBQ/1FPT/9SUFD/kpKS//n5 + +f///////v7+//3+/v/j4/7/EBD9/wEB/f/Dw/7//f3///7+/v///////Pz8/66urv9UUlL/Uk9P/1JQ + UP9RT0//cnFx/+/u7v/+/v7//v7+//////////////////7+/v/+/v7/7+/v/3l4eP9SUFD/Uk9P/1JQ + UP9SUVH/p6am//7+/v/+/v7//v7+//Dw/v8xMf3/GBn9/93e/v/9/v7//v////3+/v/ExMT/VlVV/1JQ + UP9RT0//U1BQ/2RkZP/g4OD//v7+//7+/v/+/v7///////////////////////7+/v/+/v7/6urq/2xr + a/9RUFD/UU9P/1FPT/9TUVH/ubi4//z8/P/+/v7//f7+//Pz/v/v7/7//f7+//7+/v/+/v7/1NTU/1lX + V/9SUFD/UlBQ/1JQUP9eXFz/1NTU//7+/v/+/v7//v////////////////////////////////////// + ///+/v7/3d3d/19eXv9SUFD/UlBQ/1FPT/9aWFj/ycnJ//3+/v/+/v7//v7+//7+/v/+/v7//v7+/+Dg + 4P9nZmb/UlBQ/1FPT/9SUFD/VlRU/8XFxf/+/v7///////////////////////////////////////// + /////////v7+///////+/v7/ysrK/1lXV/9SUFD/UU9P/1FPT/9iYWH/3Nzc//7+/v/+//7//v/+//7+ + /v/s6+v/dHJy/1JQUP9RT0//UlBQ/1NRUf+vr6///v7+//////////////////////////////////// + ///////////////////+/v7//v7+///////9/f3/ubm5/1VTU/9RUFD/UU9P/1JQUP9oZ2f/6+vr//7+ + /v/+/v7/9/f3/4B+fv9SUFD/UlBQ/1JQUP9SUFD/m5qa//n5+f/+/v7///////////////////////// + ///////////////////////////////////+/v7///////7+/v/8/Pz/paWl/1JSUv9SUFD/UU9P/1FP + T/94dnb/8PDw//n5+f+Tk5P/UU9P/1JQUP9RT0//UlBQ/4uKiv/29/f//v7+//////////////////// + ///////////////////+/v7////////////////////////////+/v7//v7+//7+/v/5+fn/kZGR/1FP + T/9RT0//UU9P/1JQUP+Mior/o6Ki/1NRUf9SUFD/UlBQ/1FPT/95d3f/8fHx//7+/v////////////// + ///////////////////////////////+/v///v3//v79///+/f///v3///79//7+/v/+/v7//v7+//7+ + /v/19fX/fHx8/1FPT/9RT0//UlBQ/1NQUP9UUVH/UlBQ/1JQUP9SUFD/ZmVl/+fn5//+/v7///7+//// + ///+/v7//f7+//3+/v/9/v7//f7+//3+/v/+/v7/+vTr//Tm0//15tL/9ObT//Tm0v/05tL/+fHm//7+ + /v/+/v7//v7+//7+/v/s6+v/cnBw/1FPT/9SUFD/UlBQ/1JQUP9ST1D/Uk9Q/2FfX//a2tr//v7+//7/ + ///9/v7//f7+/+Tw/v/O5f7/z+X+/8/l/v/P5f7/zuX+/+jz/v/RjTT/x3YI/8Z1B//Hdgj/x3YI/8d2 + B//LgR3/+vTq///+/v///////v7+//7+/v/f39//ZWNj/1JQUP9SUFD/UlBQ/1JQUP9ZV1f/ycnJ//7+ + /v/+/v7//v7+//7+/v/t9v7/HoT+/wZ5/v8Gef7/Bnn//wZ5//8Gef7/Kov+/9GON//Hdgn/x3YJ/8Z2 + Cf/Hdgn/x3YJ/8uCIP/69Ov//v7+//7+/v/+/v7//v7+/+jo6P9qaWn/UlBQ/1JQUP9SUFD/UU9P/1xa + Wv/U09P//v7+///////+/////v7+/+/2/v8nif7/C3v+/wt6/v8Le/7/C3v+/wt7/v81kP7/+/Xt//Xo + 1v/26Nb/9ejW//bo1v/26Nb/+fHn//7+/f///v///v7+//7+/v/z8/P/fHt7/1FPT/9RT0//UlBQ/1JQ + UP9SUFD/UlBQ/2dmZv/j4+P//v7+//7+/v/+/v7//f7+/+r0/v/Z6/7/2uv+/9nr/v/Z6/7/2ev+/+72 + /v/+//7//v79//7+/f/9/v3//v79//7+/f/+/v7////+////////////+Pj4/4uKiv9RT0//UlBQ/1FP + T/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/3FwcP/v7+///v7+//7+/v/+/v7//f7///3+///9/v7//f7+//3+ + ///9/v///v7///////////////////7+/v///////v////7////+/v7//v7+//z8/P+gn5//UU9P/1JQ + UP9RT0//UlBQ/399ff+TlJT/U1BQ/1JQUP9SUFD/UU9P/4SDg//29vb//v7+//7///////////////// + /////////////////////////////////////////v7+//////////////////7+/v/9/f3/tbW1/1ZT + U/9SUFD/UU9P/1JQUP9sbGz/6enp//b29v+EhIT/UlBQ/1FPT/9SUFD/UlBQ/5iXl//5+fn//v7+//7/ + //////////////////////////////////////////////////////////////7////+/////f39/8bF + xf9YVlb/UlBQ/1FPT/9SUFD/YF9f/+Pj4//+/v7//v7+//Hx8f90cnL/UlBQ/1JQUP9SUFD/U1FR/6qq + qv/7/Pz//v7+//7+/v/+/v7////////////////////////////////////////////+/v7//v7+//7+ + /v/W1dX/Xl1d/1FPT/9RUFD/Uk9P/11bW//Q0ND//v7+//7+/v///v///v7+/+Tk5P9raWn/UlBQ/1JQ + UP9SUFD/VVNT/729vf/+/v7//v7+//7+/v/+/v7//////////////////////////////////v7+//7+ + /v/+/v7/6Ojo/2ZlZf9SUFD/UU9P/1JQUP9WVVX/vLy8//z9/f/+/v7//v7+///+///+/v7//v7+/9XV + 1f9gXl7/UlBQ/1JQUP9SUFD/WVhY/9HR0f/+/v7//v7+//////////////////////////////////// + ///+/v7//v7+//Hx8f93dXX/UlBQ/1FPT/9SUFD/UlBQ/6mpqf/8/Pz//v7+//7+/v/x+vf/7vr1//7+ + /v/+/v7//f39/8jHx/9VU1P/UlBQ/1JQUP9SUFD/ZGNj/+Dg4P/+/v7//v7+//////////////////7+ + /v///////v7+//7+/v/z9PT/hoSE/1JQUP9SUFD/UlBQ/1JQUP+Xlpb//f39//7+/v/9/v7/7/r2/y/D + h/8XvXv/3fXs//3+/v///////v7+/7W0tP9TUVH/UlBQ/1JQUP9ST1D/bWxs/+nq6v/+/v7///////// + ///+/v7////////////+/v7/+vr6/5iXl/9SUFD/UlBQ/1FPT/9RT0//hYOD//T19f/+/v7//v7+//3+ + /v/j9u//ELp2/wG4b//D7t3//f7+///////+/v7/+/v7/6GgoP9SUVH/UU9P/1JQUP9RT0//fXx8//Pz + 8//+/v7//v7+//7+/v////////////7+/v/Jycn/UlFR/1JQUP9SUFD/UlBQ/3Vzc//s6+v//v7+//// + /////////f7+/+P27/8Pu3b/ALhv/8Pu3f/9/v7////////////+/v7/9vb2/4yLi/9SUFD/UlBQ/1JQ + UP9RT0//p6am//7+/v/+/v7//////////////////v7+/6ysrP9QT0//UlBQ/1JQUP9mZWX/5eXl//7+ + /v/+///////////////9/v7/4vbv/w+6dv8AuG//w+7d//3+/v/////////////////+/v7/8vLy/3t6 + ev9SUFD/UlBQ/1JQUP+GhYX//f7+//7+/v/////////////////+/v7/4+Li/2RiYv9TUVH/YWBg/9jY + 2P/+/v7///////////////////////3+/v/j9u//ELt2/wC4b//D7t3//f7+///////+/v7//v7+//// + ///+/v7/7e3t/29ubv9TUVH/WlhY/8nJyf/+/v7///////////////////////7+/v/+/v7/5ufn/8jH + x//l5eX//v7+/////////////////////////////f7+/+P37/8Qu3b/ALhw/8Pu3f/9/v7///////// + ///+/v7//v7+///////+/v7/7u7u/8nJyf/d3d3//f39/////////////////////////////v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7////////////9/v7/8/v4/0HIkv8mwYT/5Pfv//3+ + /v/+/v7//////////////////v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+////////////AAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAA///////////+/v7//v7+//// + ///+/v7///////7+/v/+/v7//v7+///////+/v7///////7+/v/////////////////+/v7//v7+//// + /v/+/v///f7+/8zN/v8hIf3/DQ39/6am/v/6+v7//v7+//7+/v////////////7+/v////////////7+ + /v////////////7+/v///////v7+//7+/v/////////////////////////////////+/v7//v7+//// + ///+/v7//v7+///////+/v7//f39//39/f/+/v7//f39//7+/v/+/v7//v7+//////////////////// + /////////v7+//7+/v/+/f7/+vv+/319/v8BAv3/AgL9/0lJ/v/q6v7//P3+//7+/v/+/v7///////7+ + /v///////////////////////v7+//7+/v/9/f3//v7+//7+/v/+/v7//v7+///////+/v7//v7+//7+ + /v/////////////////+/v7//v7+//7+/v/+/v7/8fHx/9HR0f/Hx8f/397e//z8/P/+/v7//v7+//7+ + /v/+/v7//v7+///////+/v7//v7+//7+/v/+/f7/+fn+/3Jy/v8BAf3/AQL8/z8//v/n5///+/z///// + /////////v7+//7+/v///////v7+//7+/v///////v7+//3+/v/q6ur/y8vL/8rKyv/n5+f//f39//7+ + /v///////v7+//7+/v/////////////////+/v7//v7+//7+/v/x8vL/ioyL/1xaWv9WVVX/aWdn/8LC + wv/7+/v//v7+//7+/v////////////7+/v////////////7+/v/+/f//+fn+/3Fx/f8CAf3/AQL9/z8/ + /v/n5///+/z///7+/v///////////////////////v7+//7+/v/+/v7//f39/97e3v96eXn/WVdX/1hX + V/9xcnL/3Nvb//7+/v/+/v7//v7+//7+/v///////v7+///////+/v7//v7+//39/f+oqKj/TEtL/1JR + Uf9TUVH/UVBQ/1taWv/Hxsb//f39//3+/v/+/v7//v7+///////+/v7//v7+//7+/v/+/f7/+fn+/3Bx + /f8BAf3/AQL9/z8//v/n5///+/z//////////////v7+/////////////v7+//7+/v/9/f3/4ODg/3Fw + cP9RUFD/U1FR/1JRUf9QTk7/fn19//Ly8v/8/v7//v7+//////////////////7+/v////////////r6 + +v+Gg4T/UE5O/1JQUP9SUFD/Uk9Q/1FPT/9qaWn/2NjY//z9/f/9/v7//v7+//7+/v/+/v7//v7+//7+ + /v/+/f7/+vr+/3Fy/f8BAf3/AQL9/z8//v/n5///+/z+//7+/v/////////////////+/v7//v7+//39 + /f/v7+//h4aG/1FPT/9SUFD/UlBQ/1JQUP9SUFD/Z2Vl/97e3v/8/f3///////7+/v////////////7+ + /v////////////39/f+Uk5P/T01N/1FPT/9SUFD/UlBQ/1FQUP9ST0//b25u/+Df3//9/f3//v7+//7+ + /v/+/v7//v7+//7+/v/+/f7/+vn+/3Jy/v8CAf3/AgL9/z8//v/n5///+vz///////////////////// + ///+/v7//v39//Pz8/+RkZH/UlBQ/1FQUP9RT0//UlBQ/1JQUP9ST1D/cm9v/+jo6P/9/f3///////// + //////////////7+/v///////v7+//7+/v/W1tb/XFtb/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UU9P/4SD + g//r6+v//v7+//7+/v/+/v7//v7+//7+/v/+/f7/+vn+/3Jy/v8BAf3/AQL9/z4//v/n5/7/+/z+//7+ + /v/+/v7///////7+/v/+/v7/+fn5/6enp/9VUlP/Uk9P/1FPT/9RT0//UE9P/1JQUP9TUVH/r66u//v7 + +//+/v7//v7+///////+/v7////////////+/v7//v7+//7+/v/8/Pz/vLy8/1xbW/9SUFD/UlBQ/1JQ + UP9RT0//UlBQ/1NRUf+NjY3/8vPz//7+/v///////v7+//7+/v/9/f7/+fn+/3Fx/v8CAf3/AgL9/z4+ + /v/m5v7//Pz+///+///+/v7//v7+//7+/v/6+vr/srKy/1hWVv9SUFD/UlBQ/1JQUP9ST0//UlBQ/1RS + Uv+WlZX/+Pj4//7+/v/+/v7//v7+/////////////////////////////v7+//7+/v/+/v7/+Pj4/62s + rP9UUlL/U1FR/1JPT/9ST0//Uk9Q/1JQUP9TUVH/pKOj//n5+f/+/v7//v7+//7+/v/+/v7//Pz9/4+O + /v8FBv7/AgL9/11d/f/v7/7//P3+//7+/v/+/////f7+//v7+//Hx8f/XVxc/1JQUP9SUFD/UU9P/1JQ + UP9SUFD/UE9P/4iIiP/t7e3//v7+//7+/v/+/v7//v7+///////+/v7///////7+/v/+/v7///////7+ + /v/+/v7//f39//f39/+ampr/VFJS/1NPUP9RT0//UlBQ/1JQUP9SUFD/WFZW/7Curv/6+vr//f7+//7+ + /v/+/v7//f7+/+zt/v95ev3/aGn9/9jY/v/9/v7//v7+//7+/v/+/v7//P39/9LS0v9nZmb/UU9P/1JQ + UP9SUFD/UVBQ/1JQUP9TUFD/dnV1/+fo6P/9/f3//v7+///////9/v7//v7+//7+/v/+/v7///////// + //////////////7+/v/+/v7//v7+//7+/v/w8PD/jIuL/1BPT/9RT0//UlBQ/1FPT/9RT0//UlBQ/1ta + Wv/Ew8P/+/v7//7+/v/+/////f7+//3+/v/5+f7/9/f+//3+/v/9/v7//v7+//7+/v/+/v7/4uLi/29u + bv9SUFD/UlBQ/1FPT/9SUFD/UlBQ/1FPT/9ubW3/2NjY//39/f/+/v7//v7+///////+/v7///////7+ + /v/+/v7///////////////////////7+/v/+/v7//v7+//7+/v/+/v7/6enp/3l4eP9SUFD/UlBQ/1JQ + UP9SUFD/UU9P/1FPT/9mZGT/z8/P//z9/f/9/v7//v7+//7+///+/f7//v3+//7////+/////v7+//7+ + /v/r6+v/gYCA/1BPT/9RT0//UU9P/1JQUP9SUFD/UlBQ/2BeXv/Pz8///v7+//7+/v////////////7+ + /v////////////7+/v///////v7+///////+/v7///////7+/v///////v7+//7+/v/+/v7//Pz8/9zc + 3P9xcHD/UU9P/1JQUP9SUFD/UU9P/1FPT/9RT0//a2pq/+Hh4f/+/v7//v7+//7+/v/+/v7//v79//7+ + /v/+/v7//f39//Hx8f+Lior/U1FR/1JQUP9RT0//UU9P/1JQUP9SUFD/XVxc/8HAwP/8/Pz//v7+//7+ + /v/+/v7///////////////////////////////////////7+/v/+/v7//////////////////v7+//7+ + /v/+/v7//v7+//39/f/Q0ND/YmBg/1JQUP9SUFD/UU9P/1FPT/9SUFD/UE5O/35+fv/p6en//v7+//7+ + /v/+/v7//v7+///////+/v7/9/b2/6Khof9RT0//UlBQ/1FPT/9SUFD/UlBQ/1JQUP9UUlL/ra2t//v7 + +//+/v7////////////+/v7//v7+//////////////////////////////////////////////////7+ + /v/+/v7//v7+//7+/v///////v7+//7+/v/8/Pz/xcXF/15dXf9SUFD/UVBQ/1FPT/9RT0//UlBQ/1JR + Uf+FhYX/8fHx//7+/v/+/v7//v7+//7+/v/6+vr/q6mp/1hWVv9SUVH/UVBQ/1FPT/9SUFD/UlBQ/1VT + U/+fnp7/9PT0//7+/v/+/v7//v7+///////+/v7///////////////////////////////////////// + /////////v7+//////////////////7+/v/+/v7////////////+/v7//Pz8/6+vr/9UU1P/UVBQ/1FQ + UP9SUFD/UU9P/1JQUP9QT0//oJ+f//X19f/9/f3//v7+//39/f/Hx8f/V1VV/1JQUP9RUFD/UlBQ/1JQ + UP9SUFD/UE5O/4qJif/x8fH//f39//7+/v///////////////////////////////////////v7+//7+ + /v/+/v7///////7+/v/+/v7//v7+///////+/v7///////7+/v/+/v7////////////+/v7//v7+//X1 + 9f+jo6P/VFNT/1JQUP9RT0//UU9P/1FPT/9SUFD/V1VV/6alpf/6+vr//f39/8rKyv9kY2P/UlBQ/1JQ + UP9SUFD/UU9P/1FPT/9SUFD/goGB/+rq6v/9/v7//v7+///////+/v7//v7+/////////////v7+//// + ///+/v7//v7+/////////////v7+/////////////////////////////v7+//7+/v///////v7+//7+ + /v///////v7+//39/f/z8/P/jIuL/1BPT/9SUFD/UU9P/1FPT/9SUFD/UlBQ/1ZUVP/Hxsb/5OTk/2hm + Zv9QT0//UlBQ/1FQUP9SUFD/UlBQ/1JPT/9ta2v/4eHh//7+/v/+/v7//////////////////v7+//7+ + /v////////////////////////////7+/v///////v7+/////////////////////////////v7+//// + ///+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7/7Ozs/4SEhP9SUFD/UlBQ/1JQUP9RT0//UlBQ/1JQ + UP9eXFz/amho/1BOTv9SUFD/UlBQ/1JQUP9SUFD/UU9P/2hnZ//U1NT//f39//7+/v////////////// + /////////v7+/////////////v7+/////////////v7+//7+/v/+/v7////+///+/f/+/f3//v38///+ + /f///f3//v39///9/f///f3//v79/////v/+/v7//v7+//7+/v/+/v7//v7+/+Pj4/9sbGz/UU9P/1JQ + UP9SUFD/UlBQ/1JQUP9ST0//UU9P/1JQUP9ST0//UU9P/1JQUP9SUFD/WFdX/8PDw//7+/v//f7+///+ + /v/+/v7////////////9/v7//P3+//z9/v/7/f7//P3+//z9/v/8/f7//P7+//3+/v/+/v7//v38//z4 + 8//79u///Pbw//v28P/79vD/+/bw//v28P/79u///fr2//7+/v/+//7//v7+//7+/v///////v7+//39 + /f/Z2Nj/a2pq/1JQUP9SUFD/UlBQ/1FPT/9SUFD/UlBQ/1JQUP9ST0//Uk9P/1JQUP9aWFj/tra2//39 + /f/+/v7//v7+//3+/v/+/v7//v7+//3//f/1+f7/7fX+/+31/v/u9v7/7fX+/+31/v/t9f7/7fX+//D3 + /v/8/f7/79q8/9ypYv/YoVb/2aFW/9iiVv/Yolb/2KJW/9iiVv/YolX/3rBu//fr3P/+//7//v7+//// + ///+/v7//v7+//7+/v/7+/v/yMjI/1lYWP9RT0//UU9P/1FPT/9SUFD/UlBQ/1FQUP9RUFD/UlBQ/1FP + T/+hoaH/9vb2//7+/v////////////7+/v/+/////f///9zs/v9qr/7/UKH+/0+i/v9Qov//UaH+/1Cg + //9Qof7/UKD//1im/v+w1f7/y38b/8VxAv/GcgH/xXEB/8VyAf/FcgL/xnIC/8ZyAv/FcgL/xHEC/9un + Yf/8+fT//v7+///+/////////v7+//7+/v/+/v7//f39/7i4uP9ZV1f/UlBQ/1JQUP9RT0//UU9P/1JQ + UP9ST0//UU9P/5GRkf/6+vr//v7+//7+/v/+/v7//v7+//7+/v/+/f7/9fr9/2et/v8Ddf7/AXf+/wF1 + /v8Cdv7/AXb+/wF2//8Bdv7/AXb+/wJ2/v8Sff7/y4Ae/8VxAv/FcgH/xHEB/8RxAf/EcQH/xXEB/8Vx + Av/FcgL/xHED/9ynY//8+fT//v7+///+///+/v7//v7+//7+/v/+/v7//v7+/8nJyf9cW1v/UlBQ/1JP + T/9ST0//Uk9P/1FPT/9RT0//UlBQ/6GgoP/9/f3//v7+//////////////////7+///9/f7/9/r+/2+w + /v8FdP7/AXX+/wF0/v8Cdf7/AXX+/wF1/v8Bdf7/AXX+/wN0/v8ZgP7/8dzB/92rZ//apVz/26Rb/9ql + Wv/apFv/2qVb/9qkXP/apFv/37Fz//bs3f/+/v7///7///7+/v/+/v7//v7+//7+/v/9/f3/2NjY/2Bf + X/9QTk7/UU9P/1JQUP9RT0//UlBQ/1JQUP9SUFD/UlBQ/1NRUf+0tLT/+Pj4//7+/v////////////7+ + /v/+/v7//v7+/+Tw/v99uf7/Yqv+/2Gq/v9iqv7/Yar+/2Gq/f9hqv7/Yar+/22x/v/A3v7//v38//z5 + 9P/79/L//Pfx//z48v/8+PL//Pjy//z48v/89/H//Pv3//79/f/+/v7//v7+//7+/v/+/v///v7+//7+ + /v/m5ub/eHd3/1FPT/9SUFD/UU9P/1FPT/9SUFD/UU9P/1JQUP9SUFD/UlBQ/1FPT/9gX1//x8fH//39 + /f/+/v7//v7+//7+/v/+/v7//f7+//3+/v/5+/7/9Pn+//T5/v/0+f7/9Pn+//T5///0+f7/9Pn+//b7 + /v/8/v7//v/+//7+/f/9/v3//f79//3+/P/9/vz//f79//3+/f/+/v3//v79//7+/v/+/v7///////// + /////////v7+/+7u7v98e3v/UU9P/1JQUP9SUFD/UU9P/1JQUP9RT0//UU9P/1JQUP9SUFD/UlBQ/1JQ + UP9SUFD/YV9f/9XV1f/9/f3//v7+//7+/v/+/v7//v7+//7+///9/v///P7///39/v/8/f7//f7+//3+ + ///9/v7//f7+//3+/v/+/v///v7+//7+/v/+/v7///////////////////////7+/v/+/v7//v////// + ///+/v7//v7+//7+/v/+/v7/8fHx/5eWlv9TUVH/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9XVlb/XFtb/1BP + T/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/3Z0dP/j4uL//v7+//7+/v/+/v7//v////7+/v/+/////v////7+ + /v/+/v7////////////+/v7////////////////////////////////////////////+/v7//v7+//// + ///+/v7//v7+//7+/v/+/v7//v7+//7+/v/5+fn/np2d/1JQUP9SUFD/UlBQ/1FPT/9RT0//UlBQ/1FQ + UP+ysbH/1NXV/11bW/9ST1D/UU9P/1JQUP9RT0//UlBQ/1BOTv97eXn/7Ozs//7+/v///////v7+//7+ + /v/+/v7//v7+/////////////v7+//7+/v///////v7+//7+/v/+/v7///////////////////////7+ + /v/+/v7///////////////////////7+/v/+/v7//v7+//n6+v+4uLj/WldX/1JQUP9SUFD/UU9P/1FP + T/9SUFD/U1FR/5KSkv/29vb//f39/7m4uP9cWlr/UlBQ/1FPT/9SUFD/UU9P/1JQUP9TUVH/kpGR//Dw + 8P/+/v7//v7+//7+/v/+//////////7+/v////////////7+/v/+/v7//v7+///////+/v7///////// + //////////////////////////////7////+/v7//v////7+/v/+/v7//v7+/8LCwv9bWVn/UlBQ/1FP + T/9SUFD/UlBQ/1JQUP9PTk7/jIyM/+/v7//+/v7//v7+//r6+v+zs7P/U1FR/1JQUP9SUFD/UlBQ/1JQ + UP9SUFD/UU9P/5ubm//39/f//v7+///////+//////////7+/v/+/v7////////////+/v7///////7+ + /v///////v7+//7+/v////////////7+/v/+/v7///////7+/v/+/////v////7+/v/8/Pz/09PT/2Zl + Zf9RT0//UlBQ/1FPT/9RT0//UlBQ/1NPUP91c3P/6+vr//7+/v/+/v7//v7+//39/f/29vb/mZeX/1VT + U/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1hXV/+ysrL/+fn5//7+/v/+/v7///////7+/v/+/v7///////7+ + /v///////v7+//7+/v/+/v7//////////////////v7+//////////////////7+/v///////v7+//39 + /f/d3d3/bm1t/1JQUP9SUFD/Uk9P/1JPUP9RT0//UU9P/3Fvb//c3Nz//f39//3+/v/+/v7//v7+//7+ + /v/+/v7/8PDw/5CPj/9QTk7/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9ZV1f/v8DA//7+/v/+/v7///////7+ + /v/+/v7//v7+//7+/v///////v7+//////////////////7+/v/+/v7///////7+/v/+/v7//v7+//7+ + /v/+/v7//f39/+np6f9+fX3/UlBQ/1JQUP9RT0//UVBQ/1FPT/9RUFD/YF5e/9PS0v/8/Pz//v7+//7+ + /v/+/v7///7///7+/v/+/v7//f39/+vs7P95eHj/UlBQ/1JQUP9RT0//UU9P/1JQUP9RT0//ZWNj/8/P + z//8/Pz//v7+//7+/v/+/v7//v7+//7+/v///////v7+//////////////////////////////////7+ + /v/+/v7//v7+//7+/v/+/v7/8vHx/4yKiv9RUFD/UlBQ/1FPT/9SUFD/UlBQ/1JQUP9cW1v/vr6+//z8 + /P/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//3+/v/f39//cXFx/1FPT/9SUFD/UlBQ/1JQ + UP9SUFD/UU9P/2tqav/c3Nz//f39//7+/v/+/v7//v7+//7+/v///////v7+//7+/v/+/v7///////// + ///////////////////+/v7//v7+//7+/v/39/f/np2d/1JQUP9SUFD/UU9P/1FPT/9SUFD/UlBQ/1RU + VP+ysrL/+fn5//7+/v/+/////f7+//7+/v/4/Pv/9vz6//3+/f/+/v7///////7+/v/8/Pz/1tbW/2Ri + Yv9SUFD/UlBQ/1FPT/9SUFD/UlBQ/1FPT/97e3v/5eXl//7+/v/+/v7///////////////////////7+ + /v/+/v7///////7+/v///////v7+/////////////v7+//n5+f+trKz/V1VV/1JQUP9SUFD/UlBQ/1JQ + UP9SUFD/U1JS/5ycnP/4+fn//v7+//7+/v/9/v7//f7+/+z49P9017H/ZdOn/9bz6P/+/v7//v////// + ///+/v7/+/v7/8LBwf9eXFz/UlBQ/1JQUP9RUFD/UlBQ/1JQUP9SUFD/hoaG//Hx8f/9/v7//v7+//7+ + /v/+/v7///////7+/v///////v7+//7+/v///////v7+//7+/v/+/v7/+vr6/7+/v/9ZV1f/UlBQ/1JQ + UP9ST0//Uk9P/1JQUP9RUFD/kZGR//Ly8v/+/v7//v7+//7+/v/9/v7//P79/47ev/8Et23/Ardv/1zP + of/v+vb//P39//7+/v///////v7+//r6+v+1tbX/VlRU/1FPT/9SUFD/UU9P/1JQUP9SUFD/UU9P/5mZ + mf/19vb//v7+//7+/v///////v7+//7+/v/+/v7//v7+/////////////v7+//7+/v/8/f3/zczM/2Ri + Yv9SUFD/UlBQ/1FPT/9RT0//UlBQ/1FPT/98e3v/6erq//7+/v/+/v7//v7+//7+/v/8/f3/+f37/3LX + r/8Btm3/Arhx/z7IkP/m9/D//P39/////////////v7+//7+/v/4+Pj/oaCg/1RSUv9SUFD/UlBQ/1JQ + UP9SUFD/UlBQ/1dVVf+oqKj/+vr6//7+/v////////////7+/v/+/v7////////////+/v7//v7+//7+ + /v/g4eH/Z2Zm/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UU9P/3Vzc//h4OD//P39//7+/v///////v7+//7+ + /v/9/v7/+fz8/3HWr/8Btm3/Abhw/z7IkP/n+PH//P39///////+/v7///////7+/v/+/v7/9fX1/5WV + lf9RT0//UU9P/1JQUP9SUFD/UlBQ/1JQUP9XVFT/wL+///39/f/+/v7//v7+//7+/v/+/v7///////// + /////////v7+//39/f+dnZ3/Tk1N/1JQUP9SUFD/UlBQ/1JQUP9SUFD/Y2Fh/9TU1P/+/v7//v7+//7+ + /v/+/v7//v7+///////9/v7/+f38/3HWr/8Ct23/Ablx/z7JkP/n+PH//P39//7+/v/+/v7//v7+//7+ + /v/+/v7//f39/+rq6v9+fn7/UlBQ/1JQUP9SUFD/UlBQ/1FPT/9RT0//d3V1/+3t7f/9/v7//v7+//7+ + /v///////v7+/////////////v7+//r6+v+CgoL/T05O/1JQUP9SUFD/UlBQ/1JPUP9hX1//ysrK//39 + /f/+/v7//v7+//7+/v///////v7+//7+/v/9/v7/+P38/3HWr/8Btmz/ALhx/z7Ikf/n+PH//P39//7+ + /v///////v7+//7+/v///////v7+//39/f/k5OT/d3Z2/1FPT/9SUFD/UlBQ/1FPT/9SUFD/ZmVl/93d + 3f/8/f3//v7+//7+/v///////////////////////v7+//39/f+dnZ3/TkxM/1NRUf9SUFD/U1FR/1RU + VP+ysrL//Pz8//7+/v///////v7+///////+/v7////////////9/v7/+f38/3DXr/8Btmz/ALlx/z7I + kf/n+PH//P39//7+/v/+/v7//v7+///////+/v7///////7+/v/9/f3/1dTU/2VkZP9SUFD/UlBQ/1NQ + UP9RT0//dXV1/+3t7f/9/f3//v7+/////////////////////////////v7+//7+/v/p6en/eXd3/1ZU + VP9TUVH/XVxc/6ytrf/39/f//v7+//7+/v///////v7+///////+/v7////////////9/v7/+f37/3LX + r/8Btm3/ALhx/z7IkP/n+PH//P39/////////////v7+//7+/v/+/v7//v7+//7+/v/+/v7//f39/9DQ + 0P9paGj/VFJS/1RSUv9jYmL/zMzM//39/f/+/v7//v7+///////+/v7//v7+/////////////v7+//7+ + /v/+/v7/5+fn/7m6uv+rq6v/zc3N//f39//+/v7///////7+/v/////////////////+/v7///////7+ + /v/9/v7/+f37/3HXr/8Bt2z/ALhx/z7IkP/m+PH//P39//////////////////7+/v/+/v7//v7+//7+ + /v///////v7+//39/f/c3Nz/srGx/7GwsP/Y2Nj//Pz8//7+/v/+/v7//v7+//7+/v/+/v7///////// + /////////v7+//7+/v/+/v7//v7+//39/f/9/f3//f39//7+/v/+/v7///////////////////////// + //////////////7+/v/9/v7/+/78/37atf8Ctm3/Abhw/0rLmf/q+PP//P39//////////////////// + ///+/v7//v7+//7+/v/+/v7//v7+//7+/v/9/f3//f39//39/f/9/f3//v7+//7+/v/+/v7//v7+//// + ///+/v7///////7+/v/+/v7//v7+//7+/v/+/v7///////7+/v/+/v7//v7+//////////////////7+ + /v/+/v7//v7+//////////////////7+/v/9/v7//v7+/8/x5P8kv4H/ELp4/6nmzv/6/fz//f7+//7+ + /v////////////////////////////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7///////7+ + /v/+/v7/////////////////AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA + AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA + //8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA + AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA + //8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA + AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA + //8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//KAAAAEAAAACAAAAAAQAgAAAA + AAAAQgAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////////////////7+ + /v/+/v7//v7+//7+/v////////////////////////////////////////////////////////////// + //////7////+//7+///9/v7/9fX+/6Gh/v8iIv3/DQ38/3Jy/v/o6P7//f39//7+/v/+/v7///////// + ///////////////////////////////////////////////////////////////////+/v7//v7+//7+ + /v////////////////////////////////////////////////////////////////////////////// + //////////////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v////////////////////////////// + ///////////////////////////////////+/f///P3+/9nZ//80Nf7/AQL9/wEC/f8QEP7/rKz+//v7 + /v/7/P7//v7+//////////////////////////////////////////////////////////////////7+ + /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v///////v7+//7+/v///////v7+//7+/v////////////// + //////////////7+/v/+/v7///////7+/v/+/v7//Pz8//v8/P/8/Pz//f39//7+/v/+/v7///////// + /////////////////////////////////////////////////////////v3///39///Jyf7/Hx/+/wEB + /f8CAvz/AAD9/46N/v/5+f7/+/z///////////////////////////////////////////////////// + //////////////7+/v/+/v7//f39//z8/P/7+/v//f39//7+/v/+/v7///////7+/v/+/v7///////7+ + /v/+/v7////////////////////////////+/v7//v7+//7+/v/+/v7/8/Pz/9DQ0P+4uLj/ubi4/87N + zf/08/P//v7+//7+/v////////////////////////////////////////////////////////////79 + ///9/f7/yMj+/x8f/v8BAf3/AgL8/wAA/f+Pj/7/+fn///r7//////////////////////////////// + /////////v7+//7+/v/////////////////7/f3/+/v7/97e3v++vr7/tra2/8LDw//n5+f//Pz8//7+ + /v////////////7+/v/+/v7////////////////////////////+/v7//v7+//7+/v/+/v7/8/Pz/6Sm + pf9qaWn/W1pa/1pZWf9oZmb/oJ+f//Pz8//+/v7//v7+//////////////////////////////////// + ///////////////////+/f///f3+/8nJ/f8fH/3/AgH9/wIC/f8AAP3/j4/+//n5///6+/////////// + //////////////////////////////7+/v/+/v7////////////+/v7//Pz8/8XExP94d3f/Xl1d/1pZ + Wf9fX1//hYWF/9va2v/+/v7//v7+//7////+/v7//v7+/////////////////////////////v7+//7+ + /v/9/f3//v7+/7W3t/9UVFT/UE5O/1FPT/9QT0//UE5O/1RSUv+lpaX/+/v7//7+/v/9/f3//v7+//// + /////////////////////////////////////////v3///39/v/IyP3/HR79/wIB/f8CAv3/AAD+/4+P + /v/5+f//+vv////////////////////////////////////////////////////////+/v7//v7+/9DR + 0f9mZGT/UE9P/1FPT/9QT0//UE9P/1BOTv9/fn7/9/f3//7+/v/9//////////////////////////// + /////////////////////////v7+//z8/P9ycHD/TkxM/1JQUP9SUFD/UlBQ/1FQUP9SUVH/WFdX/7i3 + t//+/v7//f7+//7+/v////////////////////////////////////////////79///9/f7/yMj9/x4e + /f8BAf3/AgL8/wAA/f+Pj/7/+fn///r7/////////////////////////////////////////v7+//7+ + /v/9/f3//f39/+Hh4f9xb2//UE5O/1JQUP9SUFD/UlBQ/1JQUP9SUFD/U1JS/8/Pz//9/v7//P39//// + /////////////////////////v7+//7+/v/////////////////y8vL/Xlpb/09NTf9RT0//UU9P/1JQ + UP9TT1D/U1BQ/1JQUP9eXFz/vb29//n6+v/8/v7//f7+//7+/v/+/v7///////////////////////// + /v/+/f7//f3+/8nJ/v8dHv3/AQH9/wIC/f8AAP3/j4/+//n5///6+/////////////////////////// + /////////v7+//7+/v/+/v7//f39/+Xl5f98fHz/UE5O/1NRUf9SUFD/UlBQ/1JQUP9SUFD/UlBQ/09N + Tf+zs7P//v7+//z9/f////////////////////////////7+/v/+/v7/////////////////+vr6/2tp + af9PTU3/UlBQ/1FPT/9SUFD/UlBQ/1JQUP9RUFD/UU9P/2pqav/IyMj/+Pj4//39/f/+/v7//v7+//// + ///+/v7//v7+//7//v////7//v3+//39/v/Jyf7/Hx/+/wIB/f8CAv3/AAD+/4+P/v/5+f//+fv///// + //////////////////////////////7+/v/+/f3//v39/+jo6P+NjY3/U1FR/1JQUP9RT0//UlBQ/1JQ + UP9SUFD/UlBQ/1JQUP9VUFH/xsbG//7+/v/9/f3///////////////////////////////////////// + /////////v7+//7+/v+lpaX/UE9P/1FPT/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1NQUP9RUFD/eXh4/9PT + 0//6+vr//v39///+/v///////v7+//7+/v/+//7////+//79/v/9/f7/ycn+/x8f/v8BAf3/AgL9/wAA + /v+Pj/7/+fn///n7/////////v7+//7+/v////////////7+/v/+/v7//f39/+3t7f+dnZ3/WVZX/1JQ + UP9RT0//UE9P/1JQUP9RT0//UU9P/1NQUP9PTU3/cm9v/+/v7//+/v7//v7+//////////////////// + //////////////////////////////7+/v/+/v7/6Ojo/4aFhf9RUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQ + UP9SUFD/UVBQ/1NRUf+GhYX/3t7e//38/P/+/v7//////////////////v7+//7+/v/9/f7//f3+/8nJ + /v8eH/7/AQH9/wIC/f8AAP7/jo/+//n5/v/7+/////7///7+/v/+/v7////////////+/v7//f39//Ly + 8v+rq6v/Xlxc/1JPT/9ST0//UU9P/1JQUP9SUFD/UU9P/1JQUP9QTk7/ZWNj/8XExP/+/v7//v7+//7+ + /v/+/v7//////////////////////////////////////////////////v7+//z8/P/Y2Nj/fHt7/1BO + Tv9SUFD/UlBQ/1JQUP9RT0//UU9P/1JQUP9SUFD/VFNT/5GQkP/r7Oz//v7+/////////////v7+//7+ + /v/+/v7//f3+//39/v/JyP3/Hh/+/wEB/f8CAv3/AAD+/42N/v/5+f7/+/v////+//////////////// + /////////f39//f39/+4uLj/YmJi/1BOTv9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9QTk7/X11d/7W1 + tf/4+Pj//v7+//7+/v/+/v7//v7+/////////////////////////////////////////////v7+//7+ + /v/+/v7/+vr6/8zMzP9xb2//UE5O/1NRUf9SUFD/UU9P/1JPT/9ST1D/UlBQ/1FPT/9VU1P/nJub//r6 + +v/+/v7//v7+//7+/v/+/v7///////79/v/9/f3/1tb+/ysq/v8CAv7/AgL9/wkJ/f+iof7/+fr+//v8 + /v///v////////7////9/////P39//z8/P/Jycn/Z2Zm/1FPT/9SUFD/UlBQ/1FPT/9RT0//UlBQ/1JQ + UP9RT0//WFhY/6moqP/y8fH//v7+//7+/v/+/v7//v7+//7+/v////////////////////////////// + //////////////7+/v/+/v7//v7+//39/f/5+fn/wMDA/2RjY/9RT0//UlBQ/1JOT/9ST1D/UlBQ/1JQ + UP9SUFD/UlBQ/1RSUv+ysbH//v7+//39/f////////////7+/v/9/v7//P39//Dw/v+Fhv3/ERL8/wED + /P9UVP3/39/+//v9/v/+/v7////////////9////+/39//3+/v/g4OD/ampq/09NTf9SUFD/UlBQ/1JQ + UP9QUFD/UVBQ/1NQUf9UUFD/U1JS/5aXl//r7Oz//f39//7+/v/+/v7//v7+//3///////////////// + //////////////////////////////////////////////7+/v/+/v7//v7+//v7+/+3t7f/Xl1d/1NP + UP9SUFD/UE9P/1JQUP9RT0//UU9P/1JQUP9SUFD/VlRU/727u//6+vr//P39//7+/v/+/v7//v7+//7+ + /v/9/f7/9/f+/9na/f/R0f7/8fH+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//3+/v/l5eX/dHNz/01L + S/9SUFD/UU9P/1JQUP9SUFD/UlBQ/1JQUP9SUFD/VFJS/4yLi//o6Oj//Pz8//39/f/+/v7///////7/ + ///9//////////////////////////////////////////////////////////////////////////7+ + /v/+/v7/+Pj4/6mpqf9XV1f/UlBQ/1FPT/9SUFD/UU9P/1FPT/9SUFD/UlBQ/1BQUP9mZGT/xsbG//n5 + +f/9/v7//f7+//7////9/v7//P7+//7+/v/+/v7//v7+//3+/v/8/v7//f7+/////////v7//v7+//7+ + /v/o6Oj/h4eH/09NTf9TUVH/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9TUVH/U1FR/4B+fv/e3t7//v7+//7+ + /v////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+//7+/v/z8/P/mpqa/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQ + UP9RT0//UU9P/3Rycv/Qz8//+fr6//3+/v/+/v7//f////3+///+/v///v3+//79/v/9/v7//f////3/ + /////////v7+//7+/v/t7e3/mJiY/1VUVP9TUVH/UU9P/1JQUP9SUFD/UlBQ/1JQUP9TUVH/UE5O/3Ny + cv/W1tb//v7+//7+/v////////////////////////////////////////////////////////////// + ///////////////////////////////////////////////////+/v7//v7+/+vr6/+Ih4f/UU9P/1JQ + UP9SUFD/UlBQ/1JQUP9SUFD/UU9P/1JQUP9TUVH/gYCA/9vb2//8/Pz//f7+//7+/v/+/v7////+//7+ + /v/+/v3//v7+///////+/v7//v7+//39/f/w8PD/pqWl/1xaWv9SUFD/UlBQ/1FPT/9RT0//UlBQ/1JQ + UP9SUFD/T05O/2VjY//Pzs7//v7+//7+/v////////////////////////////////////////////// + /////////////////////////////////////////////////////////v7+//7+/v////////////39 + /f/9/f3/3t7e/318fP9QTk7/UlBQ/1JQUP9SUFD/UlBQ/1FPT/9RT0//UU9P/1VTU/+OjY3/5ubm//7+ + /v/+/v7//v7+/////v/+//7//v/+/////v///////v7+//7+/v/09PT/tLOz/2NhYf9RT0//UlBQ/1JQ + UP9RT0//UlBQ/1JQUP9SUFD/UE5O/11dXf++vb3//f39//7+/v////////////////////////////// + //////////////////////////////////////////////////////////////////////////////7+ + /v/+/v7////////////+/v7//v7+//v7+//T0tL/cnFx/09NTf9SUFD/UlBQ/1BQUP9RT0//UlBQ/1FP + T/9RT0//VlVV/5mZmf/x8fH//v7+//7+/v////////////////////////////39/f/6+fn/xMLC/2hm + Zv9RT0//UlBQ/1FPT/9RT0//UlBQ/1JQUP9SUFD/UU9P/1hXV/+sq6v/9vb2//39/f/+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////v7+//7+/v/////////////////9/f3/+/v7/8jIyP9nZmb/UE5O/1JQ + UP9RUFD/UU9P/1FPT/9RT0//UlBQ/1JQUP9VVFT/qamp//v7+//+/v7///////////////////////39 + /f/9/f3/1tXV/2xqav9RT0//UlFR/1FQUP9RT0//UU9P/1JQUP9SUFD/UU9P/1RSUv+dnJz/7e3t//39 + /f/+/v7///////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////7+/v/+/v7//v7+/////////////v7+//7+ + /v/5+fn/vLy8/2JhYf9RT0//UlBQ/1FQUP9QT0//UlBQ/1FPT/9SUFD/UU9P/1JSUv+4uLj/+/v7//7+ + /v/+/v7//v7+//7+/v/+/v7/5eXl/29tbf9OTEz/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1NR + Uf+SkZH/6enp//39/f/+/v7///////////////////////////////////////////////////////// + /////////////////////////////////////////////////////////////////////////v7+//7+ + /v/////////////////+/v7//f39//b29v+srKz/XFxc/1BQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQ + UP9RT0//XFpa/8bGxv/6+vr//f39//7+/v/+/v7/6evr/39/f/9MSkr/U1FR/1JQUP9SUFD/UlBQ/1JQ + UP9RT0//U1FR/1RSUv+GhYX/4uLi//39/f/9/f3//v7+//////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////7+/v/+/v7/7+/v/52dnf9WVlb/UlBQ/1JQ + UP9RT0//UU9P/1FPT/9RT0//UlBQ/1BOTv9ta2v/0M/P//r6+v/9/f3/7Ozs/5OTk/9PTk7/U1FR/1JQ + UP9SUFD/UlBQ/1JQUP9RT0//UU9P/1JQUP97eXn/2NjY//3+/v/+/v7///////////////////////// + //////////////////////////////////////////////////////////////7+/v////////////// + ///////////////////////////////////////////////////////////////////+/v7//f39//39 + /f/q6ur/kZGR/1BPT/9SUFD/UU9P/1FPT/9RT0//UU9P/1JQUP9SUFD/U1FR/3x6ev/Z2Nj/7+/v/6Gg + oP9YVlb/UFBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/U1FR/1FOTv9ubGz/zs3N//7+/v/+/v7//v7+//// + //////////////////////////////////////////////////////////////////////////////// + ///+/v7//////////////////////////////////////////////////////////////////v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//f39/+bm5v9/f3//Tk1N/1JQUP9RT0//UlBQ/1JQUP9RT0//UlBQ/1JQ + UP9UUlL/hoSE/5ybm/9hX1//UU9P/1FQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/09NTf9fXV7/xMTE//v7 + +//+/v7//v7+//////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////7+/v/+/v7//v7+//7+/v////////////7+/v/+/v7/29vb/3BwcP9OTU3/UlBQ/1JQ + UP9SUFD/UU9P/1JQUP9SUFD/UU9P/1VSU/9ZVlb/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1BO + Tv9VVFT/s7Oz//n5+f/9/f3//v7+//////////////////////////////////////////////////// + ///////////////////////////////////+/v7//v7+/////v///v3///38///9/P/+/Pz//v38///9 + /P///fz///38///9/P///fz///38//7+/f/+//7////+///////+/v7//v7+//7+/v/+/v7//v7+//z8 + /P/Nzc3/Z2Zm/09NTf9TUVH/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/Uk9P/1JQUP9SUFD/UlBQ/1JQ + UP9SUFD/UlBQ/1JQUP9RUFD/oaKi//Pz8//9/f3//f7+/////////v7///7+/////////////v7///z9 + /v/7/f7/+/3+//v9/v/6/f7/+/3+//v9/v/7/f7/+/3+//z9/v/8/v///P7+//7+/v/+/v3//f38//79 + +//+/Pv//vz7//79+//+/fv//v37//79+//+/fv//v37//78+//9/fz//v39//7+/v///////v7+//7+ + /v/+/v7///////7+/v/+/v7/+vn5/8PBwf9jYWH/UE5O/1JQUP9RT0//UlBQ/1FPT/9SUFD/UlBQ/1JQ + UP9SUFD/UlBQ/1NPUP9TT1D/UlBQ/1JQUP9TUVH/lpaW/+3t7f/9/f3//v7+//7////9/////f7+//7+ + /v///////P/9//7+/v/8/f7/+vz+//r8/v/6/P7/+vz+//r8/v/6/P7/+vz+//r8/v/6/P7/+vz+//z9 + /v/+/v7/+vbv//Hgxf/r0Kv/68+q/+zPqv/r0Kr/6tCq/+vRq//q0Kr/6tCq/+rQqv/qz6j/8Nm6//nw + 5P/+/v3////+/////////////////////////////v7+//z8/P/39/f/tLS0/19eXv9RT0//UU9P/1FP + T/9RT0//UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1FPT/9UUlL/i4qK/+bm5v/+/v7//v7+//// + //////////////7////+/////v////3+/v/k8P7/tNb+/6LN/v+izv7/o87+/6PO//+jzv//o83//6LN + //+jzv//o83//6LN/v+82/7/7PX+/+XBkP/NgyH/yHkO/8h5Dv/IeQ3/yHoN/8h5Df/IeQ7/yXkO/8h5 + Dv/IeQ3/yHoN/8l8Ev/apV3/+/bu///+/v///v////7///////////////////7+/v/+/v7//f39//Hx + 8f+lpKT/XFtb/1FPT/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9UUlL/f35+/9vb + 2//+/v7//v7+//7+/v////////////7+/v/+/v7//f7+//3+/v/w9/7/Xqf+/xB9/v8KfP7/Cnv+/wp8 + /v8KfP//Cnv//wp7//8Kev//Cnv//wp6//8Ke/7/GIL+/325/v/MgBz/xG8C/8ZyA//FcgH/xXEB/8Vy + Af/FcwL/xXIC/8ZyAv/GcgL/xnIC/8VzAv/EcgL/xHID//Hcvv///v7///7+///+//////////////// + //////////////7+/v/9/f3/6enp/5GQkP9UUlL/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1FP + T/9RT0//bm1t/87Ozv/8/Pz//v7+//7+/v/////////////////+/v7//v7+//79/v/+/v3/yeP+/wV2 + /v8Cdf7/AXf+/wF2/v8Cdv7/Anb+/wF3//8Bd///AXf//wF3//8Bd///Anf//wJ1//8Sff//zIEf/8Rw + Av/FcgL/xXIB/8VyAf/EcQH/xHIC/8VyAv/FcgL/xXIC/8VyAv/FcgL/xHEC/8VyBf/y3cD//f7+//7+ + /v////////7////+///////////////////+/v7//v7+//Pz8/+dnZ3/VFNT/1JQUP9SUFD/UlBQ/1JQ + UP9SUFD/UlBQ/1JQUP9RT0//UU9P/3Z0dP/b29v//f39//7+/v///////////////////////v////7+ + ///9/f///v7+/87l/v8Lef7/AnT+/wF1/v8Bdf7/AnX+/wJ1/v8Bdv//AXb//wF2//8Bdv//AXb//wJ2 + //8Dc///GYH//+fDlf/NhCT/ynsR/8l7Ef/JexH/yXsQ/8h6EP/IehH/yHoR/8l6EP/JehD/yHsR/8p9 + Fv/ap2L/+/bv//7+/v/+/v7////////+///+/v7//v7+//7+/v/+/v7//f39//f39/+3t7f/ZGNj/1JQ + UP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9XVVX/kZCQ/+bm5v/9/f3//v7+//// + /////////////////////v///f7+//7+/f/z+P7/crL+/x2E/v8VgP7/FID+/xSA/v8VgP7/FYD+/xWA + /v8UgP3/FYD+/xWA/v8VgP7/KYn+/4/E///89/L/8+HJ/+3Usf/t07D/7dOw/+3UsP/t07D/7dSw/+3U + sP/u1LH/7tSx/+3Trv/x277/+PDl//79/P/9//7///7////+///+/////v7+//7+/v/+/v7//f39//v7 + +//Hx8f/amlp/1FPT/9SUFD/UU9P/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UU9P/1dW + Vv+fn5//7+/v//39/f/+/v7////////////+/////f////7+/v/+/v7//f7+/+rz/v/H3/7/t9n+/7bY + /v+42P7/uNj+/7fY/v+22P7/ttj+/7bY/v+22P7/t9r+/83l/f/x+P7//v79//3+/P/9/fz//f37//79 + +//+/fv//v37//79+//+/fv//v38//79/P/+/fv//f39//39/f/+/v3//v7+///+/////v///f////7+ + /////v///v7+//39/f/V1dX/cHBw/09OTv9SUFD/UlBQ/1FPT/9RT0//UlBQ/1JQUP9SUFD/UlBQ/1JQ + UP9SUFD/UlBQ/1JQUP9QT0//V1dX/6ysrP/09PT//v7+//7+/v/+/v7//v7+//7////+/v7//f7+//7+ + /v/8/v7//P7+//z9///8/f7//P3+//z9/v/8/f7//P3///z9///8/f///P3+//z9/v/8/v7//P7+//7/ + /v/+//3//f79//3+/P/9/vz//f78//z9+//9/vz//f78//3+/P/+/fz//v79//7+/f///v7////+//// + /////////////////////////v7+//39/f/d3d3/eXh4/09NTf9SUFD/UlBQ/1JQUP9RT0//UlBQ/1JQ + UP9RT0//UU9P/1JQUP9SUFD/UlBQ/1JQUP9SUFD/U1FR/1BOTv9aWFj/ubm5//n5+f/9/f3//v7+//7+ + /v/+/v7//v7+//7+/v/+/v7//v7///3+///8/v///f3///z9/v/7/f7//P7+//z+///8/v///P7///z+ + ///8/v///P7///7+/////////////////////////////////////////////////////////v////7/ + ///+/////v////////////////////////////////////39/f/m5ub/hoWF/05MTP9SUFD/UlBQ/1JQ + UP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JRUf9RUFD/UVBQ/1JQUP9SUFD/UlBQ/1JQUP9TUVH/T01N/2Fg + YP/Kysr//f39//39/f/+/v7//v7+//7+/v///////v////3////+/////v////////////////////// + //////////////////////////////////////////////////////////////////////////////// + //////////////7////+/////v////7//////////v7+//7+/v///////v7+//7+/v/v7+//lZSU/1FP + T/9SUFD/UlBQ/1FPT/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/3V0dP+FhYX/WFhY/1JPT/9SUFD/UlBQ/1JQ + UP9SUFD/UU9P/1JQUP9PTU3/bWtr/9jX1//+/v7//v7+//////////////////3///////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7//////////////////////////////////v////7+/v/+/v7//v7+//7+ + /v/19fX/pqam/1VUVP9RT0//UlBQ/1JQUP9SUFD/UU9P/1FPT/9SUFD/UU9P/21ra//Hxsb/4uPj/46O + jv9UUVL/U1FR/1JQUP9SUFD/UlBQ/1FPT/9RT0//U1FR/09NTf9+fHz/3t7e//7+/v/+/v7///////// + //////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////////v7+//////////////////////////////////7/ + /////////v7+//3+/v/4+fn/tLS0/2BdXf9RT0//UlBQ/1JQUP9RT0//UU9P/1FPT/9SUFD/UU9P/2Bf + X/+8vLz/9vb2//39/f/g4OD/fn19/09NTf9TUVH/UU9P/1FPT/9SUFD/UU9P/1JQUP9SUFD/VFJS/4uK + iv/l5eX//v7+//7+/v////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/v7//v7+//7+/v/7/Pz/wsPD/2dmZv9TUFD/UlBQ/1JQUP9SUFD/UU9P/1JQ + UP9SUFD/UlBQ/1JRUf+vr6//9/f3//39/f/9/f3//f39/9ra2v9qamr/T01N/1NRUf9RT0//UlBQ/1JQ + UP9SUFD/UlBQ/1JQUP9XVVX/mJeX/+3t7f/9/f3//v7+///////+/////f////////////////////// + //////////////////////////////////////////////////////////////////////////////// + ///////////////////+/////v////3////+/////v7+//7+/v/8/Pz/0M/P/25tbf9RT0//UlBQ/1FP + T/9RT0//UlBQ/1JQUP9RT0//UlBQ/01NTf+dnZ3/+fn5//7+/v/+/v7//v7+//39/f/9/f3/0dHR/15c + XP9QTk7/U1FR/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UU9P/1hXV/+mpqb/8/Pz//39/f/+/v7//v////7/ + //////////////////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////7+/v/7+/v/1dXV/3Z1 + df9PTk7/UlBQ/1JQUP9SUFD/UU9P/1FPT/9RT0//VFBQ/1JPUP+Qj4//+Pj4//7+/v///v7///////// + /////////Pz8//z8/P/DwcH/X11d/1FPT/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9QT0//W1pa/7Oz + s//19fX//v7+//7+/v////////////7+/v/+/v7//v7+//////////////////////////////////// + /////////////////////////////////////////////////////////v7+//7+/v////////////7+ + /v/8/Pz/39/f/4SDg/9RT0//UlBQ/1JQUP9SUFD/Uk9Q/1JPT/9RT0//UlBQ/1RQUf+GhIX/5ubm//7+ + /v/9/f3//v7+//7+/v/////////////////9/f3/9vb2/7CwsP9dXFz/UU9P/1JQUP9SUFD/UlBQ/1JQ + UP9SUFD/UlBQ/09NTf9iYWH/wMHB//r6+v/+/v7//v7+///////+/v7//v7+//7+/v/+/v7///////// + //////////////////////////////////////////////////////////////////////////////7+ + /v/+/v7///////7+/v/9/f3/6+vr/5CQkP9TUVH/UlBQ/1FPT/9RT0//UVBQ/1JPT/9ST0//UlBQ/1JQ + UP98e3v/2NjY//z8/P/+/v7//v7+//7+/v/+/v7///7//////////////v7+//39/f/v7+//oaCg/1tZ + Wf9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/TkxM/2ppaf/Pz8///v7+//7+/v////////////// + ///+/v7//v7+//////////////////////////////////////////////////////////////////// + /////////v7+//7+/v////////////7+/v/+/v7/9/b2/56env9SUlL/UlBQ/1JQUP9RT0//UU9P/1FQ + UP9RUFD/UlBQ/1FPT/9xcHD/y8rK//n5+f/+/v7//v7+//7+/v///v////7////+//////////////7+ + /v/+/v7//v7+/+bn5/+SkpL/VlRU/1JQUP9SUFD/UU9P/1JQUP9SUFD/UlBQ/1JQUP9OTEz/dHNz/93d + 3f/+/v7//v7+//7+/v/+/v7///////////////////////////////////////////////////////// + //////////////////////////////7+/v/+/v7///////7+/v/+/v7/+/r6/7KwsP9XVlb/UU9P/1JQ + UP9RT0//UlBQ/1JQUP9SUFD/UlBQ/1FQUP9mZWX/vr6+//f29v/9/v7//v7+//7+/v/+/v7//v7+//7+ + ///////////////+/////v///v7+//7+/v/9/f3/4ODg/4SEhP9TUVH/UlBQ/1JQUP9SUFD/UlBQ/1JQ + UP9SUFD/UlBQ/1FPT/+Fg4P/5eXl//39/f/+/v7//v7+//////////////////////////////////// + ///////////////////////////////////////////////////+/v7//v7+//7+/v/+/v7//v7+/7++ + vv9hX1//UU9P/1JQUP9RT0//UU9P/1JQUP9SUFD/UlBQ/1JQUP9ZWVn/sbGx//b29v/+/v7//v7+//7/ + ///9/v7//v7+//7+/v/+//////////39/f/+/v3//v7+///////+/v7//f39//z8/P/b29v/dXNz/09N + Tf9TUVH/UlBQ/1FPT/9SUFD/UlBQ/1JQUP9SUFD/VFNT/5KSkv/t7e3//v7+//7+/v////////////// + //////////////////////////////////////////////////////////////////////////////7+ + /v/9/f3//Pz8/8rKyv9pZ2f/UU9P/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1NRUf9QTk7/oqSk//f4 + +P/+/v7//v7+//7+/v/9/v7//f7+//7+/v/2+/r/1PLn/8vw4f/v+vb//v79//7+/v/+/////v7+//7+ + /v/9/f3//Pz8/9TU1P9jYWH/UE5O/1NRUf9RT0//UlBQ/1JQUP9SUFD/UlBQ/1JQUP9WVlb/oaGh//Pz + 8//+/v7//v7+//7+/v///////////////////////////////////////v7+//7+/v////////////// + //////////////7+/v/9/v7/+vv7/9LR0f9zcXH/UU9P/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQ + UP9OTU3/mJiY//r6+v/+/v7//////////////////P7+//z+/v/w+vb/g9u4/w+7df8Bt27/UM6d/971 + 7P/9/v3//f7+//7+/v////////////39/f/+/v7/ycnJ/1xaWv9QTk7/UlBQ/1JQUP9SUFD/UlBQ/1JQ + UP9SUFD/Uk5P/1lXV/+rrKz/9PT0//z9/f/+/v7////////////////////////////+/v7//v7+//7+ + /v/+/v7//////////////////v7+//7+/v/+/v7/+/v7/9vb2/+BgID/UU9P/1JQUP9SUFD/UlBQ/1JQ + UP9SUFD/UlBQ/1JQUP9RUFD/hYSE//Dw8P/9/f3//v7+//7+/v/+/v7//v7+//3+/v/8/v7/1vPn/yrC + hP8Btmv/Arhv/wi3cf+g48n/+v38//v9/f/+/v7//////////////////f39//v7+/+ysrL/W1pa/1BO + Tv9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9QTk7/YmBg/7u8vP/3+Pj//v7+//////////////////// + /////////v7+//7+/v////////////////////////////7+/v/+/v7//P39/+Tk5P+OjY3/U1FR/1JQ + UP9SUFD/UlBQ/1FPT/9SUFD/UlBQ/1JQUP9SUFD/fXx8/93d3f/9/f3//v7+///////+/v7//v7+//7+ + /v/8/v7//f7+/8nv4P8fv3//AbZt/wK4cf8At27/jd6+//j8+//7/f3///////////////////////7+ + /v/9/f3/9PT0/6alpf9aWFj/UU9P/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1BOTv9ramr/x8jI//r6 + +v/+/v7///////////////////////7+/v/+/v7////////////////////////////+/v7//v7+/+/x + 8f+ZmJj/VlRU/1FPT/9SUFD/UlBQ/1JQUP9RT0//UlBQ/1JQUP9RT0//dXNz/8/Ozv/5+vr//v7+//// + ///////////////////+/v7//P7+//3+/v/J7uH/H79//wG2bf8BuHH/ALdu/47fvv/4/Pv/+/39//// + /////////////////////////v7+//39/f/s7Oz/mZiY/1ZVVf9RT0//UU9P/1FPT/9SUFD/UlBQ/1JQ + UP9SUFD/UE5O/3Nycv/X1tb//v7+//7+/v///////v7+//7+/v/+/v7//v7+//////////////////// + /////////v7+//7+/v+3t7f/VlVV/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9QTk7/a2lp/8PD + w//39/f//f7+//7+/v////////////////////////////3+/v/9/v7/yO7h/x6/f/8Btm3/Abhx/wC3 + bv+O377/+f37//v9/f////////////////////////////7+/v/+/v7//Pz8/+Li4v+Lior/VFJS/1JQ + UP9SUFD/UlBQ/1JQUP9SUFD/UU9P/1JQUP9RTU7/goCA//b29v/+/v7///////7+/v/+/v7///////// + //////////////////////////////7+/v/7+/v/c3Nz/01NTf9TUVH/UlBQ/1JQUP9SUFD/UlBQ/1JQ + UP9RT0//YF5e/7e2tv/29vb//v7+//7+/v/////////////////////////////////8/v7//f7+/8ju + 4f8ev3//Ardu/wG5cf8At27/juC+//n9+//7/f3////////////////////////////+/v7//v7+//7+ + /v/7+/v/2NjY/3p5ef9RUFD/UlBQ/1JQUP9SUFD/UlBQ/1FPT/9SUFD/UU9P/1VTU//Pz8///v7+//3+ + /v/+/v7//v7+////////////////////////////////////////////8/Pz/1tbW/9OTk7/UlBQ/1JQ + UP9SUFD/UlBQ/1JQUP9UUFD/V1ZW/6ioqP/39/f//v7+//7+/v/9/////v////////////////////// + /////////P7+//z+/v/I7uH/Hr9//wG2bf8AuHH/ALdu/47gvv/5/fv/+/39//////////////////// + ///////////////////+/v7//v7+//v7+//R0dH/amlp/1FPT/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQ + UP9PTU3/tLS0//3+/v/8/f3//v7+/////////////////////////////////////////////v7+//r6 + +v9paGj/T01N/1NQUf9SUFD/UlBQ/1JQUP9SUVH/UlJS/52dnf/4+Pj//v7+//7+/v////////////// + //////////////////////////////z+/v/9/v7/yO7h/x6/f/8At2z/ALlw/wC3b/+O4L7/+f37//v9 + /f/////////////////////////////////////////////////9/f3//f39/87Ozv9iYGD/UU9P/1JQ + UP9SUFD/Uk9Q/1JQUP9SUFD/UVFR/8XFxf/+/v7//f39//7+/v////////////////////////////// + //////////////7+/v/+/v7/pKSk/1FOTv9TT1D/UlBQ/1FPT/9SUFD/UU9P/4yMjP/w8PD//v7+//7+ + /v/////////////////////////////////////////////////8/v7//f7+/8fv4P8ev3//AbZt/wG4 + cf8At27/juC+//n9+//7/f3//////////////////v7+//7+/v/+/v7///////////////////////39 + /f/+/v7/vr6+/1pZWf9QT0//UlBQ/1JPUP9ST1D/T01N/25ubv/w8PD//v7+//7+/v////////////// + ///////////////////////////////////+/v7//v7+/+np6f+OjY3/XVxc/1VTU/9UUlL/W1pa/4aH + h//m5ub//v7+//7+/v///////////////////////////////////////////////////////P7+//3+ + /v/J7+D/H79//wG2bv8BuHH/ALdt/47fv//5/fv/+/39//////////////////7+/v/+/v7//v7+//// + ///////////////////+/v7//v7+//z8/P+tra3/ZWRk/1ZUVP9UUlL/V1ZW/3Bvb//Hx8f//v7+//7+ + /v///////////////////////////////////////////////////////v7+//7+/v/9/f3/6Ojo/7m6 + uv+dnZ3/nZyc/7e3t//m5+f//f39//7+/v////////////////////////////////////////////// + //////////////z+/v/9/v7/yO/g/x/Af/8Bt23/Abhx/wC3bf+O377/+f37//v9/f////////////// + ///////////////////+/v7//v7+//////////////////7+/v/+/v7/9fX1/8rJyf+lpaX/mpmZ/6yr + q//V1dX/+/v7//7+/v////////////////////////////////////////////////////////////7+ + /v/+/v7//v7+//7+/v/6+/v/8vLy//Ly8v/6+vr//f39//7+/v////////////////////////////// + ///////////////////////////////////8/v7//f7+/8rw4P8gv3//AbZt/wG4cv8AuG//jd6+//n9 + +//7/f3//////////////////////////////////v7+//7+/v///////////////////////v7+//7+ + /v/8/Pz/9fX1//Hx8f/39/f//Pz8//7+/v////////////////////////////////////////////// + ///////////////////+/v7//v7+//7+/v/+/v7//v7+//39/f/9/f3//f39//7+/v/+/v7///////// + ///////////////////////////////////////////////////+/v7//f7+//3+/v/a9Or/NsWM/wK1 + bP8Ct27/ELt3/67o0f/7/fz//P39//////////////////////////////////////////////////7+ + /v/+/v7//v7+//7+/v/+/v7//f39//39/f/9/f3//f39//7+/v/+/v7//v7+//7+/v////////////// + /////////////////////////////////////////v7+//7+/v////////////7+/v/+/v7//v7+//7+ + /v/+/v7//////////////////v7+//7+/v/+/v7//v7+/////////////////////////////v7+//3+ + /v/+/v7/9vz6/6Xky/8mwIP/ELt5/3bYsv/p+fL//f79//3+/v/+/v7//v7+//////////////////// + ///////////////////+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7///////7+ + /v/+/v7///////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== + + + \ No newline at end of file Index: xword/UICommons/Properties/Settings.Designer.cs =================================================================== --- xword/UICommons/Properties/Settings.Designer.cs (revision 0) +++ xword/UICommons/Properties/Settings.Designer.cs (revision 0) @@ -0,0 +1,38 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:2.0.50727.3074 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace UICommons.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] + public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("\r\n\r\n XML-RPC\r\n Velocity Services\r\n")] + public global::System.Collections.Specialized.StringCollection ConnectMethods { + get { + return ((global::System.Collections.Specialized.StringCollection)(this["ConnectMethods"])); + } + } + } +} Index: xword/UICommons/Properties/Settings.settings =================================================================== --- xword/UICommons/Properties/Settings.settings (revision 0) +++ xword/UICommons/Properties/Settings.settings (revision 0) @@ -0,0 +1,13 @@ + + + + + + <?xml version="1.0" encoding="utf-16"?> +<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <string>XML-RPC</string> + <string>Velocity Services</string> +</ArrayOfString> + + + \ No newline at end of file Index: xword/UICommons/UIActionsManagement/AbstractAddinSettingsFormActionsManager.cs =================================================================== --- xword/UICommons/UIActionsManagement/AbstractAddinSettingsFormActionsManager.cs (revision 0) +++ xword/UICommons/UIActionsManagement/AbstractAddinSettingsFormActionsManager.cs (revision 0) @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace UICommons.UIActionsManagement +{ + /// + /// Abstract actions manager for AddinSettingsForm instances. + /// + public abstract class AbstractAddinSettingsFormActionsManager:IActionsManager + { + /// + /// Action to perform when OnFormLoad event is raised. + /// + /// Sender object. + /// Event arguments. + protected abstract void ActionFormLoad(object sender, EventArgs e); + + /// + /// Action to perform when OnApply event is raised. + /// + /// Sender object. + /// Event arguments. + protected abstract void ActionApply(object sender, EventArgs e); + + /// + /// Action to perform when OnOK event is raised. + /// + /// Sender object. + /// Event arguments. + protected abstract void ActionOK(object sender, EventArgs e); + + /// + /// Action to perform when OnProtocolChanged event is raised. + /// + /// Sender object. + /// Event arguments. + protected abstract void ActionProtocolChanged(object sender, EventArgs e); + + /// + /// Action to perform when OnCancel event is raised. + /// + /// Sender object. + /// Event arguments. + protected abstract void ActionCancel(object sender, EventArgs e); + + + #region IActionsManager Members + + /// + /// Enqueues all (known/custom) event handlers defined for an AddinSettingsForm instance. + /// + public abstract void EnqueueAllHandlers(); + + #endregion + } +} Index: xword/UICommons/UICommons.csproj =================================================================== --- xword/UICommons/UICommons.csproj (revision 22817) +++ xword/UICommons/UICommons.csproj (working copy) @@ -1,4 +1,4 @@ - + Debug @@ -47,6 +47,12 @@ + + Form + + + AddinSettingsForm.cs + Form @@ -54,10 +60,20 @@ AddPageForm.cs + + Settings.settings + True + True + + + + AddinSettingsForm.cs + Designer + AddPageForm.cs Designer @@ -69,6 +85,12 @@ XWikiLib + + + PublicSettingsSingleFileGenerator + Settings.Designer.cs + + - + \ No newline at end of file Index: xword/XWord/AddinSettingsForm.cs =================================================================== --- xword/XWord/AddinSettingsForm.cs (revision 22817) +++ xword/XWord/AddinSettingsForm.cs (working copy) @@ -1,404 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.Specialized; -using System.IO; -using System.Linq; -using System.Threading; -using System.Diagnostics; -using System.Windows.Forms; -using XWiki.Clients; -using XWiki.Logging; -using XWiki; - -namespace XWord -{ - /// - /// Provides UI for changing the add-in settings. - /// - public partial class AddinSettingsForm : Form - { - /// - /// Specifies if at least an instance of the form is visible. - /// - public static bool IsShown = false; - bool connectionSettingsApplied = true; - bool addinSettingsApplied = true; - bool loadingDialogFlag = false; - XOfficeCommonSettings addinSettings = new XOfficeCommonSettings(); - const String connectionDocUrl = "http://xoffice.xwiki.org/xwiki/bin/view/XWord/User_Guide#HConnecttoaXWikiserver"; - - #region connectivity - StringCollection connectMethods = Properties.Settings.Default.ConnectMethods; - Dictionary connectDictionary = new Dictionary(); - #endregion - /// - /// Default constructor. Initializes all components. - /// - public AddinSettingsForm() - { - InitializeComponent(); - } - - /// - /// Gets the instance of the addin. - /// - public XWikiAddIn Addin - { - get - { - return Globals.XWikiAddIn; - } - } - - /// - /// Gets or sets the URL of the server that the add-in conncets to. - /// - private String ServerURL - { - get - { - return txtServerURL.Text; - } - set - { - txtServerURL.Text = value; - } - } - - /// - /// Gets the user name that was provided. - /// - private String UserName - { - get - { - return txtUserName.Text; - } - } - - /// - /// Gets the password that was provided. - /// - private String Password - { - get - { - return txtPassword.Text; - } - } - - /// - /// Event triggered when the "Apply" button is clicked. - /// - /// The control that triggered the event. - /// The event parameters. - private void btnApply_Click(object sender, EventArgs e) - { - if (tabControl.SelectedTab == tabConnection) - { - ApplyConnectionSettings(); - connectionSettingsApplied = true; - } - else if (tabControl.SelectedTab == tabFileRepository) - { - ApplyRepositoriesSettings(); - addinSettingsApplied = true; - } - } - - /// - /// Sets the new connection settings for the addin, - /// connects to the server and refreshes the active wiki explorer. - /// - private void ApplyConnectionSettings() - { - Cursor c = this.Cursor; - this.Cursor = Cursors.WaitCursor; - if (ServerURL.EndsWith("/")) - { - ServerURL = ServerURL.Substring(0, ServerURL.Length - 1); - } - Addin.serverURL = ServerURL; - Addin.username = UserName; - Addin.password = Password; - LoginData loginData = new LoginData(); - Addin.Client = XWikiClientFactory.CreateXWikiClient(Addin.ClientType, Addin.serverURL, Addin.username, Addin.password); - - if (ckRememberMe.Checked) - { - String[] credentials = new String[3]; - credentials[0] = Globals.XWikiAddIn.serverURL; - credentials[1] = Globals.XWikiAddIn.username; - credentials[2] = Globals.XWikiAddIn.password; - loginData.WriteCredentials(credentials); - } - else - { - loginData.ClearCredentials(); - } - //Write the settings to isolated storage. - XOfficeCommonSettingsHandler.WriteRepositorySettings(addinSettings); - - this.Cursor = c; - } - - /// - /// Sets the pages and attachments repositories. - /// - private void ApplyRepositoriesSettings() - { - Cursor c = this.Cursor; - this.Cursor = Cursors.WaitCursor; - if (ValidatePath(txtPagesRepo.Text)) - { - Addin.PagesRepository = txtPagesRepo.Text; - } - else - { - Addin.PagesRepository = Path.GetTempPath(); - } - if (ValidatePath(txtAttachmentsRepo.Text)) - { - Addin.DownloadedAttachmentsRepository = txtAttachmentsRepo.Text; - } - else - { - Addin.DownloadedAttachmentsRepository = Path.GetTempPath(); - } - XOfficeCommonSettingsHandler.WriteRepositorySettings(addinSettings); - addinSettingsApplied = true; - Thread.Sleep(500); - this.Cursor = c; - } - - /// - /// Event triggered when the "Cancel button is pressed. - /// - /// The control that triggered the event. - /// The event parameters. - private void btnCancel_Click(object sender, EventArgs e) - { - this.DialogResult = DialogResult.Cancel; - this.Close(); - } - - /// - /// Event that is automatically triggered the Form is loading. - /// - /// The control that triggered the event. - /// The event parameters. - private void ConnectionSettingsForm_Load(object sender, EventArgs e) - { - loadingDialogFlag = true; - if (Addin.serverURL == "" || Addin.serverURL == null) - { - groupBox1.Text = "Test server settings"; - } - else - { - groupBox1.Text = "Settings"; - txtServerURL.Text = Addin.serverURL; - txtUserName.Text = Addin.username; - txtPassword.Text = Addin.password; - } - addinSettings = new XOfficeCommonSettings(); - addinSettings.PagesRepository = Addin.PagesRepository; - addinSettings.DownloadedAttachmentsRepository = Addin.DownloadedAttachmentsRepository; - addinSettings.ClientType = Addin.ClientType; - txtPagesRepo.Text = Addin.PagesRepository; - txtAttachmentsRepo.Text = Addin.DownloadedAttachmentsRepository; - //init protocol settings - connectDictionary.Add(connectMethods[0], XWikiClientType.XML_RPC); - connectDictionary.Add(connectMethods[1], XWikiClientType.HTTP_Client); - comboProtocol.DataSource = connectMethods; - switch(Addin.ClientType) - { - case XWikiClientType.XML_RPC: - comboProtocol.SelectedIndex = 0; - break; - case XWikiClientType.HTTP_Client: - comboProtocol.SelectedIndex = 1; - break; - } - loadingDialogFlag = false; - } - - /// - /// Event triggered when a connection setting is changed. - /// - /// The control that triggered the event. - /// The event parameters. - private void txtAnyConnectionSetting_TextChanged(object sender, EventArgs e) - { - connectionSettingsApplied = false; - } - - /// - /// Event triggered when the OK button is pressed. - /// - /// The control that triggered the event. - /// The event parameters. - private void btnOK_Click(object sender, EventArgs e) - { - //If settings changes were made or there is no client instance - if (!connectionSettingsApplied || (Addin.Client == null)) - { - ApplyConnectionSettings(); - } - if (!addinSettingsApplied) - { - ApplyRepositoriesSettings(); - } - this.DialogResult = DialogResult.OK; - this.Close(); - } - - /// - /// Event triggered when the select pages repository is clicked. - /// - /// The control that triggered the event. - /// The event parameters. - private void btnPagesRepo_Click(object sender, EventArgs e) - { - FolderBrowserDialog dialog = new FolderBrowserDialog(); - DialogResult result = dialog.ShowDialog(); - if (result == DialogResult.OK) - { - txtPagesRepo.Text = dialog.SelectedPath; - } - } - - /// - /// Event triggered when the select downloaded attachments repository is clicked. - /// - /// The control that triggered the event. - /// The event parameters. - private void btnAttachmentsRepo_Click(object sender, EventArgs e) - { - FolderBrowserDialog dialog = new FolderBrowserDialog(); - DialogResult result = dialog.ShowDialog(); - if (result == DialogResult.OK) - { - txtAttachmentsRepo.Text = dialog.SelectedPath; - } - } - - /// - /// Checks if a url is valid. - /// - /// The value of the url to be checked. - /// True if the url is valid. False if the url is not valid. - private bool ValidateURL(String url) - { - bool valid = true; - try - { - Uri uri = new Uri(url, UriKind.Absolute); - } - catch (UriFormatException) - { - valid = false; - } - return valid; - } - - /// - /// Checks if a path is valid - /// - /// The value of the path. - /// True if the path is valid. False if the path is not valid. - private bool ValidatePath(String path) - { - bool valid = true; - try - { - if (!Path.IsPathRooted(path)) - { - valid = false; - } - } - catch (Exception) - { - valid = false; - } - return valid; - } - - /// - /// Event triggered when the textbox loses the focus. - /// - /// The control that triggered the event. - /// The event parameters. - private void txtPagesRepo_Leave(object sender, EventArgs e) - { - bool isValid = ValidatePath(txtPagesRepo.Text); - if (!isValid) - { - UserNotifier.Error("The path you provided is not valid. Please select a valid path"); - } - } - - /// - /// Event triggered when the textbox loses the focus. - /// - /// The control that triggered the event. - /// The event parameters. - private void txtAttachmentsRepo_Leave(object sender, EventArgs e) - { - bool isValid = ValidatePath(txtAttachmentsRepo.Text); - if (!isValid) - { - UserNotifier.Error("The path you provided is not valid. Please select a valid path"); - } - } - - /// - /// Event triggered when a repository setting is changed. - /// - /// The control that triggered the event. - /// The event paramaters. - private void anyRepoSettingChanged_TextChanged(object sender, EventArgs e) - { - addinSettingsApplied = false; - } - - private void comboProtocol_SelectedIndexChanged(object sender, EventArgs e) - { - //If user generated event - if (!loadingDialogFlag) - { - String selectedValue = (String)comboProtocol.SelectedValue; - if (connectDictionary.Keys.Contains(selectedValue)) - { - addinSettings.ClientType = connectDictionary[selectedValue]; - Addin.ClientType = addinSettings.ClientType; - connectionSettingsApplied = false; - } - else - { - UserNotifier.StopHand("The selected value is not valid."); - } - } - } - - private void linkConnectDoc_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) - { - if (e.Button == MouseButtons.Left) - { - Process p = new Process(); - p.StartInfo = new ProcessStartInfo(connectionDocUrl); - p.Start(); - } - } - - private void AddinSettingsForm_FormClosed(object sender, FormClosedEventArgs e) - { - IsShown = false; - } - - private void AddinSettingsForm_Shown(object sender, EventArgs e) - { - IsShown = true; - } - } -} \ No newline at end of file Index: xword/XWord/AddinSettingsForm.Designer.cs =================================================================== --- xword/XWord/AddinSettingsForm.Designer.cs (revision 22817) +++ xword/XWord/AddinSettingsForm.Designer.cs (working copy) @@ -1,374 +0,0 @@ -namespace XWord -{ - partial class AddinSettingsForm - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddinSettingsForm)); - this.tabControl = new System.Windows.Forms.TabControl(); - this.tabConnection = new System.Windows.Forms.TabPage(); - this.txtServerURL = new System.Windows.Forms.TextBox(); - this.ckRememberMe = new System.Windows.Forms.CheckBox(); - this.txtPassword = new System.Windows.Forms.TextBox(); - this.lblPassword = new System.Windows.Forms.Label(); - this.txtUserName = new System.Windows.Forms.TextBox(); - this.lblUserName = new System.Windows.Forms.Label(); - this.lblServerUrl = new System.Windows.Forms.Label(); - this.groupBox1 = new System.Windows.Forms.GroupBox(); - this.linkConnectDoc = new System.Windows.Forms.LinkLabel(); - this.comboProtocol = new System.Windows.Forms.ComboBox(); - this.lblProtocol = new System.Windows.Forms.Label(); - this.tabFileRepository = new System.Windows.Forms.TabPage(); - this.grp = new System.Windows.Forms.GroupBox(); - this.btnAttachmentsRepo = new System.Windows.Forms.Button(); - this.txtAttachmentsRepo = new System.Windows.Forms.TextBox(); - this.label5 = new System.Windows.Forms.Label(); - this.btnPagesRepo = new System.Windows.Forms.Button(); - this.txtPagesRepo = new System.Windows.Forms.TextBox(); - this.label4 = new System.Windows.Forms.Label(); - this.btnApply = new System.Windows.Forms.Button(); - this.btnOK = new System.Windows.Forms.Button(); - this.btnCancel = new System.Windows.Forms.Button(); - this.tabControl.SuspendLayout(); - this.tabConnection.SuspendLayout(); - this.groupBox1.SuspendLayout(); - this.tabFileRepository.SuspendLayout(); - this.grp.SuspendLayout(); - this.SuspendLayout(); - // - // tabControl - // - this.tabControl.Controls.Add(this.tabConnection); - this.tabControl.Controls.Add(this.tabFileRepository); - this.tabControl.Dock = System.Windows.Forms.DockStyle.Top; - this.tabControl.Location = new System.Drawing.Point(0, 0); - this.tabControl.Name = "tabControl"; - this.tabControl.SelectedIndex = 0; - this.tabControl.Size = new System.Drawing.Size(416, 260); - this.tabControl.TabIndex = 0; - // - // tabConnection - // - this.tabConnection.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D; - this.tabConnection.Controls.Add(this.txtServerURL); - this.tabConnection.Controls.Add(this.ckRememberMe); - this.tabConnection.Controls.Add(this.txtPassword); - this.tabConnection.Controls.Add(this.lblPassword); - this.tabConnection.Controls.Add(this.txtUserName); - this.tabConnection.Controls.Add(this.lblUserName); - this.tabConnection.Controls.Add(this.lblServerUrl); - this.tabConnection.Controls.Add(this.groupBox1); - this.tabConnection.Location = new System.Drawing.Point(4, 22); - this.tabConnection.Name = "tabConnection"; - this.tabConnection.Padding = new System.Windows.Forms.Padding(3); - this.tabConnection.Size = new System.Drawing.Size(408, 234); - this.tabConnection.TabIndex = 0; - this.tabConnection.Text = "Connection Settings"; - this.tabConnection.UseVisualStyleBackColor = true; - // - // txtServerURL - // - this.txtServerURL.Location = new System.Drawing.Point(102, 25); - this.txtServerURL.Name = "txtServerURL"; - this.txtServerURL.Size = new System.Drawing.Size(271, 20); - this.txtServerURL.TabIndex = 12; - this.txtServerURL.Text = "http://localhost:8080"; - this.txtServerURL.TextChanged += new System.EventHandler(this.txtAnyConnectionSetting_TextChanged); - // - // ckRememberMe - // - this.ckRememberMe.AutoSize = true; - this.ckRememberMe.Checked = true; - this.ckRememberMe.CheckState = System.Windows.Forms.CheckState.Checked; - this.ckRememberMe.Location = new System.Drawing.Point(297, 196); - this.ckRememberMe.Name = "ckRememberMe"; - this.ckRememberMe.Size = new System.Drawing.Size(94, 17); - this.ckRememberMe.TabIndex = 18; - this.ckRememberMe.Text = "Remember me"; - this.ckRememberMe.UseVisualStyleBackColor = true; - // - // txtPassword - // - this.txtPassword.Location = new System.Drawing.Point(102, 110); - this.txtPassword.Name = "txtPassword"; - this.txtPassword.PasswordChar = '*'; - this.txtPassword.Size = new System.Drawing.Size(271, 20); - this.txtPassword.TabIndex = 15; - this.txtPassword.Text = "admin"; - this.txtPassword.TextChanged += new System.EventHandler(this.txtAnyConnectionSetting_TextChanged); - // - // lblPassword - // - this.lblPassword.AutoSize = true; - this.lblPassword.Location = new System.Drawing.Point(21, 113); - this.lblPassword.Name = "lblPassword"; - this.lblPassword.Size = new System.Drawing.Size(56, 13); - this.lblPassword.TabIndex = 17; - this.lblPassword.Text = "Password:"; - // - // txtUserName - // - this.txtUserName.Location = new System.Drawing.Point(102, 68); - this.txtUserName.Name = "txtUserName"; - this.txtUserName.Size = new System.Drawing.Size(271, 20); - this.txtUserName.TabIndex = 14; - this.txtUserName.Text = "Admin"; - this.txtUserName.TextChanged += new System.EventHandler(this.txtAnyConnectionSetting_TextChanged); - // - // lblUserName - // - this.lblUserName.AutoSize = true; - this.lblUserName.Location = new System.Drawing.Point(21, 71); - this.lblUserName.Name = "lblUserName"; - this.lblUserName.Size = new System.Drawing.Size(63, 13); - this.lblUserName.TabIndex = 13; - this.lblUserName.Text = "User Name:"; - // - // lblServerUrl - // - this.lblServerUrl.AutoSize = true; - this.lblServerUrl.Location = new System.Drawing.Point(21, 28); - this.lblServerUrl.Name = "lblServerUrl"; - this.lblServerUrl.Size = new System.Drawing.Size(66, 13); - this.lblServerUrl.TabIndex = 11; - this.lblServerUrl.Text = "Server URL:"; - // - // groupBox1 - // - this.groupBox1.Controls.Add(this.linkConnectDoc); - this.groupBox1.Controls.Add(this.comboProtocol); - this.groupBox1.Controls.Add(this.lblProtocol); - this.groupBox1.Location = new System.Drawing.Point(8, 6); - this.groupBox1.Name = "groupBox1"; - this.groupBox1.Size = new System.Drawing.Size(383, 184); - this.groupBox1.TabIndex = 20; - this.groupBox1.TabStop = false; - this.groupBox1.Text = "Settings"; - // - // linkConnectDoc - // - this.linkConnectDoc.AutoSize = true; - this.linkConnectDoc.Location = new System.Drawing.Point(330, 148); - this.linkConnectDoc.Name = "linkConnectDoc"; - this.linkConnectDoc.Size = new System.Drawing.Size(35, 13); - this.linkConnectDoc.TabIndex = 25; - this.linkConnectDoc.TabStop = true; - this.linkConnectDoc.Text = "Why?"; - this.linkConnectDoc.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkConnectDoc_LinkClicked); - // - // comboProtocol - // - this.comboProtocol.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.comboProtocol.FormattingEnabled = true; - this.comboProtocol.Location = new System.Drawing.Point(94, 145); - this.comboProtocol.Name = "comboProtocol"; - this.comboProtocol.Size = new System.Drawing.Size(230, 21); - this.comboProtocol.TabIndex = 24; - this.comboProtocol.SelectedIndexChanged += new System.EventHandler(this.comboProtocol_SelectedIndexChanged); - // - // lblProtocol - // - this.lblProtocol.AutoSize = true; - this.lblProtocol.Location = new System.Drawing.Point(13, 148); - this.lblProtocol.Name = "lblProtocol"; - this.lblProtocol.Size = new System.Drawing.Size(67, 13); - this.lblProtocol.TabIndex = 23; - this.lblProtocol.Text = "Connect via:"; - // - // tabFileRepository - // - this.tabFileRepository.Controls.Add(this.grp); - this.tabFileRepository.Location = new System.Drawing.Point(4, 22); - this.tabFileRepository.Name = "tabFileRepository"; - this.tabFileRepository.Padding = new System.Windows.Forms.Padding(3); - this.tabFileRepository.Size = new System.Drawing.Size(408, 234); - this.tabFileRepository.TabIndex = 1; - this.tabFileRepository.Text = "File Repository"; - this.tabFileRepository.UseVisualStyleBackColor = true; - // - // grp - // - this.grp.Controls.Add(this.btnAttachmentsRepo); - this.grp.Controls.Add(this.txtAttachmentsRepo); - this.grp.Controls.Add(this.label5); - this.grp.Controls.Add(this.btnPagesRepo); - this.grp.Controls.Add(this.txtPagesRepo); - this.grp.Controls.Add(this.label4); - this.grp.Location = new System.Drawing.Point(8, 6); - this.grp.Name = "grp"; - this.grp.Size = new System.Drawing.Size(383, 206); - this.grp.TabIndex = 21; - this.grp.TabStop = false; - this.grp.Text = "Settings"; - // - // btnAttachmentsRepo - // - this.btnAttachmentsRepo.Location = new System.Drawing.Point(308, 57); - this.btnAttachmentsRepo.Name = "btnAttachmentsRepo"; - this.btnAttachmentsRepo.Size = new System.Drawing.Size(54, 23); - this.btnAttachmentsRepo.TabIndex = 22; - this.btnAttachmentsRepo.Text = "..."; - this.btnAttachmentsRepo.UseVisualStyleBackColor = true; - this.btnAttachmentsRepo.Click += new System.EventHandler(this.btnAttachmentsRepo_Click); - // - // txtAttachmentsRepo - // - this.txtAttachmentsRepo.Location = new System.Drawing.Point(81, 59); - this.txtAttachmentsRepo.Name = "txtAttachmentsRepo"; - this.txtAttachmentsRepo.Size = new System.Drawing.Size(221, 20); - this.txtAttachmentsRepo.TabIndex = 21; - this.txtAttachmentsRepo.Text = "C:\\Temp"; - this.txtAttachmentsRepo.TextChanged += new System.EventHandler(this.anyRepoSettingChanged_TextChanged); - this.txtAttachmentsRepo.Leave += new System.EventHandler(this.txtAttachmentsRepo_Leave); - // - // label5 - // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(6, 62); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(69, 13); - this.label5.TabIndex = 20; - this.label5.Text = "Attachments:"; - // - // btnPagesRepo - // - this.btnPagesRepo.Location = new System.Drawing.Point(308, 21); - this.btnPagesRepo.Name = "btnPagesRepo"; - this.btnPagesRepo.Size = new System.Drawing.Size(54, 23); - this.btnPagesRepo.TabIndex = 19; - this.btnPagesRepo.Text = "..."; - this.btnPagesRepo.UseVisualStyleBackColor = true; - this.btnPagesRepo.Click += new System.EventHandler(this.btnPagesRepo_Click); - // - // txtPagesRepo - // - this.txtPagesRepo.Location = new System.Drawing.Point(81, 23); - this.txtPagesRepo.Name = "txtPagesRepo"; - this.txtPagesRepo.Size = new System.Drawing.Size(221, 20); - this.txtPagesRepo.TabIndex = 14; - this.txtPagesRepo.Text = "C:\\Temp"; - this.txtPagesRepo.TextChanged += new System.EventHandler(this.anyRepoSettingChanged_TextChanged); - this.txtPagesRepo.Leave += new System.EventHandler(this.txtPagesRepo_Leave); - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(6, 26); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(40, 13); - this.label4.TabIndex = 13; - this.label4.Text = "Pages:"; - // - // btnApply - // - this.btnApply.Location = new System.Drawing.Point(248, 266); - this.btnApply.Name = "btnApply"; - this.btnApply.Size = new System.Drawing.Size(75, 23); - this.btnApply.TabIndex = 16; - this.btnApply.Text = "Apply"; - this.btnApply.UseVisualStyleBackColor = true; - this.btnApply.Click += new System.EventHandler(this.btnApply_Click); - // - // btnOK - // - this.btnOK.Location = new System.Drawing.Point(167, 266); - this.btnOK.Name = "btnOK"; - this.btnOK.Size = new System.Drawing.Size(75, 23); - this.btnOK.TabIndex = 17; - this.btnOK.Text = "OK"; - this.btnOK.UseVisualStyleBackColor = true; - this.btnOK.Click += new System.EventHandler(this.btnOK_Click); - // - // btnCancel - // - this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.btnCancel.Location = new System.Drawing.Point(329, 266); - this.btnCancel.Name = "btnCancel"; - this.btnCancel.Size = new System.Drawing.Size(75, 23); - this.btnCancel.TabIndex = 18; - this.btnCancel.Text = "Cancel"; - this.btnCancel.UseVisualStyleBackColor = true; - this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); - // - // AddinSettingsForm - // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.CancelButton = this.btnCancel; - this.ClientSize = new System.Drawing.Size(416, 295); - this.Controls.Add(this.btnCancel); - this.Controls.Add(this.btnApply); - this.Controls.Add(this.btnOK); - this.Controls.Add(this.tabControl); - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Name = "AddinSettingsForm"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; - this.Text = "XWord - Settings"; - this.Load += new System.EventHandler(this.ConnectionSettingsForm_Load); - this.Shown += new System.EventHandler(this.AddinSettingsForm_Shown); - this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.AddinSettingsForm_FormClosed); - this.tabControl.ResumeLayout(false); - this.tabConnection.ResumeLayout(false); - this.tabConnection.PerformLayout(); - this.groupBox1.ResumeLayout(false); - this.groupBox1.PerformLayout(); - this.tabFileRepository.ResumeLayout(false); - this.grp.ResumeLayout(false); - this.grp.PerformLayout(); - this.ResumeLayout(false); - - } - - #endregion - - private System.Windows.Forms.TabControl tabControl; - private System.Windows.Forms.TabPage tabConnection; - private System.Windows.Forms.TextBox txtServerURL; - private System.Windows.Forms.Button btnApply; - private System.Windows.Forms.CheckBox ckRememberMe; - private System.Windows.Forms.TextBox txtPassword; - private System.Windows.Forms.Label lblPassword; - private System.Windows.Forms.TextBox txtUserName; - private System.Windows.Forms.Label lblUserName; - private System.Windows.Forms.Label lblServerUrl; - private System.Windows.Forms.GroupBox groupBox1; - private System.Windows.Forms.TabPage tabFileRepository; - private System.Windows.Forms.Button btnOK; - private System.Windows.Forms.Button btnCancel; - private System.Windows.Forms.GroupBox grp; - private System.Windows.Forms.Button btnPagesRepo; - private System.Windows.Forms.TextBox txtPagesRepo; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.Button btnAttachmentsRepo; - private System.Windows.Forms.TextBox txtAttachmentsRepo; - private System.Windows.Forms.Label label5; - private System.Windows.Forms.LinkLabel linkConnectDoc; - private System.Windows.Forms.ComboBox comboProtocol; - private System.Windows.Forms.Label lblProtocol; - - } -} \ No newline at end of file Index: xword/XWord/AddinSettingsForm.resx =================================================================== --- xword/XWord/AddinSettingsForm.resx (revision 22817) +++ xword/XWord/AddinSettingsForm.resx (working copy) @@ -1,659 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - AAABAAQAEBAAAAAAIABoBAAARgAAACAgAAAAACAAqBAAAK4EAAAwMAAAAAAgAKglAABWFQAAQEAAAAAA - IAAoQgAA/joAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAD//////v7+//Hx - 8f/6+vr////////////+/v7/iYn+/3Nz/v/+/v7///////7+/v/8/Pz/8PDw//7+/v/+/v7//v7+/+Xl - 5f9ZWFj/hIOD//n6+v/+/v7//v7+/3l5/v9iYv7//f7///7+/v/8/Pz/kpGR/1dVVf/W1tb//v7+//7+ - /v/u7u7/X15e/1JQUP+VlJT//f39//7+/v96ev7/YmL+//3+/v/+/v7/pqWl/1JQUP9aWFj/4uLi//7+ - /v///////v7+/9TU1P9YVlb/UlBQ/6yrq//+/v7/xMX+/7i5/v/+/v7/u7u7/1NRUf9VU1P/xsXF//7+ - /v/+/v7////////////+/v7/wcHB/1NRUf9TUlL/wcHB//7+/v/+/v7/z8/P/1dVVf9SUFD/srGx//7+ - /v///////////////////////v7+//7+/v+sq6v/UlBQ/1dVVf/U1NT/4ODg/11bW/9SUFD/nJub//39 - /f/////////////////+/v7//v7+///+/v/+/v7//f39/5WUlP9RT0//YV9f/2dlZf9SUFD/hoSF//v7 - +//+/v7//v7+//7+/v/+/v7/4bd+/92ubf/erm3/79m7//7+/v/6+fn/goCA/1JQUP9ST1D/dXR0//X1 - 9f/+/v7/u9r+/2qv/v9qr/7/erf+/+K4gf/er2//3q9w/+/ZvP/+/v7/+/v7/4iHh/9SUFD/UlBQ/3p5 - ef/39/f//v7+/8Dc/v9ys/7/crP+/4K7/v/+/v7//v7+//7+/v/+/v7//v7+/52cnP9RT0//XVtb/2Jh - Yf9SUFD/jYyM//z8/P/+/v7//v7+//7+/v/+/v////////7+/v/+/////v7+/7S0tP9TUFD/VVNT/87O - zv/a2tr/WlhY/1JQUP+jo6P//v7+//7+/v/////////////////+/v7//v7+/8jIyP9VU1P/U1FR/7m5 - uf/+/v7//v7+/8nIyP9VU1P/UlBQ/7m5uf/+/v7//v7+///////+/v7//v7+/9ra2v9bWVn/UlBQ/6Sj - o//9/v7/w+3d/7jq1v/+/v7/tLOz/1JQUP9WVFT/zc3N//7+/v/+/v7///////Dw8P9jYmL/UlBQ/46M - jP/8/Pz//v7+/3nYs/9i06b//v7+//7+/v+dnZ3/UlBQ/1xbW//m5eX//v7+///////j4+P/VlRU/3x7 - e//4+Pj//v////7+/v952LP/YtOm//7+/v/+/v7/+/v7/4qJif9UUlL/09LS//7+/v///////v7+/+rr - 6//4+Pj//v7+//7+/v/+/v7/it28/3PXsP/+/v7//v7+//7+/v/6+vr/6Ojo//7+/v//////AAD//wAA - //8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//ygA - AAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////v7+//7+ - /v/+/v7//v7+//////////////////////////7//v7+//Ly/v8+P/3/JCT9/+Pj/v/9/v7///////// - /////////////////////////v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+/////////////v7+//7+ - /v/v7+//2tra/+/v7//+/v7////////////////////////////+/v//4+P+/xAQ/f8BAf3/w8P+//39 - ///////////////////+/v7///////3+/v/19fX/29vb/+np6f/+/v7//v7+//7+/v/+/v7///////7+ - /v/+/v7/6erq/2xsbP9WVFT/a2pq/+Tk5P/+/v7//v7+//////////////////7+///j4/7/EBD9/wEB - /f/ExP7//P3///////////////////7+/v/+/v7/8vLy/317e/9WVVX/YWBg/9TT0//+/v7//v7+//// - ///+/v7//v7+//7+/v+wrq//UE5O/1JQUP9SUFD/cG5u/+zt7f/9/v7//v7+/////////////v7+/+Pj - /v8PEP3/AQH9/8TE/v/8/f/////////////+/v7//v7+//f39/+Hh4f/UlBQ/1JQUP9SUFD/iYiI//39 - /f////////////7+/v/+/v7//v7+/8LCwv9QT0//UU9P/1JQUP9ST1D/f35+//Dw8P/+/v7//v7+//7+ - /v/+/v7/4+P+/xAQ/f8BAf3/xMT+//z9///+/v7///////7+/v/5+fn/m5qa/1JQUP9RT0//UVBQ/1JP - T/+fnZ3//v7+///////////////////////+/v7/+Pj4/4uKiv9RT0//UlBQ/1FPT/9SUFD/kpKS//n5 - +f///////v7+//3+/v/j4/7/EBD9/wEB/f/Dw/7//f3///7+/v///////Pz8/66urv9UUlL/Uk9P/1JQ - UP9RT0//cnFx/+/u7v/+/v7//v7+//////////////////7+/v/+/v7/7+/v/3l4eP9SUFD/Uk9P/1JQ - UP9SUVH/p6am//7+/v/+/v7//v7+//Dw/v8xMf3/GBn9/93e/v/9/v7//v////3+/v/ExMT/VlVV/1JQ - UP9RT0//U1BQ/2RkZP/g4OD//v7+//7+/v/+/v7///////////////////////7+/v/+/v7/6urq/2xr - a/9RUFD/UU9P/1FPT/9TUVH/ubi4//z8/P/+/v7//f7+//Pz/v/v7/7//f7+//7+/v/+/v7/1NTU/1lX - V/9SUFD/UlBQ/1JQUP9eXFz/1NTU//7+/v/+/v7//v////////////////////////////////////// - ///+/v7/3d3d/19eXv9SUFD/UlBQ/1FPT/9aWFj/ycnJ//3+/v/+/v7//v7+//7+/v/+/v7//v7+/+Dg - 4P9nZmb/UlBQ/1FPT/9SUFD/VlRU/8XFxf/+/v7///////////////////////////////////////// - /////////v7+///////+/v7/ysrK/1lXV/9SUFD/UU9P/1FPT/9iYWH/3Nzc//7+/v/+//7//v/+//7+ - /v/s6+v/dHJy/1JQUP9RT0//UlBQ/1NRUf+vr6///v7+//////////////////////////////////// - ///////////////////+/v7//v7+///////9/f3/ubm5/1VTU/9RUFD/UU9P/1JQUP9oZ2f/6+vr//7+ - /v/+/v7/9/f3/4B+fv9SUFD/UlBQ/1JQUP9SUFD/m5qa//n5+f/+/v7///////////////////////// - ///////////////////////////////////+/v7///////7+/v/8/Pz/paWl/1JSUv9SUFD/UU9P/1FP - T/94dnb/8PDw//n5+f+Tk5P/UU9P/1JQUP9RT0//UlBQ/4uKiv/29/f//v7+//////////////////// - ///////////////////+/v7////////////////////////////+/v7//v7+//7+/v/5+fn/kZGR/1FP - T/9RT0//UU9P/1JQUP+Mior/o6Ki/1NRUf9SUFD/UlBQ/1FPT/95d3f/8fHx//7+/v////////////// - ///////////////////////////////+/v///v3//v79///+/f///v3///79//7+/v/+/v7//v7+//7+ - /v/19fX/fHx8/1FPT/9RT0//UlBQ/1NQUP9UUVH/UlBQ/1JQUP9SUFD/ZmVl/+fn5//+/v7///7+//// - ///+/v7//f7+//3+/v/9/v7//f7+//3+/v/+/v7/+vTr//Tm0//15tL/9ObT//Tm0v/05tL/+fHm//7+ - /v/+/v7//v7+//7+/v/s6+v/cnBw/1FPT/9SUFD/UlBQ/1JQUP9ST1D/Uk9Q/2FfX//a2tr//v7+//7/ - ///9/v7//f7+/+Tw/v/O5f7/z+X+/8/l/v/P5f7/zuX+/+jz/v/RjTT/x3YI/8Z1B//Hdgj/x3YI/8d2 - B//LgR3/+vTq///+/v///////v7+//7+/v/f39//ZWNj/1JQUP9SUFD/UlBQ/1JQUP9ZV1f/ycnJ//7+ - /v/+/v7//v7+//7+/v/t9v7/HoT+/wZ5/v8Gef7/Bnn//wZ5//8Gef7/Kov+/9GON//Hdgn/x3YJ/8Z2 - Cf/Hdgn/x3YJ/8uCIP/69Ov//v7+//7+/v/+/v7//v7+/+jo6P9qaWn/UlBQ/1JQUP9SUFD/UU9P/1xa - Wv/U09P//v7+///////+/////v7+/+/2/v8nif7/C3v+/wt6/v8Le/7/C3v+/wt7/v81kP7/+/Xt//Xo - 1v/26Nb/9ejW//bo1v/26Nb/+fHn//7+/f///v///v7+//7+/v/z8/P/fHt7/1FPT/9RT0//UlBQ/1JQ - UP9SUFD/UlBQ/2dmZv/j4+P//v7+//7+/v/+/v7//f7+/+r0/v/Z6/7/2uv+/9nr/v/Z6/7/2ev+/+72 - /v/+//7//v79//7+/f/9/v3//v79//7+/f/+/v7////+////////////+Pj4/4uKiv9RT0//UlBQ/1FP - T/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/3FwcP/v7+///v7+//7+/v/+/v7//f7///3+///9/v7//f7+//3+ - ///9/v///v7///////////////////7+/v///////v////7////+/v7//v7+//z8/P+gn5//UU9P/1JQ - UP9RT0//UlBQ/399ff+TlJT/U1BQ/1JQUP9SUFD/UU9P/4SDg//29vb//v7+//7///////////////// - /////////////////////////////////////////v7+//////////////////7+/v/9/f3/tbW1/1ZT - U/9SUFD/UU9P/1JQUP9sbGz/6enp//b29v+EhIT/UlBQ/1FPT/9SUFD/UlBQ/5iXl//5+fn//v7+//7/ - //////////////////////////////////////////////////////////////7////+/////f39/8bF - xf9YVlb/UlBQ/1FPT/9SUFD/YF9f/+Pj4//+/v7//v7+//Hx8f90cnL/UlBQ/1JQUP9SUFD/U1FR/6qq - qv/7/Pz//v7+//7+/v/+/v7////////////////////////////////////////////+/v7//v7+//7+ - /v/W1dX/Xl1d/1FPT/9RUFD/Uk9P/11bW//Q0ND//v7+//7+/v///v///v7+/+Tk5P9raWn/UlBQ/1JQ - UP9SUFD/VVNT/729vf/+/v7//v7+//7+/v/+/v7//////////////////////////////////v7+//7+ - /v/+/v7/6Ojo/2ZlZf9SUFD/UU9P/1JQUP9WVVX/vLy8//z9/f/+/v7//v7+///+///+/v7//v7+/9XV - 1f9gXl7/UlBQ/1JQUP9SUFD/WVhY/9HR0f/+/v7//v7+//////////////////////////////////// - ///+/v7//v7+//Hx8f93dXX/UlBQ/1FPT/9SUFD/UlBQ/6mpqf/8/Pz//v7+//7+/v/x+vf/7vr1//7+ - /v/+/v7//f39/8jHx/9VU1P/UlBQ/1JQUP9SUFD/ZGNj/+Dg4P/+/v7//v7+//////////////////7+ - /v///////v7+//7+/v/z9PT/hoSE/1JQUP9SUFD/UlBQ/1JQUP+Xlpb//f39//7+/v/9/v7/7/r2/y/D - h/8XvXv/3fXs//3+/v///////v7+/7W0tP9TUVH/UlBQ/1JQUP9ST1D/bWxs/+nq6v/+/v7///////// - ///+/v7////////////+/v7/+vr6/5iXl/9SUFD/UlBQ/1FPT/9RT0//hYOD//T19f/+/v7//v7+//3+ - /v/j9u//ELp2/wG4b//D7t3//f7+///////+/v7/+/v7/6GgoP9SUVH/UU9P/1JQUP9RT0//fXx8//Pz - 8//+/v7//v7+//7+/v////////////7+/v/Jycn/UlFR/1JQUP9SUFD/UlBQ/3Vzc//s6+v//v7+//// - /////////f7+/+P27/8Pu3b/ALhv/8Pu3f/9/v7////////////+/v7/9vb2/4yLi/9SUFD/UlBQ/1JQ - UP9RT0//p6am//7+/v/+/v7//////////////////v7+/6ysrP9QT0//UlBQ/1JQUP9mZWX/5eXl//7+ - /v/+///////////////9/v7/4vbv/w+6dv8AuG//w+7d//3+/v/////////////////+/v7/8vLy/3t6 - ev9SUFD/UlBQ/1JQUP+GhYX//f7+//7+/v/////////////////+/v7/4+Li/2RiYv9TUVH/YWBg/9jY - 2P/+/v7///////////////////////3+/v/j9u//ELt2/wC4b//D7t3//f7+///////+/v7//v7+//// - ///+/v7/7e3t/29ubv9TUVH/WlhY/8nJyf/+/v7///////////////////////7+/v/+/v7/5ufn/8jH - x//l5eX//v7+/////////////////////////////f7+/+P37/8Qu3b/ALhw/8Pu3f/9/v7///////// - ///+/v7//v7+///////+/v7/7u7u/8nJyf/d3d3//f39/////////////////////////////v7+//7+ - /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7////////////9/v7/8/v4/0HIkv8mwYT/5Pfv//3+ - /v/+/v7//////////////////v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+////////////AAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAA///////////+/v7//v7+//// - ///+/v7///////7+/v/+/v7//v7+///////+/v7///////7+/v/////////////////+/v7//v7+//// - /v/+/v///f7+/8zN/v8hIf3/DQ39/6am/v/6+v7//v7+//7+/v////////////7+/v////////////7+ - /v////////////7+/v///////v7+//7+/v/////////////////////////////////+/v7//v7+//// - ///+/v7//v7+///////+/v7//f39//39/f/+/v7//f39//7+/v/+/v7//v7+//////////////////// - /////////v7+//7+/v/+/f7/+vv+/319/v8BAv3/AgL9/0lJ/v/q6v7//P3+//7+/v/+/v7///////7+ - /v///////////////////////v7+//7+/v/9/f3//v7+//7+/v/+/v7//v7+///////+/v7//v7+//7+ - /v/////////////////+/v7//v7+//7+/v/+/v7/8fHx/9HR0f/Hx8f/397e//z8/P/+/v7//v7+//7+ - /v/+/v7//v7+///////+/v7//v7+//7+/v/+/f7/+fn+/3Jy/v8BAf3/AQL8/z8//v/n5///+/z///// - /////////v7+//7+/v///////v7+//7+/v///////v7+//3+/v/q6ur/y8vL/8rKyv/n5+f//f39//7+ - /v///////v7+//7+/v/////////////////+/v7//v7+//7+/v/x8vL/ioyL/1xaWv9WVVX/aWdn/8LC - wv/7+/v//v7+//7+/v////////////7+/v////////////7+/v/+/f//+fn+/3Fx/f8CAf3/AQL9/z8/ - /v/n5///+/z///7+/v///////////////////////v7+//7+/v/+/v7//f39/97e3v96eXn/WVdX/1hX - V/9xcnL/3Nvb//7+/v/+/v7//v7+//7+/v///////v7+///////+/v7//v7+//39/f+oqKj/TEtL/1JR - Uf9TUVH/UVBQ/1taWv/Hxsb//f39//3+/v/+/v7//v7+///////+/v7//v7+//7+/v/+/f7/+fn+/3Bx - /f8BAf3/AQL9/z8//v/n5///+/z//////////////v7+/////////////v7+//7+/v/9/f3/4ODg/3Fw - cP9RUFD/U1FR/1JRUf9QTk7/fn19//Ly8v/8/v7//v7+//////////////////7+/v////////////r6 - +v+Gg4T/UE5O/1JQUP9SUFD/Uk9Q/1FPT/9qaWn/2NjY//z9/f/9/v7//v7+//7+/v/+/v7//v7+//7+ - /v/+/f7/+vr+/3Fy/f8BAf3/AQL9/z8//v/n5///+/z+//7+/v/////////////////+/v7//v7+//39 - /f/v7+//h4aG/1FPT/9SUFD/UlBQ/1JQUP9SUFD/Z2Vl/97e3v/8/f3///////7+/v////////////7+ - /v////////////39/f+Uk5P/T01N/1FPT/9SUFD/UlBQ/1FQUP9ST0//b25u/+Df3//9/f3//v7+//7+ - /v/+/v7//v7+//7+/v/+/f7/+vn+/3Jy/v8CAf3/AgL9/z8//v/n5///+vz///////////////////// - ///+/v7//v39//Pz8/+RkZH/UlBQ/1FQUP9RT0//UlBQ/1JQUP9ST1D/cm9v/+jo6P/9/f3///////// - //////////////7+/v///////v7+//7+/v/W1tb/XFtb/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UU9P/4SD - g//r6+v//v7+//7+/v/+/v7//v7+//7+/v/+/f7/+vn+/3Jy/v8BAf3/AQL9/z4//v/n5/7/+/z+//7+ - /v/+/v7///////7+/v/+/v7/+fn5/6enp/9VUlP/Uk9P/1FPT/9RT0//UE9P/1JQUP9TUVH/r66u//v7 - +//+/v7//v7+///////+/v7////////////+/v7//v7+//7+/v/8/Pz/vLy8/1xbW/9SUFD/UlBQ/1JQ - UP9RT0//UlBQ/1NRUf+NjY3/8vPz//7+/v///////v7+//7+/v/9/f7/+fn+/3Fx/v8CAf3/AgL9/z4+ - /v/m5v7//Pz+///+///+/v7//v7+//7+/v/6+vr/srKy/1hWVv9SUFD/UlBQ/1JQUP9ST0//UlBQ/1RS - Uv+WlZX/+Pj4//7+/v/+/v7//v7+/////////////////////////////v7+//7+/v/+/v7/+Pj4/62s - rP9UUlL/U1FR/1JPT/9ST0//Uk9Q/1JQUP9TUVH/pKOj//n5+f/+/v7//v7+//7+/v/+/v7//Pz9/4+O - /v8FBv7/AgL9/11d/f/v7/7//P3+//7+/v/+/////f7+//v7+//Hx8f/XVxc/1JQUP9SUFD/UU9P/1JQ - UP9SUFD/UE9P/4iIiP/t7e3//v7+//7+/v/+/v7//v7+///////+/v7///////7+/v/+/v7///////7+ - /v/+/v7//f39//f39/+ampr/VFJS/1NPUP9RT0//UlBQ/1JQUP9SUFD/WFZW/7Curv/6+vr//f7+//7+ - /v/+/v7//f7+/+zt/v95ev3/aGn9/9jY/v/9/v7//v7+//7+/v/+/v7//P39/9LS0v9nZmb/UU9P/1JQ - UP9SUFD/UVBQ/1JQUP9TUFD/dnV1/+fo6P/9/f3//v7+///////9/v7//v7+//7+/v/+/v7///////// - //////////////7+/v/+/v7//v7+//7+/v/w8PD/jIuL/1BPT/9RT0//UlBQ/1FPT/9RT0//UlBQ/1ta - Wv/Ew8P/+/v7//7+/v/+/////f7+//3+/v/5+f7/9/f+//3+/v/9/v7//v7+//7+/v/+/v7/4uLi/29u - bv9SUFD/UlBQ/1FPT/9SUFD/UlBQ/1FPT/9ubW3/2NjY//39/f/+/v7//v7+///////+/v7///////7+ - /v/+/v7///////////////////////7+/v/+/v7//v7+//7+/v/+/v7/6enp/3l4eP9SUFD/UlBQ/1JQ - UP9SUFD/UU9P/1FPT/9mZGT/z8/P//z9/f/9/v7//v7+//7+///+/f7//v3+//7////+/////v7+//7+ - /v/r6+v/gYCA/1BPT/9RT0//UU9P/1JQUP9SUFD/UlBQ/2BeXv/Pz8///v7+//7+/v////////////7+ - /v////////////7+/v///////v7+///////+/v7///////7+/v///////v7+//7+/v/+/v7//Pz8/9zc - 3P9xcHD/UU9P/1JQUP9SUFD/UU9P/1FPT/9RT0//a2pq/+Hh4f/+/v7//v7+//7+/v/+/v7//v79//7+ - /v/+/v7//f39//Hx8f+Lior/U1FR/1JQUP9RT0//UU9P/1JQUP9SUFD/XVxc/8HAwP/8/Pz//v7+//7+ - /v/+/v7///////////////////////////////////////7+/v/+/v7//////////////////v7+//7+ - /v/+/v7//v7+//39/f/Q0ND/YmBg/1JQUP9SUFD/UU9P/1FPT/9SUFD/UE5O/35+fv/p6en//v7+//7+ - /v/+/v7//v7+///////+/v7/9/b2/6Khof9RT0//UlBQ/1FPT/9SUFD/UlBQ/1JQUP9UUlL/ra2t//v7 - +//+/v7////////////+/v7//v7+//////////////////////////////////////////////////7+ - /v/+/v7//v7+//7+/v///////v7+//7+/v/8/Pz/xcXF/15dXf9SUFD/UVBQ/1FPT/9RT0//UlBQ/1JR - Uf+FhYX/8fHx//7+/v/+/v7//v7+//7+/v/6+vr/q6mp/1hWVv9SUVH/UVBQ/1FPT/9SUFD/UlBQ/1VT - U/+fnp7/9PT0//7+/v/+/v7//v7+///////+/v7///////////////////////////////////////// - /////////v7+//////////////////7+/v/+/v7////////////+/v7//Pz8/6+vr/9UU1P/UVBQ/1FQ - UP9SUFD/UU9P/1JQUP9QT0//oJ+f//X19f/9/f3//v7+//39/f/Hx8f/V1VV/1JQUP9RUFD/UlBQ/1JQ - UP9SUFD/UE5O/4qJif/x8fH//f39//7+/v///////////////////////////////////////v7+//7+ - /v/+/v7///////7+/v/+/v7//v7+///////+/v7///////7+/v/+/v7////////////+/v7//v7+//X1 - 9f+jo6P/VFNT/1JQUP9RT0//UU9P/1FPT/9SUFD/V1VV/6alpf/6+vr//f39/8rKyv9kY2P/UlBQ/1JQ - UP9SUFD/UU9P/1FPT/9SUFD/goGB/+rq6v/9/v7//v7+///////+/v7//v7+/////////////v7+//// - ///+/v7//v7+/////////////v7+/////////////////////////////v7+//7+/v///////v7+//7+ - /v///////v7+//39/f/z8/P/jIuL/1BPT/9SUFD/UU9P/1FPT/9SUFD/UlBQ/1ZUVP/Hxsb/5OTk/2hm - Zv9QT0//UlBQ/1FQUP9SUFD/UlBQ/1JPT/9ta2v/4eHh//7+/v/+/v7//////////////////v7+//7+ - /v////////////////////////////7+/v///////v7+/////////////////////////////v7+//// - ///+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7/7Ozs/4SEhP9SUFD/UlBQ/1JQUP9RT0//UlBQ/1JQ - UP9eXFz/amho/1BOTv9SUFD/UlBQ/1JQUP9SUFD/UU9P/2hnZ//U1NT//f39//7+/v////////////// - /////////v7+/////////////v7+/////////////v7+//7+/v/+/v7////+///+/f/+/f3//v38///+ - /f///f3//v39///9/f///f3//v79/////v/+/v7//v7+//7+/v/+/v7//v7+/+Pj4/9sbGz/UU9P/1JQ - UP9SUFD/UlBQ/1JQUP9ST0//UU9P/1JQUP9ST0//UU9P/1JQUP9SUFD/WFdX/8PDw//7+/v//f7+///+ - /v/+/v7////////////9/v7//P3+//z9/v/7/f7//P3+//z9/v/8/f7//P7+//3+/v/+/v7//v38//z4 - 8//79u///Pbw//v28P/79vD/+/bw//v28P/79u///fr2//7+/v/+//7//v7+//7+/v///////v7+//39 - /f/Z2Nj/a2pq/1JQUP9SUFD/UlBQ/1FPT/9SUFD/UlBQ/1JQUP9ST0//Uk9P/1JQUP9aWFj/tra2//39 - /f/+/v7//v7+//3+/v/+/v7//v7+//3//f/1+f7/7fX+/+31/v/u9v7/7fX+/+31/v/t9f7/7fX+//D3 - /v/8/f7/79q8/9ypYv/YoVb/2aFW/9iiVv/Yolb/2KJW/9iiVv/YolX/3rBu//fr3P/+//7//v7+//// - ///+/v7//v7+//7+/v/7+/v/yMjI/1lYWP9RT0//UU9P/1FPT/9SUFD/UlBQ/1FQUP9RUFD/UlBQ/1FP - T/+hoaH/9vb2//7+/v////////////7+/v/+/////f///9zs/v9qr/7/UKH+/0+i/v9Qov//UaH+/1Cg - //9Qof7/UKD//1im/v+w1f7/y38b/8VxAv/GcgH/xXEB/8VyAf/FcgL/xnIC/8ZyAv/FcgL/xHEC/9un - Yf/8+fT//v7+///+/////////v7+//7+/v/+/v7//f39/7i4uP9ZV1f/UlBQ/1JQUP9RT0//UU9P/1JQ - UP9ST0//UU9P/5GRkf/6+vr//v7+//7+/v/+/v7//v7+//7+/v/+/f7/9fr9/2et/v8Ddf7/AXf+/wF1 - /v8Cdv7/AXb+/wF2//8Bdv7/AXb+/wJ2/v8Sff7/y4Ae/8VxAv/FcgH/xHEB/8RxAf/EcQH/xXEB/8Vx - Av/FcgL/xHED/9ynY//8+fT//v7+///+///+/v7//v7+//7+/v/+/v7//v7+/8nJyf9cW1v/UlBQ/1JP - T/9ST0//Uk9P/1FPT/9RT0//UlBQ/6GgoP/9/f3//v7+//////////////////7+///9/f7/9/r+/2+w - /v8FdP7/AXX+/wF0/v8Cdf7/AXX+/wF1/v8Bdf7/AXX+/wN0/v8ZgP7/8dzB/92rZ//apVz/26Rb/9ql - Wv/apFv/2qVb/9qkXP/apFv/37Fz//bs3f/+/v7///7///7+/v/+/v7//v7+//7+/v/9/f3/2NjY/2Bf - X/9QTk7/UU9P/1JQUP9RT0//UlBQ/1JQUP9SUFD/UlBQ/1NRUf+0tLT/+Pj4//7+/v////////////7+ - /v/+/v7//v7+/+Tw/v99uf7/Yqv+/2Gq/v9iqv7/Yar+/2Gq/f9hqv7/Yar+/22x/v/A3v7//v38//z5 - 9P/79/L//Pfx//z48v/8+PL//Pjy//z48v/89/H//Pv3//79/f/+/v7//v7+//7+/v/+/v///v7+//7+ - /v/m5ub/eHd3/1FPT/9SUFD/UU9P/1FPT/9SUFD/UU9P/1JQUP9SUFD/UlBQ/1FPT/9gX1//x8fH//39 - /f/+/v7//v7+//7+/v/+/v7//f7+//3+/v/5+/7/9Pn+//T5/v/0+f7/9Pn+//T5///0+f7/9Pn+//b7 - /v/8/v7//v/+//7+/f/9/v3//f79//3+/P/9/vz//f79//3+/f/+/v3//v79//7+/v/+/v7///////// - /////////v7+/+7u7v98e3v/UU9P/1JQUP9SUFD/UU9P/1JQUP9RT0//UU9P/1JQUP9SUFD/UlBQ/1JQ - UP9SUFD/YV9f/9XV1f/9/f3//v7+//7+/v/+/v7//v7+//7+///9/v///P7///39/v/8/f7//f7+//3+ - ///9/v7//f7+//3+/v/+/v///v7+//7+/v/+/v7///////////////////////7+/v/+/v7//v////// - ///+/v7//v7+//7+/v/+/v7/8fHx/5eWlv9TUVH/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9XVlb/XFtb/1BP - T/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/3Z0dP/j4uL//v7+//7+/v/+/v7//v////7+/v/+/////v////7+ - /v/+/v7////////////+/v7////////////////////////////////////////////+/v7//v7+//// - ///+/v7//v7+//7+/v/+/v7//v7+//7+/v/5+fn/np2d/1JQUP9SUFD/UlBQ/1FPT/9RT0//UlBQ/1FQ - UP+ysbH/1NXV/11bW/9ST1D/UU9P/1JQUP9RT0//UlBQ/1BOTv97eXn/7Ozs//7+/v///////v7+//7+ - /v/+/v7//v7+/////////////v7+//7+/v///////v7+//7+/v/+/v7///////////////////////7+ - /v/+/v7///////////////////////7+/v/+/v7//v7+//n6+v+4uLj/WldX/1JQUP9SUFD/UU9P/1FP - T/9SUFD/U1FR/5KSkv/29vb//f39/7m4uP9cWlr/UlBQ/1FPT/9SUFD/UU9P/1JQUP9TUVH/kpGR//Dw - 8P/+/v7//v7+//7+/v/+//////////7+/v////////////7+/v/+/v7//v7+///////+/v7///////// - //////////////////////////////7////+/v7//v////7+/v/+/v7//v7+/8LCwv9bWVn/UlBQ/1FP - T/9SUFD/UlBQ/1JQUP9PTk7/jIyM/+/v7//+/v7//v7+//r6+v+zs7P/U1FR/1JQUP9SUFD/UlBQ/1JQ - UP9SUFD/UU9P/5ubm//39/f//v7+///////+//////////7+/v/+/v7////////////+/v7///////7+ - /v///////v7+//7+/v////////////7+/v/+/v7///////7+/v/+/////v////7+/v/8/Pz/09PT/2Zl - Zf9RT0//UlBQ/1FPT/9RT0//UlBQ/1NPUP91c3P/6+vr//7+/v/+/v7//v7+//39/f/29vb/mZeX/1VT - U/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1hXV/+ysrL/+fn5//7+/v/+/v7///////7+/v/+/v7///////7+ - /v///////v7+//7+/v/+/v7//////////////////v7+//////////////////7+/v///////v7+//39 - /f/d3d3/bm1t/1JQUP9SUFD/Uk9P/1JPUP9RT0//UU9P/3Fvb//c3Nz//f39//3+/v/+/v7//v7+//7+ - /v/+/v7/8PDw/5CPj/9QTk7/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9ZV1f/v8DA//7+/v/+/v7///////7+ - /v/+/v7//v7+//7+/v///////v7+//////////////////7+/v/+/v7///////7+/v/+/v7//v7+//7+ - /v/+/v7//f39/+np6f9+fX3/UlBQ/1JQUP9RT0//UVBQ/1FPT/9RUFD/YF5e/9PS0v/8/Pz//v7+//7+ - /v/+/v7///7///7+/v/+/v7//f39/+vs7P95eHj/UlBQ/1JQUP9RT0//UU9P/1JQUP9RT0//ZWNj/8/P - z//8/Pz//v7+//7+/v/+/v7//v7+//7+/v///////v7+//////////////////////////////////7+ - /v/+/v7//v7+//7+/v/+/v7/8vHx/4yKiv9RUFD/UlBQ/1FPT/9SUFD/UlBQ/1JQUP9cW1v/vr6+//z8 - /P/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//3+/v/f39//cXFx/1FPT/9SUFD/UlBQ/1JQ - UP9SUFD/UU9P/2tqav/c3Nz//f39//7+/v/+/v7//v7+//7+/v///////v7+//7+/v/+/v7///////// - ///////////////////+/v7//v7+//7+/v/39/f/np2d/1JQUP9SUFD/UU9P/1FPT/9SUFD/UlBQ/1RU - VP+ysrL/+fn5//7+/v/+/////f7+//7+/v/4/Pv/9vz6//3+/f/+/v7///////7+/v/8/Pz/1tbW/2Ri - Yv9SUFD/UlBQ/1FPT/9SUFD/UlBQ/1FPT/97e3v/5eXl//7+/v/+/v7///////////////////////7+ - /v/+/v7///////7+/v///////v7+/////////////v7+//n5+f+trKz/V1VV/1JQUP9SUFD/UlBQ/1JQ - UP9SUFD/U1JS/5ycnP/4+fn//v7+//7+/v/9/v7//f7+/+z49P9017H/ZdOn/9bz6P/+/v7//v////// - ///+/v7/+/v7/8LBwf9eXFz/UlBQ/1JQUP9RUFD/UlBQ/1JQUP9SUFD/hoaG//Hx8f/9/v7//v7+//7+ - /v/+/v7///////7+/v///////v7+//7+/v///////v7+//7+/v/+/v7/+vr6/7+/v/9ZV1f/UlBQ/1JQ - UP9ST0//Uk9P/1JQUP9RUFD/kZGR//Ly8v/+/v7//v7+//7+/v/9/v7//P79/47ev/8Et23/Ardv/1zP - of/v+vb//P39//7+/v///////v7+//r6+v+1tbX/VlRU/1FPT/9SUFD/UU9P/1JQUP9SUFD/UU9P/5mZ - mf/19vb//v7+//7+/v///////v7+//7+/v/+/v7//v7+/////////////v7+//7+/v/8/f3/zczM/2Ri - Yv9SUFD/UlBQ/1FPT/9RT0//UlBQ/1FPT/98e3v/6erq//7+/v/+/v7//v7+//7+/v/8/f3/+f37/3LX - r/8Btm3/Arhx/z7IkP/m9/D//P39/////////////v7+//7+/v/4+Pj/oaCg/1RSUv9SUFD/UlBQ/1JQ - UP9SUFD/UlBQ/1dVVf+oqKj/+vr6//7+/v////////////7+/v/+/v7////////////+/v7//v7+//7+ - /v/g4eH/Z2Zm/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UU9P/3Vzc//h4OD//P39//7+/v///////v7+//7+ - /v/9/v7/+fz8/3HWr/8Btm3/Abhw/z7IkP/n+PH//P39///////+/v7///////7+/v/+/v7/9fX1/5WV - lf9RT0//UU9P/1JQUP9SUFD/UlBQ/1JQUP9XVFT/wL+///39/f/+/v7//v7+//7+/v/+/v7///////// - /////////v7+//39/f+dnZ3/Tk1N/1JQUP9SUFD/UlBQ/1JQUP9SUFD/Y2Fh/9TU1P/+/v7//v7+//7+ - /v/+/v7//v7+///////9/v7/+f38/3HWr/8Ct23/Ablx/z7JkP/n+PH//P39//7+/v/+/v7//v7+//7+ - /v/+/v7//f39/+rq6v9+fn7/UlBQ/1JQUP9SUFD/UlBQ/1FPT/9RT0//d3V1/+3t7f/9/v7//v7+//7+ - /v///////v7+/////////////v7+//r6+v+CgoL/T05O/1JQUP9SUFD/UlBQ/1JPUP9hX1//ysrK//39 - /f/+/v7//v7+//7+/v///////v7+//7+/v/9/v7/+P38/3HWr/8Btmz/ALhx/z7Ikf/n+PH//P39//7+ - /v///////v7+//7+/v///////v7+//39/f/k5OT/d3Z2/1FPT/9SUFD/UlBQ/1FPT/9SUFD/ZmVl/93d - 3f/8/f3//v7+//7+/v///////////////////////v7+//39/f+dnZ3/TkxM/1NRUf9SUFD/U1FR/1RU - VP+ysrL//Pz8//7+/v///////v7+///////+/v7////////////9/v7/+f38/3DXr/8Btmz/ALlx/z7I - kf/n+PH//P39//7+/v/+/v7//v7+///////+/v7///////7+/v/9/f3/1dTU/2VkZP9SUFD/UlBQ/1NQ - UP9RT0//dXV1/+3t7f/9/f3//v7+/////////////////////////////v7+//7+/v/p6en/eXd3/1ZU - VP9TUVH/XVxc/6ytrf/39/f//v7+//7+/v///////v7+///////+/v7////////////9/v7/+f37/3LX - r/8Btm3/ALhx/z7IkP/n+PH//P39/////////////v7+//7+/v/+/v7//v7+//7+/v/+/v7//f39/9DQ - 0P9paGj/VFJS/1RSUv9jYmL/zMzM//39/f/+/v7//v7+///////+/v7//v7+/////////////v7+//7+ - /v/+/v7/5+fn/7m6uv+rq6v/zc3N//f39//+/v7///////7+/v/////////////////+/v7///////7+ - /v/9/v7/+f37/3HXr/8Bt2z/ALhx/z7IkP/m+PH//P39//////////////////7+/v/+/v7//v7+//7+ - /v///////v7+//39/f/c3Nz/srGx/7GwsP/Y2Nj//Pz8//7+/v/+/v7//v7+//7+/v/+/v7///////// - /////////v7+//7+/v/+/v7//v7+//39/f/9/f3//f39//7+/v/+/v7///////////////////////// - //////////////7+/v/9/v7/+/78/37atf8Ctm3/Abhw/0rLmf/q+PP//P39//////////////////// - ///+/v7//v7+//7+/v/+/v7//v7+//7+/v/9/f3//f39//39/f/9/f3//v7+//7+/v/+/v7//v7+//// - ///+/v7///////7+/v/+/v7//v7+//7+/v/+/v7///////7+/v/+/v7//v7+//////////////////7+ - /v/+/v7//v7+//////////////////7+/v/9/v7//v7+/8/x5P8kv4H/ELp4/6nmzv/6/fz//f7+//7+ - /v////////////////////////////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7///////7+ - /v/+/v7/////////////////AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA - AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA - //8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA - AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA - //8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA - AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA - //8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//KAAAAEAAAACAAAAAAQAgAAAA - AAAAQgAAAAAAAAAAAAAAAAAAAAAAAP////////////////////////////////////////////////7+ - /v/+/v7//v7+//7+/v////////////////////////////////////////////////////////////// - //////7////+//7+///9/v7/9fX+/6Gh/v8iIv3/DQ38/3Jy/v/o6P7//f39//7+/v/+/v7///////// - ///////////////////////////////////////////////////////////////////+/v7//v7+//7+ - /v////////////////////////////////////////////////////////////////////////////// - //////////////7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v////////////////////////////// - ///////////////////////////////////+/f///P3+/9nZ//80Nf7/AQL9/wEC/f8QEP7/rKz+//v7 - /v/7/P7//v7+//////////////////////////////////////////////////////////////////7+ - /v/+/v7//v7+//7+/v/+/v7//v7+//7+/v///////v7+//7+/v///////v7+//7+/v////////////// - //////////////7+/v/+/v7///////7+/v/+/v7//Pz8//v8/P/8/Pz//f39//7+/v/+/v7///////// - /////////////////////////////////////////////////////////v3///39///Jyf7/Hx/+/wEB - /f8CAvz/AAD9/46N/v/5+f7/+/z///////////////////////////////////////////////////// - //////////////7+/v/+/v7//f39//z8/P/7+/v//f39//7+/v/+/v7///////7+/v/+/v7///////7+ - /v/+/v7////////////////////////////+/v7//v7+//7+/v/+/v7/8/Pz/9DQ0P+4uLj/ubi4/87N - zf/08/P//v7+//7+/v////////////////////////////////////////////////////////////79 - ///9/f7/yMj+/x8f/v8BAf3/AgL8/wAA/f+Pj/7/+fn///r7//////////////////////////////// - /////////v7+//7+/v/////////////////7/f3/+/v7/97e3v++vr7/tra2/8LDw//n5+f//Pz8//7+ - /v////////////7+/v/+/v7////////////////////////////+/v7//v7+//7+/v/+/v7/8/Pz/6Sm - pf9qaWn/W1pa/1pZWf9oZmb/oJ+f//Pz8//+/v7//v7+//////////////////////////////////// - ///////////////////+/f///f3+/8nJ/f8fH/3/AgH9/wIC/f8AAP3/j4/+//n5///6+/////////// - //////////////////////////////7+/v/+/v7////////////+/v7//Pz8/8XExP94d3f/Xl1d/1pZ - Wf9fX1//hYWF/9va2v/+/v7//v7+//7////+/v7//v7+/////////////////////////////v7+//7+ - /v/9/f3//v7+/7W3t/9UVFT/UE5O/1FPT/9QT0//UE5O/1RSUv+lpaX/+/v7//7+/v/9/f3//v7+//// - /////////////////////////////////////////v3///39/v/IyP3/HR79/wIB/f8CAv3/AAD+/4+P - /v/5+f//+vv////////////////////////////////////////////////////////+/v7//v7+/9DR - 0f9mZGT/UE9P/1FPT/9QT0//UE9P/1BOTv9/fn7/9/f3//7+/v/9//////////////////////////// - /////////////////////////v7+//z8/P9ycHD/TkxM/1JQUP9SUFD/UlBQ/1FQUP9SUVH/WFdX/7i3 - t//+/v7//f7+//7+/v////////////////////////////////////////////79///9/f7/yMj9/x4e - /f8BAf3/AgL8/wAA/f+Pj/7/+fn///r7/////////////////////////////////////////v7+//7+ - /v/9/f3//f39/+Hh4f9xb2//UE5O/1JQUP9SUFD/UlBQ/1JQUP9SUFD/U1JS/8/Pz//9/v7//P39//// - /////////////////////////v7+//7+/v/////////////////y8vL/Xlpb/09NTf9RT0//UU9P/1JQ - UP9TT1D/U1BQ/1JQUP9eXFz/vb29//n6+v/8/v7//f7+//7+/v/+/v7///////////////////////// - /v/+/f7//f3+/8nJ/v8dHv3/AQH9/wIC/f8AAP3/j4/+//n5///6+/////////////////////////// - /////////v7+//7+/v/+/v7//f39/+Xl5f98fHz/UE5O/1NRUf9SUFD/UlBQ/1JQUP9SUFD/UlBQ/09N - Tf+zs7P//v7+//z9/f////////////////////////////7+/v/+/v7/////////////////+vr6/2tp - af9PTU3/UlBQ/1FPT/9SUFD/UlBQ/1JQUP9RUFD/UU9P/2pqav/IyMj/+Pj4//39/f/+/v7//v7+//// - ///+/v7//v7+//7//v////7//v3+//39/v/Jyf7/Hx/+/wIB/f8CAv3/AAD+/4+P/v/5+f//+fv///// - //////////////////////////////7+/v/+/f3//v39/+jo6P+NjY3/U1FR/1JQUP9RT0//UlBQ/1JQ - UP9SUFD/UlBQ/1JQUP9VUFH/xsbG//7+/v/9/f3///////////////////////////////////////// - /////////v7+//7+/v+lpaX/UE9P/1FPT/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1NQUP9RUFD/eXh4/9PT - 0//6+vr//v39///+/v///////v7+//7+/v/+//7////+//79/v/9/f7/ycn+/x8f/v8BAf3/AgL9/wAA - /v+Pj/7/+fn///n7/////////v7+//7+/v////////////7+/v/+/v7//f39/+3t7f+dnZ3/WVZX/1JQ - UP9RT0//UE9P/1JQUP9RT0//UU9P/1NQUP9PTU3/cm9v/+/v7//+/v7//v7+//////////////////// - //////////////////////////////7+/v/+/v7/6Ojo/4aFhf9RUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQ - UP9SUFD/UVBQ/1NRUf+GhYX/3t7e//38/P/+/v7//////////////////v7+//7+/v/9/f7//f3+/8nJ - /v8eH/7/AQH9/wIC/f8AAP7/jo/+//n5/v/7+/////7///7+/v/+/v7////////////+/v7//f39//Ly - 8v+rq6v/Xlxc/1JPT/9ST0//UU9P/1JQUP9SUFD/UU9P/1JQUP9QTk7/ZWNj/8XExP/+/v7//v7+//7+ - /v/+/v7//////////////////////////////////////////////////v7+//z8/P/Y2Nj/fHt7/1BO - Tv9SUFD/UlBQ/1JQUP9RT0//UU9P/1JQUP9SUFD/VFNT/5GQkP/r7Oz//v7+/////////////v7+//7+ - /v/+/v7//f3+//39/v/JyP3/Hh/+/wEB/f8CAv3/AAD+/42N/v/5+f7/+/v////+//////////////// - /////////f39//f39/+4uLj/YmJi/1BOTv9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9QTk7/X11d/7W1 - tf/4+Pj//v7+//7+/v/+/v7//v7+/////////////////////////////////////////////v7+//7+ - /v/+/v7/+vr6/8zMzP9xb2//UE5O/1NRUf9SUFD/UU9P/1JPT/9ST1D/UlBQ/1FPT/9VU1P/nJub//r6 - +v/+/v7//v7+//7+/v/+/v7///////79/v/9/f3/1tb+/ysq/v8CAv7/AgL9/wkJ/f+iof7/+fr+//v8 - /v///v////////7////9/////P39//z8/P/Jycn/Z2Zm/1FPT/9SUFD/UlBQ/1FPT/9RT0//UlBQ/1JQ - UP9RT0//WFhY/6moqP/y8fH//v7+//7+/v/+/v7//v7+//7+/v////////////////////////////// - //////////////7+/v/+/v7//v7+//39/f/5+fn/wMDA/2RjY/9RT0//UlBQ/1JOT/9ST1D/UlBQ/1JQ - UP9SUFD/UlBQ/1RSUv+ysbH//v7+//39/f////////////7+/v/9/v7//P39//Dw/v+Fhv3/ERL8/wED - /P9UVP3/39/+//v9/v/+/v7////////////9////+/39//3+/v/g4OD/ampq/09NTf9SUFD/UlBQ/1JQ - UP9QUFD/UVBQ/1NQUf9UUFD/U1JS/5aXl//r7Oz//f39//7+/v/+/v7//v7+//3///////////////// - //////////////////////////////////////////////7+/v/+/v7//v7+//v7+/+3t7f/Xl1d/1NP - UP9SUFD/UE9P/1JQUP9RT0//UU9P/1JQUP9SUFD/VlRU/727u//6+vr//P39//7+/v/+/v7//v7+//7+ - /v/9/f7/9/f+/9na/f/R0f7/8fH+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//3+/v/l5eX/dHNz/01L - S/9SUFD/UU9P/1JQUP9SUFD/UlBQ/1JQUP9SUFD/VFJS/4yLi//o6Oj//Pz8//39/f/+/v7///////7/ - ///9//////////////////////////////////////////////////////////////////////////7+ - /v/+/v7/+Pj4/6mpqf9XV1f/UlBQ/1FPT/9SUFD/UU9P/1FPT/9SUFD/UlBQ/1BQUP9mZGT/xsbG//n5 - +f/9/v7//f7+//7////9/v7//P7+//7+/v/+/v7//v7+//3+/v/8/v7//f7+/////////v7//v7+//7+ - /v/o6Oj/h4eH/09NTf9TUVH/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9TUVH/U1FR/4B+fv/e3t7//v7+//7+ - /v////////////////////////////////////////////////////////////////////////////// - /////////////////////////v7+//7+/v/z8/P/mpqa/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQ - UP9RT0//UU9P/3Rycv/Qz8//+fr6//3+/v/+/v7//f////3+///+/v///v3+//79/v/9/v7//f////3/ - /////////v7+//7+/v/t7e3/mJiY/1VUVP9TUVH/UU9P/1JQUP9SUFD/UlBQ/1JQUP9TUVH/UE5O/3Ny - cv/W1tb//v7+//7+/v////////////////////////////////////////////////////////////// - ///////////////////////////////////////////////////+/v7//v7+/+vr6/+Ih4f/UU9P/1JQ - UP9SUFD/UlBQ/1JQUP9SUFD/UU9P/1JQUP9TUVH/gYCA/9vb2//8/Pz//f7+//7+/v/+/v7////+//7+ - /v/+/v3//v7+///////+/v7//v7+//39/f/w8PD/pqWl/1xaWv9SUFD/UlBQ/1FPT/9RT0//UlBQ/1JQ - UP9SUFD/T05O/2VjY//Pzs7//v7+//7+/v////////////////////////////////////////////// - /////////////////////////////////////////////////////////v7+//7+/v////////////39 - /f/9/f3/3t7e/318fP9QTk7/UlBQ/1JQUP9SUFD/UlBQ/1FPT/9RT0//UU9P/1VTU/+OjY3/5ubm//7+ - /v/+/v7//v7+/////v/+//7//v/+/////v///////v7+//7+/v/09PT/tLOz/2NhYf9RT0//UlBQ/1JQ - UP9RT0//UlBQ/1JQUP9SUFD/UE5O/11dXf++vb3//f39//7+/v////////////////////////////// - //////////////////////////////////////////////////////////////////////////////7+ - /v/+/v7////////////+/v7//v7+//v7+//T0tL/cnFx/09NTf9SUFD/UlBQ/1BQUP9RT0//UlBQ/1FP - T/9RT0//VlVV/5mZmf/x8fH//v7+//7+/v////////////////////////////39/f/6+fn/xMLC/2hm - Zv9RT0//UlBQ/1FPT/9RT0//UlBQ/1JQUP9SUFD/UU9P/1hXV/+sq6v/9vb2//39/f/+/v7///////// - //////////////////////////////////////////////////////////////////////////////// - /////////////////////////v7+//7+/v/////////////////9/f3/+/v7/8jIyP9nZmb/UE5O/1JQ - UP9RUFD/UU9P/1FPT/9RT0//UlBQ/1JQUP9VVFT/qamp//v7+//+/v7///////////////////////39 - /f/9/f3/1tXV/2xqav9RT0//UlFR/1FQUP9RT0//UU9P/1JQUP9SUFD/UU9P/1RSUv+dnJz/7e3t//39 - /f/+/v7///////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////7+/v/+/v7//v7+/////////////v7+//7+ - /v/5+fn/vLy8/2JhYf9RT0//UlBQ/1FQUP9QT0//UlBQ/1FPT/9SUFD/UU9P/1JSUv+4uLj/+/v7//7+ - /v/+/v7//v7+//7+/v/+/v7/5eXl/29tbf9OTEz/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1NR - Uf+SkZH/6enp//39/f/+/v7///////////////////////////////////////////////////////// - /////////////////////////////////////////////////////////////////////////v7+//7+ - /v/////////////////+/v7//f39//b29v+srKz/XFxc/1BQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQ - UP9RT0//XFpa/8bGxv/6+vr//f39//7+/v/+/v7/6evr/39/f/9MSkr/U1FR/1JQUP9SUFD/UlBQ/1JQ - UP9RT0//U1FR/1RSUv+GhYX/4uLi//39/f/9/f3//v7+//////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////7+/v/+/v7/7+/v/52dnf9WVlb/UlBQ/1JQ - UP9RT0//UU9P/1FPT/9RT0//UlBQ/1BOTv9ta2v/0M/P//r6+v/9/f3/7Ozs/5OTk/9PTk7/U1FR/1JQ - UP9SUFD/UlBQ/1JQUP9RT0//UU9P/1JQUP97eXn/2NjY//3+/v/+/v7///////////////////////// - //////////////////////////////////////////////////////////////7+/v////////////// - ///////////////////////////////////////////////////////////////////+/v7//f39//39 - /f/q6ur/kZGR/1BPT/9SUFD/UU9P/1FPT/9RT0//UU9P/1JQUP9SUFD/U1FR/3x6ev/Z2Nj/7+/v/6Gg - oP9YVlb/UFBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/U1FR/1FOTv9ubGz/zs3N//7+/v/+/v7//v7+//// - //////////////////////////////////////////////////////////////////////////////// - ///+/v7//////////////////////////////////////////////////////////////////v7+//7+ - /v/+/v7//v7+//7+/v/+/v7//f39/+bm5v9/f3//Tk1N/1JQUP9RT0//UlBQ/1JQUP9RT0//UlBQ/1JQ - UP9UUlL/hoSE/5ybm/9hX1//UU9P/1FQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/09NTf9fXV7/xMTE//v7 - +//+/v7//v7+//////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////7+/v/+/v7//v7+//7+/v////////////7+/v/+/v7/29vb/3BwcP9OTU3/UlBQ/1JQ - UP9SUFD/UU9P/1JQUP9SUFD/UU9P/1VSU/9ZVlb/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1BO - Tv9VVFT/s7Oz//n5+f/9/f3//v7+//////////////////////////////////////////////////// - ///////////////////////////////////+/v7//v7+/////v///v3///38///9/P/+/Pz//v38///9 - /P///fz///38///9/P///fz///38//7+/f/+//7////+///////+/v7//v7+//7+/v/+/v7//v7+//z8 - /P/Nzc3/Z2Zm/09NTf9TUVH/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/Uk9P/1JQUP9SUFD/UlBQ/1JQ - UP9SUFD/UlBQ/1JQUP9RUFD/oaKi//Pz8//9/f3//f7+/////////v7///7+/////////////v7///z9 - /v/7/f7/+/3+//v9/v/6/f7/+/3+//v9/v/7/f7/+/3+//z9/v/8/v///P7+//7+/v/+/v3//f38//79 - +//+/Pv//vz7//79+//+/fv//v37//79+//+/fv//v37//78+//9/fz//v39//7+/v///////v7+//7+ - /v/+/v7///////7+/v/+/v7/+vn5/8PBwf9jYWH/UE5O/1JQUP9RT0//UlBQ/1FPT/9SUFD/UlBQ/1JQ - UP9SUFD/UlBQ/1NPUP9TT1D/UlBQ/1JQUP9TUVH/lpaW/+3t7f/9/f3//v7+//7////9/////f7+//7+ - /v///////P/9//7+/v/8/f7/+vz+//r8/v/6/P7/+vz+//r8/v/6/P7/+vz+//r8/v/6/P7/+vz+//z9 - /v/+/v7/+vbv//Hgxf/r0Kv/68+q/+zPqv/r0Kr/6tCq/+vRq//q0Kr/6tCq/+rQqv/qz6j/8Nm6//nw - 5P/+/v3////+/////////////////////////////v7+//z8/P/39/f/tLS0/19eXv9RT0//UU9P/1FP - T/9RT0//UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1FPT/9UUlL/i4qK/+bm5v/+/v7//v7+//// - //////////////7////+/////v////3+/v/k8P7/tNb+/6LN/v+izv7/o87+/6PO//+jzv//o83//6LN - //+jzv//o83//6LN/v+82/7/7PX+/+XBkP/NgyH/yHkO/8h5Dv/IeQ3/yHoN/8h5Df/IeQ7/yXkO/8h5 - Dv/IeQ3/yHoN/8l8Ev/apV3/+/bu///+/v///v////7///////////////////7+/v/+/v7//f39//Hx - 8f+lpKT/XFtb/1FPT/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9UUlL/f35+/9vb - 2//+/v7//v7+//7+/v////////////7+/v/+/v7//f7+//3+/v/w9/7/Xqf+/xB9/v8KfP7/Cnv+/wp8 - /v8KfP//Cnv//wp7//8Kev//Cnv//wp6//8Ke/7/GIL+/325/v/MgBz/xG8C/8ZyA//FcgH/xXEB/8Vy - Af/FcwL/xXIC/8ZyAv/GcgL/xnIC/8VzAv/EcgL/xHID//Hcvv///v7///7+///+//////////////// - //////////////7+/v/9/f3/6enp/5GQkP9UUlL/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1FP - T/9RT0//bm1t/87Ozv/8/Pz//v7+//7+/v/////////////////+/v7//v7+//79/v/+/v3/yeP+/wV2 - /v8Cdf7/AXf+/wF2/v8Cdv7/Anb+/wF3//8Bd///AXf//wF3//8Bd///Anf//wJ1//8Sff//zIEf/8Rw - Av/FcgL/xXIB/8VyAf/EcQH/xHIC/8VyAv/FcgL/xXIC/8VyAv/FcgL/xHEC/8VyBf/y3cD//f7+//7+ - /v////////7////+///////////////////+/v7//v7+//Pz8/+dnZ3/VFNT/1JQUP9SUFD/UlBQ/1JQ - UP9SUFD/UlBQ/1JQUP9RT0//UU9P/3Z0dP/b29v//f39//7+/v///////////////////////v////7+ - ///9/f///v7+/87l/v8Lef7/AnT+/wF1/v8Bdf7/AnX+/wJ1/v8Bdv//AXb//wF2//8Bdv//AXb//wJ2 - //8Dc///GYH//+fDlf/NhCT/ynsR/8l7Ef/JexH/yXsQ/8h6EP/IehH/yHoR/8l6EP/JehD/yHsR/8p9 - Fv/ap2L/+/bv//7+/v/+/v7////////+///+/v7//v7+//7+/v/+/v7//f39//f39/+3t7f/ZGNj/1JQ - UP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9XVVX/kZCQ/+bm5v/9/f3//v7+//// - /////////////////////v///f7+//7+/f/z+P7/crL+/x2E/v8VgP7/FID+/xSA/v8VgP7/FYD+/xWA - /v8UgP3/FYD+/xWA/v8VgP7/KYn+/4/E///89/L/8+HJ/+3Usf/t07D/7dOw/+3UsP/t07D/7dSw/+3U - sP/u1LH/7tSx/+3Trv/x277/+PDl//79/P/9//7///7////+///+/////v7+//7+/v/+/v7//f39//v7 - +//Hx8f/amlp/1FPT/9SUFD/UU9P/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UU9P/1dW - Vv+fn5//7+/v//39/f/+/v7////////////+/////f////7+/v/+/v7//f7+/+rz/v/H3/7/t9n+/7bY - /v+42P7/uNj+/7fY/v+22P7/ttj+/7bY/v+22P7/t9r+/83l/f/x+P7//v79//3+/P/9/fz//f37//79 - +//+/fv//v37//79+//+/fv//v38//79/P/+/fv//f39//39/f/+/v3//v7+///+/////v///f////7+ - /////v///v7+//39/f/V1dX/cHBw/09OTv9SUFD/UlBQ/1FPT/9RT0//UlBQ/1JQUP9SUFD/UlBQ/1JQ - UP9SUFD/UlBQ/1JQUP9QT0//V1dX/6ysrP/09PT//v7+//7+/v/+/v7//v7+//7////+/v7//f7+//7+ - /v/8/v7//P7+//z9///8/f7//P3+//z9/v/8/f7//P3///z9///8/f///P3+//z9/v/8/v7//P7+//7/ - /v/+//3//f79//3+/P/9/vz//f78//z9+//9/vz//f78//3+/P/+/fz//v79//7+/f///v7////+//// - /////////////////////////v7+//39/f/d3d3/eXh4/09NTf9SUFD/UlBQ/1JQUP9RT0//UlBQ/1JQ - UP9RT0//UU9P/1JQUP9SUFD/UlBQ/1JQUP9SUFD/U1FR/1BOTv9aWFj/ubm5//n5+f/9/f3//v7+//7+ - /v/+/v7//v7+//7+/v/+/v7//v7///3+///8/v///f3///z9/v/7/f7//P7+//z+///8/v///P7///z+ - ///8/v///P7///7+/////////////////////////////////////////////////////////v////7/ - ///+/////v////////////////////////////////////39/f/m5ub/hoWF/05MTP9SUFD/UlBQ/1JQ - UP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JRUf9RUFD/UVBQ/1JQUP9SUFD/UlBQ/1JQUP9TUVH/T01N/2Fg - YP/Kysr//f39//39/f/+/v7//v7+//7+/v///////v////3////+/////v////////////////////// - //////////////////////////////////////////////////////////////////////////////// - //////////////7////+/////v////7//////////v7+//7+/v///////v7+//7+/v/v7+//lZSU/1FP - T/9SUFD/UlBQ/1FPT/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/3V0dP+FhYX/WFhY/1JPT/9SUFD/UlBQ/1JQ - UP9SUFD/UU9P/1JQUP9PTU3/bWtr/9jX1//+/v7//v7+//////////////////3///////////////// - //////////////////////////////////////////////////////////////////////////////// - ///////////////////+/v7//////////////////////////////////v////7+/v/+/v7//v7+//7+ - /v/19fX/pqam/1VUVP9RT0//UlBQ/1JQUP9SUFD/UU9P/1FPT/9SUFD/UU9P/21ra//Hxsb/4uPj/46O - jv9UUVL/U1FR/1JQUP9SUFD/UlBQ/1FPT/9RT0//U1FR/09NTf9+fHz/3t7e//7+/v/+/v7///////// - //////////////////////////////////////////////////////////////////////////////// - /////////////////////////////////////////v7+//////////////////////////////////7/ - /////////v7+//3+/v/4+fn/tLS0/2BdXf9RT0//UlBQ/1JQUP9RT0//UU9P/1FPT/9SUFD/UU9P/2Bf - X/+8vLz/9vb2//39/f/g4OD/fn19/09NTf9TUVH/UU9P/1FPT/9SUFD/UU9P/1JQUP9SUFD/VFJS/4uK - iv/l5eX//v7+//7+/v////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////////////////////// - ///////////////////+/v7//v7+//7+/v/7/Pz/wsPD/2dmZv9TUFD/UlBQ/1JQUP9SUFD/UU9P/1JQ - UP9SUFD/UlBQ/1JRUf+vr6//9/f3//39/f/9/f3//f39/9ra2v9qamr/T01N/1NRUf9RT0//UlBQ/1JQ - UP9SUFD/UlBQ/1JQUP9XVVX/mJeX/+3t7f/9/f3//v7+///////+/////f////////////////////// - //////////////////////////////////////////////////////////////////////////////// - ///////////////////+/////v////3////+/////v7+//7+/v/8/Pz/0M/P/25tbf9RT0//UlBQ/1FP - T/9RT0//UlBQ/1JQUP9RT0//UlBQ/01NTf+dnZ3/+fn5//7+/v/+/v7//v7+//39/f/9/f3/0dHR/15c - XP9QTk7/U1FR/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UU9P/1hXV/+mpqb/8/Pz//39/f/+/v7//v////7/ - //////////////////////////////////////////////////////////////////////////////// - //////////////////////////////////////////////////////////////7+/v/7+/v/1dXV/3Z1 - df9PTk7/UlBQ/1JQUP9SUFD/UU9P/1FPT/9RT0//VFBQ/1JPUP+Qj4//+Pj4//7+/v///v7///////// - /////////Pz8//z8/P/DwcH/X11d/1FPT/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9QT0//W1pa/7Oz - s//19fX//v7+//7+/v////////////7+/v/+/v7//v7+//////////////////////////////////// - /////////////////////////////////////////////////////////v7+//7+/v////////////7+ - /v/8/Pz/39/f/4SDg/9RT0//UlBQ/1JQUP9SUFD/Uk9Q/1JPT/9RT0//UlBQ/1RQUf+GhIX/5ubm//7+ - /v/9/f3//v7+//7+/v/////////////////9/f3/9vb2/7CwsP9dXFz/UU9P/1JQUP9SUFD/UlBQ/1JQ - UP9SUFD/UlBQ/09NTf9iYWH/wMHB//r6+v/+/v7//v7+///////+/v7//v7+//7+/v/+/v7///////// - //////////////////////////////////////////////////////////////////////////////7+ - /v/+/v7///////7+/v/9/f3/6+vr/5CQkP9TUVH/UlBQ/1FPT/9RT0//UVBQ/1JPT/9ST0//UlBQ/1JQ - UP98e3v/2NjY//z8/P/+/v7//v7+//7+/v/+/v7///7//////////////v7+//39/f/v7+//oaCg/1tZ - Wf9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9SUFD/TkxM/2ppaf/Pz8///v7+//7+/v////////////// - ///+/v7//v7+//////////////////////////////////////////////////////////////////// - /////////v7+//7+/v////////////7+/v/+/v7/9/b2/56env9SUlL/UlBQ/1JQUP9RT0//UU9P/1FQ - UP9RUFD/UlBQ/1FPT/9xcHD/y8rK//n5+f/+/v7//v7+//7+/v///v////7////+//////////////7+ - /v/+/v7//v7+/+bn5/+SkpL/VlRU/1JQUP9SUFD/UU9P/1JQUP9SUFD/UlBQ/1JQUP9OTEz/dHNz/93d - 3f/+/v7//v7+//7+/v/+/v7///////////////////////////////////////////////////////// - //////////////////////////////7+/v/+/v7///////7+/v/+/v7/+/r6/7KwsP9XVlb/UU9P/1JQ - UP9RT0//UlBQ/1JQUP9SUFD/UlBQ/1FQUP9mZWX/vr6+//f29v/9/v7//v7+//7+/v/+/v7//v7+//7+ - ///////////////+/////v///v7+//7+/v/9/f3/4ODg/4SEhP9TUVH/UlBQ/1JQUP9SUFD/UlBQ/1JQ - UP9SUFD/UlBQ/1FPT/+Fg4P/5eXl//39/f/+/v7//v7+//////////////////////////////////// - ///////////////////////////////////////////////////+/v7//v7+//7+/v/+/v7//v7+/7++ - vv9hX1//UU9P/1JQUP9RT0//UU9P/1JQUP9SUFD/UlBQ/1JQUP9ZWVn/sbGx//b29v/+/v7//v7+//7/ - ///9/v7//v7+//7+/v/+//////////39/f/+/v3//v7+///////+/v7//f39//z8/P/b29v/dXNz/09N - Tf9TUVH/UlBQ/1FPT/9SUFD/UlBQ/1JQUP9SUFD/VFNT/5KSkv/t7e3//v7+//7+/v////////////// - //////////////////////////////////////////////////////////////////////////////7+ - /v/9/f3//Pz8/8rKyv9pZ2f/UU9P/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1NRUf9QTk7/oqSk//f4 - +P/+/v7//v7+//7+/v/9/v7//f7+//7+/v/2+/r/1PLn/8vw4f/v+vb//v79//7+/v/+/////v7+//7+ - /v/9/f3//Pz8/9TU1P9jYWH/UE5O/1NRUf9RT0//UlBQ/1JQUP9SUFD/UlBQ/1JQUP9WVlb/oaGh//Pz - 8//+/v7//v7+//7+/v///////////////////////////////////////v7+//7+/v////////////// - //////////////7+/v/9/v7/+vv7/9LR0f9zcXH/UU9P/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQ - UP9OTU3/mJiY//r6+v/+/v7//////////////////P7+//z+/v/w+vb/g9u4/w+7df8Bt27/UM6d/971 - 7P/9/v3//f7+//7+/v////////////39/f/+/v7/ycnJ/1xaWv9QTk7/UlBQ/1JQUP9SUFD/UlBQ/1JQ - UP9SUFD/Uk5P/1lXV/+rrKz/9PT0//z9/f/+/v7////////////////////////////+/v7//v7+//7+ - /v/+/v7//////////////////v7+//7+/v/+/v7/+/v7/9vb2/+BgID/UU9P/1JQUP9SUFD/UlBQ/1JQ - UP9SUFD/UlBQ/1JQUP9RUFD/hYSE//Dw8P/9/f3//v7+//7+/v/+/v7//v7+//3+/v/8/v7/1vPn/yrC - hP8Btmv/Arhv/wi3cf+g48n/+v38//v9/f/+/v7//////////////////f39//v7+/+ysrL/W1pa/1BO - Tv9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9QTk7/YmBg/7u8vP/3+Pj//v7+//////////////////// - /////////v7+//7+/v////////////////////////////7+/v/+/v7//P39/+Tk5P+OjY3/U1FR/1JQ - UP9SUFD/UlBQ/1FPT/9SUFD/UlBQ/1JQUP9SUFD/fXx8/93d3f/9/f3//v7+///////+/v7//v7+//7+ - /v/8/v7//f7+/8nv4P8fv3//AbZt/wK4cf8At27/jd6+//j8+//7/f3///////////////////////7+ - /v/9/f3/9PT0/6alpf9aWFj/UU9P/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1BOTv9ramr/x8jI//r6 - +v/+/v7///////////////////////7+/v/+/v7////////////////////////////+/v7//v7+/+/x - 8f+ZmJj/VlRU/1FPT/9SUFD/UlBQ/1JQUP9RT0//UlBQ/1JQUP9RT0//dXNz/8/Ozv/5+vr//v7+//// - ///////////////////+/v7//P7+//3+/v/J7uH/H79//wG2bf8BuHH/ALdu/47fvv/4/Pv/+/39//// - /////////////////////////v7+//39/f/s7Oz/mZiY/1ZVVf9RT0//UU9P/1FPT/9SUFD/UlBQ/1JQ - UP9SUFD/UE5O/3Nycv/X1tb//v7+//7+/v///////v7+//7+/v/+/v7//v7+//////////////////// - /////////v7+//7+/v+3t7f/VlVV/1JQUP9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQUP9QTk7/a2lp/8PD - w//39/f//f7+//7+/v////////////////////////////3+/v/9/v7/yO7h/x6/f/8Btm3/Abhx/wC3 - bv+O377/+f37//v9/f////////////////////////////7+/v/+/v7//Pz8/+Li4v+Lior/VFJS/1JQ - UP9SUFD/UlBQ/1JQUP9SUFD/UU9P/1JQUP9RTU7/goCA//b29v/+/v7///////7+/v/+/v7///////// - //////////////////////////////7+/v/7+/v/c3Nz/01NTf9TUVH/UlBQ/1JQUP9SUFD/UlBQ/1JQ - UP9RT0//YF5e/7e2tv/29vb//v7+//7+/v/////////////////////////////////8/v7//f7+/8ju - 4f8ev3//Ardu/wG5cf8At27/juC+//n9+//7/f3////////////////////////////+/v7//v7+//7+ - /v/7+/v/2NjY/3p5ef9RUFD/UlBQ/1JQUP9SUFD/UlBQ/1FPT/9SUFD/UU9P/1VTU//Pz8///v7+//3+ - /v/+/v7//v7+////////////////////////////////////////////8/Pz/1tbW/9OTk7/UlBQ/1JQ - UP9SUFD/UlBQ/1JQUP9UUFD/V1ZW/6ioqP/39/f//v7+//7+/v/9/////v////////////////////// - /////////P7+//z+/v/I7uH/Hr9//wG2bf8AuHH/ALdu/47gvv/5/fv/+/39//////////////////// - ///////////////////+/v7//v7+//v7+//R0dH/amlp/1FPT/9SUFD/UlBQ/1JQUP9SUFD/UlBQ/1JQ - UP9PTU3/tLS0//3+/v/8/f3//v7+/////////////////////////////////////////////v7+//r6 - +v9paGj/T01N/1NQUf9SUFD/UlBQ/1JQUP9SUVH/UlJS/52dnf/4+Pj//v7+//7+/v////////////// - //////////////////////////////z+/v/9/v7/yO7h/x6/f/8At2z/ALlw/wC3b/+O4L7/+f37//v9 - /f/////////////////////////////////////////////////9/f3//f39/87Ozv9iYGD/UU9P/1JQ - UP9SUFD/Uk9Q/1JQUP9SUFD/UVFR/8XFxf/+/v7//f39//7+/v////////////////////////////// - //////////////7+/v/+/v7/pKSk/1FOTv9TT1D/UlBQ/1FPT/9SUFD/UU9P/4yMjP/w8PD//v7+//7+ - /v/////////////////////////////////////////////////8/v7//f7+/8fv4P8ev3//AbZt/wG4 - cf8At27/juC+//n9+//7/f3//////////////////v7+//7+/v/+/v7///////////////////////39 - /f/+/v7/vr6+/1pZWf9QT0//UlBQ/1JPUP9ST1D/T01N/25ubv/w8PD//v7+//7+/v////////////// - ///////////////////////////////////+/v7//v7+/+np6f+OjY3/XVxc/1VTU/9UUlL/W1pa/4aH - h//m5ub//v7+//7+/v///////////////////////////////////////////////////////P7+//3+ - /v/J7+D/H79//wG2bv8BuHH/ALdt/47fv//5/fv/+/39//////////////////7+/v/+/v7//v7+//// - ///////////////////+/v7//v7+//z8/P+tra3/ZWRk/1ZUVP9UUlL/V1ZW/3Bvb//Hx8f//v7+//7+ - /v///////////////////////////////////////////////////////v7+//7+/v/9/f3/6Ojo/7m6 - uv+dnZ3/nZyc/7e3t//m5+f//f39//7+/v////////////////////////////////////////////// - //////////////z+/v/9/v7/yO/g/x/Af/8Bt23/Abhx/wC3bf+O377/+f37//v9/f////////////// - ///////////////////+/v7//v7+//////////////////7+/v/+/v7/9fX1/8rJyf+lpaX/mpmZ/6yr - q//V1dX/+/v7//7+/v////////////////////////////////////////////////////////////7+ - /v/+/v7//v7+//7+/v/6+/v/8vLy//Ly8v/6+vr//f39//7+/v////////////////////////////// - ///////////////////////////////////8/v7//f7+/8rw4P8gv3//AbZt/wG4cv8AuG//jd6+//n9 - +//7/f3//////////////////////////////////v7+//7+/v///////////////////////v7+//7+ - /v/8/Pz/9fX1//Hx8f/39/f//Pz8//7+/v////////////////////////////////////////////// - ///////////////////+/v7//v7+//7+/v/+/v7//v7+//39/f/9/f3//f39//7+/v/+/v7///////// - ///////////////////////////////////////////////////+/v7//f7+//3+/v/a9Or/NsWM/wK1 - bP8Ct27/ELt3/67o0f/7/fz//P39//////////////////////////////////////////////////7+ - /v/+/v7//v7+//7+/v/+/v7//f39//39/f/9/f3//f39//7+/v/+/v7//v7+//7+/v////////////// - /////////////////////////////////////////v7+//7+/v////////////7+/v/+/v7//v7+//7+ - /v/+/v7//////////////////v7+//7+/v/+/v7//v7+/////////////////////////////v7+//3+ - /v/+/v7/9vz6/6Xky/8mwIP/ELt5/3bYsv/p+fL//f79//3+/v/+/v7//v7+//////////////////// - ///////////////////+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v/+/v7///////7+ - /v/+/v7///////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== - - - \ No newline at end of file Index: xword/XWord/AddinSettingsFormManager.cs =================================================================== --- xword/XWord/AddinSettingsFormManager.cs (revision 0) +++ xword/XWord/AddinSettingsFormManager.cs (revision 0) @@ -0,0 +1,242 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using XWiki.Clients; +using System.Windows.Forms; +using System.IO; +using System.Threading; +using XWiki; +using XWiki.Logging; +using UICommons; +using UICommons.UIActionsManagement; + +namespace XWord +{ + /// + /// Manages the public events handlers for AddinSettingsForm instances. + /// + public class AddinSettingsFormManager : AbstractAddinSettingsFormActionsManager + { + private AddinSettingsForm addinSettingsForm; + private XOfficeCommonSettings addinSettings; + private XWikiAddIn addin; + private XWikiClientType currentClientType; + + /// + /// Default constructor. + /// + /// A reference to an AddinSettingsForm instance. + public AddinSettingsFormManager(ref AddinSettingsForm addinSettingsForm) + { + this.addinSettingsForm = addinSettingsForm; + this.addinSettings = new XOfficeCommonSettings(); + this.addin = Globals.XWikiAddIn; + this.currentClientType = addin.ClientType; + } + + #region AbstractAddinSettingsFormActionsManager Members + + /// + /// Enqueues all (known/custom) event handlers defined for an AddinSettingsForm instance: + /// OnApply, OnCancel, OnFormLoad, OnOK, OnProtocolChange. + /// + public override void EnqueueAllHandlers() + { + addinSettingsForm.OnApply = this.ActionApply; + addinSettingsForm.OnCancel = this.ActionCancel; + addinSettingsForm.OnFormLoad = this.ActionFormLoad; + addinSettingsForm.OnOK = this.ActionOK; + addinSettingsForm.OnProtocolChange = this.ActionProtocolChanged; + } + + /// + /// Action to perform when OnFormLoad event is raised. + /// + /// Sender object. + /// Event arguments. + protected override void ActionFormLoad(object sender, EventArgs e) + { + addinSettingsForm.LoadingDialogFlag = true; + + if (addin.serverURL == "" || addin.serverURL == null) + { + addinSettingsForm.GroupBox1Text = "Test server settings"; + } + else + { + addinSettingsForm.GroupBox1Text = "Settings"; + addinSettingsForm.ServerURL = addin.serverURL; + addinSettingsForm.UserName = addin.username; + addinSettingsForm.Password = addin.password; + } + addinSettings = new XOfficeCommonSettings(); + addinSettings.PagesRepository = addin.PagesRepository; + addinSettings.DownloadedAttachmentsRepository = addin.DownloadedAttachmentsRepository; + addinSettings.ClientType = addin.ClientType; + addinSettingsForm.TxtPagesRepoText = addin.PagesRepository; + addinSettingsForm.TxtAttachmentsRepoText = addin.DownloadedAttachmentsRepository; + + //init protocol settings + addinSettingsForm.ConnectDictionary.Add(addinSettingsForm.ConnectMethods[0], XWikiClientType.XML_RPC); + addinSettingsForm.ConnectDictionary.Add(addinSettingsForm.ConnectMethods[1], XWikiClientType.HTTP_Client); + addinSettingsForm.ComboProtocolDataSource = addinSettingsForm.ConnectMethods; + switch (addin.ClientType) + { + case XWikiClientType.XML_RPC: + addinSettingsForm.ComboProtocolSelectedIndex = 0; + break; + case XWikiClientType.HTTP_Client: + addinSettingsForm.ComboProtocolSelectedIndex = 1; + break; + } + addinSettingsForm.LoadingDialogFlag = false; + } + + /// + /// Action to perform when OnApply event is raised. + /// + /// Sender object. + /// Event arguments. + protected override void ActionApply(object sender, EventArgs e) + { + if (addinSettingsForm.IsTabConnectionSelected) + { + ApplyConnectionSettings(); + addinSettingsForm.ConnectionSettingsApplied = true; + } + else if (addinSettingsForm.IsTabFileRepositorySelected) + { + ApplyRepositoriesSettings(); + addinSettingsForm.AddinSettingsApplied = true; + } + } + + /// + /// Action to perform when OnOK event is raised. + /// + /// Sender object. + /// Event arguments. + protected override void ActionOK(object sender, EventArgs e) + { + //If settings changes were made or there is no client instance + if (!addinSettingsForm.ConnectionSettingsApplied || (addin.Client == null)) + { + ApplyConnectionSettings(); + } + if (!addinSettingsForm.AddinSettingsApplied) + { + ApplyRepositoriesSettings(); + } + addinSettingsForm.DialogResult = DialogResult.OK; + addinSettingsForm.Close(); + } + + /// + /// Action to perform when OnProtocolChanged event is raised. + /// + /// Sender object. + /// Event arguments. + protected override void ActionProtocolChanged(object sender, EventArgs e) + { + //If user generated event + if (!addinSettingsForm.LoadingDialogFlag) + { + String selectedValue = (String)addinSettingsForm.ComboProtocolSelectedValue; + if (addinSettingsForm.ConnectDictionary.Keys.Contains(selectedValue)) + { + addinSettings.ClientType = addinSettingsForm.ConnectDictionary[selectedValue]; + addin.ClientType = addinSettings.ClientType; + addinSettingsForm.ConnectionSettingsApplied = false; + } + else + { + UserNotifier.StopHand("The selected value is not valid."); + } + } + } + + /// + /// Action to perform when OnCancel event is raised. + /// + /// Sender object. + /// Event arguments. + protected override void ActionCancel(object sender, EventArgs e) + { + //rollback to initial value of addin client type + addin.ClientType = currentClientType; + } + + #endregion AbstractAddinSettingsFormActionsManager + + /// + /// Sets the new connection settings for the addin, + /// connects to the server and refreshes the active wiki explorer. + /// + private void ApplyConnectionSettings() + { + Cursor c = addinSettingsForm.Cursor; + addinSettingsForm.Cursor = Cursors.WaitCursor; + if (addinSettingsForm.ServerURL.EndsWith("/")) + { + addinSettingsForm.ServerURL = addinSettingsForm.ServerURL.Substring(0, addinSettingsForm.ServerURL.Length - 1); + } + addin.serverURL = addinSettingsForm.ServerURL; + addin.username = addinSettingsForm.UserName; + addin.password = addinSettingsForm.Password; + LoginData loginData = new LoginData(); + addin.Client = XWikiClientFactory.CreateXWikiClient(addin.ClientType, + addin.serverURL, addin.username, addin.password); + + if (addinSettingsForm.IsCkRememberMeChecked) + { + String[] credentials = new String[3]; + credentials[0] = Globals.XWikiAddIn.serverURL; + credentials[1] = Globals.XWikiAddIn.username; + credentials[2] = Globals.XWikiAddIn.password; + loginData.WriteCredentials(credentials); + } + else + { + loginData.ClearCredentials(); + } + //Write the settings to isolated storage. + XOfficeCommonSettingsHandler.WriteRepositorySettings(addinSettings); + + addinSettingsForm.Cursor = c; + } + + + /// + /// Sets the pages and attachments repositories. + /// + private void ApplyRepositoriesSettings() + { + Cursor c = addinSettingsForm.Cursor; + addinSettingsForm.Cursor = Cursors.WaitCursor; + if (addinSettingsForm.ValidatePath(addinSettingsForm.TxtPagesRepoText)) + { + addin.PagesRepository = addinSettingsForm.TxtPagesRepoText; + } + else + { + addin.PagesRepository = Path.GetTempPath(); + } + if (addinSettingsForm.ValidatePath(addinSettingsForm.TxtAttachmentsRepoText)) + { + addin.DownloadedAttachmentsRepository = addinSettingsForm.TxtAttachmentsRepoText; + } + else + { + addin.DownloadedAttachmentsRepository = Path.GetTempPath(); + } + XOfficeCommonSettingsHandler.WriteRepositorySettings(addinSettings); + addinSettingsForm.AddinSettingsApplied = true; + Thread.Sleep(500); + addinSettingsForm.Cursor = c; + } + + + + } +} Index: xword/XWord/Properties/Settings.Designer.cs =================================================================== --- xword/XWord/Properties/Settings.Designer.cs (revision 22817) +++ xword/XWord/Properties/Settings.Designer.cs (working copy) @@ -1,37 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:2.0.50727.3074 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace XWord.Properties { - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] - public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default { - get { - return defaultInstance; - } - } - - [global::System.Configuration.ApplicationScopedSettingAttribute()] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("\r\n\r\n XML-RPC\r\n Velocity Services\r\n")] - public global::System.Collections.Specialized.StringCollection ConnectMethods { - get { - return ((global::System.Collections.Specialized.StringCollection)(this["ConnectMethods"])); - } - } - } -} Index: xword/XWord/Properties/Settings.settings =================================================================== --- xword/XWord/Properties/Settings.settings (revision 22817) +++ xword/XWord/Properties/Settings.settings (working copy) @@ -1,13 +0,0 @@ - - - - - - <?xml version="1.0" encoding="utf-16"?> -<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <string>XML-RPC</string> - <string>Velocity Services</string> -</ArrayOfString> - - - \ No newline at end of file Index: xword/XWord/XWikiAddIn.cs =================================================================== --- xword/XWord/XWikiAddIn.cs (revision 22817) +++ xword/XWord/XWikiAddIn.cs (working copy) @@ -36,6 +36,7 @@ using XWiki.Clients; using XWiki; using XWiki.Logging; +using UICommons; namespace XWord { @@ -625,7 +626,9 @@ { if (AddinSettingsForm.IsShown == false) { - new AddinSettingsForm().ShowDialog(); + AddinSettingsForm addinSettingsForm = new AddinSettingsForm(); + new AddinSettingsFormManager(ref addinSettingsForm).EnqueueAllHandlers(); + addinSettingsForm.ShowDialog(); } } Index: xword/XWord/XWikiRibbon.cs =================================================================== --- xword/XWord/XWikiRibbon.cs (revision 22817) +++ xword/XWord/XWikiRibbon.cs (working copy) @@ -111,7 +111,10 @@ private void Show_ConnetionDialog(object sender, RibbonControlEventArgs e) { - DialogResult result = new AddinSettingsForm().ShowDialog(); + AddinSettingsForm addinSettingsForm = new AddinSettingsForm(); + new AddinSettingsFormManager(ref addinSettingsForm).EnqueueAllHandlers(); + + DialogResult result = addinSettingsForm.ShowDialog(); if (result == DialogResult.OK) { //AddTaskPanes(); TODO: Sync all taskpanes Index: xword/XWord/XWord.csproj =================================================================== --- xword/XWord/XWord.csproj (revision 22817) +++ xword/XWord/XWord.csproj (working copy) @@ -209,13 +209,8 @@ AboutXWord.cs + - - Form - - - AddinSettingsForm.cs - Form @@ -231,10 +226,6 @@ AboutXWord.cs Designer - - AddinSettingsForm.cs - Designer - LoadingDialog.cs Designer @@ -257,15 +248,6 @@ Resources.resx True - - PublicSettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True -