From 301b24d324f0bb41de79133fe3792ff432cd1be0 Mon Sep 17 00:00:00 2001 From: Ben Date: Sat, 6 Jun 2015 15:50:20 +0100 Subject: [PATCH] Moved icons to separate ResourceDictionary Changed block tooltip to hide when the block is expanded --- .../TestLootFilterScriptTranslator.cs | 1 - Filtration/App.xaml | 2 +- Filtration/Filtration.csproj | 8 +- Filtration/Properties/AssemblyInfo.cs | 2 +- Filtration/Properties/Resources.Designer.cs | 110 ------------------ Filtration/Properties/Resources.resx | 33 ------ .../Resources/Icons/arrow_bottom_icon.png | Bin 0 -> 2972 bytes .../Resources/Icons/arrow_down_small_icon.png | Bin 221 -> 0 bytes Filtration/Resources/Icons/arrow_top_icon.png | Bin 0 -> 2984 bytes .../Resources/Icons/arrow_up_small_icon.png | Bin 225 -> 0 bytes .../ViewModels/LootFilterBlockViewModel.cs | 18 ++- .../ViewModels/LootFilterScriptViewModel.cs | 19 ++- Filtration/ViewModels/MainWindowViewModel.cs | 12 ++ Filtration/Views/IconsDictionary.xaml | 18 +++ Filtration/Views/LootFilterBlockView.xaml | 18 +-- Filtration/Views/LootFilterScriptView.xaml | 27 ++--- Filtration/Views/MainWindow.xaml | 20 +--- 17 files changed, 87 insertions(+), 201 deletions(-) create mode 100644 Filtration/Resources/Icons/arrow_bottom_icon.png delete mode 100644 Filtration/Resources/Icons/arrow_down_small_icon.png create mode 100644 Filtration/Resources/Icons/arrow_top_icon.png delete mode 100644 Filtration/Resources/Icons/arrow_up_small_icon.png create mode 100644 Filtration/Views/IconsDictionary.xaml diff --git a/Filtration.Tests/Translators/TestLootFilterScriptTranslator.cs b/Filtration.Tests/Translators/TestLootFilterScriptTranslator.cs index d8bf7dd..beef40f 100644 --- a/Filtration.Tests/Translators/TestLootFilterScriptTranslator.cs +++ b/Filtration.Tests/Translators/TestLootFilterScriptTranslator.cs @@ -3,7 +3,6 @@ using System.IO; using System.Linq; using Filtration.Enums; using Filtration.Models; -using Filtration.Models.BlockItemBaseTypes; using Filtration.Models.BlockItemTypes; using Filtration.Translators; using Moq; diff --git a/Filtration/App.xaml b/Filtration/App.xaml index d5b0159..ad4d7cf 100644 --- a/Filtration/App.xaml +++ b/Filtration/App.xaml @@ -1,7 +1,6 @@ @@ -12,6 +11,7 @@ + diff --git a/Filtration/Filtration.csproj b/Filtration/Filtration.csproj index e298fff..e532b05 100644 --- a/Filtration/Filtration.csproj +++ b/Filtration/Filtration.csproj @@ -179,6 +179,10 @@ Designer MSBuild:Compile + + Designer + MSBuild:Compile + Designer MSBuild:Compile @@ -263,11 +267,11 @@ - - + + Always diff --git a/Filtration/Properties/AssemblyInfo.cs b/Filtration/Properties/AssemblyInfo.cs index bb7b74d..2b7b2d1 100644 --- a/Filtration/Properties/AssemblyInfo.cs +++ b/Filtration/Properties/AssemblyInfo.cs @@ -50,7 +50,7 @@ using System.Windows; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("0.1.*")] [assembly: InternalsVisibleTo("Filtration.Tests")] [assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] \ No newline at end of file diff --git a/Filtration/Properties/Resources.Designer.cs b/Filtration/Properties/Resources.Designer.cs index a5b8c53..63336cf 100644 --- a/Filtration/Properties/Resources.Designer.cs +++ b/Filtration/Properties/Resources.Designer.cs @@ -60,26 +60,6 @@ namespace Filtration.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap add_block_icon { - get { - object obj = ResourceManager.GetObject("add_block_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap add_section_icon { - get { - object obj = ResourceManager.GetObject("add_section_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.IO.UnmanagedMemoryStream similar to System.IO.MemoryStream. /// @@ -161,26 +141,6 @@ namespace Filtration.Properties { } } - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap copy_icon { - get { - object obj = ResourceManager.GetObject("copy_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap delete_icon { - get { - object obj = ResourceManager.GetObject("delete_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - /// /// Looks up a localized resource of type System.Byte[]. /// @@ -200,75 +160,5 @@ namespace Filtration.Properties { return ((System.Drawing.Bitmap)(obj)); } } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap new_icon { - get { - object obj = ResourceManager.GetObject("new_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap open_icon { - get { - object obj = ResourceManager.GetObject("open_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap paste_icon { - get { - object obj = ResourceManager.GetObject("paste_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap play_icon { - get { - object obj = ResourceManager.GetObject("play_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap save_all_icon { - get { - object obj = ResourceManager.GetObject("save_all_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap save_icon { - get { - object obj = ResourceManager.GetObject("save_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap speaker_icon { - get { - object obj = ResourceManager.GetObject("speaker_icon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } } } diff --git a/Filtration/Properties/Resources.resx b/Filtration/Properties/Resources.resx index f36472f..4f30e8e 100644 --- a/Filtration/Properties/Resources.resx +++ b/Filtration/Properties/Resources.resx @@ -118,12 +118,6 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\Icons\add_block_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\add_section_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\AlertSounds\AlertSound1.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 @@ -151,37 +145,10 @@ ..\Resources\AlertSounds\AlertSound9.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - ..\Resources\Icons\copy_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\delete_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\Fontin-SmallCaps.ttf;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 ..\Resources\groundtile.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Icons\new_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\open_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\paste_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\play_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\save_all_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\save_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Icons\speaker_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - \ No newline at end of file diff --git a/Filtration/Resources/Icons/arrow_bottom_icon.png b/Filtration/Resources/Icons/arrow_bottom_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5a1e972d16278f97022295b1826cedeae2a31d81 GIT binary patch literal 2972 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 Q2Iw>fPgg&ebxsLQ03xtZmH+?% diff --git a/Filtration/Resources/Icons/arrow_top_icon.png b/Filtration/Resources/Icons/arrow_top_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4ae59e81554aa02847675426950d7c740832da14 GIT binary patch literal 2984 zcmV;Z3s>}sP)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0002fNklM=r3!8NZ;Ub7A;}j248t&MzfNlOW*o<_uCwpE$<)%)nMq2FQDTfjQqpZorZ3gcz-d_) zY}odITe@4A5PkL;E*|=&Hkn}4}-cMyz%;@cc(ghUa=czjuQ7YgFSkR z;Ts%!0vY#+eqv%Vh-9>p(BHt2_{a1b?_$=gb~2ZzhemB^Iccmfz4cnl%fI_SGW)*v W*t}%(CRd>I7(8A5T-G@yGywqIhE&@C diff --git a/Filtration/ViewModels/LootFilterBlockViewModel.cs b/Filtration/ViewModels/LootFilterBlockViewModel.cs index f5c2fd1..8c96ece 100644 --- a/Filtration/ViewModels/LootFilterBlockViewModel.cs +++ b/Filtration/ViewModels/LootFilterBlockViewModel.cs @@ -22,16 +22,14 @@ namespace Filtration.ViewModels internal class LootFilterBlockViewModel : FiltrationViewModelBase, ILootFilterBlockViewModel { - private readonly ILootFilterBlockTranslator _translator; private readonly IStaticDataService _staticDataService; private readonly MediaPlayer _mediaPlayer = new MediaPlayer(); private LootFilterScriptViewModel _parentScriptViewModel; private bool _displaySettingsPopupOpen; - public LootFilterBlockViewModel(ILootFilterBlockTranslator translator, IStaticDataService staticDataService) + public LootFilterBlockViewModel(IStaticDataService staticDataService) { - _translator = translator; _staticDataService = staticDataService; CopyBlockCommand = new RelayCommand(OnCopyBlockCommand); PasteBlockCommand = new RelayCommand(OnPasteBlockCommand); @@ -40,6 +38,8 @@ namespace Filtration.ViewModels DeleteBlockCommand = new RelayCommand(OnDeleteBlockCommand); MoveBlockUpCommand = new RelayCommand(OnMoveBlockUpCommand); MoveBlockDownCommand = new RelayCommand(OnMoveBlockDownCommand); + MoveBlockToTopCommand = new RelayCommand(OnMoveBlockToTopCommand); + MoveBlockToBottomCommand = new RelayCommand(OnMoveBlockToBottomCommand); AddFilterBlockItemCommand = new RelayCommand(OnAddFilterBlockItemCommand); AddAudioVisualBlockItemCommand = new RelayCommand(OnAddAudioVisualBlockItemCommand); RemoveFilterBlockItemCommand = new RelayCommand(OnRemoveFilterBlockItemCommand); @@ -72,6 +72,8 @@ namespace Filtration.ViewModels public RelayCommand DeleteBlockCommand { get; private set; } public RelayCommand MoveBlockUpCommand { get; private set; } public RelayCommand MoveBlockDownCommand { get; private set; } + public RelayCommand MoveBlockToTopCommand { get; private set; } + public RelayCommand MoveBlockToBottomCommand { get; private set; } public RelayCommand AddFilterBlockItemCommand { get; private set; } public RelayCommand AddAudioVisualBlockItemCommand { get; private set; } public RelayCommand RemoveFilterBlockItemCommand { get; private set; } @@ -308,6 +310,16 @@ namespace Filtration.ViewModels { _parentScriptViewModel.MoveBlockDown(this); } + + private void OnMoveBlockToTopCommand() + { + _parentScriptViewModel.MoveBlockToTop(this); + } + + private void OnMoveBlockToBottomCommand() + { + _parentScriptViewModel.MoveBlockToBottom(this); + } private bool AddBlockItemAllowed(Type type) { diff --git a/Filtration/ViewModels/LootFilterScriptViewModel.cs b/Filtration/ViewModels/LootFilterScriptViewModel.cs index e08f59b..f6992b7 100644 --- a/Filtration/ViewModels/LootFilterScriptViewModel.cs +++ b/Filtration/ViewModels/LootFilterScriptViewModel.cs @@ -187,11 +187,17 @@ namespace Filtration.ViewModels private void OnMoveBlockToTopCommand() { - var currentIndex = LootFilterBlockViewModels.IndexOf(SelectedBlockViewModel); + MoveBlockToTop(SelectedBlockViewModel); + + } + + public void MoveBlockToTop(ILootFilterBlockViewModel targetBlockViewModel) + { + var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel); if (currentIndex > 0) { - var block = SelectedBlockViewModel.Block; + var block = targetBlockViewModel.Block; Script.LootFilterBlocks.Remove(block); Script.LootFilterBlocks.Insert(0, block); LootFilterBlockViewModels.Move(currentIndex, 0); @@ -244,11 +250,16 @@ namespace Filtration.ViewModels private void OnMoveBlockToBottomCommand() { - var currentIndex = LootFilterBlockViewModels.IndexOf(SelectedBlockViewModel); + MoveBlockToBottom(SelectedBlockViewModel); + } + + public void MoveBlockToBottom(ILootFilterBlockViewModel targetBlockViewModel) + { + var currentIndex = LootFilterBlockViewModels.IndexOf(targetBlockViewModel); if (currentIndex < LootFilterBlockViewModels.Count - 1) { - var block = SelectedBlockViewModel.Block; + var block = targetBlockViewModel.Block; Script.LootFilterBlocks.Remove(block); Script.LootFilterBlocks.Add(block); LootFilterBlockViewModels.Move(currentIndex, LootFilterBlockViewModels.Count - 1); diff --git a/Filtration/ViewModels/MainWindowViewModel.cs b/Filtration/ViewModels/MainWindowViewModel.cs index 0ab2008..c692cc6 100644 --- a/Filtration/ViewModels/MainWindowViewModel.cs +++ b/Filtration/ViewModels/MainWindowViewModel.cs @@ -1,5 +1,7 @@ using System; using System.Collections.ObjectModel; +using System.Diagnostics; +using System.Reflection; using System.Windows.Forms; using Castle.Core; using Filtration.Models; @@ -63,6 +65,16 @@ namespace Filtration.ViewModels get { return _scriptViewModels; } } + public string WindowTitle + { + get + { + var assembly = Assembly.GetExecutingAssembly(); + var fvi = FileVersionInfo.GetVersionInfo(assembly.Location); + return "Filtration v" + fvi.FileMajorPart + "." + fvi.FileMinorPart; + } + } + [DoNotWire] public ILootFilterScriptViewModel CurrentScriptViewModel { diff --git a/Filtration/Views/IconsDictionary.xaml b/Filtration/Views/IconsDictionary.xaml new file mode 100644 index 0000000..fc094af --- /dev/null +++ b/Filtration/Views/IconsDictionary.xaml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Filtration/Views/LootFilterBlockView.xaml b/Filtration/Views/LootFilterBlockView.xaml index 1b60f66..300157f 100644 --- a/Filtration/Views/LootFilterBlockView.xaml +++ b/Filtration/Views/LootFilterBlockView.xaml @@ -35,21 +35,23 @@ - + - - + + - - + + - + - - + + + + diff --git a/Filtration/Views/LootFilterScriptView.xaml b/Filtration/Views/LootFilterScriptView.xaml index 29a7d7a..544e26e 100644 --- a/Filtration/Views/LootFilterScriptView.xaml +++ b/Filtration/Views/LootFilterScriptView.xaml @@ -6,7 +6,6 @@ xmlns:views="clr-namespace:Filtration.Views" xmlns:viewModels="clr-namespace:Filtration.ViewModels" xmlns:userControls="clr-namespace:Filtration.UserControls" - xmlns:fa="http://schemas.fontawesome.io/icons/" mc:Ignorable="d" d:DataContext="{d:DesignInstance Type=viewModels:LootFilterScriptViewModel}" d:DesignHeight="300" d:DesignWidth="600"> @@ -43,30 +42,21 @@ - - -