Index: /extensions/PiwigoLib/PiwigoLib/DTO/PwgAlbum.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/DTO/PwgAlbum.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoLib/DTO/PwgAlbum.cs	(revision 12336)
@@ -0,0 +1,21 @@
+﻿using System;
+using System.Collections.Generic;
+
+
+namespace Com.Piwigo.Lib.DTO
+{
+
+    public class PwgAlbum
+    {
+        public static Int32 RootAlbumId = 0;
+
+        public Int32        Id { get; set; }
+        public List<Int32>  UpperAlbumsId { get; set; }
+        public String       Name { get; set; }
+        public Uri          Url { get; set; }
+        public Int64        ImagesCount { get; set; }
+        public Int64        DeepImagesCount { get; set; }
+        public Int64        SubAlbumsCount { get; set; }
+        public DateTime     LastDate { get; set; }
+    }
+}
Index: /extensions/PiwigoLib/PiwigoLib/DTO/PwgAlbumPhotoDeletionModeEnum.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/DTO/PwgAlbumPhotoDeletionModeEnum.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoLib/DTO/PwgAlbumPhotoDeletionModeEnum.cs	(revision 12336)
@@ -0,0 +1,21 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Xml.Serialization;
+
+
+namespace Com.Piwigo.Lib.DTO
+{
+    [Serializable()]
+    [XmlRoot(ElementName = "PwgSessionStatusEnum")]
+    public enum PwgAlbumPhotoDeletionModeEnum : int
+    {
+        [XmlEnum("unknow")]
+        Unknow = 0,
+        [XmlEnum("none")]
+        None = 1,
+        [XmlEnum("orphan-only")]
+        OrphansOnly = 2,
+        [XmlEnum("all")]
+        all = 3
+    }
+}
Index: tensions/PiwigoLib/PiwigoLib/DTO/PwgCategory.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/DTO/PwgCategory.cs	(revision 12335)
+++ 	(revision )
@@ -1,21 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-
-
-namespace Com.Piwigo.Lib.DTO
-{
-
-    public class PwgCategory
-    {
-        public static Int32 RootCategoryId = 0;
-
-        public Int32        Id { get; set; }
-        public List<Int32>  UpperCategoriesId { get; set; }
-        public String       Name { get; set; }
-        public Uri          Url { get; set; }
-        public Int64        ImagesCount { get; set; }
-        public Int64        DeepImagesCount { get; set; }
-        public Int64        SubCategoriesCount { get; set; }
-        public DateTime     LastDate { get; set; }
-    }
-}
Index: tensions/PiwigoLib/PiwigoLib/DTO/PwgCategoryPhotoDeletionModeEnum.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/DTO/PwgCategoryPhotoDeletionModeEnum.cs	(revision 12335)
+++ 	(revision )
@@ -1,21 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using System.Xml.Serialization;
-
-
-namespace Com.Piwigo.Lib.DTO
-{
-    [Serializable()]
-    [XmlRoot(ElementName = "PwgSessionStatusEnum")]
-    public enum PwgCategoryPhotoDeletionModeEnum : int
-    {
-        [XmlEnum("unknow")]
-        Unknow = 0,
-        [XmlEnum("none")]
-        None = 1,
-        [XmlEnum("orphan-only")]
-        OrphansOnly = 2,
-        [XmlEnum("all")]
-        all = 3
-    }
-}
Index: /extensions/PiwigoLib/PiwigoLib/DTO/PwgImage.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/DTO/PwgImage.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoLib/DTO/PwgImage.cs	(revision 12336)
@@ -21,5 +21,5 @@
         public List<PwgTag> Tags { get; set; }
 
-        public List<PwgCategory> Categories { get; set; }
+        public List<PwgAlbum> Albums { get; set; }
     }
 
Index: /extensions/PiwigoLib/PiwigoLib/IService/IPwgAlbumsService.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/IService/IPwgAlbumsService.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoLib/IService/IPwgAlbumsService.cs	(revision 12336)
@@ -0,0 +1,14 @@
+﻿using System;
+namespace Com.Piwigo.Lib.IService
+{
+    public interface IPwgAlbumsService
+    {
+        Boolean AddAlbum(String AlbumName, Int32? upperCatId, ref Int32 newId, ref String messageInfo);
+        System.Collections.Generic.List<Com.Piwigo.Lib.DTO.PwgAlbum> GetAdminListOfAlbum();
+        System.Collections.Generic.List<Com.Piwigo.Lib.DTO.PwgAlbum> GetListOfAlbum(Int32? CatgeroryId, Boolean? Recursive, Boolean? PublicOnly);
+        System.Collections.Generic.List<Com.Piwigo.Lib.DTO.PwgImage> GetListOfImagesFormAlbum(Int32 AlbumId, Boolean? recursive, Int32? perPage, Int32? Page, Int32? Order, Int32? minRate, Int32? maxRate, Int32? minHit, Int32? maxHit, DateTime? minDateAvailable, DateTime? maxDateAvailable, DateTime? minDateCreated, DateTime? maxDateCreated, Int32? minRatio, Int32? maxRatio, Boolean? withThumbnail, ref Int32 PageReturned, ref Int32 PerPageeReturned, ref Int32 CountReturned);
+        Boolean UpdateAlbumInfo(Int32 IdCat, String AlbumName, String AlbumComment);
+        Boolean DeleteAlbum(Int32 AlbumId, String SecurityToken, Com.Piwigo.Lib.DTO.PwgAlbumPhotoDeletionModeEnum PhotoDeletionMode);
+        Boolean MoveAlbum(System.Collections.Generic.List<Int32> AlbumsId, Int32 parentAlbumId, String SecurityToken);
+    }
+}
Index: tensions/PiwigoLib/PiwigoLib/IService/IPwgCategoriesService.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/IService/IPwgCategoriesService.cs	(revision 12335)
+++ 	(revision )
@@ -1,14 +1,0 @@
-﻿using System;
-namespace Com.Piwigo.Lib.IService
-{
-    public interface IPwgCategoriesService
-    {
-        Boolean AddCategory(String categoryName, Int32? upperCatId, ref Int32 newId, ref String messageInfo);
-        System.Collections.Generic.List<Com.Piwigo.Lib.DTO.PwgCategory> GetAdminListOfCategory();
-        System.Collections.Generic.List<Com.Piwigo.Lib.DTO.PwgCategory> GetListOfCategory(Int32? CatgeroryId, Boolean? Recursive, Boolean? PublicOnly);
-        System.Collections.Generic.List<Com.Piwigo.Lib.DTO.PwgImage> GetListOfImagesFormCategory(Int32 categoryId, Boolean? recursive, Int32? perPage, Int32? Page, Int32? Order, Int32? minRate, Int32? maxRate, Int32? minHit, Int32? maxHit, DateTime? minDateAvailable, DateTime? maxDateAvailable, DateTime? minDateCreated, DateTime? maxDateCreated, Int32? minRatio, Int32? maxRatio, Boolean? withThumbnail, ref Int32 PageReturned, ref Int32 PerPageeReturned, ref Int32 CountReturned);
-        Boolean UpdateCategoryInfo(Int32 IdCat, String categoryName, String categoryComment);
-        Boolean DeleteCategory(Int32 categoryId, String SecurityToken, Com.Piwigo.Lib.DTO.PwgCategoryPhotoDeletionModeEnum PhotoDeletionMode);
-        Boolean MoveCategory(System.Collections.Generic.List<Int32> categoriesId, Int32 parentCategoryId, String SecurityToken);
-    }
-}
Index: /extensions/PiwigoLib/PiwigoLib/IService/IPwgImagesService.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/IService/IPwgImagesService.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoLib/IService/IPwgImagesService.cs	(revision 12336)
@@ -6,9 +6,9 @@
     {
         Com.Piwigo.Lib.DTO.PwgImageRate RateImage(Int32 imageId, Int32 imageRate);
-        Com.Piwigo.Lib.DTO.PwgImageAdded addImageByMultiPartForm(System.IO.FileInfo fileImage, Int32? imageId, Int32? categoryId, String imageName, String imageAuthor, String imageComment, Int32? imageLevel, System.Collections.Generic.List<Com.Piwigo.Lib.DTO.PwgTag> imageTags);
+        Com.Piwigo.Lib.DTO.PwgImageAdded addImageByMultiPartForm(System.IO.FileInfo fileImage, Int32? imageId, Int32? AlbumId, String imageName, String imageAuthor, String imageComment, Com.Piwigo.Lib.DTO.PwgConfidentLevelEnum? imageLevel, System.Collections.Generic.List<Com.Piwigo.Lib.DTO.PwgTag> imageTags);
         Boolean DeleteImage(Int32 imageId, String SecurityToken);
         Com.Piwigo.Lib.DTO.PwgImageInfo getImageInfo(Int32 imageId, Int32? commentPage, Int32? commentsPerPage);
         Boolean addImage(System.IO.FileInfo highResFile, System.IO.FileInfo lowResFile, System.IO.FileInfo thumbFile, String imageName, String imageAuthor, DateTime creationDate,
-            String authorComment, System.Collections.Generic.List<String> lstCategories, System.Collections.Generic.List<String> lstTags, Com.Piwigo.Lib.DTO.PwgConfidentLevelEnum? confidentLevel);
+            String authorComment, System.Collections.Generic.List<String> lstAlbums, System.Collections.Generic.List<String> lstTags, Com.Piwigo.Lib.DTO.PwgConfidentLevelEnum? confidentLevel);
     }
 }
Index: /extensions/PiwigoLib/PiwigoLib/IService/PwgServiceProvider.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/IService/PwgServiceProvider.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoLib/IService/PwgServiceProvider.cs	(revision 12336)
@@ -27,14 +27,14 @@
             public class PwgServiceProviderBase
             {
-                private IPwgCategoriesService _pwgCategoriesService;
-                public IPwgCategoriesService PwgCategoriesService
+                private IPwgAlbumsService _pwgAlbumsService;
+                public IPwgAlbumsService PwgAlbumsService
                 {
                     get
                     {
-                        if (_pwgCategoriesService == null)
+                        if (_pwgAlbumsService == null)
                         {
-                            _pwgCategoriesService = new PwgCategoriesService();
+                            _pwgAlbumsService = new PwgAlbumsService();
                         }
-                        return _pwgCategoriesService;
+                        return _pwgAlbumsService;
                     }
                 }
Index: /extensions/PiwigoLib/PiwigoLib/PiwigoLib.csproj
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/PiwigoLib.csproj	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoLib/PiwigoLib.csproj	(revision 12336)
@@ -51,8 +51,8 @@
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="DTO\PwgCategory.cs" />
+    <Compile Include="DTO\PwgAlbum.cs" />
     <Compile Include="DTO\PwgConfidentLevelEnum.cs" />
     <Compile Include="DTO\PwgFileTypeEnum.cs" />
-    <Compile Include="DTO\PwgCategoryPhotoDeletionModeEnum.cs" />
+    <Compile Include="DTO\PwgAlbumPhotoDeletionModeEnum.cs" />
     <Compile Include="DTO\PwgImage.cs" />
     <Compile Include="DTO\Helper\PwgEnumHelper.cs" />
@@ -63,9 +63,9 @@
     <Compile Include="Proxy\Helper\PwgBase64Helper.cs" />
     <Compile Include="Proxy\PwgImagesProxy.cs" />
-    <Compile Include="Proxy\PwgCategoriesProxy.cs" />
+    <Compile Include="Proxy\PwgAlbumsProxy.cs" />
     <Compile Include="Proxy\Helper\PwgProxyReponseHelper.cs" />
     <Compile Include="Proxy\PwgTagsProxy.cs" />
     <Compile Include="Proxy\Response\PwgAddRequestProxyResponse.cs" />
-    <Compile Include="Proxy\Response\PwgCategoriesProxyResponse.cs" />
+    <Compile Include="Proxy\Response\PwgAlbumProxyResponse.cs" />
     <Compile Include="Proxy\Response\PwgImagesProxyResponse.cs" />
     <Compile Include="Proxy\Response\PwgSessionProxyResponse.cs" />
@@ -77,5 +77,5 @@
     <Compile Include="Proxy\PwgProxyException.cs" />
     <Compile Include="Proxy\PwgSessionProxy.cs" />
-    <Compile Include="IService\IPwgCategoriesService.cs" />
+    <Compile Include="IService\IPwgAlbumsService.cs" />
     <Compile Include="IService\IPwgImagesService.cs" />
     <Compile Include="IService\IPwgSessionService.cs" />
@@ -84,5 +84,5 @@
     <Compile Include="Service\PwgSetupService.cs" />
     <Compile Include="IService\PwgServiceProvider.cs" />
-    <Compile Include="Service\PwgCategoriesService.cs" />
+    <Compile Include="Service\PwgAlbumsService.cs" />
     <Compile Include="Service\PwgImagesService.cs" />
     <Compile Include="Service\PwgTagsService.cs" />
Index: /extensions/PiwigoLib/PiwigoLib/Proxy/PwgAlbumsProxy.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/Proxy/PwgAlbumsProxy.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoLib/Proxy/PwgAlbumsProxy.cs	(revision 12336)
@@ -0,0 +1,273 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Text;
+
+using Com.Piwigo.Lib.DTO;
+using System.Web;
+using Com.Piwigo.Lib.Proxy.Response;
+using Com.Piwigo.Lib.Proxy.Helper;
+
+namespace Com.Piwigo.Lib.Proxy
+{
+    /// <summary>
+    /// pwg.categories.add              pwg_albums_add
+    /// pwg.categories.delete           pwg_albums_delete
+    /// pwg.categories.getAdminList     pwg_albums_getAdminList
+    /// pwg.categories.getImages        pwg_albums_getImages
+    /// pwg.categories.getList          pwg_albums_getList
+    /// pwg.categories.move             pwg_albums_move
+    /// pwg.categories.setInfo          pwg_albums_setInfo
+    /// </summary>
+    static internal class PwgAlbumsProxy
+    {
+        /// <summary>
+        /// pwg.Albums.getList
+        /// </summary>
+        /// <param name="AlbumId"></param>
+        /// <param name="Recursive"></param>
+        /// <param name="PublicOnly"></param>
+        /// <returns></returns>
+        static internal PwgAlbumsProxyResponse pwg_albums_getList(Int32? AlbumId, 
+            Boolean? Recursive, Boolean? PublicOnly)
+        {
+            PwgAlbumsProxyResponse response = null;
+            try
+            {
+                StringBuilder data = new StringBuilder();
+                Boolean firstOcc = true;
+
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(AlbumId, "cat_id", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Boolean>(Recursive, "recursive", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Boolean>(PublicOnly, "public", ref firstOcc, data);
+
+                response = PwgGenericProxy<PwgAlbumsProxyResponse>.Get(
+                                PwgConfigProxy.PwgServeurUri,
+                                "pwg.categories.getList", data.ToString());
+            }
+            catch (Exception ex)
+            {
+                throw new PwgProxyException("pwg_albums_getList", ex);
+            }
+            return response;
+
+        }
+
+        /// <summary>
+        /// pwg.Albums.getAdminList
+        /// </summary>
+        /// <returns></returns>
+        static internal PwgAlbumsProxyResponse pwg_albums_getAdminList()
+        {
+            PwgAlbumsProxyResponse response = null;
+            try
+            {
+                response = PwgGenericProxy<PwgAlbumsProxyResponse>.Get(
+                                PwgConfigProxy.PwgServeurUri,
+                                "pwg.categories.getAdminList", null);
+            }
+            catch (Exception ex)
+            {
+                throw new PwgProxyException("pwg_albums_getAdminList", ex);
+            }
+            return response;
+
+        }
+
+        /// <summary>
+        /// pwg.Albums.add
+        /// </summary>
+        /// <param name="AlbumName"></param>
+        /// <param name="IdUpperCat"></param>
+        /// <returns></returns>
+        static internal PwgAddRequestProxyResponse pwg_albums_add(String AlbumName, Int32? IdUpperCat)
+        {
+            PwgAddRequestProxyResponse response = null;
+            try
+            {
+                StringBuilder data = new StringBuilder();
+                data.Append("method=pwg.categories.add");
+                Boolean firstOcc = false;
+                PwgProxyReponseHelper.buildQueryFromValue<String>(AlbumName, "name", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(IdUpperCat, "parent", ref firstOcc, data);
+
+                response = PwgGenericProxy<PwgAddRequestProxyResponse>.Post(
+                    PwgConfigProxy.PwgServeurUri,
+                    data.ToString());
+            }
+            catch (Exception ex)
+            {
+                throw new PwgProxyException("pwg_albums_add", ex);
+            }
+
+            return response;
+        }
+
+        /// <summary>
+        /// pwg.Albums.setInfo
+        /// </summary>
+        /// <param name="IdCat"></param>
+        /// <param name="AlbumName"></param>
+        /// <param name="AlbumComment"></param>
+        /// <returns></returns>
+        static internal PwgBaseProxyReponse pwg_albums_setInfo(Int32 IdCat, String AlbumName, String AlbumComment)
+        {
+            PwgBaseProxyReponse response = null;
+            try
+            {
+                StringBuilder data = new StringBuilder();
+                data.Append("method=pwg.categories.setInfo");
+                Boolean firstOcc = false;
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(IdCat, "category_id", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<String>(AlbumName, "name", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<String>(AlbumComment, "comment", ref firstOcc, data);
+
+                response = PwgGenericProxy<PwgAddRequestProxyResponse>.Post(
+                    PwgConfigProxy.PwgServeurUri,
+                    data.ToString());
+            }
+            catch (Exception ex)
+            {
+                throw new PwgProxyException("pwg_albums_setInfo", ex);
+            }
+
+            return response;
+        }
+
+        /// <summary>
+        /// pwg.Albums.getImages
+        /// </summary>
+        /// <param name="catId"></param>
+        /// <param name="recursive"></param>
+        /// <param name="perPage"></param>
+        /// <param name="Page"></param>
+        /// <param name="Order"></param>
+        /// <param name="minRate"></param>
+        /// <param name="maxRate"></param>
+        /// <param name="minHit"></param>
+        /// <param name="maxHit"></param>
+        /// <param name="minDateAvailable"></param>
+        /// <param name="maxDateAvailable"></param>
+        /// <param name="minDateCreated"></param>
+        /// <param name="maxDateCreated"></param>
+        /// <param name="minRatio"></param>
+        /// <param name="maxRatio"></param>
+        /// <param name="withThumbnail"></param>
+        /// <returns></returns>
+        static internal PwgImagesProxyResponse pwg_albums_getImages(Int32 catId,
+                                                            Boolean? recursive,
+                                                            Int32? perPage,
+                                                            Int32? Page,
+                                                            Int32? Order,
+                                                            Int32? minRate,
+                                                            Int32? maxRate,
+                                                            Int32? minHit,
+                                                            Int32? maxHit,
+                                                            DateTime? minDateAvailable,
+                                                            DateTime? maxDateAvailable,
+                                                            DateTime? minDateCreated,
+                                                            DateTime? maxDateCreated,
+                                                            Int32? minRatio,
+                                                            Int32? maxRatio,
+                                                            Boolean? withThumbnail)
+        {
+            PwgImagesProxyResponse response = null;
+            try
+            {
+                StringBuilder data = new StringBuilder();
+                Boolean firstOcc = true;
+                data.AppendFormat("method={0}", "pwg.categories.getImages");
+                firstOcc = false;
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(catId, "cat_id", ref firstOcc, data);
+
+                PwgProxyReponseHelper.buildQueryFromValue<Boolean>(recursive, "recursive", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(perPage, "per_page", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(Page, "page", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(Order, "order", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(minRate, "f_min_rate", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(maxRate, "f_max_rate", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(minHit, "f_min_hit", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(maxHit, "f_max_hit", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<DateTime>(minDateAvailable, "f_min_date_available", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<DateTime>(maxDateAvailable, "f_max_date_available", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<DateTime>(minDateCreated, "f_min_date_created", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<DateTime>(maxDateCreated, "f_max_date_created", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(minRatio, "f_min_ratio", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(maxRatio, "f_max_ratio", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Boolean>(withThumbnail, "f_with_thumbnail", ref firstOcc, data);
+
+                response = PwgGenericProxy<PwgImagesProxyResponse>.Post(
+                                PwgConfigProxy.PwgServeurUri,
+                                data.ToString());
+            }
+            catch (Exception ex)
+            {
+                throw new PwgProxyException("pwg_albums_getImages", ex);
+            }
+            return response;
+
+        }
+
+        /// <summary>
+        /// pwg.Albums.delete
+        /// </summary>
+        /// <param name="AlbumsId"></param>
+        /// <param name="SecurityToken"></param>
+        /// <param name="PhotoDeletionMode"></param>
+        /// <returns></returns>
+        static internal PwgBaseProxyReponse pwg_albums_delete(Int32 AlbumId,
+                                                                  String SecurityToken,
+                                                                  PwgAlbumPhotoDeletionModeEnum PhotoDeletionMode)
+        {
+            PwgBaseProxyReponse response = null;
+            try
+            {
+                StringBuilder data = new StringBuilder();
+                Boolean firstOcc = true;
+                data.Append("method=pwg.categories.delete");
+                firstOcc = false;
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(AlbumId, "category_id", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<String>(SecurityToken, "pwg_token", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<PwgAlbumPhotoDeletionModeEnum>(PhotoDeletionMode, "photo_deletion_mode", ref firstOcc, data);
+
+                response = PwgGenericProxy<PwgBaseProxyReponse>.Post(
+                                PwgConfigProxy.PwgServeurUri,
+                                data.ToString());
+            }
+            catch (Exception ex)
+            {
+                throw new PwgProxyException("pwg_albums_delete", ex);
+            }
+
+            return response;
+        }
+
+        static internal PwgBaseProxyReponse pwg_albums_move(List<Int32> AlbumsId,
+                                                                Int32 ParentAlbumId,
+                                                                String SecurityToken)
+        {
+            PwgBaseProxyReponse response = null;
+            try
+            {
+                StringBuilder data = new StringBuilder();
+                Boolean firstOcc = true;
+                data.Append("method=pwg.categories.move");
+                firstOcc = false;
+                PwgProxyReponseHelper.buildQueryFromArray<Int32>(AlbumsId, "category_id", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<Int32>(ParentAlbumId, "parent", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromValue<String>(SecurityToken, "pwg_token", ref firstOcc, data);
+
+                response = PwgGenericProxy<PwgBaseProxyReponse>.Post(
+                                PwgConfigProxy.PwgServeurUri,
+                                data.ToString());
+            }
+            catch (Exception ex)
+            {
+                throw new PwgProxyException("pwg_albums_delete", ex);
+            }
+
+            return response;
+        }
+    }
+
+}
+
Index: tensions/PiwigoLib/PiwigoLib/Proxy/PwgCategoriesProxy.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/Proxy/PwgCategoriesProxy.cs	(revision 12335)
+++ 	(revision )
@@ -1,273 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using System.Text;
-
-using Com.Piwigo.Lib.DTO;
-using System.Web;
-using Com.Piwigo.Lib.Proxy.Response;
-using Com.Piwigo.Lib.Proxy.Helper;
-
-namespace Com.Piwigo.Lib.Proxy
-{
-    /// <summary>
-    /// pwg.categories.add              pwg_categories_add
-    /// pwg.categories.delete           pwg_categories_delete
-    /// pwg.categories.getAdminList     pwg_categories_getAdminList
-    /// pwg.categories.getImages        pwg_categories_getImages
-    /// pwg.categories.getList          pwg_categories_getList
-    /// pwg.categories.move             pwg_categories_move
-    /// pwg.categories.setInfo          pwg_categories_setInfo
-    /// </summary>
-    static internal class PwgCategoriesProxy
-    {
-        /// <summary>
-        /// pwg.categories.getList
-        /// </summary>
-        /// <param name="CategoryId"></param>
-        /// <param name="Recursive"></param>
-        /// <param name="PublicOnly"></param>
-        /// <returns></returns>
-        static internal PwgCategoriesProxyResponse pwg_categories_getList(Int32? CategoryId, 
-            Boolean? Recursive, Boolean? PublicOnly)
-        {
-            PwgCategoriesProxyResponse response = null;
-            try
-            {
-                StringBuilder data = new StringBuilder();
-                Boolean firstOcc = true;
-
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(CategoryId, "cat_id", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Boolean>(Recursive, "recursive", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Boolean>(PublicOnly, "public", ref firstOcc, data);
-
-                response = PwgGenericProxy<PwgCategoriesProxyResponse>.Get(
-                                PwgConfigProxy.PwgServeurUri,
-                                "pwg.categories.getList", data.ToString());
-            }
-            catch (Exception ex)
-            {
-                throw new PwgProxyException("pwg_categories_getList", ex);
-            }
-            return response;
-
-        }
-
-        /// <summary>
-        /// pwg.categories.getAdminList
-        /// </summary>
-        /// <returns></returns>
-        static internal PwgCategoriesProxyResponse pwg_categories_getAdminList()
-        {
-            PwgCategoriesProxyResponse response = null;
-            try
-            {
-                response = PwgGenericProxy<PwgCategoriesProxyResponse>.Get(
-                                PwgConfigProxy.PwgServeurUri,
-                                "pwg.categories.getAdminList", null);
-            }
-            catch (Exception ex)
-            {
-                throw new PwgProxyException("pwg_categories_getAdminList", ex);
-            }
-            return response;
-
-        }
-
-        /// <summary>
-        /// pwg.categories.add
-        /// </summary>
-        /// <param name="categorieName"></param>
-        /// <param name="IdUpperCat"></param>
-        /// <returns></returns>
-        static internal PwgAddRequestProxyResponse pwg_categories_add(String categorieName, Int32? IdUpperCat)
-        {
-            PwgAddRequestProxyResponse response = null;
-            try
-            {
-                StringBuilder data = new StringBuilder();
-                data.Append("method=pwg.categories.add");
-                Boolean firstOcc = false;
-                PwgProxyReponseHelper.buildQueryFromValue<String>(categorieName, "name", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(IdUpperCat, "parent", ref firstOcc, data);
-
-                response = PwgGenericProxy<PwgAddRequestProxyResponse>.Post(
-                    PwgConfigProxy.PwgServeurUri,
-                    data.ToString());
-            }
-            catch (Exception ex)
-            {
-                throw new PwgProxyException("pwg_categories_add", ex);
-            }
-
-            return response;
-        }
-
-        /// <summary>
-        /// pwg.categories.setInfo
-        /// </summary>
-        /// <param name="IdCat"></param>
-        /// <param name="categorieName"></param>
-        /// <param name="categorieComment"></param>
-        /// <returns></returns>
-        static internal PwgBaseProxyReponse pwg_categories_setInfo(Int32 IdCat, String categorieName, String categorieComment)
-        {
-            PwgBaseProxyReponse response = null;
-            try
-            {
-                StringBuilder data = new StringBuilder();
-                data.Append("method=pwg.categories.setInfo");
-                Boolean firstOcc = false;
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(IdCat, "category_id", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<String>(categorieName, "name", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<String>(categorieComment, "comment", ref firstOcc, data);
-
-                response = PwgGenericProxy<PwgAddRequestProxyResponse>.Post(
-                    PwgConfigProxy.PwgServeurUri,
-                    data.ToString());
-            }
-            catch (Exception ex)
-            {
-                throw new PwgProxyException("pwg_categories_setInfo", ex);
-            }
-
-            return response;
-        }
-
-        /// <summary>
-        /// pwg.categories.getImages
-        /// </summary>
-        /// <param name="catId"></param>
-        /// <param name="recursive"></param>
-        /// <param name="perPage"></param>
-        /// <param name="Page"></param>
-        /// <param name="Order"></param>
-        /// <param name="minRate"></param>
-        /// <param name="maxRate"></param>
-        /// <param name="minHit"></param>
-        /// <param name="maxHit"></param>
-        /// <param name="minDateAvailable"></param>
-        /// <param name="maxDateAvailable"></param>
-        /// <param name="minDateCreated"></param>
-        /// <param name="maxDateCreated"></param>
-        /// <param name="minRatio"></param>
-        /// <param name="maxRatio"></param>
-        /// <param name="withThumbnail"></param>
-        /// <returns></returns>
-        static internal PwgImagesProxyResponse pwg_categories_getImages(Int32 catId,
-                                                            Boolean? recursive,
-                                                            Int32? perPage,
-                                                            Int32? Page,
-                                                            Int32? Order,
-                                                            Int32? minRate,
-                                                            Int32? maxRate,
-                                                            Int32? minHit,
-                                                            Int32? maxHit,
-                                                            DateTime? minDateAvailable,
-                                                            DateTime? maxDateAvailable,
-                                                            DateTime? minDateCreated,
-                                                            DateTime? maxDateCreated,
-                                                            Int32? minRatio,
-                                                            Int32? maxRatio,
-                                                            Boolean? withThumbnail)
-        {
-            PwgImagesProxyResponse response = null;
-            try
-            {
-                StringBuilder data = new StringBuilder();
-                Boolean firstOcc = true;
-                data.AppendFormat("method={0}", "pwg.categories.getImages");
-                firstOcc = false;
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(catId, "cat_id", ref firstOcc, data);
-
-                PwgProxyReponseHelper.buildQueryFromValue<Boolean>(recursive, "recursive", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(perPage, "per_page", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(Page, "page", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(Order, "order", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(minRate, "f_min_rate", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(maxRate, "f_max_rate", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(minHit, "f_min_hit", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(maxHit, "f_max_hit", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<DateTime>(minDateAvailable, "f_min_date_available", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<DateTime>(maxDateAvailable, "f_max_date_available", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<DateTime>(minDateCreated, "f_min_date_created", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<DateTime>(maxDateCreated, "f_max_date_created", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(minRatio, "f_min_ratio", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(maxRatio, "f_max_ratio", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Boolean>(withThumbnail, "f_with_thumbnail", ref firstOcc, data);
-
-                response = PwgGenericProxy<PwgImagesProxyResponse>.Post(
-                                PwgConfigProxy.PwgServeurUri,
-                                data.ToString());
-            }
-            catch (Exception ex)
-            {
-                throw new PwgProxyException("pwg_categories_getImages", ex);
-            }
-            return response;
-
-        }
-
-        /// <summary>
-        /// pwg.categories.delete
-        /// </summary>
-        /// <param name="CategorysId"></param>
-        /// <param name="SecurityToken"></param>
-        /// <param name="PhotoDeletionMode"></param>
-        /// <returns></returns>
-        static internal PwgBaseProxyReponse pwg_categories_delete(Int32 CategoryId,
-                                                                  String SecurityToken,
-                                                                  PwgCategoryPhotoDeletionModeEnum PhotoDeletionMode)
-        {
-            PwgBaseProxyReponse response = null;
-            try
-            {
-                StringBuilder data = new StringBuilder();
-                Boolean firstOcc = true;
-                data.Append("method=pwg.categories.delete");
-                firstOcc = false;
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(CategoryId, "category_id", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<String>(SecurityToken, "pwg_token", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<PwgCategoryPhotoDeletionModeEnum>(PhotoDeletionMode, "photo_deletion_mode", ref firstOcc, data);
-
-                response = PwgGenericProxy<PwgBaseProxyReponse>.Post(
-                                PwgConfigProxy.PwgServeurUri,
-                                data.ToString());
-            }
-            catch (Exception ex)
-            {
-                throw new PwgProxyException("pwg_categories_delete", ex);
-            }
-
-            return response;
-        }
-
-        static internal PwgBaseProxyReponse pwg_categories_move(List<Int32> CategoriesId,
-                                                                Int32 ParentCategoryId,
-                                                                String SecurityToken)
-        {
-            PwgBaseProxyReponse response = null;
-            try
-            {
-                StringBuilder data = new StringBuilder();
-                Boolean firstOcc = true;
-                data.Append("method=pwg.categories.move");
-                firstOcc = false;
-                PwgProxyReponseHelper.buildQueryFromArray<Int32>(CategoriesId, "category_id", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<Int32>(ParentCategoryId, "parent", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromValue<String>(SecurityToken, "pwg_token", ref firstOcc, data);
-
-                response = PwgGenericProxy<PwgBaseProxyReponse>.Post(
-                                PwgConfigProxy.PwgServeurUri,
-                                data.ToString());
-            }
-            catch (Exception ex)
-            {
-                throw new PwgProxyException("pwg_categories_delete", ex);
-            }
-
-            return response;
-        }
-    }
-
-}
-
Index: /extensions/PiwigoLib/PiwigoLib/Proxy/PwgImagesProxy.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/Proxy/PwgImagesProxy.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoLib/Proxy/PwgImagesProxy.cs	(revision 12336)
@@ -34,5 +34,5 @@
         static internal PwgBaseProxyReponse pwg_images_add(String fileMd5sum, String thunbMd5sum, String HighresMd5sum, 
             String imageMd5sum,  String imageFilename, String imageName, String imageAuthor, DateTime creationDate,  
-            String authorComment,List<String> lstCategories, List<String> lstTags, PwgConfidentLevelEnum? confidentLevel)
+            String authorComment,List<String> lstAlbums, List<String> lstTags, PwgConfidentLevelEnum? confidentLevel)
         {
             PwgBaseProxyReponse response = null;
@@ -50,5 +50,5 @@
                 PwgProxyReponseHelper.buildQueryFromValue<String>(imageAuthor, "author", ref firstOcc, data);
                 PwgProxyReponseHelper.buildQueryFromValue<String>(authorComment, "comment", ref firstOcc, data);
-                PwgProxyReponseHelper.buildQueryFromArray<String>(lstCategories, "categories", ref firstOcc, data);
+                PwgProxyReponseHelper.buildQueryFromArray<String>(lstAlbums, "categories", ref firstOcc, data);
                 PwgProxyReponseHelper.buildQueryFromArray<String>(lstTags, "tag_ids", ref firstOcc, data);
                 PwgProxyReponseHelper.buildQueryFromValue<Int32>((int?)confidentLevel, "level", ref firstOcc, data);
@@ -136,5 +136,5 @@
         /// <param name="fileImage"></param>
         /// <param name="imageId"></param>
-        /// <param name="categoryId"></param>
+        /// <param name="AlbumId"></param>
         /// <param name="imageName"></param>
         /// <param name="imageAuthor"></param>
@@ -143,5 +143,5 @@
         /// <param name="imageTags"></param>
         /// <returns></returns>
-        static internal PwgAddSimpleImageProxyResponse pwg_images_addSimple(FileInfo fileImage, Int32? imageId, Int32? categoryId, String imageName, String imageAuthor, String imageComment, Int32? imageLevel, List<PwgTag> imageTags)
+        static internal PwgAddSimpleImageProxyResponse pwg_images_addSimple(FileInfo fileImage, Int32? imageId, Int32? AlbumId, String imageName, String imageAuthor, String imageComment, Int32? imageLevel, List<PwgTag> imageTags)
         {
             PwgAddSimpleImageProxyResponse response = null;
@@ -155,5 +155,5 @@
                 dcFields.Add("method", "pwg.images.addSimple");
                 PwgProxyReponseHelper.buildDicFieldFromValue<Int32>(imageId, "image_id", ref dcFields);
-                PwgProxyReponseHelper.buildDicFieldFromValue<Int32>(categoryId, "category", ref dcFields);
+                PwgProxyReponseHelper.buildDicFieldFromValue<Int32>(AlbumId, "category", ref dcFields);
                 PwgProxyReponseHelper.buildDicFieldFromValue<Int32>(imageLevel, "level", ref dcFields);
                 PwgProxyReponseHelper.buildDicFieldFromValue<String>(imageName, "name", ref dcFields);
Index: /extensions/PiwigoLib/PiwigoLib/Proxy/Response/PwgAlbumProxyResponse.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/Proxy/Response/PwgAlbumProxyResponse.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoLib/Proxy/Response/PwgAlbumProxyResponse.cs	(revision 12336)
@@ -0,0 +1,75 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Xml.Serialization;
+using Com.Piwigo.Lib.DTO;
+
+namespace Com.Piwigo.Lib.Proxy.Response
+{
+    //todo : admin list deifferent !!!!
+//    <rsp stat="ok">
+//<Albums>
+//    <Album id="1" nb_images="34" total_nb_images="34" date_last="2011-04-12 00:39:03" max_date_last="2011-04-12 00:39:03" nb_Albums="1" url="http://photo.bayral.fr/index.php?/Album/1">
+//        <name>2011 01 02 Dimanche au Ski</name>
+//        <uppercats>1</uppercats>
+//        <global_rank>1</global_rank>
+//        <comment></comment></Album>
+//    <Album id="12" nb_images="0" total_nb_images="0" nb_Albums="0" url="http://photo.bayral.fr/index.php?/Album/12">
+//        <name>test</name>
+//        <uppercats>1,12</uppercats>
+//        <global_rank>1.1</global_rank>
+//        <id_uppercat>1</id_uppercat>
+//        <comment></comment></Album>
+//    <Album id="2" nb_images="8" total_nb_images="8" date_last="2011-04-12 00:52:41" max_date_last="2011-04-12 00:52:41" nb_Albums="0" url="http://photo.bayral.fr/index.php?/Album/2">
+//        <name>2010 12 Photos Noé Loic</name>
+//        <uppercats>2</uppercats>
+//        <global_rank>2</global_rank>
+//        <comment></comment></Album>
+//    <Album id="3" nb_images="99" total_nb_images="99" date_last="2011-04-12 23:59:28" max_date_last="2011-04-12 23:59:28" nb_Albums="0" url="http://photo.bayral.fr/index.php?/Album/3">
+//        <name>2010 12 24-25 Noel</name>
+//        <uppercats>3</uppercats>
+//        <global_rank>3</global_rank>
+//        <comment></comment></Album>
+//    <Album id="5" nb_images="14" total_nb_images="14" date_last="2011-04-13 00:13:06" max_date_last="2011-04-13 00:13:06" nb_Albums="0" url="http://photo.bayral.fr/index.php?/Album/5">
+//        <name>2010 11 Photos Noé Loic</name>
+//        <uppercats>5</uppercats>
+//        <global_rank>4</global_rank>
+//        <comment></comment></Album>
+//    <Album id="6" nb_images="45" total_nb_images="45" date_last="2011-04-13 22:59:49" max_date_last="2011-04-13 22:59:49" nb_Albums="0" url="http://photo.bayral.fr/index.php?/Album/6">
+//        <name>2010 11 23 28 aniversaire Noé 4 ans Famille</name>
+//        <uppercats>6</uppercats>
+//        <global_rank>5</global_rank>
+//        <comment></comment></Album></Albums>
+//</rsp>
+    [Serializable()]
+    [XmlRoot(ElementName = "category")]
+    public class PwgAlbumProxyResponse
+    {
+        [XmlAttribute(AttributeName = "id")]
+        public Int32 Id { get; set; }
+        [XmlElement(ElementName = "uppercats")]
+        public String UpperAlbumId { get; set; }
+        [XmlElement (ElementName = "name")]
+        public String Name { get; set; }
+        [XmlAttribute(AttributeName = "url")]
+        public String Url { get; set; }
+        [XmlAttribute(AttributeName = "nb_images")]
+        public Int64 ImagesCount { get; set; }
+        [XmlAttribute(AttributeName = "total_nb_images")]
+        public Int64 DeepImagesCount { get; set; }
+        [XmlAttribute(AttributeName = "nb_Albums")]
+        public Int64 SubAlbumsCount { get; set; }
+        [XmlAttribute(AttributeName = "max_date_last")]
+        public String LastDate { get; set; }
+    }
+
+    [Serializable()]
+    [XmlRoot(ElementName = "rsp")]
+    public class PwgAlbumsProxyResponse : PwgBaseProxyReponse
+    {
+        [XmlArray("categories")]
+        [XmlArrayItem("category")]
+        public PwgAlbumProxyResponse[] Albums { get; set; }
+    }
+}
Index: tensions/PiwigoLib/PiwigoLib/Proxy/Response/PwgCategoriesProxyResponse.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/Proxy/Response/PwgCategoriesProxyResponse.cs	(revision 12335)
+++ 	(revision )
@@ -1,75 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Xml.Serialization;
-using Com.Piwigo.Lib.DTO;
-
-namespace Com.Piwigo.Lib.Proxy.Response
-{
-    //todo : admin list deifferent !!!!
-//    <rsp stat="ok">
-//<categories>
-//    <category id="1" nb_images="34" total_nb_images="34" date_last="2011-04-12 00:39:03" max_date_last="2011-04-12 00:39:03" nb_categories="1" url="http://photo.bayral.fr/index.php?/category/1">
-//        <name>2011 01 02 Dimanche au Ski</name>
-//        <uppercats>1</uppercats>
-//        <global_rank>1</global_rank>
-//        <comment></comment></category>
-//    <category id="12" nb_images="0" total_nb_images="0" nb_categories="0" url="http://photo.bayral.fr/index.php?/category/12">
-//        <name>test</name>
-//        <uppercats>1,12</uppercats>
-//        <global_rank>1.1</global_rank>
-//        <id_uppercat>1</id_uppercat>
-//        <comment></comment></category>
-//    <category id="2" nb_images="8" total_nb_images="8" date_last="2011-04-12 00:52:41" max_date_last="2011-04-12 00:52:41" nb_categories="0" url="http://photo.bayral.fr/index.php?/category/2">
-//        <name>2010 12 Photos Noé Loic</name>
-//        <uppercats>2</uppercats>
-//        <global_rank>2</global_rank>
-//        <comment></comment></category>
-//    <category id="3" nb_images="99" total_nb_images="99" date_last="2011-04-12 23:59:28" max_date_last="2011-04-12 23:59:28" nb_categories="0" url="http://photo.bayral.fr/index.php?/category/3">
-//        <name>2010 12 24-25 Noel</name>
-//        <uppercats>3</uppercats>
-//        <global_rank>3</global_rank>
-//        <comment></comment></category>
-//    <category id="5" nb_images="14" total_nb_images="14" date_last="2011-04-13 00:13:06" max_date_last="2011-04-13 00:13:06" nb_categories="0" url="http://photo.bayral.fr/index.php?/category/5">
-//        <name>2010 11 Photos Noé Loic</name>
-//        <uppercats>5</uppercats>
-//        <global_rank>4</global_rank>
-//        <comment></comment></category>
-//    <category id="6" nb_images="45" total_nb_images="45" date_last="2011-04-13 22:59:49" max_date_last="2011-04-13 22:59:49" nb_categories="0" url="http://photo.bayral.fr/index.php?/category/6">
-//        <name>2010 11 23 28 aniversaire Noé 4 ans Famille</name>
-//        <uppercats>6</uppercats>
-//        <global_rank>5</global_rank>
-//        <comment></comment></category></categories>
-//</rsp>
-    [Serializable()]
-    [XmlRoot(ElementName = "category")]
-    public class PwgCategoryProxyResponse
-    {
-        [XmlAttribute(AttributeName = "id")]
-        public Int32 Id { get; set; }
-        [XmlElement(ElementName = "uppercats")]
-        public String UpperCategoryId { get; set; }
-        [XmlElement (ElementName = "name")]
-        public String Name { get; set; }
-        [XmlAttribute(AttributeName = "url")]
-        public String Url { get; set; }
-        [XmlAttribute(AttributeName = "nb_images")]
-        public Int64 ImagesCount { get; set; }
-        [XmlAttribute(AttributeName = "total_nb_images")]
-        public Int64 DeepImagesCount { get; set; }
-        [XmlAttribute(AttributeName = "nb_categories")]
-        public Int64 SubCategoriesCount { get; set; }
-        [XmlAttribute(AttributeName = "max_date_last")]
-        public String LastDate { get; set; }
-    }
-
-    [Serializable()]
-    [XmlRoot(ElementName = "rsp")]
-    public class PwgCategoriesProxyResponse : PwgBaseProxyReponse
-    {
-        [XmlArray("categories")]
-        [XmlArrayItem("category")]
-        public PwgCategoryProxyResponse[] Categories { get; set; }
-    }
-}
Index: /extensions/PiwigoLib/PiwigoLib/Proxy/Response/PwgImagesProxyResponse.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/Proxy/Response/PwgImagesProxyResponse.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoLib/Proxy/Response/PwgImagesProxyResponse.cs	(revision 12336)
@@ -32,5 +32,5 @@
 
     [Serializable()]
-    [XmlRoot(ElementName = "categorie")]
+    [XmlRoot(ElementName = "category")]
     public class PwgImageProxyResponse 
     {
@@ -62,5 +62,5 @@
         [XmlArray("categories")]
         [XmlArrayItem("category")]
-        public PwgCategoryProxyResponse[] Categories { get; set; }
+        public PwgAlbumProxyResponse[] Albums { get; set; }
     }
 
Index: /extensions/PiwigoLib/PiwigoLib/Service/PwgAlbumsService.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/Service/PwgAlbumsService.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoLib/Service/PwgAlbumsService.cs	(revision 12336)
@@ -0,0 +1,420 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Text;
+
+using Com.Piwigo.Lib.DTO;
+using Com.Piwigo.Lib.Proxy;
+using Com.Piwigo.Lib.Proxy.Response;
+using Com.Piwigo.Lib.DTO.Helper;
+using Com.Piwigo.Lib.IService;
+
+namespace Com.Piwigo.Lib.Service
+{
+
+    internal sealed class PwgAlbumsService : IPwgAlbumsService
+    {
+        /// <summary>
+        /// Get the list of Album the user is connected can access
+        /// </summary>
+        /// <param name="sortedByCounter"></param>
+        /// <returns></returns>
+        public List<PwgAlbum> GetListOfAlbum(Int32? CatgeroryId, Boolean? Recursive, Boolean? PublicOnly)
+        {
+            List<PwgAlbum> returnValue = new List<PwgAlbum>();
+
+            try
+            {
+                PwgAlbumsProxyResponse response = PwgAlbumsProxy.pwg_albums_getList(CatgeroryId, Recursive, PublicOnly);
+
+                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
+                {
+                    if (response.Erreur != null)
+                    {
+                        throw new PwgServiceException("GetListOfAlbum, the server has return the error.",
+                            response.Erreur.Code,
+                            response.Erreur.Message);
+                    }
+                    else
+                    {
+                        throw new PwgServiceException("GetListOfAlbum : a error occurs during server process.");
+                    }
+                }
+                else
+                {
+                    returnValue = ConvertProxyResponseToDTO(response, CatgeroryId);
+                }
+            }
+            catch (PwgProxyException ex)
+            {
+                throw new PwgServiceException("GetListOfAlbum : a error is raised by proxy.", ex);
+            }
+            return returnValue;
+        }
+
+        /// <summary>
+        /// Get List of all Album, must be logged as admin
+        /// </summary>
+        /// <returns></returns>
+        public List<PwgAlbum> GetAdminListOfAlbum()
+        {
+            List<PwgAlbum> returnValue = new List<PwgAlbum>();
+
+            try
+            {
+                PwgAlbumsProxyResponse response = PwgAlbumsProxy.pwg_albums_getAdminList();
+
+                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
+                {
+                    if (response.Erreur != null)
+                    {
+                        throw new PwgServiceException("GetAdminListOfAlbum, the server has return the error.",
+                            response.Erreur.Code,
+                            response.Erreur.Message);
+                    }
+                    else
+                    {
+                        throw new PwgServiceException("GetAdminListOfAlbum : a error occurs during server process.");
+                    }
+                }
+                else
+                {
+                    returnValue = ConvertProxyResponseToDTO(response, null);
+                }
+            }
+            catch (PwgProxyException ex)
+            {
+                throw new PwgServiceException("GetAdminListOfAlbum : a error is raised by proxy.", ex);
+            }
+            return returnValue;
+        }
+
+        /// <summary>
+        /// Add a Album to the gallery
+        /// </summary>
+        /// <param name="AlbumName"></param>
+        /// <param name="upperCatId"></param>
+        /// <param name="newId"> Id used by the new Album</param>
+        /// <param name="messageInfo">Message returned by the server</param>
+        /// <returns>false, if a error occurs</returns>
+        public Boolean AddAlbum(String AlbumName, Int32? upperCatId, ref Int32 newId, ref String messageInfo)
+        {
+            Boolean returnValue = false;
+
+            try
+            {
+                PwgAddRequestProxyResponse response = PwgAlbumsProxy.pwg_albums_add(AlbumName, upperCatId);
+
+                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
+                {
+                    if (response.Erreur != null)
+                    {
+                        throw new PwgServiceException("AddAlbum, the server has return the error.",
+                            response.Erreur.Code,
+                            response.Erreur.Message);
+                    }
+                    else
+                    {
+                        throw new PwgServiceException("AddAlbum : a error occurs during server process.");
+                    }
+                }
+                else
+                {
+                    returnValue = true;
+                    newId = response.NewId;
+                    messageInfo = response.Message;
+                }
+            }
+            catch (PwgProxyException ex)
+            {
+                throw new PwgServiceException("AddAlbum : a error is raised by proxy.", ex);
+            }
+            return returnValue;
+        }
+
+
+        /// <summary>
+        /// Update Album data
+        /// </summary>
+        /// <param name="IdCat"></param>
+        /// <param name="AlbumName"></param>
+        /// <param name="AlbumComment"></param>
+        /// <returns></returns>
+        public Boolean UpdateAlbumInfo(Int32 IdCat, String AlbumName, String AlbumComment)
+        {
+            Boolean returnValue = false;
+
+            try
+            {
+                PwgBaseProxyReponse response = PwgAlbumsProxy.pwg_albums_setInfo(IdCat, AlbumName, AlbumComment);
+
+                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
+                {
+                    if (response.Erreur != null)
+                    {
+                        throw new PwgServiceException("UpdateAlbumInfo, the server has return the error.",
+                            response.Erreur.Code,
+                            response.Erreur.Message);
+                    }
+                    else
+                    {
+                        throw new PwgServiceException("UpdateAlbumInfo : a error occurs during server process.");
+                    }
+                }
+                else
+                {
+                    returnValue = true;
+                }
+            }
+            catch (PwgProxyException ex)
+            {
+                throw new PwgServiceException("UpdateAlbumInfo : a error is raised by proxy.", ex);
+            }
+            return returnValue;
+        }
+
+        /// <summary>
+        /// return the list of PwgImage in the Album
+        /// </summary>
+        /// <param name="AlbumId"></param>
+        /// <param name="recursive"></param>
+        /// <param name="perPage"></param>
+        /// <param name="Page"></param>
+        /// <param name="Order"></param>
+        /// <param name="minRate"></param>
+        /// <param name="maxRate"></param>
+        /// <param name="minHit"></param>
+        /// <param name="maxHit"></param>
+        /// <param name="minDateAvailable"></param>
+        /// <param name="maxDateAvailable"></param>
+        /// <param name="minDateCreated"></param>
+        /// <param name="maxDateCreated"></param>
+        /// <param name="minRatio"></param>
+        /// <param name="maxRatio"></param>
+        /// <param name="withThumbnail"></param>
+        /// <param name="PageReturned"></param>
+        /// <param name="PerPageeReturned"></param>
+        /// <param name="CountReturned"></param>
+        /// <returns></returns>
+        public List<PwgImage> GetListOfImagesFormAlbum(Int32 AlbumId,
+                                                    Boolean? recursive,
+                                                    Int32? perPage,
+                                                    Int32? Page,
+                                                    Int32? Order,
+                                                    Int32? minRate,
+                                                    Int32? maxRate,
+                                                    Int32? minHit,
+                                                    Int32? maxHit,
+                                                    DateTime? minDateAvailable,
+                                                    DateTime? maxDateAvailable,
+                                                    DateTime? minDateCreated,
+                                                    DateTime? maxDateCreated,
+                                                    Int32? minRatio,
+                                                    Int32? maxRatio,
+                                                    Boolean? withThumbnail,
+                                                    ref Int32 PageReturned,
+                                                    ref Int32 PerPageeReturned,
+                                                    ref Int32 CountReturned)
+        {
+            List<PwgImage> returnValue = new List<PwgImage>();
+
+            try
+            {
+                PwgImagesProxyResponse response = PwgAlbumsProxy.pwg_albums_getImages(AlbumId,
+                                                            recursive,
+                                                            perPage,
+                                                            Page,
+                                                            Order,
+                                                            minRate,
+                                                            maxRate,
+                                                            minHit,
+                                                            maxHit,
+                                                            minDateAvailable,
+                                                            maxDateAvailable,
+                                                            minDateCreated,
+                                                            maxDateCreated,
+                                                            minRatio,
+                                                            maxRatio,
+                                                            withThumbnail);
+
+                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
+                {
+                    if (response.Erreur != null)
+                    {
+                        throw new PwgServiceException("GetListOfImagesFormAlbum, the server has return the error.",
+                            response.Erreur.Code,
+                            response.Erreur.Message);
+                    }
+                    else
+                    {
+                        throw new PwgServiceException("GetListOfImagesFormAlbum : a error occurs during server process.");
+                    }
+                }
+                else
+                {
+                    PwgImagesService.ConvertProxyResponseToDTO(response, returnValue,
+                                                            ref PageReturned,
+                                                            ref PerPageeReturned,
+                                                            ref CountReturned);
+                }
+            }
+            catch (PwgProxyException ex)
+            {
+                throw new PwgServiceException("GetListOfImagesFormAlbum : a error is raised by proxy.", ex);
+            }
+            return returnValue;
+        }
+        /// <summary>
+        /// Delete a Album
+        /// </summary>
+        /// <param name="AlbumId"></param>
+        /// <param name="SecurityToken"></param>
+        /// <param name="PhotoDeletionMode"></param>
+        /// <returns></returns>
+        public Boolean DeleteAlbum(Int32 AlbumId, String SecurityToken, PwgAlbumPhotoDeletionModeEnum PhotoDeletionMode)
+        {
+            Boolean returnValue = false;
+
+            try
+            {
+                if (PhotoDeletionMode == PwgAlbumPhotoDeletionModeEnum.Unknow)
+                {
+                    PhotoDeletionMode = PwgAlbumPhotoDeletionModeEnum.OrphansOnly;
+                }
+
+                PwgBaseProxyReponse response = PwgAlbumsProxy.pwg_albums_delete(AlbumId, SecurityToken, PhotoDeletionMode);
+
+                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
+                {
+                   if (response.Erreur != null)
+                    {
+                        throw new PwgServiceException("DeleteAlbum, the server has return the error.",
+                            response.Erreur.Code,
+                            response.Erreur.Message);
+                    }
+                    else
+                    {
+                        throw new PwgServiceException("DeleteAlbum : a error occurs during server process.");
+                    }
+                }
+                else
+                {
+                    returnValue = true;
+                }
+            }
+            catch (PwgProxyException ex)
+            {
+                throw new PwgServiceException("DeleteAlbum : a error is raised by proxy.", ex);
+            }
+            return returnValue;
+        }
+
+        public Boolean MoveAlbum(List<Int32> AlbumsId, Int32 ParentAlbumId, String SecurityToken)
+        {
+            Boolean returnValue = false;
+
+            try
+            {
+                PwgBaseProxyReponse response = PwgAlbumsProxy.pwg_albums_move(AlbumsId, ParentAlbumId, SecurityToken);
+
+                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
+                {
+                    if (response.Erreur != null)
+                    {
+                        throw new PwgServiceException("DeleteAlbum, the server has return the error.",
+                            response.Erreur.Code,
+                            response.Erreur.Message);
+                    }
+                    else
+                    {
+                        throw new PwgServiceException("DeleteAlbum : a error occurs during server process.");
+                    }
+                }
+                else
+                {
+                    returnValue = true;
+                }
+            }
+            catch (PwgProxyException ex)
+            {
+                throw new PwgServiceException("DeleteAlbum : a error is raised by proxy.", ex);
+            }
+            return returnValue;
+        }
+        /// <summary>
+        /// convert response to dto object
+        /// </summary>
+        /// <param name="response"></param>
+        /// <param name="session"></param>
+        internal static List<PwgAlbum> ConvertProxyResponseToDTO(PwgAlbumsProxyResponse response, Int32? CatgeroryId)
+        {
+            List<PwgAlbum> returnValue = new List<PwgAlbum>();
+
+            if (response.Albums != null)
+            {
+                foreach (PwgAlbumProxyResponse respCat in response.Albums)
+                {
+                    if ((!CatgeroryId.HasValue) || (CatgeroryId.Value != respCat.Id))
+                    {
+                        returnValue.Add(ConvertProxyResponseToDTO(respCat));
+                    }
+                }
+            }
+
+            return returnValue;
+        }
+
+
+        /// <summary>
+        /// convert response to dto object
+        /// </summary>
+        /// <param name="response"></param>
+        /// <param name="session"></param>
+        internal static PwgAlbum ConvertProxyResponseToDTO(PwgAlbumProxyResponse response)
+        {
+            PwgAlbum returnValue = new PwgAlbum();
+
+            try
+            {
+                returnValue.Id = response.Id;
+                returnValue.Name = response.Name;
+
+                returnValue.DeepImagesCount = response.DeepImagesCount;
+                returnValue.ImagesCount = response.ImagesCount;
+                returnValue.SubAlbumsCount = response.SubAlbumsCount;
+
+                returnValue.UpperAlbumsId = new List<Int32>();
+                if (response.UpperAlbumId != null)
+                {
+                    foreach (String StringId in response.UpperAlbumId.Split(','))
+                    {
+                        returnValue.UpperAlbumsId.Add(Int32.Parse(StringId));
+                    }
+                }
+
+                if (response.LastDate != null)
+                {
+                    DateTime tryDate;
+                    if (DateTime.TryParse(response.LastDate, out tryDate))
+                    {
+                        returnValue.LastDate = tryDate;
+                    }
+                }
+
+                if (String.IsNullOrEmpty(response.Url))
+                {
+                    returnValue.Url = null;
+                }
+                else
+                {
+                    returnValue.Url = (new UriBuilder(response.Url)).Uri;
+                }
+            }
+            catch (Exception ex)
+            {
+                throw new PwgServiceException("ConvertProxyResponseToDTO : a error is raised when converting PwgTagProxyResponse.", ex);
+            }
+
+            return returnValue;
+        }
+    }
+}
Index: tensions/PiwigoLib/PiwigoLib/Service/PwgCategoriesService.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/Service/PwgCategoriesService.cs	(revision 12335)
+++ 	(revision )
@@ -1,417 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using System.Text;
-
-using Com.Piwigo.Lib.DTO;
-using Com.Piwigo.Lib.Proxy;
-using Com.Piwigo.Lib.Proxy.Response;
-using Com.Piwigo.Lib.DTO.Helper;
-using Com.Piwigo.Lib.IService;
-
-namespace Com.Piwigo.Lib.Service
-{
-
-    internal sealed class PwgCategoriesService : IPwgCategoriesService
-    {
-        /// <summary>
-        /// Get the list of category the user is connected can access
-        /// </summary>
-        /// <param name="sortedByCounter"></param>
-        /// <returns></returns>
-        public List<PwgCategory> GetListOfCategory(Int32? CatgeroryId, Boolean? Recursive, Boolean? PublicOnly)
-        {
-            List<PwgCategory> returnValue = new List<PwgCategory>();
-
-            try
-            {
-                PwgCategoriesProxyResponse response = PwgCategoriesProxy.pwg_categories_getList(CatgeroryId, Recursive, PublicOnly);
-
-                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
-                {
-                    if (response.Erreur != null)
-                    {
-                        throw new PwgServiceException("GetListOfCategory, the server has return the error.",
-                            response.Erreur.Code,
-                            response.Erreur.Message);
-                    }
-                    else
-                    {
-                        throw new PwgServiceException("GetListOfCategory : a error occurs during server process.");
-                    }
-                }
-                else
-                {
-                    returnValue = ConvertProxyResponseToDTO(response, CatgeroryId);
-                }
-            }
-            catch (PwgProxyException ex)
-            {
-                throw new PwgServiceException("GetListOfCategory : a error is raised by proxy.", ex);
-            }
-            return returnValue;
-        }
-
-        /// <summary>
-        /// Get List of all Category, must be logged as admin
-        /// </summary>
-        /// <returns></returns>
-        public List<PwgCategory> GetAdminListOfCategory()
-        {
-            List<PwgCategory> returnValue = new List<PwgCategory>();
-
-            try
-            {
-                PwgCategoriesProxyResponse response = PwgCategoriesProxy.pwg_categories_getAdminList();
-
-                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
-                {
-                    if (response.Erreur != null)
-                    {
-                        throw new PwgServiceException("GetAdminListOfCategory, the server has return the error.",
-                            response.Erreur.Code,
-                            response.Erreur.Message);
-                    }
-                    else
-                    {
-                        throw new PwgServiceException("GetAdminListOfCategory : a error occurs during server process.");
-                    }
-                }
-                else
-                {
-                    returnValue = ConvertProxyResponseToDTO(response, null);
-                }
-            }
-            catch (PwgProxyException ex)
-            {
-                throw new PwgServiceException("GetAdminListOfCategory : a error is raised by proxy.", ex);
-            }
-            return returnValue;
-        }
-
-        /// <summary>
-        /// Add a category to the gallery
-        /// </summary>
-        /// <param name="categoryName"></param>
-        /// <param name="upperCatId"></param>
-        /// <param name="newId"> Id used by the new category</param>
-        /// <param name="messageInfo">Message returned by the server</param>
-        /// <returns>false, if a error occurs</returns>
-        public Boolean AddCategory(String categoryName, Int32? upperCatId, ref Int32 newId, ref String messageInfo)
-        {
-            Boolean returnValue = false;
-
-            try
-            {
-                PwgAddRequestProxyResponse response = PwgCategoriesProxy.pwg_categories_add(categoryName, upperCatId);
-
-                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
-                {
-                    if (response.Erreur != null)
-                    {
-                        throw new PwgServiceException("AddCategory, the server has return the error.",
-                            response.Erreur.Code,
-                            response.Erreur.Message);
-                    }
-                    else
-                    {
-                        throw new PwgServiceException("AddCategory : a error occurs during server process.");
-                    }
-                }
-                else
-                {
-                    returnValue = true;
-                    newId = response.NewId;
-                    messageInfo = response.Message;
-                }
-            }
-            catch (PwgProxyException ex)
-            {
-                throw new PwgServiceException("AddCategory : a error is raised by proxy.", ex);
-            }
-            return returnValue;
-        }
-
-
-        /// <summary>
-        /// Update category data
-        /// </summary>
-        /// <param name="IdCat"></param>
-        /// <param name="categoryName"></param>
-        /// <param name="categoryComment"></param>
-        /// <returns></returns>
-        public Boolean UpdateCategoryInfo(Int32 IdCat, String categoryName, String categoryComment)
-        {
-            Boolean returnValue = false;
-
-            try
-            {
-                PwgBaseProxyReponse response = PwgCategoriesProxy.pwg_categories_setInfo(IdCat, categoryName, categoryComment);
-
-                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
-                {
-                    if (response.Erreur != null)
-                    {
-                        throw new PwgServiceException("UpdateCategoryInfo, the server has return the error.",
-                            response.Erreur.Code,
-                            response.Erreur.Message);
-                    }
-                    else
-                    {
-                        throw new PwgServiceException("UpdateCategoryInfo : a error occurs during server process.");
-                    }
-                }
-                else
-                {
-                    returnValue = true;
-                }
-            }
-            catch (PwgProxyException ex)
-            {
-                throw new PwgServiceException("UpdateCategoryInfo : a error is raised by proxy.", ex);
-            }
-            return returnValue;
-        }
-
-        /// <summary>
-        /// return the list of PwgImage in the category
-        /// </summary>
-        /// <param name="categoryId"></param>
-        /// <param name="recursive"></param>
-        /// <param name="perPage"></param>
-        /// <param name="Page"></param>
-        /// <param name="Order"></param>
-        /// <param name="minRate"></param>
-        /// <param name="maxRate"></param>
-        /// <param name="minHit"></param>
-        /// <param name="maxHit"></param>
-        /// <param name="minDateAvailable"></param>
-        /// <param name="maxDateAvailable"></param>
-        /// <param name="minDateCreated"></param>
-        /// <param name="maxDateCreated"></param>
-        /// <param name="minRatio"></param>
-        /// <param name="maxRatio"></param>
-        /// <param name="withThumbnail"></param>
-        /// <param name="PageReturned"></param>
-        /// <param name="PerPageeReturned"></param>
-        /// <param name="CountReturned"></param>
-        /// <returns></returns>
-        public List<PwgImage> GetListOfImagesFormCategory(Int32 categoryId,
-                                                    Boolean? recursive,
-                                                    Int32? perPage,
-                                                    Int32? Page,
-                                                    Int32? Order,
-                                                    Int32? minRate,
-                                                    Int32? maxRate,
-                                                    Int32? minHit,
-                                                    Int32? maxHit,
-                                                    DateTime? minDateAvailable,
-                                                    DateTime? maxDateAvailable,
-                                                    DateTime? minDateCreated,
-                                                    DateTime? maxDateCreated,
-                                                    Int32? minRatio,
-                                                    Int32? maxRatio,
-                                                    Boolean? withThumbnail,
-                                                    ref Int32 PageReturned,
-                                                    ref Int32 PerPageeReturned,
-                                                    ref Int32 CountReturned)
-        {
-            List<PwgImage> returnValue = new List<PwgImage>();
-
-            try
-            {
-                PwgImagesProxyResponse response = PwgCategoriesProxy.pwg_categories_getImages(categoryId,
-                                                            recursive,
-                                                            perPage,
-                                                            Page,
-                                                            Order,
-                                                            minRate,
-                                                            maxRate,
-                                                            minHit,
-                                                            maxHit,
-                                                            minDateAvailable,
-                                                            maxDateAvailable,
-                                                            minDateCreated,
-                                                            maxDateCreated,
-                                                            minRatio,
-                                                            maxRatio,
-                                                            withThumbnail);
-
-                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
-                {
-                    if (response.Erreur != null)
-                    {
-                        throw new PwgServiceException("GetListOfImagesFormCategory, the server has return the error.",
-                            response.Erreur.Code,
-                            response.Erreur.Message);
-                    }
-                    else
-                    {
-                        throw new PwgServiceException("GetListOfImagesFormCategory : a error occurs during server process.");
-                    }
-                }
-                else
-                {
-                    PwgImagesService.ConvertProxyResponseToDTO(response, returnValue,
-                                                            ref PageReturned,
-                                                            ref PerPageeReturned,
-                                                            ref CountReturned);
-                }
-            }
-            catch (PwgProxyException ex)
-            {
-                throw new PwgServiceException("GetListOfImagesFormCategory : a error is raised by proxy.", ex);
-            }
-            return returnValue;
-        }
-        /// <summary>
-        /// Delete a category
-        /// </summary>
-        /// <param name="categoryId"></param>
-        /// <param name="SecurityToken"></param>
-        /// <param name="PhotoDeletionMode"></param>
-        /// <returns></returns>
-        public Boolean DeleteCategory(Int32 categoryId, String SecurityToken, PwgCategoryPhotoDeletionModeEnum PhotoDeletionMode)
-        {
-            Boolean returnValue = false;
-
-            try
-            {
-                if (PhotoDeletionMode == PwgCategoryPhotoDeletionModeEnum.Unknow)
-                {
-                    PhotoDeletionMode = PwgCategoryPhotoDeletionModeEnum.OrphansOnly;
-                }
-
-                PwgBaseProxyReponse response = PwgCategoriesProxy.pwg_categories_delete(categoryId, SecurityToken, PhotoDeletionMode);
-
-                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
-                {
-                   if (response.Erreur != null)
-                    {
-                        throw new PwgServiceException("DeleteCategory, the server has return the error.",
-                            response.Erreur.Code,
-                            response.Erreur.Message);
-                    }
-                    else
-                    {
-                        throw new PwgServiceException("DeleteCategory : a error occurs during server process.");
-                    }
-                }
-                else
-                {
-                    returnValue = true;
-                }
-            }
-            catch (PwgProxyException ex)
-            {
-                throw new PwgServiceException("DeleteCategory : a error is raised by proxy.", ex);
-            }
-            return returnValue;
-        }
-
-        public Boolean MoveCategory(List<Int32> categoriesId, Int32 ParentCategoryId, String SecurityToken)
-        {
-            Boolean returnValue = false;
-
-            try
-            {
-                PwgBaseProxyReponse response = PwgCategoriesProxy.pwg_categories_move(categoriesId, ParentCategoryId, SecurityToken);
-
-                if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
-                {
-                    if (response.Erreur != null)
-                    {
-                        throw new PwgServiceException("DeleteCategory, the server has return the error.",
-                            response.Erreur.Code,
-                            response.Erreur.Message);
-                    }
-                    else
-                    {
-                        throw new PwgServiceException("DeleteCategory : a error occurs during server process.");
-                    }
-                }
-                else
-                {
-                    returnValue = true;
-                }
-            }
-            catch (PwgProxyException ex)
-            {
-                throw new PwgServiceException("DeleteCategory : a error is raised by proxy.", ex);
-            }
-            return returnValue;
-        }
-        /// <summary>
-        /// convert response to dto object
-        /// </summary>
-        /// <param name="response"></param>
-        /// <param name="session"></param>
-        internal static List<PwgCategory> ConvertProxyResponseToDTO(PwgCategoriesProxyResponse response, Int32? CatgeroryId)
-        {
-            List<PwgCategory> returnValue = new List<PwgCategory>();
-
-            foreach (PwgCategoryProxyResponse respCat in response.Categories)
-            {
-                if ((!CatgeroryId.HasValue) || (CatgeroryId.Value != respCat.Id))
-                {
-                    returnValue.Add(ConvertProxyResponseToDTO(respCat));
-                }
-            }
-
-            return returnValue;
-        }
-
-
-        /// <summary>
-        /// convert response to dto object
-        /// </summary>
-        /// <param name="response"></param>
-        /// <param name="session"></param>
-        internal static PwgCategory ConvertProxyResponseToDTO(PwgCategoryProxyResponse response)
-        {
-            PwgCategory returnValue = new PwgCategory();
-
-            try
-            {
-                returnValue.Id = response.Id;
-                returnValue.Name = response.Name;
-
-                returnValue.DeepImagesCount = response.DeepImagesCount;
-                returnValue.ImagesCount = response.ImagesCount;
-                returnValue.SubCategoriesCount = response.SubCategoriesCount;
-
-                returnValue.UpperCategoriesId = new List<Int32>();
-                if (response.UpperCategoryId != null)
-                {
-                    foreach (String StringId in response.UpperCategoryId.Split(','))
-                    {
-                        returnValue.UpperCategoriesId.Add(Int32.Parse(StringId));
-                    }
-                }
-
-                if (response.LastDate != null)
-                {
-                    DateTime tryDate;
-                    if (DateTime.TryParse(response.LastDate, out tryDate))
-                    {
-                        returnValue.LastDate = tryDate;
-                    }
-                }
-
-                if (String.IsNullOrEmpty(response.Url))
-                {
-                    returnValue.Url = null;
-                }
-                else
-                {
-                    returnValue.Url = (new UriBuilder(response.Url)).Uri;
-                }
-            }
-            catch (Exception ex)
-            {
-                throw new PwgServiceException("ConvertProxyResponseToDTO : a error is raised when converting PwgTagProxyResponse.", ex);
-            }
-
-            return returnValue;
-        }
-    }
-}
Index: /extensions/PiwigoLib/PiwigoLib/Service/PwgImagesService.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoLib/Service/PwgImagesService.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoLib/Service/PwgImagesService.cs	(revision 12336)
@@ -48,6 +48,6 @@
             return returnValue;
         }
-        
-        public PwgImageAdded addImageByMultiPartForm(FileInfo fileImage, Int32? imageId, Int32? categoryId, String imageName, String imageAuthor, String imageComment, Int32? imageLevel, List<PwgTag> imageTags)
+
+        public PwgImageAdded addImageByMultiPartForm(FileInfo fileImage, Int32? imageId, Int32? AlbumId, String imageName, String imageAuthor, String imageComment, PwgConfidentLevelEnum? imageLevel, List<PwgTag> imageTags)
         {
             PwgImageAdded returnValue = new PwgImageAdded();
@@ -55,5 +55,5 @@
             try
             {
-                PwgAddSimpleImageProxyResponse response = PwgImagesProxy.pwg_images_addSimple(fileImage, imageId, categoryId, imageName, imageAuthor, imageComment, imageLevel, imageTags);
+                PwgAddSimpleImageProxyResponse response = PwgImagesProxy.pwg_images_addSimple(fileImage, imageId, AlbumId, imageName, imageAuthor, imageComment, (int) imageLevel, imageTags);
 
                 if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
@@ -83,5 +83,5 @@
 
         public Boolean addImage(FileInfo highResFile, FileInfo lowResFile, FileInfo thumbFile, String imageName, String imageAuthor, DateTime creationDate,
-            String authorComment, List<String> lstCategories, List<String> lstTags, PwgConfidentLevelEnum? confidentLevel)
+            String authorComment, List<String> lstAlbums, List<String> lstTags, PwgConfidentLevelEnum? confidentLevel)
         {
             Boolean returnValue = false;
@@ -97,5 +97,5 @@
                 PwgBaseProxyReponse response = PwgImagesProxy.pwg_images_add( fileMd5sum, thunbMd5sum, HighresMd5sum, 
                                                     imageMd5sum,  imageFilename, imageName, imageAuthor, creationDate,  
-                                                    authorComment, lstCategories, lstTags, confidentLevel);
+                                                    authorComment, lstAlbums, lstTags, confidentLevel);
 
                 if (response.Retour != PwgBaseProxyReponseRetourEnum.Ok)
@@ -375,5 +375,5 @@
                                                     AvailableDate= pwgImg.AvailableDate,
                                                     Tags         = pwgImg.Tags,
-                                                    Categories   = pwgImg.Categories};
+                                                    Albums   = pwgImg.Albums};
 
                returnValue.ExtThumbail       = response.ExtThumbail       ;
@@ -551,11 +551,11 @@
                 }
 
-                returnValue.Categories = new List<PwgCategory>();
-                if (response.Categories != null)
-                {
-                    foreach (PwgCategoryProxyResponse catResp in response.Categories)
-                    {
-                        PwgCategory aCat = PwgCategoriesService.ConvertProxyResponseToDTO(catResp);
-                        returnValue.Categories.Add(aCat);
+                returnValue.Albums = new List<PwgAlbum>();
+                if (response.Albums != null)
+                {
+                    foreach (PwgAlbumProxyResponse catResp in response.Albums)
+                    {
+                        PwgAlbum aCat = PwgAlbumsService.ConvertProxyResponseToDTO(catResp);
+                        returnValue.Albums.Add(aCat);
                     }
                 }
Index: /extensions/PiwigoLib/PiwigoUpload/DTO/LocalPwgImage.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/DTO/LocalPwgImage.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoUpload/DTO/LocalPwgImage.cs	(revision 12336)
@@ -14,11 +14,18 @@
     {
         //FileInfo highResFile, FileInfo lowResFile, FileInfo thumbFile, String imageName, String imageAuthor, DateTime creationDate,
-        //    String authorComment, List<String> lstCategories, List<String> lstTags, PwgConfidentLevelEnum? confidentLevel
+        //    String authorComment, List<String> lstAlbums, List<String> lstTags, PwgConfidentLevelEnum? confidentLevel
 
-        private Int32 _id;
-        public Int32 Id
+        private Int32? _id;
+        public Int32? Id
         {
             set { _id = value; OnPropertyChanged("Id"); }
             get { return _id; }
+        }
+
+        private String _author;
+        public String Author
+        {
+            set { _author = value; OnPropertyChanged("Author"); }
+            get { return _author; }
         }
 
@@ -44,6 +51,6 @@
         }
 
-        private Int32 _upperCatId;
-        public Int32 UpperCatId
+        private Int32? _upperCatId;
+        public Int32? UpperCatId
         {
             set { _upperCatId = value; OnPropertyChanged("UpperCatId"); }
@@ -58,6 +65,6 @@
         }
 
-        private PwgConfidentLevelEnum _confidentialLevel;
-        public PwgConfidentLevelEnum ConfidentialLevel
+        private PwgConfidentLevelEnum? _confidentialLevel;
+        public PwgConfidentLevelEnum? ConfidentialLevel
         {
             set { _confidentialLevel = value; OnPropertyChanged("ConfidentialLevel"); }
Index: /extensions/PiwigoLib/PiwigoUpload/DTO/ModelManager.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/DTO/ModelManager.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoUpload/DTO/ModelManager.cs	(revision 12336)
@@ -28,6 +28,6 @@
         {
             public PwgSession sess { get; set; }
-            public SelectedPwgCategoryList lstCat { get; set; }
-            public Int32 PwgCategoryIdSelected { get; set; }
+            public SelectedPwgAlbumList lstCat { get; set; }
+            public Int32 PwgAlbumIdSelected { get; set; }
             public LocalAlbumList lstAlbumLocaux { get; set; }
             public Boolean isConnected { get; set; }
@@ -39,5 +39,5 @@
             public ModelManagerBase()
             {
-                lstCat = new SelectedPwgCategoryList();
+                lstCat = new SelectedPwgAlbumList();
                 lstAlbumLocaux = new LocalAlbumList();
                 isConnected = false;
@@ -48,5 +48,5 @@
                 if (lstCat == null)
                 {
-                    lstCat = new SelectedPwgCategoryList();
+                    lstCat = new SelectedPwgAlbumList();
                 }
                 else
@@ -54,5 +54,5 @@
                     lstCat.Clear();
                 }
-                lstCat.Add(new SelectedCategoryListItem() { Id = PwgCategory.RootCategoryId, ShowedValue = "Root album", Data=null, isSelected=true }); 
+                lstCat.Add(new SelectedAlbumListItem() { Id = PwgAlbum.RootAlbumId, ShowedValue = "Root album", Data=null, isSelected=true }); 
             }
         }
Index: /extensions/PiwigoLib/PiwigoUpload/DTO/SelectedList.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/DTO/SelectedList.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoUpload/DTO/SelectedList.cs	(revision 12336)
@@ -16,11 +16,11 @@
     }
 
-    public sealed class SelectedCategoryListItem : SelectedListItem<PwgCategory, Int32>
+    public sealed class SelectedAlbumListItem : SelectedListItem<PwgAlbum, Int32>
     {        
-        public SelectedCategoryListItem()
+        public SelectedAlbumListItem()
         { }
     }
 
-    public sealed class SelectedPwgCategoryList : BindingList<SelectedCategoryListItem>
+    public sealed class SelectedPwgAlbumList : BindingList<SelectedAlbumListItem>
     {        
     }
Index: /extensions/PiwigoLib/PiwigoUpload/MainForm.Designer.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/MainForm.Designer.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoUpload/MainForm.Designer.cs	(revision 12336)
@@ -40,5 +40,5 @@
             this.cbxLstCatTo = new System.Windows.Forms.ComboBox();
             this.modelManagerBaseBindingSource = new System.Windows.Forms.BindingSource(this.components);
-            this.selectedPwgCategoryListBindingSource = new System.Windows.Forms.BindingSource(this.components);
+            this.selectedPwgAlbumListBindingSource = new System.Windows.Forms.BindingSource(this.components);
             this.label4 = new System.Windows.Forms.Label();
             this.button2 = new System.Windows.Forms.Button();
@@ -47,7 +47,15 @@
             this.tbUser = new System.Windows.Forms.TextBox();
             this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
+            this.tabControl1 = new System.Windows.Forms.TabControl();
+            this.tabPageAlbum = new System.Windows.Forms.TabPage();
+            this.tabPageImg = new System.Windows.Forms.TabPage();
+            this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
+            this.label5 = new System.Windows.Forms.Label();
             ((System.ComponentModel.ISupportInitialize)(this.modelManagerBaseBindingSource)).BeginInit();
-            ((System.ComponentModel.ISupportInitialize)(this.selectedPwgCategoryListBindingSource)).BeginInit();
+            ((System.ComponentModel.ISupportInitialize)(this.selectedPwgAlbumListBindingSource)).BeginInit();
             this.tableLayoutPanel1.SuspendLayout();
+            this.tabControl1.SuspendLayout();
+            this.tabPageAlbum.SuspendLayout();
+            this.tableLayoutPanel2.SuspendLayout();
             this.SuspendLayout();
             // 
@@ -97,6 +105,6 @@
             // 
             this.tableLayoutPanel1.SetColumnSpan(this.cbxLstCatTo, 2);
-            this.cbxLstCatTo.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.modelManagerBaseBindingSource, "PwgCategoryIdSelected", true));
-            this.cbxLstCatTo.DataSource = this.selectedPwgCategoryListBindingSource;
+            this.cbxLstCatTo.DataBindings.Add(new System.Windows.Forms.Binding("SelectedValue", this.modelManagerBaseBindingSource, "PwgAlbumIdSelected", true));
+            this.cbxLstCatTo.DataSource = this.selectedPwgAlbumListBindingSource;
             this.cbxLstCatTo.DisplayMember = "ShowedValue";
             resources.ApplyResources(this.cbxLstCatTo, "cbxLstCatTo");
@@ -109,7 +117,7 @@
             this.modelManagerBaseBindingSource.DataSource = typeof(Com.Piwigo.Uploader.DTO.ModelManager.ModelManagerBase);
             // 
-            // selectedPwgCategoryListBindingSource
-            // 
-            this.selectedPwgCategoryListBindingSource.DataSource = typeof(Com.Piwigo.Uploader.DTO.SelectedPwgCategoryList);
+            // selectedPwgAlbumListBindingSource
+            // 
+            this.selectedPwgAlbumListBindingSource.DataSource = typeof(Com.Piwigo.Uploader.DTO.SelectedPwgAlbumList);
             // 
             // label4
@@ -166,5 +174,41 @@
             this.tableLayoutPanel1.Controls.Add(this.label3, 0, 0);
             this.tableLayoutPanel1.Controls.Add(this.cbxLstCatTo, 1, 5);
+            this.tableLayoutPanel1.Controls.Add(this.tabControl1, 4, 3);
             this.tableLayoutPanel1.Name = "tableLayoutPanel1";
+            // 
+            // tabControl1
+            // 
+            this.tabControl1.Controls.Add(this.tabPageAlbum);
+            this.tabControl1.Controls.Add(this.tabPageImg);
+            resources.ApplyResources(this.tabControl1, "tabControl1");
+            this.tabControl1.ImageList = this.imageListTV;
+            this.tabControl1.MaximumSize = new System.Drawing.Size(250, 200);
+            this.tabControl1.MinimumSize = new System.Drawing.Size(100, 200);
+            this.tabControl1.Name = "tabControl1";
+            this.tabControl1.SelectedIndex = 0;
+            // 
+            // tabPageAlbum
+            // 
+            this.tabPageAlbum.Controls.Add(this.tableLayoutPanel2);
+            resources.ApplyResources(this.tabPageAlbum, "tabPageAlbum");
+            this.tabPageAlbum.Name = "tabPageAlbum";
+            this.tabPageAlbum.UseVisualStyleBackColor = true;
+            // 
+            // tabPageImg
+            // 
+            resources.ApplyResources(this.tabPageImg, "tabPageImg");
+            this.tabPageImg.Name = "tabPageImg";
+            this.tabPageImg.UseVisualStyleBackColor = true;
+            // 
+            // tableLayoutPanel2
+            // 
+            resources.ApplyResources(this.tableLayoutPanel2, "tableLayoutPanel2");
+            this.tableLayoutPanel2.Controls.Add(this.label5, 0, 0);
+            this.tableLayoutPanel2.Name = "tableLayoutPanel2";
+            // 
+            // label5
+            // 
+            resources.ApplyResources(this.label5, "label5");
+            this.label5.Name = "label5";
             // 
             // MainForm
@@ -177,7 +221,11 @@
             this.Load += new System.EventHandler(this.MainForm_Load);
             ((System.ComponentModel.ISupportInitialize)(this.modelManagerBaseBindingSource)).EndInit();
-            ((System.ComponentModel.ISupportInitialize)(this.selectedPwgCategoryListBindingSource)).EndInit();
+            ((System.ComponentModel.ISupportInitialize)(this.selectedPwgAlbumListBindingSource)).EndInit();
             this.tableLayoutPanel1.ResumeLayout(false);
             this.tableLayoutPanel1.PerformLayout();
+            this.tabControl1.ResumeLayout(false);
+            this.tabPageAlbum.ResumeLayout(false);
+            this.tableLayoutPanel2.ResumeLayout(false);
+            this.tableLayoutPanel2.PerformLayout();
             this.ResumeLayout(false);
             this.PerformLayout();
@@ -200,6 +248,11 @@
         private System.Windows.Forms.Button button2;
         private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
-        private System.Windows.Forms.BindingSource selectedPwgCategoryListBindingSource;
+        private System.Windows.Forms.BindingSource selectedPwgAlbumListBindingSource;
         private System.Windows.Forms.BindingSource modelManagerBaseBindingSource;
+        private System.Windows.Forms.TabControl tabControl1;
+        private System.Windows.Forms.TabPage tabPageAlbum;
+        private System.Windows.Forms.TabPage tabPageImg;
+        private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
+        private System.Windows.Forms.Label label5;
     }
 }
Index: /extensions/PiwigoLib/PiwigoUpload/MainForm.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/MainForm.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoUpload/MainForm.cs	(revision 12336)
@@ -17,5 +17,5 @@
         {
             InitializeComponent();
-            selectedPwgCategoryListBindingSource.DataSource = ModelManager.Instance.lstCat;
+            selectedPwgAlbumListBindingSource.DataSource = ModelManager.Instance.lstCat;
             modelManagerBaseBindingSource.DataSource = ModelManager.Instance;
         }
@@ -97,5 +97,8 @@
             try
             {
-                ServiceFactory.GetByType<Disconnect>().runService();
+                if (ModelManager.Instance.isConnected)
+                {
+                    ServiceFactory.GetByType<Disconnect>().runService();
+                }
             }
             catch (ApplicationException aex)
Index: /extensions/PiwigoLib/PiwigoUpload/MainForm.fr.resx
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/MainForm.fr.resx	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoUpload/MainForm.fr.resx	(revision 12336)
@@ -118,10 +118,13 @@
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
+  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+  <data name="button1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>471, 55</value>
+  </data>
   <data name="button1.Text" xml:space="preserve">
     <value>Connecter</value>
   </data>
-  <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>53, 13</value>
+    <value>53, 20</value>
   </data>
   <data name="label1.Text" xml:space="preserve">
@@ -129,8 +132,8 @@
   </data>
   <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
-    <value>199, 40</value>
+    <value>199, 29</value>
   </data>
   <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
-    <value>71, 13</value>
+    <value>86, 20</value>
   </data>
   <data name="label2.Text" xml:space="preserve">
@@ -138,8 +141,44 @@
   </data>
   <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
-    <value>44, 13</value>
+    <value>53, 20</value>
   </data>
   <data name="label3.Text" xml:space="preserve">
     <value>Serveur</value>
+  </data>
+  <data name="button2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>471, 287</value>
+  </data>
+  <data name="button2.Text" xml:space="preserve">
+    <value>Télécharger</value>
+  </data>
+  <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
+    <value>53, 13</value>
+  </data>
+  <data name="label4.Text" xml:space="preserve">
+    <value>vers :</value>
+  </data>
+  <data name="tbServer.Location" type="System.Drawing.Point, System.Drawing">
+    <value>62, 3</value>
+  </data>
+  <data name="tbUser.Location" type="System.Drawing.Point, System.Drawing">
+    <value>62, 29</value>
+  </data>
+  <data name="tbUser.Size" type="System.Drawing.Size, System.Drawing">
+    <value>131, 20</value>
+  </data>
+  <data name="tbPassword.Location" type="System.Drawing.Point, System.Drawing">
+    <value>291, 29</value>
+  </data>
+  <data name="cbxLstCatTo.Location" type="System.Drawing.Point, System.Drawing">
+    <value>62, 287</value>
+  </data>
+  <data name="tabPageAlbum.ToolTipText" xml:space="preserve">
+    <value>Modifier les données de l'album</value>
+  </data>
+  <data name="tabPageImg.Text" xml:space="preserve">
+    <value>Photo</value>
+  </data>
+  <data name="tabPageImg.ToolTipText" xml:space="preserve">
+    <value>Modifier les données de la photo</value>
   </data>
   <data name="imageListTV.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
@@ -147,141 +186,144 @@
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
-        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAW
-        HwAAAk1TRnQBSQFMAgEBAwEAAWgBAAFoAQABFgEAARYBAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFY
+        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAS
+        HwAAAk1TRnQBSQFMAgEBAwEAAXgBAAF4AQABFgEAARYBAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFY
         AwABFgMAAQEBAAEgBQABQAEeHgADBAEGAxMBGgMeASsDJAE1AyQBNgMjATMDGwEmAw0BERQAAwcBCQML
-        AQ8DAAEBDAADYgHjA2IB4wNiAeMDYgHjA2IB4wNiAeMDYgHjA2IB4wNiAeMDYgHjA2IB4wNiAeMDYgHj
-        A2IB4wNiAeMEAAM7AWQCPwE+AWwDBQEHxAADBgEIAxwBJwMvAUkDPAFmA0QBewNEAXsDTAGTA0kBiAM2
-        AVgDHQEqAwgBCwwAAx8BLQFIAkcBgwMlATcDAAEBCAADYgHjAfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/
-        AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/A2IB4wQA
-        AzoBYQNYAbsDQAFwAwsBD7wAAwgBCwMqAUADQQFyAlIBUQGhA1sBywFsAWoBYwHpAa0BngGEAfoB7QHK
-        AaUB/wHTAawBjgH/AbgBkgFvAf8BXwJcAd8DUQGcAzUBVgMcAScDDQERAx4BKwJSAVABpAJRAU8BnAMj
-        ATMIAANiAeMB+wL5Af8BNQFbAVYB/wFrApoB/wFjAZIBlgH/AUcBcQFrAf8BRAFkAVcB/wE0AUoBRAH/
-        ATsBSwFEAf8BigGnAZ8B/wFdAY8BgwH/ASgBSAFBAf8BNQFGAUIB/wH7AvkB/wOvAf8DOAFeAkcBRgGA
-        A1YBsQNKAY0DQAFxAwwBEAQAA2IB4wNiAeMDYgHjA2IB4wNiAeMDYgHjA2IB4wNiAeMDYgHjA2IB4wNi
-        AeMDYgHjA2IB4wNiAeMDYgHjA2IB4wNiAeMDYgHjA2IB4wNiAeMDYgHjA2IB41wAAxMBGgM+AWsCWQFX
+        AQ8DAAEBDAADXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHj
+        A18B4wNfAeMEAAM7AWQCPwE+AWwDBQEHxAADBgEIAxwBJwMvAUkDPAFmA0QBewNEAXsDTAGTA0kBiAM2
+        AVgDHQEqAwgBCwwAAx8BLQFIAkcBgwMlATcDAAEBCAADXwHjAfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/
+        AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/A18B4wQA
+        AzoBYQNYAbsDQAFwAwsBD7wAAwgBCwMqAUADQQFyAlIBUQGhA1sBywFoAWUBYgHpAacBmgF+AfoB7QHK
+        AaUB/wHTAawBjgH/AbgBkgFtAf8BXQJcAd8DUQGcAzUBVgMcAScDDQERAx4BKwJSAVABpAJRAU8BnAMj
+        ATMIAANfAeMB+wL5Af8BMwFZAVQB/wFpApoB/wFhAZIBlgH/AUUBbwFpAf8BQgFiAVUB/wEyAUgBQgH/
+        ATkBSQFCAf8BigGnAZ8B/wFbAY8BgwH/ASYBRgE/Af8BMwFEAUAB/wH7AvkB/wOvAf8DOAFeAkcBRgGA
+        A1YBsQNKAY0DQAFxAwwBEAQAA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNf
+        AeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B41wAAxMBGgM+AWsCWQFX
         AcIB7wG7AYUB/wH5AdsBswH/AfsB5QHCAf8B/AHXAagB/wH1AcgBlgH/AfUByQGcAf8B4QGvAYYB/wHI
-        AZsBgwH/AcgBsAGoAf8B2gHYAdcB/wNzAesDUwGoA04BlwJYAVYBvANUAa4DTgGUAycBOwMFAQcDYgHj
-        AfsC+QH/AUgBMgErAf8BGwEOARIB/wElAQ8BBQH/AUQBKgEyAf8BZgFpAYUB/wFDAToBQAH/ASkBFQEk
-        Af8BHwEWAScB/wFaAUMBZwH/ATIBJAEtAf8BUAFAAVUB/wH7AvkB/wOsAf8B5AHnAekB/wGzAagBnwH9
-        AXYBbgFnAe4CXgFdAdACWQFWAb4CSQFIAYgDIAEuA2IB4wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHv
+        AZsBgwH/AcgBsAGoAf8B2gHYAdcB/wNtAesDUwGoA04BlwJYAVYBvANUAa4DTgGUAycBOwMFAQcDXwHj
+        AfsC+QH/AUYBMAEpAf8BGQEMARAB/wEjAQ0BAwH/AUIBKAEwAf8BZAFnAYUB/wFBATgBPgH/AScBEwEi
+        Af8BHQEUASUB/wFYAUEBZQH/ATABIgErAf8BTgE+AVMB/wH7AvkB/wOsAf8B5AHnAekB/wGxAagBnwH9
+        AW4BagFjAe4CXgFdAdACWQFWAb4CSQFIAYgDIAEuA18B4wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHv
         Au4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHv
-        Au4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wNiAeNcAAMMARACWQFXAb8B9AG1AWsB/wHb
-        AZcBUgH/AdMBiQE/Af8B3QGbAVcB/wHiAaYBZgH/Ad4BowFkAf8B8gHeAc0B/wHrAb8BmgH/AeMBqAFp
-        Af8B1AGvAZgB/wHvAfIB9QH/AvMB8gH/AfMB9QH5Af8BxQHAAbcB/wGuAYsBXAH/AXIBaQFhAe4BZAJh
-        AeIDWwHIAzoBYQNiAeMB+wL5Av8B8QG+Af8BkwGSAaYB/wFTAVgBgAH/AUkBQwFBAf8BHgErATMB/wMA
-        Af8BFAEKAQAB/wFiAVoBUQH/AUYBQQFmAf8BSwFMAYkB/wEzATgBXgH/AfsC+QH/A6oB/wHVAdcB2QH/
-        Ab8BrwGcAf8B5wHIAacB/wHcAbQBiQH/AdwBtAGJAf8B2gGuAYAB/wNOAZgDYgHjAe8C7gH/AwAB/wEA
-        ARYBAAH/AQABDAEAAf8BAAENAQAB/wEAARABCAH/AQABDQEJAf8BAAEKAQAB/wEAASEBIAH/AQABLQEf
-        Af8BAAEjAQMB/wEAARsBAAH/AQABLAEWAf8BAAECAQAB/wEAARQBAAH/AQABFgEAAf8BAAIlAf8BAAEw
-        ARsB/wMAAf8B7wLuAf8DYgHjXAADMQFOAeEBjgE8Af8BxQFkASgB/wHLAYUBQwH/Ad4BpgFpAf8B5AGp
-        AWcB/wHhAZ0BUgH/AeABogFfAf8B8AHXAcIB/wHTAZgBXwH/AcsBggE/Af8B4QGrAYEB/wHzAesB4gH/
-        Ae0B7gHvAf8B3wHiAeQB/wGvAakBogH/AbEBigFbAf8B2wGuAYEB/wHdAbYBjAH/Ad4BuAGNAf8DUgGp
-        A2IB4wH7AvkC/wHXAZ0C/wHgAaMB/wFjAWQBlQH/AWcBhwG7Af8BiAFYAVYC/wHZAZUC/wH2AbwC/wH7
-        AbkC/wHWAZkB/wG2AZoBaQH/AT8BNwEtAf8B+wL5Af8DrAH/AdYB2AHbAf8BvgGtAZsB/wHoAckBpwH/
-        Ad4BtQGHAf8B3QG0AYcB/wHdAbUBiAH/A1ABmwNiAeMB7wLuAf8BBwFCATMB/wFJAYMBawH/ATUBiAFv
-        Af8BSgGSAY8B/wFSAZYBkwH/AUMBjgGKAf8BNgGGAYIB/wEtAW4BYAH/ASYBVgFFAf8BDwE4ASUB/wEX
-        AUABNAH/ASkBRwE0Af8BnAHPAc0B/wEzAWMBUgH/AUUBhQFyAf8BOQFVAVoB/wE0AVgBTAH/AQABNQEc
-        Af8B7wLuAf8DYgHjXAADYAHUAa8BRAEFAf8BwwFlASwB/wHVAZABSAH/AesBwgGbAf8B9QHZAb0B/wHp
-        AbMBgAH/AeEBngFWAf8B3QGbAVUB/wHNAYABNwH/AbsBWgEfAf8BwAFmATEB/wHuAcoBqgH/Ae8B9AH3
-        Af8B4QHkAeYB/wGzAa8BpAH/AbYBkQFiAf8B3QGvAYIB/wHfAbUBhgH/AeABuAGLAf8DUQGgA2IB4wH7
-        AvkB/wH4AbsBhwL/AcoBhwH/AfYBwAGRAf8BOgFGAXAB/wHgAaABZAL/AeMBogL/AcIBjQH/Af0BvgGM
-        Av8BzQGVAv8B4AGfAv8B3gGYAf8B+wL5Af8DrQH/AdYB2QHbAf8BvgGuAZsB/wHpAcsBqQH/AeEBuAGL
-        Af8B4AG4AYoB/wHgAbgBigH/A1ABmwNiAeMB7wLuAf8BOwEXAR4B/wEgAQABCgH/AU4CNQH/AYQBagFw
-        Af8BrwGdAaEB/wGFAV8BbQH/AXIBXgFjAf8BkAFuAYYB/wGVAYsBjQH/AaoBkQGmAf8BTgE5AUcB/wGf
-        AYQBkQH/AYMBgAFyAf8BWwFGAVwB/wFHAUIBQwH/ARMBBwEAAf8BmQFyAYsB/wEZAQABGgH/Ae8C7gH/
-        A2IB41wAAb8BXgEgAf8BrAE/AQEB/wHGAWYBJAH/AdcBkwFMAf8B3QGjAWIB/wHfAaUBZgH/AecBuQGS
-        Af8B9wHlAdUB/wHgAasBbwH/AdABigE/Af8BwQFhASIB/wGsAUABAAH/AdIBlgFfAf8B8AH3AfsB/wHf
-        AeEB5QH/AbsBtAGxAf8BxAGoAYYB/wHkAbkBigH/AeIBuQGKAf8B4gG7AY0B/wNRAaADYgHjAfsC+QH/
-        AfABsgFsAf8B8AGwAWsC/wG6AWwC/wG9AW4C/wG9AYEB/wHxAa8BawH/AfIBswFwAf8B7wG0AXEB/wHy
-        AbQBcQH/AfMBtAFyAf8B9gGyAW0B/wH7AvkB/wOuAf8B1gHaAd4B/wG+AbEBnwH/AesBzwGtAf8B4wG7
-        AYwB/wHjAbsBjgH/AeIBuwGNAf8DUAGbA2IB4wHvAu4B/wHdAboBlgH/AbEBnQGKAf8BMwEvASEB/wMA
-        Af8DAAH/AwAB/wEbARUBFgH/AU4BTQFkAf8BMQFOAVgB/wEcASMBIAH/ARYBGAENAf8BHAEVASAB/wEw
-        ASkBPAH/AV0BSgFvAf8BJgEpAS4B/wFIAUABWgH/AUEBSwFfAf8BDwEeATUB/wHvAu4B/wNiAeNcAAGt
-        AUEBBAH/AdEBnQFqAf8B3gGuAYYB/wHKAW8BMQH/AdQBkQFNAf8BzwGBATIB/wHdAaUBagX/AeIBtQGR
-        Af8ByQFwAS8B/wHLAYIBPAH/AbIBSAEHAf8BvgFpATgB/wHpAfMB+gH/AdsB3gHfAf8BxgG/AbIB/wHZ
-        AcMBpwH/Ae0BywGkAf8B5AG8AY0B/wHlAb8BkAH/A1EBoANiAeMB+wL5Af8B6gGkAV4B/wHqAaQBYAH/
-        AekBowFfAf8B8AGoAWEB/wHqAaQBYAH/AeoBpAFiAf8B6gGmAWAB/wHsAakBZAH/AewBpwFlAf8B7QGr
-        AWQB/wHsAaUBXgH/AfsC+QH/A68B/wHZAdgB1QH/AckBtQGcAf8B8QHbAcMB/wHoAcUBnAH/AeUBvgGP
-        Af8B5QG/AZEB/wNQAZsDYgHjAe8C7gH/AfEBxQGaAv8B4gG8Av8B+AHIAf8CmQGxAf8BhgGPAbIB/wFp
-        AWUBawH/AT0BNQE0Af8BEgEGAQAB/wE5AVcBXAH/AQwBAQEKAf8DAAH/AwAB/wFNAVABhgH/AUIBOgFg
-        Af8BbwFqAZgB/wFnAV4BjAH/AVYBSwFkAf8BAAEVAQwB/wHvAu4B/wNiAeNcAAGoATYBAAH/AdYBpAGA
-        Af8B8wHkAdcB/wHZAaIBbAH/AcgBbAEtAf8BxgFmASQB/wHSAY4BTAH/Ac8BiQFGAf8B0gGUAVUB/wHK
-        AYABNwH/AcMBYwEkAf8BvAFbASAB/wG5AWABLgH/AfAB/AH+Af8BxwHGAcUB/wHOAb8BqwH/AfEB1wG3
-        Af8B7gHUAbQB/wHqAckBoAH/AekBwgGTAf8DUQGgA2IB4wH7AvkB/wHgAZcBVwH/AeEBlwFVAf8B3wGX
-        AVcB/wHfAZcBVgH/Ad8BlwFYAf8B3wGZAVkB/wHgAZgBWAH/AeEBmQFaAf8B4gGaAVkB/wHkAZ0BWwH/
-        AeABlQFVAf8B+wL5Af8DsQH/AcIBugGuAf8B8wHgAcgB/wHuAdMBsQH/Ae4B1AG1Af8B6gHIAZ4B/wHo
-        AcEBkgH/A1ABmwNiAeMB7wLuAf8B/AHCAYcB/wH6Ac4BoAL/AdgBogL/AdgBogH/AXABiQGrAf8BbAFg
-        AYkB/wKjAb0B/wGJAZIBqQH/ATUBHgEdAf8BWAFAAS0B/wGLAVkBPgL/AdgBpgH/Ad8BuAGLAf8BZQFW
-        AVIB/wFHAUkBWwH/ASsBMAFPAf8BMAE8AVcB/wMAAf8B7wLuAf8DYgHjXAABrAE5AQAB/wGyAUcBBAH/
-        AcQBZwEqAf8BygGDAT8B/wHPAYwBTQH/AewB0wHBAf8B+AHtAeQB/wHLAYMBPgH/AcIBYgEiAf8BzwGM
-        AU0B/wG/AV4BIAH/AasBOQEAAf8BvQFmATQB/wHzA/8BxAHCAb4B/wHQAb8BqwH/AfUB3AG+Af8B8AHW
-        AbcB/wHwAdcBuAH/AewByAGcAf8DUQGgA2IB4wH7AvkB/wH7AvkB/wH7AvkB/wH7AvkB/wH7AvkB/wH7
-        AvkB/wH7AvkB/wH7AvkB/wH7AvkB/wH7AvkB/wH7AvkB/wH7AvkB/wH7AvgB/wOsAf8BzAHCAbYB/wH1
-        AeQB0AH/AfAB1gG3Af8B8AHYAboB/wHvAdYBtgH/AeoBxgGYAf8DUAGbA2IB4wHvAu4C/wG5AWwB/wH+
-        AcgBlgH/AfsBxQGUAv8B2gGYAf8B4gG2AY8B/wFLAVIBigH/AXABaQGQAf8BWgFrAaIB/wG5AWoBSgP/
-        AcQC/wHxAbcC/wHeAagC/wHkAacC/wHxAawC/wHWAZUB/wGsAYgBTgH/AV0BSwEvAf8DAAH/Ae8C7gH/
-        A2IB41wAAlsBWAHGAaMBKgEAAf8ByQGEAUMB/wHOAYwBUAH/AcwBiAFJAf8B7gHXAcYB/wH4AfAB6gH/
-        AdoBqwGHAf8B1AGeAWgB/wHOAZEBVgH/AeABuwGgAf8BygGKAVIB/wHaAa8BkAH/Ae8B9gH8Af8BxQHD
-        AcAB/wHVAcUBsAH/AfgB4gHFAf8B8gHaAbsB/wHyAd0BwwH/AfIB1QGxAf8DUQGgA2IB4wNiAeMDYgHj
-        A2IB4wNiAeMDYgHjA7QB/wO0Af8DtAH/A7QB/wO0Af8DswH/A6kB/wOYAf8DoAH/AcwBwwG3Af8B+AHp
-        AdUB/wHyAdsBvQH/AfIB2wG+Af8B8gHdAcIB/wHwAdIBrAH/A1ABmwNiAeMB7wLuAf8B/gGvAV4B/wH5
-        AcABjAH/AfkBvwGMAf8B+QG9AYkC/wHVAYwB/wHIAaUBkAH/AU0BYgGkAf8BLQEdATYC/wHAAXEC/wHL
-        AZQB/wH7Ab4BiwH/Af0BvwGLAf8B/QHBAYwB/wH+AcIBjgL/Ac0BlwL/AeQBpgL/Ae8BrwL/Ac4BgQH/
-        Ae8C7gH/A2IB41wAAy0BRgGFAVEBNwH3AcoBiQFOAf8B3AGxAZQB/wHiAb0BogH/Ad8BtwGYAf8B2AGl
-        AXIB/wHZAagBhAH/Ad0BswGTAf8B2QGqAYgB/wHWAaUBggH/AdUBowGAAf8C+wH6Af8B7QHwAfIB/wHG
-        AcMBwQH/AdcBxwG0Af8B/QHoAc0B/wH1AeABwgH/AfQB4AHFAf8B9AHfAcIB/wNRAaAYAAMzAVID9QH/
-        A/0B/wP8Af8D/QH/A/0B/wP9Af8D5gH/AeEB4gHlAf8BygHBAbYB/wH6AewB2QH/AfcB4QHEAf8B9AHf
-        AcIB/wH0AeABxQH/AfMB3AG9Af8DUAGbA2IB4wHvAu4B/wH3AaMBUAH/AfUBtwGDAf8B9gG2AYAB/wHz
-        AbgBgAH/AfUBtgGBAv8ByQGBAf8BwAGcAXAB/wHQAZ8BbgL/AcgBiwH/AfUBtwGBAf8B9AG4AYMB/wH2
-        AboBhAH/AfYBugGFAf8B9QG7AYcB/wH4AbwBhQH/AfkBuQGGAf8B+gG9AYgC/wGxAV4B/wHvAu4B/wNi
-        AeNcAAMDAQQDRAF6AX4BWQFCAfUB6QHQAb0B/wH6AfUB8wH/Ae0B1wHGAf8B6wHSAcAB/wHtAdYBxQH/
-        AekBzAG2Af8B0QGZAWcB/wG7AV4BKAH/Ae8B3QHPAf8B/AH+Av8B7AHvAfAB/wHHAcUBwQH/AdUBxwG0
-        Av8B7QHTAf8B+QHlAcoB/wH2AeQByQH/AfcB5QHLAf8DUQGgGAADMwFSA/YB/wP+Af8D/QH/A/0B/wP+
-        Af8D/gH/A+gB/wHjAeQB5wH/AcsBwgG2Af8B/AHwAd4B/wH8AeoB0AH/AfwB6gHQAf8B9wHmAc0B/wH3
-        AeYBzQH/A1ABmwNiAeMB7wLuAf8B8AGaAUMB/wHwAa8BaQH/AfABrgFpAf8B7gGuAWgB/wHwAbABagH/
-        Ae4BrgFqAv8BuwFqAv8BuwFtAf8B7gGuAWsB/wHwAa8BagH/AfABsQFsAf8B8AGwAW0B/wHwAbIBbQH/
-        AfEBsQFvAf8B8gGzAXEB/wHyAbQBbwH/AfYBtgGBAf8B9gGiAU0B/wHvAu4B/wNiAeNkAAM+AWsCXAFa
-        Ac0BpgGVAXsB+gHnAc8BvAH/AfQB3AHJAf8B5gHGAa8B/wHZAasBjAH/AcwBkQFdAf8B5wHJAbUF/wP7
-        Af8B7AHwAfEB/wHJAcQBwAH/AdgBygG3Av8B7wHXAf8B/QHsAdAB/wH5AekB0AH/AfkB6AHQAf8DUQGg
-        GAADMwFSA/cF/wP+Af8D/gH/A/4B/wP+Af8D6AH/AeMB5AHpAf8BywHCAbgB/wH9AfIB4QH/Af4B7QHT
-        Af8B/gHuAdUB/wH7AesB0wH/AfgB6QHRAf8DUAGbA2IB4wHvAu4B/wHsAZABNwH/AesBpwFkAf8B6wGn
-        AV8B/wHsAaYBYQH/AesBpgFgAf8B7AGmAWAB/wHoAaUBYAH/AeoBpQFiAf8B7AGoAWEB/wHpAacBYwH/
-        AesBpwFiAf8B7QGoAWMB/wHsAaoBZgH/Ae4BrAFkAf8B7QGtAWUB/wHwAa4BZwH/AfABsAFpAf8B8AGY
-        AUAB/wHvAu4B/wNiAeNoAAMUARsCPwE+AWwDTAGSA1MBqAFyAWkBYwHwAeABvQGkAf8B+AHzAe8J/wP7
-        Af8B7AHuAfAB/wHJAcUBwwH/AdgBywG6Av8B8wHbAv8B7wHVAf8B/gHuAdcB/wH7AesB1QH/A1EBoBgA
-        AzMBUgP4Bf8D/gH/A/4B/wP+Af8D/gH/A+oB/wHnAegB6gH/Ac8BxAG6Af8B/gHzAeMC/wHvAdgC/wHw
-        AdoB/wH+Ae8B2QH/AfoB6wHWAf8DUAGbA2IB4wHvAu4B/wHkAYQBMQH/AeYBnwFcAf8B5wGeAVsB/wHl
-        AZ4BWwH/AeUBngFbAf8B5QGeAVsB/wHlAZ4BXQH/AeUBngFcAf8B5QGdAVwB/wHlAZ8BXQH/AecBnwFd
-        Af8B5gGgAV8B/wHnAaEBXwH/AecBogFfAf8B6AGjAWEB/wHpAaQBYAH/AewBpgFjAf8B6gGNATYB/wHv
-        Au4B/wNiAeN0AAMNAREDYAHWCP8D/gX/A/sB/wHuAe8B8QH/AcgBxAHAAf8B2AHLAboC/wH2AeAC/wHw
-        AdwC/wHxAdwB/wH8Ae4B2wH/A1EBoBgAAzMBUgP4Bf8D/gH/A/4B/wP+Af8D/gH/AvEB8gH/AeYB5wHq
-        Af8BzQHBAbYB/wH+AfMB4wL/AfIB3gL/AfIB3wL/AfIB3wH/AfoB7gHcAf8DUAGbA2IB4wHvAu4B/wHc
-        AW8BKgH/AeIBmQFZAf8B4AGYAVkB/wHgAZgBVwH/AeEBmAFWAf8B3wGYAVkB/wHfAZgBWAH/Ad8BmAFY
-        Af8B3wGYAVkB/wHhAZkBWwH/AeABmQFbAf8B4AGYAVgB/wHhAZkBWgH/AeIBmwFZAf8B5AGcAVsB/wHk
-        AZ0BXAH/AeYBnwFfAf8B4wGDATIB/wHvAu4B/wNiAeN0AAMcAScDYQHaBP8D/gH/A/4B/wP+Af8D/QH/
-        AfcB+QH8Af8B2gHVAdMB/wHmAdcBxgL/AfcB5AL/AfQB4QL/AfQB4wH/Af0B8gHgAf8DUQGgGAADMwFS
-        A/kF/wP+Af8D/gH/A/4B/wP+Af8D/QH/AfEB8wH3Af8B4QHTAcMB/wH+AfEB4AL/AfQB3gL/AfUB4wL/
-        AfUB5QH/AfsB8QHgAf8DUAGbA2IB4wHvAu4B/wHOAUQBAAH/AdUBaAEhAf8B1QFnASAB/wHTAWUBHgH/
-        AdMBZQEhAf8B1AFlAR4B/wHSAWUBHgH/AdIBZQEeAf8B0gFlASAB/wHUAWcBIQH/AdMBZwEhAf8B0wFm
-        ASMB/wHUAWgBIgH/AdYBaQEiAf8B1QFqASQB/wHZAWwBJQH/AdgBbgEoAf8B1AFPAQAB/wHvAu4B/wNi
-        AeN0AAMdASkDYgHdCP8D/gn/Af4D/wH2AfIB7gH/AfQB5QHUAv8B9QHgAv8B+AHlAv8B9gHoAf8B/QH0
-        AeYB/wNRAaAYAAMzAVMD+wn/A/4R/wHvAeMB1wH/AfcB5AHHAv8B9AHdAv8B8wHiAv8B9gHnAf8B+wHz
-        AeUB/wNQAZsDYgHjAe8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/
-        Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/
-        Ae8C7gH/Ae8C7gH/A2IB43QAAxABFQNcAc8a/wH+Af8B+wH0Ae0B/wH6AewB2gH/Af4B8wHfAv8B+gHp
-        Af8B/QH3AesB/wNRAaAYAAMhATADagHoA/4Z/wL+Af0B/wH5Ae4B4wH/AfgB6QHUAf8B/gHwAdwC/wH4
-        AekB/wH7AfQB6AH/A1ABmwNiAeMDYgHjA2IB4wNiAeMDYgHjA2IB4wNiAeMDYgHjA2IB4wNiAeMDYgHj
-        A2IB4wNiAeMDYgHjA2IB4wNiAeMDYgHjA2IB4wNiAeMDYgHjA2IB4wNiAeN3AAEBAxwBJwMxAU4DOAFe
-        A0ABcANMAZIDWAG7A2EB3AN3AewBqQKsAfgB/AH6AfgB/wH8AfQB6AH/Af0B8gHgAv8B+QHrAf8DUQGg
-        HAADDwEUAyEBMAMqAUADMwFSA0IBdQNRAZ8DWwHGA18B2wNsAegDlwH2AfsB+AH2Af8B+gHvAeUB/wH8
-        AfAB3wH/Af0B9wHrAf8DUAGa2wABAQMCAQMDBQEHAwkEDAEQAxIBGQMaASQDJgE4AzcBWgNIAYQDVgG0
-        A0MBdzgAAwMBBAMLAQ8DEwEaAyQBNQM3AVsDSQGHA1YBtANBAXKwAAFCAU0BPgcAAT4DAAEoAwABWAMA
-        ARYDAAEBAQABAQUAAQgBARYAA/8BAAHgAR8BHAEAAQQBfwL/AcADAAHAAQcBDAEAAQQBPwL/AcADAAGA
-        AQABDAIAARAGAAGACwABgAsAAYALAAGACwABgAsAAYALAAGACwABgAsAAYALAAGAAQABAwHwCAABgAEA
-        AQMB8AgAAeABAAEDAfAIAAHwAQABAwHwCAAB/gEAAQMB8AgAAf4BAAEDAfAIAAH+AQABAwHwCAAB/gEA
-        AQMB8AgAAf4BAAEDAfgBAAEPAv8BwAMAAf8BwAEDAf8B8AEPAv8BwAMACw==
+        Au4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wNfAeNcAAMMARACWQFXAb8B9AG1AWkB/wHb
+        AZcBUAH/AdMBiQE9Af8B3QGbAVUB/wHiAaYBZAH/Ad4BowFiAf8B8gHeAc0B/wHrAb8BmgH/AeMBqAFn
+        Af8B1AGvAZgB/wHvAfIB9QH/AvMB8gH/AfMB9QH5Af8BxQHAAbcB/wGuAYsBWgH/AWwBZQFhAe4BYgJh
+        AeIDWwHIAzoBYQNfAeMB+wL5Av8B8QG+Af8BkwGSAaYB/wFRAVYBgAH/AUcBQQE/Af8BHAEpATEB/wMA
+        Af8BEgEIAQAB/wFgAVgBTwH/AUQBPwFkAf8BSQFKAYkB/wExATYBXAH/AfsC+QH/A6oB/wHVAdcB2QH/
+        Ab8BrwGcAf8B5wHIAacB/wHcAbQBiQH/AdwBtAGJAf8B2gGuAYAB/wNOAZgDXwHjAe8C7gH/AwAB/wEA
+        ARQBAAH/AQABCgEAAf8BAAELAQAB/wEAAQ4BBgH/AQABCwEHAf8BAAEIAQAB/wEAAR8BHgH/AQABKwEd
+        Af8BAAEhAQEB/wEAARkBAAH/AQABKgEUAf8DAAH/AQABEgEAAf8BAAEUAQAB/wEAAiMB/wEAAS4BGQH/
+        AwAB/wHvAu4B/wNfAeNcAAMxAU4B4QGOAToB/wHFAWIBJgH/AcsBhQFBAf8B3gGmAWcB/wHkAakBZQH/
+        AeEBnQFQAf8B4AGiAV0B/wHwAdcBwgH/AdMBmAFdAf8BywGCAT0B/wHhAasBgQH/AfMB6wHiAf8B7QHu
+        Ae8B/wHfAeIB5AH/Aa8BqQGiAf8BsQGKAVkB/wHbAa4BgQH/Ad0BtgGMAf8B3gG4AY0B/wNSAakDXwHj
+        AfsC+QL/AdcBnQL/AeABowH/AWEBYgGVAf8BZQGHAbsB/wGIAVYBVAL/AdkBlQL/AfYBvAL/AfsBuQL/
+        AdYBmQH/AbYBmgFnAf8BPQE1ASsB/wH7AvkB/wOsAf8B1gHYAdsB/wG+Aa0BmwH/AegByQGnAf8B3gG1
+        AYcB/wHdAbQBhwH/Ad0BtQGIAf8DUAGbA18B4wHvAu4B/wEFAUABMQH/AUcBgwFpAf8BMwGIAW0B/wFI
+        AZIBjwH/AVABlgGTAf8BQQGOAYoB/wE0AYYBggH/ASsBbAFeAf8BJAFUAUMB/wENATYBIwH/ARUBPgEy
+        Af8BJwFFATIB/wGcAc8BzQH/ATEBYQFQAf8BQwGFAXAB/wE3AVMBWAH/ATIBVgFKAf8BAAEzARoB/wHv
+        Au4B/wNfAeNcAANgAdQBrwFCAQMB/wHDAWMBKgH/AdUBkAFGAf8B6wHCAZsB/wH1AdkBvQH/AekBswGA
+        Af8B4QGeAVQB/wHdAZsBUwH/Ac0BgAE1Af8BuwFYAR0B/wHAAWQBLwH/Ae4BygGqAf8B7wH0AfcB/wHh
+        AeQB5gH/AbMBrwGkAf8BtgGRAWAB/wHdAa8BggH/Ad8BtQGGAf8B4AG4AYsB/wNRAaADXwHjAfsC+QH/
+        AfgBuwGHAv8BygGHAf8B9gHAAZEB/wE4AUQBbgH/AeABoAFiAv8B4wGiAv8BwgGNAf8B/QG+AYwC/wHN
+        AZUC/wHgAZ8C/wHeAZgB/wH7AvkB/wOtAf8B1gHZAdsB/wG+Aa4BmwH/AekBywGpAf8B4QG4AYsB/wHg
+        AbgBigH/AeABuAGKAf8DUAGbA18B4wHvAu4B/wE5ARUBHAH/AR4BAAEIAf8BTAIzAf8BhAFoAW4B/wGv
+        AZ0BoQH/AYUBXQFrAf8BcAFcAWEB/wGQAWwBhgH/AZUBiwGNAf8BqgGRAaYB/wFMATcBRQH/AZ8BhAGR
+        Af8BgwGAAXAB/wFZAUQBWgH/AUUBQAFBAf8BEQEFAQAB/wGZAXABiwH/ARcBAAEYAf8B7wLuAf8DXwHj
+        XAABvwFcAR4B/wGsAT0BAAH/AcYBZAEiAf8B1wGTAUoB/wHdAaMBYAH/Ad8BpQFkAf8B5wG5AZIB/wH3
+        AeUB1QH/AeABqwFtAf8B0AGKAT0B/wHBAV8BIAH/AawBPgEAAf8B0gGWAV0B/wHwAfcB+wH/Ad8B4QHl
+        Af8BuwG0AbEB/wHEAagBhgH/AeQBuQGKAf8B4gG5AYoB/wHiAbsBjQH/A1EBoANfAeMB+wL5Af8B8AGy
+        AWoB/wHwAbABaQL/AboBagL/Ab0BbAL/Ab0BgQH/AfEBrwFpAf8B8gGzAW4B/wHvAbQBbwH/AfIBtAFv
+        Af8B8wG0AXAB/wH2AbIBawH/AfsC+QH/A64B/wHWAdoB3gH/Ab4BsQGfAf8B6wHPAa0B/wHjAbsBjAH/
+        AeMBuwGOAf8B4gG7AY0B/wNQAZsDXwHjAe8C7gH/Ad0BugGWAf8BsQGdAYoB/wExAS0BHwH/AwAB/wMA
+        Af8DAAH/ARkBEwEUAf8BTAFLAWIB/wEvAUwBVgH/ARoBIQEeAf8BFAEWAQsB/wEaARMBHgH/AS4BJwE6
+        Af8BWwFIAW0B/wEkAScBLAH/AUYBPgFYAf8BPwFJAV0B/wENARwBMwH/Ae8C7gH/A18B41wAAa0BPwEC
+        Af8B0QGdAWgB/wHeAa4BhgH/AcoBbQEvAf8B1AGRAUsB/wHPAYEBMAH/Ad0BpQFoBf8B4gG1AZEB/wHJ
+        AW4BLQH/AcsBggE6Af8BsgFGAQUB/wG+AWcBNgH/AekB8wH6Af8B2wHeAd8B/wHGAb8BsgH/AdkBwwGn
+        Af8B7QHLAaQB/wHkAbwBjQH/AeUBvwGQAf8DUQGgA18B4wH7AvkB/wHqAaQBXAH/AeoBpAFeAf8B6QGj
+        AV0B/wHwAagBXwH/AeoBpAFeAf8B6gGkAWAB/wHqAaYBXgH/AewBqQFiAf8B7AGnAWMB/wHtAasBYgH/
+        AewBpQFcAf8B+wL5Af8DrwH/AdkB2AHVAf8ByQG1AZwB/wHxAdsBwwH/AegBxQGcAf8B5QG+AY8B/wHl
+        Ab8BkQH/A1ABmwNfAeMB7wLuAf8B8QHFAZoC/wHiAbwC/wH4AcgB/wKZAbEB/wGGAY8BsgH/AWcBYwFp
+        Af8BOwEzATIB/wEQAQQBAAH/ATcBVQFaAf8BCgEAAQgB/wMAAf8DAAH/AUsBTgGGAf8BQAE4AV4B/wFt
+        AWgBmAH/AWUBXAGMAf8BVAFJAWIB/wEAARMBCgH/Ae8C7gH/A18B41wAAagBNAEAAf8B1gGkAYAB/wHz
+        AeQB1wH/AdkBogFqAf8ByAFqASsB/wHGAWQBIgH/AdIBjgFKAf8BzwGJAUQB/wHSAZQBUwH/AcoBgAE1
+        Af8BwwFhASIB/wG8AVkBHgH/AbkBXgEsAf8B8AH8Af4B/wHHAcYBxQH/Ac4BvwGrAf8B8QHXAbcB/wHu
+        AdQBtAH/AeoByQGgAf8B6QHCAZMB/wNRAaADXwHjAfsC+QH/AeABlwFVAf8B4QGXAVMB/wHfAZcBVQH/
+        Ad8BlwFUAf8B3wGXAVYB/wHfAZkBVwH/AeABmAFWAf8B4QGZAVgB/wHiAZoBVwH/AeQBnQFZAf8B4AGV
+        AVMB/wH7AvkB/wOxAf8BwgG6Aa4B/wHzAeAByAH/Ae4B0wGxAf8B7gHUAbUB/wHqAcgBngH/AegBwQGS
+        Af8DUAGbA18B4wHvAu4B/wH8AcIBhwH/AfoBzgGgAv8B2AGiAv8B2AGiAf8BbgGJAasB/wFqAV4BiQH/
+        AqMBvQH/AYkBkgGpAf8BMwEcARsB/wFWAT4BKwH/AYsBVwE8Av8B2AGmAf8B3wG4AYsB/wFjAVQBUAH/
+        AUUBRwFZAf8BKQEuAU0B/wEuAToBVQH/AwAB/wHvAu4B/wNfAeNcAAGsATcBAAH/AbIBRQECAf8BxAFl
+        ASgB/wHKAYMBPQH/Ac8BjAFLAf8B7AHTAcEB/wH4Ae0B5AH/AcsBgwE8Af8BwgFgASAB/wHPAYwBSwH/
+        Ab8BXAEeAf8BqwE3AQAB/wG9AWQBMgH/AfMD/wHEAcIBvgH/AdABvwGrAf8B9QHcAb4B/wHwAdYBtwH/
+        AfAB1wG4Af8B7AHIAZwB/wNRAaADXwHjAfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/
+        AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+AH/A6wB/wHMAcIBtgH/AfUB5AHQ
+        Af8B8AHWAbcB/wHwAdgBugH/Ae8B1gG2Af8B6gHGAZgB/wNQAZsDXwHjAe8C7gL/AbkBagH/Af4ByAGW
+        Af8B+wHFAZQC/wHaAZgB/wHiAbYBjwH/AUkBUAGKAf8BbgFnAZAB/wFYAWkBogH/AbkBaAFIA/8BxAL/
+        AfEBtwL/Ad4BqAL/AeQBpwL/AfEBrAL/AdYBlQH/AawBiAFMAf8BWwFJAS0B/wMAAf8B7wLuAf8DXwHj
+        XAACWwFYAcYBowEoAQAB/wHJAYQBQQH/Ac4BjAFOAf8BzAGIAUcB/wHuAdcBxgH/AfgB8AHqAf8B2gGr
+        AYcB/wHUAZ4BZgH/Ac4BkQFUAf8B4AG7AaAB/wHKAYoBUAH/AdoBrwGQAf8B7wH2AfwB/wHFAcMBwAH/
+        AdUBxQGwAf8B+AHiAcUB/wHyAdoBuwH/AfIB3QHDAf8B8gHVAbEB/wNRAaADXwHjA18B4wNfAeMDXwHj
+        A18B4wNfAeMDtAH/A7QB/wO0Af8DtAH/A7QB/wOzAf8DqQH/A5gB/wOgAf8BzAHDAbcB/wH4AekB1QH/
+        AfIB2wG9Af8B8gHbAb4B/wHyAd0BwgH/AfAB0gGsAf8DUAGbA18B4wHvAu4B/wH+Aa8BXAH/AfkBwAGM
+        Af8B+QG/AYwB/wH5Ab0BiQL/AdUBjAH/AcgBpQGQAf8BSwFgAaQB/wErARsBNAL/AcABbwL/AcsBlAH/
+        AfsBvgGLAf8B/QG/AYsB/wH9AcEBjAH/Af4BwgGOAv8BzQGXAv8B5AGmAv8B7wGvAv8BzgGBAf8B7wLu
+        Af8DXwHjXAADLQFGAYMBUQE5AfcBygGJAUwB/wHcAbEBlAH/AeIBvQGiAf8B3wG3AZgB/wHYAaUBcAH/
+        AdkBqAGEAf8B3QGzAZMB/wHZAaoBiAH/AdYBpQGCAf8B1QGjAYAB/wL7AfoB/wHtAfAB8gH/AcYBwwHB
+        Af8B1wHHAbQB/wH9AegBzQH/AfUB4AHCAf8B9AHgAcUB/wH0Ad8BwgH/A1EBoBgAAzMBUgP1Af8D/QH/
+        A/wB/wP9Af8D/QH/A/0B/wPmAf8B4QHiAeUB/wHKAcEBtgH/AfoB7AHZAf8B9wHhAcQB/wH0Ad8BwgH/
+        AfQB4AHFAf8B8wHcAb0B/wNQAZsDXwHjAe8C7gH/AfcBowFOAf8B9QG3AYMB/wH2AbYBgAH/AfMBuAGA
+        Af8B9QG2AYEC/wHJAYEB/wHAAZwBbgH/AdABnwFsAv8ByAGLAf8B9QG3AYEB/wH0AbgBgwH/AfYBugGE
+        Af8B9gG6AYUB/wH1AbsBhwH/AfgBvAGFAf8B+QG5AYYB/wH6Ab0BiAL/AbEBXAH/Ae8C7gH/A18B41wA
+        AwMBBANEAXoBdwFZAUIB9QHpAdABvQH/AfoB9QHzAf8B7QHXAcYB/wHrAdIBwAH/Ae0B1gHFAf8B6QHM
+        AbYB/wHRAZkBZQH/AbsBXAEmAf8B7wHdAc8B/wH8Af4C/wHsAe8B8AH/AccBxQHBAf8B1QHHAbQC/wHt
+        AdMB/wH5AeUBygH/AfYB5AHJAf8B9wHlAcsB/wNRAaAYAAMzAVID9gH/A/4B/wP9Af8D/QH/A/4B/wP+
+        Af8D6AH/AeMB5AHnAf8BywHCAbYB/wH8AfAB3gH/AfwB6gHQAf8B/AHqAdAB/wH3AeYBzQH/AfcB5gHN
+        Af8DUAGbA18B4wHvAu4B/wHwAZoBQQH/AfABrwFnAf8B8AGuAWcB/wHuAa4BZgH/AfABsAFoAf8B7gGu
+        AWgC/wG7AWgC/wG7AWsB/wHuAa4BaQH/AfABrwFoAf8B8AGxAWoB/wHwAbABawH/AfABsgFrAf8B8QGx
+        AW0B/wHyAbMBbwH/AfIBtAFtAf8B9gG2AYEB/wH2AaIBSwH/Ae8C7gH/A18B42QAAz4BawJcAVoBzQGi
+        AY8BeQH6AecBzwG8Af8B9AHcAckB/wHmAcYBrwH/AdkBqwGMAf8BzAGRAVsB/wHnAckBtQX/A/sB/wHs
+        AfAB8QH/AckBxAHAAf8B2AHKAbcC/wHvAdcB/wH9AewB0AH/AfkB6QHQAf8B+QHoAdAB/wNRAaAYAAMz
+        AVID9wX/A/4B/wP+Af8D/gH/A/4B/wPoAf8B4wHkAekB/wHLAcIBuAH/Af0B8gHhAf8B/gHtAdMB/wH+
+        Ae4B1QH/AfsB6wHTAf8B+AHpAdEB/wNQAZsDXwHjAe8C7gH/AewBkAE1Af8B6wGnAWIB/wHrAacBXQH/
+        AewBpgFfAf8B6wGmAV4B/wHsAaYBXgH/AegBpQFeAf8B6gGlAWAB/wHsAagBXwH/AekBpwFhAf8B6wGn
+        AWAB/wHtAagBYQH/AewBqgFkAf8B7gGsAWIB/wHtAa0BYwH/AfABrgFlAf8B8AGwAWcB/wHwAZgBPgH/
+        Ae8C7gH/A18B42gAAxQBGwI/AT4BbANMAZIDUwGoAWwBZwFfAfAB4AG9AaQB/wH4AfMB7wn/A/sB/wHs
+        Ae4B8AH/AckBxQHDAf8B2AHLAboC/wHzAdsC/wHvAdUB/wH+Ae4B1wH/AfsB6wHVAf8DUQGgGAADMwFS
+        A/gF/wP+Af8D/gH/A/4B/wP+Af8D6gH/AecB6AHqAf8BzwHEAboB/wH+AfMB4wL/Ae8B2AL/AfAB2gH/
+        Af4B7wHZAf8B+gHrAdYB/wNQAZsDXwHjAe8C7gH/AeQBhAEvAf8B5gGfAVoB/wHnAZ4BWQH/AeUBngFZ
+        Af8B5QGeAVkB/wHlAZ4BWQH/AeUBngFbAf8B5QGeAVoB/wHlAZ0BWgH/AeUBnwFbAf8B5wGfAVsB/wHm
+        AaABXQH/AecBoQFdAf8B5wGiAV0B/wHoAaMBXwH/AekBpAFeAf8B7AGmAWEB/wHqAY0BNAH/Ae8C7gH/
+        A18B43QAAw0BEQNgAdYI/wP+Bf8D+wH/Ae4B7wHxAf8ByAHEAcAB/wHYAcsBugL/AfYB4AL/AfAB3AL/
+        AfEB3AH/AfwB7gHbAf8DUQGgGAADMwFSA/gF/wP+Af8D/gH/A/4B/wP+Af8C8QHyAf8B5gHnAeoB/wHN
+        AcEBtgH/Af4B8wHjAv8B8gHeAv8B8gHfAv8B8gHfAf8B+gHuAdwB/wNQAZsDXwHjAe8C7gH/AdwBbQEo
+        Af8B4gGZAVcB/wHgAZgBVwH/AeABmAFVAf8B4QGYAVQB/wHfAZgBVwH/Ad8BmAFWAf8B3wGYAVYB/wHf
+        AZgBVwH/AeEBmQFZAf8B4AGZAVkB/wHgAZgBVgH/AeEBmQFYAf8B4gGbAVcB/wHkAZwBWQH/AeQBnQFa
+        Af8B5gGfAV0B/wHjAYMBMAH/Ae8C7gH/A18B43QAAxwBJwNhAdoE/wP+Af8D/gH/A/4B/wP9Af8B9wH5
+        AfwB/wHaAdUB0wH/AeYB1wHGAv8B9wHkAv8B9AHhAv8B9AHjAf8B/QHyAeAB/wNRAaAYAAMzAVID+QX/
+        A/4B/wP+Af8D/gH/A/4B/wP9Af8B8QHzAfcB/wHhAdMBwwH/Af4B8QHgAv8B9AHeAv8B9QHjAv8B9QHl
+        Af8B+wHxAeAB/wNQAZsDXwHjAe8C7gH/Ac4BQgEAAf8B1QFmAR8B/wHVAWUBHgH/AdMBYwEcAf8B0wFj
+        AR8B/wHUAWMBHAH/AdIBYwEcAf8B0gFjARwB/wHSAWMBHgH/AdQBZQEfAf8B0wFlAR8B/wHTAWQBIQH/
+        AdQBZgEgAf8B1gFnASAB/wHVAWgBIgH/AdkBagEjAf8B2AFsASYB/wHUAU0BAAH/Ae8C7gH/A18B43QA
+        Ax0BKQNfAd0I/wP+Cf8B/gP/AfYB8gHuAf8B9AHlAdQC/wH1AeAC/wH4AeUC/wH2AegB/wH9AfQB5gH/
+        A1EBoBgAAzMBUwP7Cf8D/hH/Ae8B4wHXAf8B9wHkAccC/wH0Ad0C/wHzAeIC/wH2AecB/wH7AfMB5QH/
+        A1ABmwNfAeMB7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLu
+        Af8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLu
+        Af8B7wLuAf8DXwHjdAADEAEVA1wBzxr/Af4B/wH7AfQB7QH/AfoB7AHaAf8B/gHzAd8C/wH6AekB/wH9
+        AfcB6wH/A1EBoBgAAyEBMANnAegD/hn/Av4B/QH/AfkB7gHjAf8B+AHpAdQB/wH+AfAB3AL/AfgB6QH/
+        AfsB9AHoAf8DUAGbA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHj
+        A18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B43cAAQEDHAEnAzEBTgM4AV4DQAFw
+        A0wBkgNYAbsDYQHcA3AB7AGgAqIB+AH8AfoB+AH/AfwB9AHoAf8B/QHyAeAC/wH5AesB/wNRAaAcAAMP
+        ARQDIQEwAyoBQAMzAVIDQgF1A1EBnwNbAcYDXwHbA2gB6AOQAfYB+wH4AfYB/wH6Ae8B5QH/AfwB8AHf
+        Af8B/QH3AesB/wNQAZrbAAEBAwIBAwMFAQcDCQQMARADEgEZAxoBJAMmATgDNwFaA0gBhANWAbQDQwF3
+        OAADAwEEAwsBDwMTARoDJAE1AzcBWwNJAYcDVgG0A0EBcrAAAUIBTQE+BwABPgMAASgDAAFYAwABFgMA
+        AQEBAAEBBQABCAEBFgAD/wEAAeABHwEcAQABBAF/Av8BwAMAAcABBwEMAQABBAE/Av8BwAMAAYABAAEM
+        AgABEAYAAYALAAGACwABgAsAAYALAAGACwABgAsAAYALAAGACwABgAsAAYABAAEDAfAIAAGAAQABAwHw
+        CAAB4AEAAQMB8AgAAfABAAEDAfAIAAH+AQABAwHwCAAB/gEAAQMB8AgAAf4BAAEDAfAIAAH+AQABAwHw
+        CAAB/gEAAQMB+AEAAQ8C/wHAAwAB/wHAAQMB/wHwAQ8C/wHAAwAL
 </value>
   </data>
-  <data name="treeView1.Nodes" mimetype="application/x-microsoft.net.object.binary.base64">
+  <data name="tabControl1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>577, 81</value>
+  </data>
+  <data name="AlbumsTV.Nodes" mimetype="application/x-microsoft.net.object.binary.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
@@ -298,21 +340,6 @@
 </value>
   </data>
-  <data name="label4.Location" type="System.Drawing.Point, System.Drawing">
-    <value>12, 314</value>
-  </data>
-  <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
-    <value>33, 13</value>
-  </data>
-  <data name="label4.Text" xml:space="preserve">
-    <value>vers :</value>
-  </data>
-  <data name="button2.Location" type="System.Drawing.Point, System.Drawing">
-    <value>273, 309</value>
-  </data>
-  <data name="button2.Text" xml:space="preserve">
-    <value>Télécharger</value>
-  </data>
-  <data name="tbUser.Size" type="System.Drawing.Size, System.Drawing">
-    <value>131, 20</value>
+  <data name="AlbumsTV.Size" type="System.Drawing.Size, System.Drawing">
+    <value>568, 200</value>
   </data>
 </root>
Index: /extensions/PiwigoLib/PiwigoUpload/MainForm.resx
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/MainForm.resx	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoUpload/MainForm.resx	(revision 12336)
@@ -263,8 +263,11 @@
   </data>
   <data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
-    <value>4</value>
+    <value>5</value>
   </data>
   <data name="button2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
     <value>Right</value>
+  </data>
+  <data name="button2.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
+    <value>NoControl</value>
   </data>
   <data name="button2.Location" type="System.Drawing.Point, System.Drawing">
@@ -406,5 +409,5 @@
     <value>401, 17</value>
   </metadata>
-  <metadata name="selectedPwgCategoryListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+  <metadata name="selectedPwgAlbumListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>135, 17</value>
   </metadata>
@@ -433,39 +436,126 @@
     <value>10</value>
   </data>
-  <data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
-    <value>Fill</value>
-  </data>
-  <data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
-    <value>0, 0</value>
-  </data>
-  <data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
-    <value>6</value>
-  </data>
-  <data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
-    <value>559, 321</value>
-  </data>
-  <data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
-    <value>45</value>
-  </data>
-  <data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
-    <value>tableLayoutPanel1</value>
-  </data>
-  <data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
+  <data name="tableLayoutPanel2.ColumnCount" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="label5.AutoSize" type="System.Boolean, mscorlib">
+    <value>True</value>
+  </data>
+  <data name="label5.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 0</value>
+  </data>
+  <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
+    <value>35, 13</value>
+  </data>
+  <data name="label5.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="label5.Text" xml:space="preserve">
+    <value>label5</value>
+  </data>
+  <data name="&gt;&gt;label5.Name" xml:space="preserve">
+    <value>label5</value>
+  </data>
+  <data name="&gt;&gt;label5.Type" xml:space="preserve">
+    <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;label5.Parent" xml:space="preserve">
+    <value>tableLayoutPanel2</value>
+  </data>
+  <data name="&gt;&gt;label5.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="tableLayoutPanel2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="tableLayoutPanel2.Location" type="System.Drawing.Point, System.Drawing">
+    <value>3, 3</value>
+  </data>
+  <data name="tableLayoutPanel2.RowCount" type="System.Int32, mscorlib">
+    <value>2</value>
+  </data>
+  <data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
+    <value>152, 161</value>
+  </data>
+  <data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="&gt;&gt;tableLayoutPanel2.Name" xml:space="preserve">
+    <value>tableLayoutPanel2</value>
+  </data>
+  <data name="&gt;&gt;tableLayoutPanel2.Type" xml:space="preserve">
     <value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
-    <value>$this</value>
-  </data>
-  <data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
-    <value>0</value>
-  </data>
-  <data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
-    <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="3" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label4" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="tbServer" Row="0" RowSpan="1" Column="1" ColumnSpan="3" /&gt;&lt;Control Name="tbUser" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label2" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="AlbumsTV" Row="3" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="tbPassword" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="3" ColumnSpan="1" /&gt;&lt;Control Name="label3" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="cbxLstCatTo" Row="5" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
-  </data>
-  <data name="AlbumsTV.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
-    <value>Fill</value>
-  </data>
-  <data name="AlbumsTV.ImageIndex" type="System.Int32, mscorlib">
-    <value>0</value>
+  <data name="&gt;&gt;tableLayoutPanel2.Parent" xml:space="preserve">
+    <value>tabPageAlbum</value>
+  </data>
+  <data name="&gt;&gt;tableLayoutPanel2.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
+    <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="label5" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,50,Percent,50" /&gt;&lt;Rows Styles="Percent,50,Percent,50" /&gt;&lt;/TableLayoutSettings&gt;</value>
+  </data>
+  <data name="tabPageAlbum.ImageKey" xml:space="preserve">
+    <value>folder_images.png</value>
+  </data>
+  <data name="tabPageAlbum.Location" type="System.Drawing.Point, System.Drawing">
+    <value>4, 29</value>
+  </data>
+  <data name="tabPageAlbum.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 3, 3</value>
+  </data>
+  <data name="tabPageAlbum.Size" type="System.Drawing.Size, System.Drawing">
+    <value>158, 167</value>
+  </data>
+  <data name="tabPageAlbum.TabIndex" type="System.Int32, mscorlib">
+    <value>0</value>
+  </data>
+  <data name="tabPageAlbum.Text" xml:space="preserve">
+    <value>Album</value>
+  </data>
+  <data name="&gt;&gt;tabPageAlbum.Name" xml:space="preserve">
+    <value>tabPageAlbum</value>
+  </data>
+  <data name="&gt;&gt;tabPageAlbum.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;tabPageAlbum.Parent" xml:space="preserve">
+    <value>tabControl1</value>
+  </data>
+  <data name="&gt;&gt;tabPageAlbum.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="tabPageImg.ImageKey" xml:space="preserve">
+    <value>image.png</value>
+  </data>
+  <data name="tabPageImg.Location" type="System.Drawing.Point, System.Drawing">
+    <value>4, 29</value>
+  </data>
+  <data name="tabPageImg.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 3, 3</value>
+  </data>
+  <data name="tabPageImg.Size" type="System.Drawing.Size, System.Drawing">
+    <value>158, 167</value>
+  </data>
+  <data name="tabPageImg.TabIndex" type="System.Int32, mscorlib">
+    <value>1</value>
+  </data>
+  <data name="tabPageImg.Text" xml:space="preserve">
+    <value>Picture</value>
+  </data>
+  <data name="&gt;&gt;tabPageImg.Name" xml:space="preserve">
+    <value>tabPageImg</value>
+  </data>
+  <data name="&gt;&gt;tabPageImg.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;tabPageImg.Parent" xml:space="preserve">
+    <value>tabControl1</value>
+  </data>
+  <data name="&gt;&gt;tabPageImg.ZOrder" xml:space="preserve">
+    <value>1</value>
+  </data>
+  <data name="tabControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
   </data>
   <metadata name="imageListTV.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
@@ -476,6 +566,6 @@
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
-        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADY
-        HgAAAk1TRnQBSQFMAgEBAwEAAfQBAAH0AQABFgEAARYBAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFY
+        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADK
+        HgAAAk1TRnQBSQFMAgEBAwEAARwBAQEcAQEBFgEAARYBAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFY
         AwABFgMAAQEBAAEgBQABQAEeHgADBAEGAxMBGgMeASsDJAE1AyQBNgMjATMDGwEmAw0BERQAAwcBCQML
         AQ8DAAEBDAADXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHj
@@ -483,131 +573,191 @@
         AVgDHQEqAwgBCwwAAx8BLQFIAkcBgwMlATcDAAEBCAADXwHjAfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/
         AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/AfsC+QH/A18B4wQA
-        AzoBYQNYAbsDQAFwAwsBD7wAAwgBCwMqAUADQQFyAlIBUQGhA1sBywNiAekBhAF6AXAB+gHtAcoBpQH/
-        AdMBrAGOAf8BuAGSAV8B/wNcAd8DUQGcAzUBVgMcAScDDQERAx4BKwJSAVABpAJRAU8BnAMjATMIAANf
-        AeMB+wL5Af8BJQFLAUYB/wFbApoB/wFTAZIBlgH/ATcBYQFbAf8BNAFUAUcB/wEkAToBNAH/ASsBOwE0
-        Af8BigGnAZ8B/wFNAY8BgwH/ARgBOAExAf8BJQE2ATIB/wH7AvkB/wOvAf8DOAFeAkcBRgGAA1YBsQNK
+        AzoBYQNYAbsDQAFwAwsBD7wAAwgBCwMqAUADQQFyAlIBUQGhA1sBywNiAekBfAF2AWwB+gHtAcoBpQH/
+        AdMBrAGOAf8BuAGSAVsB/wNcAd8DUQGcAzUBVgMcAScDDQERAx4BKwJSAVABpAJRAU8BnAMjATMIAANf
+        AeMB+wL5Af8BIQFHAUIB/wFXApoB/wFPAZIBlgH/ATMBXQFXAf8BMAFQAUMB/wEgATYBMAH/AScBNwEw
+        Af8BigGnAZ8B/wFJAY8BgwH/ARQBNAEtAf8BIQEyAS4B/wH7AvkB/wOvAf8DOAFeAkcBRgGAA1YBsQNK
         AY0DQAFxAwwBEAQAA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHj
         A18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B41wAAxMBGgM+AWsCWQFXAcIB7wG7
         AYUB/wH5AdsBswH/AfsB5QHCAf8B/AHXAagB/wH1AcgBlgH/AfUByQGcAf8B4QGvAYYB/wHIAZsBgwH/
         AcgBsAGoAf8B2gHYAdcB/wNgAesDUwGoA04BlwJYAVYBvANUAa4DTgGUAycBOwMFAQcDXwHjAfsC+QH/
-        ATgBIgEbAf8BCwEAAQIB/wEVAgAB/wE0ARoBIgH/AVYBWQGFAf8BMwEqATAB/wEZAQUBFAH/AQ8BBgEX
-        Af8BSgEzAVcB/wEiARQBHQH/AUABMAFFAf8B+wL5Af8DrAH/AeQB5wHpAf8CqAGfAf0DYQHuAl4BXQHQ
-        AlkBVgG+AkkBSAGIAyABLgNfAeMB7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLu
-        Af8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLuAf8B7wLu
-        Af8B7wLuAf8B7wLuAf8B7wLuAf8DXwHjXAADDAEQAlkBVwG/AfQBtQFbAf8B2wGXAUIB/wHTAYkBLwH/
-        Ad0BmwFHAf8B4gGmAVYB/wHeAaMBVAH/AfIB3gHNAf8B6wG/AZoB/wHjAagBWQH/AdQBrwGYAf8B7wHy
-        AfUB/wLzAfIB/wHzAfUB+QH/AcUBwAG3Af8BrgGLAUwB/wNhAe4DYQHiA1sByAM6AWEDXwHjAfsC+QL/
-        AfEBvgH/AZMBkgGmAf8BQwFIAYAB/wE5ATMBMQH/AQ4BGwEjAf8DAAH/AQQCAAH/AVIBSgFBAf8BNgEx
-        AVYB/wE7ATwBiQH/ASMBKAFOAf8B+wL5Af8DqgH/AdUB1wHZAf8BvwGvAZwB/wHnAcgBpwH/AdwBtAGJ
-        Af8B3AG0AYkB/wHaAa4BgAH/A04BmANfAeMB7wLuAf8DAAH/AQABBgEAAf8DAAH/AwAB/wMAAf8DAAH/
-        AwAB/wEAAREBEAH/AQABHQEPAf8BAAETAQAB/wEAAQsBAAH/AQABHAEGAf8DAAH/AQABBAEAAf8BAAEG
-        AQAB/wEAAhUB/wEAASABCwH/AwAB/wHvAu4B/wNfAeNcAAMxAU4B4QGOASwB/wHFAVQBGAH/AcsBhQEz
-        Af8B3gGmAVkB/wHkAakBVwH/AeEBnQFCAf8B4AGiAU8B/wHwAdcBwgH/AdMBmAFPAf8BywGCAS8B/wHh
-        AasBgQH/AfMB6wHiAf8B7QHuAe8B/wHfAeIB5AH/Aa8BqQGiAf8BsQGKAUsB/wHbAa4BgQH/Ad0BtgGM
-        Af8B3gG4AY0B/wNSAakDXwHjAfsC+QL/AdcBnQL/AeABowH/AVMBVAGVAf8BVwGHAbsB/wGIAUgBRgL/
-        AdkBlQL/AfYBvAL/AfsBuQL/AdYBmQH/AbYBmgFZAf8BLwEnAR0B/wH7AvkB/wOsAf8B1gHYAdsB/wG+
-        Aa0BmwH/AegByQGnAf8B3gG1AYcB/wHdAbQBhwH/Ad0BtQGIAf8DUAGbA18B4wHvAu4B/wEAATIBIwH/
-        ATkBgwFbAf8BJQGIAV8B/wE6AZIBjwH/AUIBlgGTAf8BMwGOAYoB/wEmAYYBggH/AR0BXgFQAf8BFgFG
-        ATUB/wEAASgBFQH/AQcBMAEkAf8BGQE3ASQB/wGcAc8BzQH/ASMBUwFCAf8BNQGFAWIB/wEpAUUBSgH/
-        ASQBSAE8Af8BAAElAQwB/wHvAu4B/wNfAeNcAANgAdQBrwE0AQAB/wHDAVUBHAH/AdUBkAE4Af8B6wHC
-        AZsB/wH1AdkBvQH/AekBswGAAf8B4QGeAUYB/wHdAZsBRQH/Ac0BgAEnAf8BuwFKAQ8B/wHAAVYBIQH/
-        Ae4BygGqAf8B7wH0AfcB/wHhAeQB5gH/AbMBrwGkAf8BtgGRAVIB/wHdAa8BggH/Ad8BtQGGAf8B4AG4
-        AYsB/wNRAaADXwHjAfsC+QH/AfgBuwGHAv8BygGHAf8B9gHAAZEB/wEqATYBYAH/AeABoAFUAv8B4wGi
-        Av8BwgGNAf8B/QG+AYwC/wHNAZUC/wHgAZ8C/wHeAZgB/wH7AvkB/wOtAf8B1gHZAdsB/wG+Aa4BmwH/
-        AekBywGpAf8B4QG4AYsB/wHgAbgBigH/AeABuAGKAf8DUAGbA18B4wHvAu4B/wErAQcBDgH/ARACAAH/
-        AT4CJQH/AYQBWgFgAf8BrwGdAaEB/wGFAU8BXQH/AWIBTgFTAf8BkAFeAYYB/wGVAYsBjQH/AaoBkQGm
-        Af8BPgEpATcB/wGfAYQBkQH/AYMBgAFiAf8BSwE2AUwB/wE3ATIBMwH/AQMCAAH/AZkBYgGLAf8BCQEA
-        AQoB/wHvAu4B/wNfAeNcAAG/AU4BEAH/AawBLwEAAf8BxgFWARQB/wHXAZMBPAH/Ad0BowFSAf8B3wGl
-        AVYB/wHnAbkBkgH/AfcB5QHVAf8B4AGrAV8B/wHQAYoBLwH/AcEBUQESAf8BrAEwAQAB/wHSAZYBTwH/
-        AfAB9wH7Af8B3wHhAeUB/wG7AbQBsQH/AcQBqAGGAf8B5AG5AYoB/wHiAbkBigH/AeIBuwGNAf8DUQGg
-        A18B4wH7AvkB/wHwAbIBXAH/AfABsAFbAv8BugFcAv8BvQFeAv8BvQGBAf8B8QGvAVsB/wHyAbMBYAH/
-        Ae8BtAFhAf8B8gG0AWEB/wHzAbQBYgH/AfYBsgFdAf8B+wL5Af8DrgH/AdYB2gHeAf8BvgGxAZ8B/wHr
-        Ac8BrQH/AeMBuwGMAf8B4wG7AY4B/wHiAbsBjQH/A1ABmwNfAeMB7wLuAf8B3QG6AZYB/wGxAZ0BigH/
-        ASMBHwERAf8DAAH/AwAB/wMAAf8BCwEFAQYB/wE+AT0BVAH/ASEBPgFIAf8BDAETARAB/wEGAQgBAAH/
-        AQwBBQEQAf8BIAEZASwB/wFNAToBXwH/ARYBGQEeAf8BOAEwAUoB/wExATsBTwH/AQABDgElAf8B7wLu
-        Af8DXwHjXAABrQExAQAB/wHRAZ0BWgH/Ad4BrgGGAf8BygFfASEB/wHUAZEBPQH/Ac8BgQEiAf8B3QGl
-        AVoF/wHiAbUBkQH/AckBYAEfAf8BywGCASwB/wGyATgBAAH/Ab4BWQEoAf8B6QHzAfoB/wHbAd4B3wH/
-        AcYBvwGyAf8B2QHDAacB/wHtAcsBpAH/AeQBvAGNAf8B5QG/AZAB/wNRAaADXwHjAfsC+QH/AeoBpAFO
-        Af8B6gGkAVAB/wHpAaMBTwH/AfABqAFRAf8B6gGkAVAB/wHqAaQBUgH/AeoBpgFQAf8B7AGpAVQB/wHs
-        AacBVQH/Ae0BqwFUAf8B7AGlAU4B/wH7AvkB/wOvAf8B2QHYAdUB/wHJAbUBnAH/AfEB2wHDAf8B6AHF
-        AZwB/wHlAb4BjwH/AeUBvwGRAf8DUAGbA18B4wHvAu4B/wHxAcUBmgL/AeIBvAL/AfgByAH/ApkBsQH/
-        AYYBjwGyAf8BWQFVAVsB/wEtASUBJAH/AQICAAH/ASkBRwFMAf8DAAH/AwAB/wMAAf8BPQFAAYYB/wEy
-        ASoBUAH/AV8BWgGYAf8BVwFOAYwB/wFGATsBVAH/AQABBQEAAf8B7wLuAf8DXwHjXAABqAEmAQAB/wHW
-        AaQBgAH/AfMB5AHXAf8B2QGiAVwB/wHIAVwBHQH/AcYBVgEUAf8B0gGOATwB/wHPAYkBNgH/AdIBlAFF
-        Af8BygGAAScB/wHDAVMBFAH/AbwBSwEQAf8BuQFQAR4B/wHwAfwB/gH/AccBxgHFAf8BzgG/AasB/wHx
-        AdcBtwH/Ae4B1AG0Af8B6gHJAaAB/wHpAcIBkwH/A1EBoANfAeMB+wL5Af8B4AGXAUcB/wHhAZcBRQH/
-        Ad8BlwFHAf8B3wGXAUYB/wHfAZcBSAH/Ad8BmQFJAf8B4AGYAUgB/wHhAZkBSgH/AeIBmgFJAf8B5AGd
-        AUsB/wHgAZUBRQH/AfsC+QH/A7EB/wHCAboBrgH/AfMB4AHIAf8B7gHTAbEB/wHuAdQBtQH/AeoByAGe
-        Af8B6AHBAZIB/wNQAZsDXwHjAe8C7gH/AfwBwgGHAf8B+gHOAaAC/wHYAaIC/wHYAaIB/wFgAYkBqwH/
-        AVwBUAGJAf8CowG9Af8BiQGSAakB/wElAQ4BDQH/AUgBMAEdAf8BiwFJAS4C/wHYAaYB/wHfAbgBiwH/
-        AVUBRgFCAf8BNwE5AUsB/wEbASABPwH/ASABLAFHAf8DAAH/Ae8C7gH/A18B41wAAawBKQEAAf8BsgE3
-        AQAB/wHEAVcBGgH/AcoBgwEvAf8BzwGMAT0B/wHsAdMBwQH/AfgB7QHkAf8BywGDAS4B/wHCAVIBEgH/
-        Ac8BjAE9Af8BvwFOARAB/wGrASkBAAH/Ab0BVgEkAf8B8wP/AcQBwgG+Af8B0AG/AasB/wH1AdwBvgH/
-        AfAB1gG3Af8B8AHXAbgB/wHsAcgBnAH/A1EBoANfAeMB+wL5Af8B+wL5Af8B+wL5Af8B+wL5Af8B+wL5
-        Af8B+wL5Af8B+wL5Af8B+wL5Af8B+wL5Af8B+wL5Af8B+wL5Af8B+wL5Af8B+wL4Af8DrAH/AcwBwgG2
-        Af8B9QHkAdAB/wHwAdYBtwH/AfAB2AG6Af8B7wHWAbYB/wHqAcYBmAH/A1ABmwNfAeMB7wLuAv8BuQFc
-        Af8B/gHIAZYB/wH7AcUBlAL/AdoBmAH/AeIBtgGPAf8BOwFCAYoB/wFgAVkBkAH/AUoBWwGiAf8BuQFa
-        AToD/wHEAv8B8QG3Av8B3gGoAv8B5AGnAv8B8QGsAv8B1gGVAf8BrAGIAT4B/wFNATsBHwH/AwAB/wHv
-        Au4B/wNfAeNcAAJbAVgBxgGjARoBAAH/AckBhAEzAf8BzgGMAUAB/wHMAYgBOQH/Ae4B1wHGAf8B+AHw
-        AeoB/wHaAasBhwH/AdQBngFYAf8BzgGRAUYB/wHgAbsBoAH/AcoBigFCAf8B2gGvAZAB/wHvAfYB/AH/
-        AcUBwwHAAf8B1QHFAbAB/wH4AeIBxQH/AfIB2gG7Af8B8gHdAcMB/wHyAdUBsQH/A1EBoANfAeMDXwHj
-        A18B4wNfAeMDXwHjA18B4wO0Af8DtAH/A7QB/wO0Af8DtAH/A7MB/wOpAf8DmAH/A6AB/wHMAcMBtwH/
-        AfgB6QHVAf8B8gHbAb0B/wHyAdsBvgH/AfIB3QHCAf8B8AHSAawB/wNQAZsDXwHjAe8C7gH/Af4BrwFO
-        Af8B+QHAAYwB/wH5Ab8BjAH/AfkBvQGJAv8B1QGMAf8ByAGlAZAB/wE9AVIBpAH/AR0BDQEmAv8BwAFh
-        Av8BywGUAf8B+wG+AYsB/wH9Ab8BiwH/Af0BwQGMAf8B/gHCAY4C/wHNAZcC/wHkAaYC/wHvAa8C/wHO
-        AYEB/wHvAu4B/wNfAeNcAAMtAUYBbQFRAU4B9wHKAYkBPgH/AdwBsQGUAf8B4gG9AaIB/wHfAbcBmAH/
-        AdgBpQFiAf8B2QGoAYQB/wHdAbMBkwH/AdkBqgGIAf8B1gGlAYIB/wHVAaMBgAH/AvsB+gH/Ae0B8AHy
-        Af8BxgHDAcEB/wHXAccBtAH/Af0B6AHNAf8B9QHgAcIB/wH0AeABxQH/AfQB3wHCAf8DUQGgGAADMwFS
-        A/UB/wP9Af8D/AH/A/0B/wP9Af8D/QH/A+YB/wHhAeIB5QH/AcoBwQG2Af8B+gHsAdkB/wH3AeEBxAH/
-        AfQB3wHCAf8B9AHgAcUB/wHzAdwBvQH/A1ABmwNfAeMB7wLuAf8B9wGjAUAB/wH1AbcBgwH/AfYBtgGA
-        Af8B8wG4AYAB/wH1AbYBgQL/AckBgQH/AcABnAFgAf8B0AGfAV4C/wHIAYsB/wH1AbcBgQH/AfQBuAGD
-        Af8B9gG6AYQB/wH2AboBhQH/AfUBuwGHAf8B+AG8AYUB/wH5AbkBhgH/AfoBvQGIAv8BsQFOAf8B7wLu
-        Af8DXwHjXAADAwEEA0QBegFiAVkBQgH1AekB0AG9Af8B+gH1AfMB/wHtAdcBxgH/AesB0gHAAf8B7QHW
-        AcUB/wHpAcwBtgH/AdEBmQFXAf8BuwFOARgB/wHvAd0BzwH/AfwB/gL/AewB7wHwAf8BxwHFAcEB/wHV
-        AccBtAL/Ae0B0wH/AfkB5QHKAf8B9gHkAckB/wH3AeUBywH/A1EBoBgAAzMBUgP2Af8D/gH/A/0B/wP9
-        Af8D/gH/A/4B/wPoAf8B4wHkAecB/wHLAcIBtgH/AfwB8AHeAf8B/AHqAdAB/wH8AeoB0AH/AfcB5gHN
-        Af8B9wHmAc0B/wNQAZsDXwHjAe8C7gH/AfABmgEzAf8B8AGvAVkB/wHwAa4BWQH/Ae4BrgFYAf8B8AGw
-        AVoB/wHuAa4BWgL/AbsBWgL/AbsBXQH/Ae4BrgFbAf8B8AGvAVoB/wHwAbEBXAH/AfABsAFdAf8B8AGy
-        AV0B/wHxAbEBXwH/AfIBswFhAf8B8gG0AV8B/wH2AbYBgQH/AfYBogE9Af8B7wLuAf8DXwHjZAADPgFr
-        AlwBWgHNAX4BdgFrAfoB5wHPAbwB/wH0AdwByQH/AeYBxgGvAf8B2QGrAYwB/wHMAZEBTQH/AecByQG1
-        Bf8D+wH/AewB8AHxAf8ByQHEAcAB/wHYAcoBtwL/Ae8B1wH/Af0B7AHQAf8B+QHpAdAB/wH5AegB0AH/
-        A1EBoBgAAzMBUgP3Bf8D/gH/A/4B/wP+Af8D/gH/A+gB/wHjAeQB6QH/AcsBwgG4Af8B/QHyAeEB/wH+
-        Ae0B0wH/Af4B7gHVAf8B+wHrAdMB/wH4AekB0QH/A1ABmwNfAeMB7wLuAf8B7AGQAScB/wHrAacBVAH/
-        AesBpwFPAf8B7AGmAVEB/wHrAaYBUAH/AewBpgFQAf8B6AGlAVAB/wHqAaUBUgH/AewBqAFRAf8B6QGn
-        AVMB/wHrAacBUgH/Ae0BqAFTAf8B7AGqAVYB/wHuAawBVAH/Ae0BrQFVAf8B8AGuAVcB/wHwAbABWQH/
-        AfABmAEwAf8B7wLuAf8DXwHjaAADFAEbAj8BPgFsA0wBkgNTAagDXQHwAeABvQGkAf8B+AHzAe8J/wP7
-        Af8B7AHuAfAB/wHJAcUBwwH/AdgBywG6Av8B8wHbAv8B7wHVAf8B/gHuAdcB/wH7AesB1QH/A1EBoBgA
-        AzMBUgP4Bf8D/gH/A/4B/wP+Af8D/gH/A+oB/wHnAegB6gH/Ac8BxAG6Af8B/gHzAeMC/wHvAdgC/wHw
-        AdoB/wH+Ae8B2QH/AfoB6wHWAf8DUAGbA18B4wHvAu4B/wHkAYQBIQH/AeYBnwFMAf8B5wGeAUsB/wHl
-        AZ4BSwH/AeUBngFLAf8B5QGeAUsB/wHlAZ4BTQH/AeUBngFMAf8B5QGdAUwB/wHlAZ8BTQH/AecBnwFN
-        Af8B5gGgAU8B/wHnAaEBTwH/AecBogFPAf8B6AGjAVEB/wHpAaQBUAH/AewBpgFTAf8B6gGNASYB/wHv
-        Au4B/wNfAeN0AAMNAREDYAHWCP8D/gX/A/sB/wHuAe8B8QH/AcgBxAHAAf8B2AHLAboC/wH2AeAC/wHw
-        AdwC/wHxAdwB/wH8Ae4B2wH/A1EBoBgAAzMBUgP4Bf8D/gH/A/4B/wP+Af8D/gH/AvEB8gH/AeYB5wHq
-        Af8BzQHBAbYB/wH+AfMB4wL/AfIB3gL/AfIB3wL/AfIB3wH/AfoB7gHcAf8DUAGbA18B4wHvAu4B/wHc
-        AV8BGgH/AeIBmQFJAf8B4AGYAUkB/wHgAZgBRwH/AeEBmAFGAf8B3wGYAUkB/wHfAZgBSAH/Ad8BmAFI
-        Af8B3wGYAUkB/wHhAZkBSwH/AeABmQFLAf8B4AGYAUgB/wHhAZkBSgH/AeIBmwFJAf8B5AGcAUsB/wHk
-        AZ0BTAH/AeYBnwFPAf8B4wGDASIB/wHvAu4B/wNfAeN0AAMcAScDYQHaBP8D/gH/A/4B/wP+Af8D/QH/
-        AfcB+QH8Af8B2gHVAdMB/wHmAdcBxgL/AfcB5AL/AfQB4QL/AfQB4wH/Af0B8gHgAf8DUQGgGAADMwFS
-        A/kF/wP+Af8D/gH/A/4B/wP+Af8D/QH/AfEB8wH3Af8B4QHTAcMB/wH+AfEB4AL/AfQB3gL/AfUB4wL/
-        AfUB5QH/AfsB8QHgAf8DUAGbA18B4wHvAu4B/wHOATQBAAH/AdUBWAERAf8B1QFXARAB/wHTAVUBDgH/
-        AdMBVQERAf8B1AFVAQ4B/wHSAVUBDgH/AdIBVQEOAf8B0gFVARAB/wHUAVcBEQH/AdMBVwERAf8B0wFW
-        ARMB/wHUAVgBEgH/AdYBWQESAf8B1QFaARQB/wHZAVwBFQH/AdgBXgEYAf8B1AE/AQAB/wHvAu4B/wNf
-        AeN0AAMdASkDXgHdCP8D/gn/Af4D/wH2AfIB7gH/AfQB5QHUAv8B9QHgAv8B+AHlAv8B9gHoAf8B/QH0
-        AeYB/wNRAaAYAAMzAVMD+wn/A/4R/wHvAeMB1wH/AfcB5AHHAv8B9AHdAv8B8wHiAv8B9gHnAf8B+wHz
-        AeUB/wNQAZsDXwHjAe8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/
+        ATQBHgEXAf8BBwIAAf8BEQIAAf8BMAEWAR4B/wFSAVUBhQH/AS8BJgEsAf8BFQEBARAB/wELAQIBEwH/
+        AUYBLwFTAf8BHgEQARkB/wE8ASwBQQH/AfsC+QH/A6wB/wHkAecB6QH/AqgBnwH9A2EB7gJeAV0B0AJZ
+        AVYBvgJJAUgBiAMgAS4DXwHjAe8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/
         Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/Ae8C7gH/
-        Ae8C7gH/Ae8C7gH/A18B43QAAxABFQNcAc8a/wH+Af8B+wH0Ae0B/wH6AewB2gH/Af4B8wHfAv8B+gHp
-        Af8B/QH3AesB/wNRAaAYAAMhATADXwHoA/4Z/wL+Af0B/wH5Ae4B4wH/AfgB6QHUAf8B/gHwAdwC/wH4
-        AekB/wH7AfQB6AH/A1ABmwNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHj
-        A18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeN3AAEBAxwBJwMxAU4DOAFe
-        A0ABcANMAZIDWAG7A2EB3ANkAewDfgH4AfwB+gH4Af8B/AH0AegB/wH9AfIB4AL/AfkB6wH/A1EBoBwA
-        Aw8BFAMhATADKgFAAzMBUgNCAXUDUQGfA1sBxgNfAdsDXwHoA2gB9gH7AfgB9gH/AfoB7wHlAf8B/AHw
-        Ad8B/wH9AfcB6wH/A1ABmtsAAQEDAgEDAwUBBwMJBAwBEAMSARkDGgEkAyYBOAM3AVoDSAGEA1YBtAND
-        AXc4AAMDAQQDCwEPAxMBGgMkATUDNwFbA0kBhwNWAbQDQQFysAABQgFNAT4HAAE+AwABKAMAAVgDAAEW
-        AwABAQEAAQEFAAEIAQEWAAP/AQAB4AEfARwBAAEEAX8C/wHAAwABwAEHAQwBAAEEAT8C/wHAAwABgAEA
-        AQwCAAEQBgABgAsAAYALAAGACwABgAsAAYALAAGACwABgAsAAYALAAGACwABgAEAAQMB8AgAAYABAAED
-        AfAIAAHgAQABAwHwCAAB8AEAAQMB8AgAAf4BAAEDAfAIAAH+AQABAwHwCAAB/gEAAQMB8AgAAf4BAAED
-        AfAIAAH+AQABAwH4AQABDwL/AcADAAH/AcABAwH/AfABDwL/AcADAAs=
+        Ae8C7gH/Ae8C7gH/Ae8C7gH/A18B41wAAwwBEAJZAVcBvwH0AbUBVwH/AdsBlwE+Af8B0wGJASsB/wHd
+        AZsBQwH/AeIBpgFSAf8B3gGjAVAB/wHyAd4BzQH/AesBvwGaAf8B4wGoAVUB/wHUAa8BmAH/Ae8B8gH1
+        Af8C8wHyAf8B8wH1AfkB/wHFAcABtwH/Aa4BiwFIAf8DYQHuA2EB4gNbAcgDOgFhA18B4wH7AvkC/wHx
+        Ab4B/wGTAZIBpgH/AT8BRAGAAf8BNQEvAS0B/wEKARcBHwH/AwAB/wMAAf8BTgFGAT0B/wEyAS0BUgH/
+        ATcBOAGJAf8BHwEkAUoB/wH7AvkB/wOqAf8B1QHXAdkB/wG/Aa8BnAH/AecByAGnAf8B3AG0AYkB/wHc
+        AbQBiQH/AdoBrgGAAf8DTgGYA18B4wHvAu4B/wMAAf8BAAECAQAB/wMAAf8DAAH/AwAB/wMAAf8DAAH/
+        AQABDQEMAf8BAAEZAQsB/wEAAQ8BAAH/AQABBwEAAf8BAAEYAQIB/wMAAf8DAAH/AQABAgEAAf8BAAIR
+        Af8BAAEcAQcB/wMAAf8B7wLuAf8DXwHjXAADMQFOAeEBjgEoAf8BxQFQARQB/wHLAYUBLwH/Ad4BpgFV
+        Af8B5AGpAVMB/wHhAZ0BPgH/AeABogFLAf8B8AHXAcIB/wHTAZgBSwH/AcsBggErAf8B4QGrAYEB/wHz
+        AesB4gH/Ae0B7gHvAf8B3wHiAeQB/wGvAakBogH/AbEBigFHAf8B2wGuAYEB/wHdAbYBjAH/Ad4BuAGN
+        Af8DUgGpA18B4wH7AvkC/wHXAZ0C/wHgAaMB/wFPAVABlQH/AVMBhwG7Af8BiAFEAUIC/wHZAZUC/wH2
+        AbwC/wH7AbkC/wHWAZkB/wG2AZoBVQH/ASsBIwEZAf8B+wL5Af8DrAH/AdYB2AHbAf8BvgGtAZsB/wHo
+        AckBpwH/Ad4BtQGHAf8B3QG0AYcB/wHdAbUBiAH/A1ABmwNfAeMB7wLuAf8BAAEuAR8B/wE1AYMBVwH/
+        ASEBiAFbAf8BNgGSAY8B/wE+AZYBkwH/AS8BjgGKAf8BIgGGAYIB/wEZAVoBTAH/ARIBQgExAf8BAAEk
+        AREB/wEDASwBIAH/ARUBMwEgAf8BnAHPAc0B/wEfAU8BPgH/ATEBhQFeAf8BJQFBAUYB/wEgAUQBOAH/
+        AQABIQEIAf8B7wLuAf8DXwHjXAADYAHUAa8BMAEAAf8BwwFRARgB/wHVAZABNAH/AesBwgGbAf8B9QHZ
+        Ab0B/wHpAbMBgAH/AeEBngFCAf8B3QGbAUEB/wHNAYABIwH/AbsBRgELAf8BwAFSAR0B/wHuAcoBqgH/
+        Ae8B9AH3Af8B4QHkAeYB/wGzAa8BpAH/AbYBkQFOAf8B3QGvAYIB/wHfAbUBhgH/AeABuAGLAf8DUQGg
+        A18B4wH7AvkB/wH4AbsBhwL/AcoBhwH/AfYBwAGRAf8BJgEyAVwB/wHgAaABUAL/AeMBogL/AcIBjQH/
+        Af0BvgGMAv8BzQGVAv8B4AGfAv8B3gGYAf8B+wL5Af8DrQH/AdYB2QHbAf8BvgGuAZsB/wHpAcsBqQH/
+        AeEBuAGLAf8B4AG4AYoB/wHgAbgBigH/A1ABmwNfAeMB7wLuAf8BJwEDAQoB/wEMAgAB/wE6AiEB/wGE
+        AVYBXAH/Aa8BnQGhAf8BhQFLAVkB/wFeAUoBTwH/AZABWgGGAf8BlQGLAY0B/wGqAZEBpgH/AToBJQEz
+        Af8BnwGEAZEB/wGDAYABXgH/AUcBMgFIAf8BMwEuAS8B/wMAAf8BmQFeAYsB/wEFAQABBgH/Ae8C7gH/
+        A18B41wAAb8BSgEMAf8BrAErAQAB/wHGAVIBEAH/AdcBkwE4Af8B3QGjAU4B/wHfAaUBUgH/AecBuQGS
+        Af8B9wHlAdUB/wHgAasBWwH/AdABigErAf8BwQFNAQ4B/wGsASwBAAH/AdIBlgFLAf8B8AH3AfsB/wHf
+        AeEB5QH/AbsBtAGxAf8BxAGoAYYB/wHkAbkBigH/AeIBuQGKAf8B4gG7AY0B/wNRAaADXwHjAfsC+QH/
+        AfABsgFYAf8B8AGwAVcC/wG6AVgC/wG9AVoC/wG9AYEB/wHxAa8BVwH/AfIBswFcAf8B7wG0AV0B/wHy
+        AbQBXQH/AfMBtAFeAf8B9gGyAVkB/wH7AvkB/wOuAf8B1gHaAd4B/wG+AbEBnwH/AesBzwGtAf8B4wG7
+        AYwB/wHjAbsBjgH/AeIBuwGNAf8DUAGbA18B4wHvAu4B/wHdAboBlgH/AbEBnQGKAf8BHwEbAQ0B/wMA
+        Af8DAAH/AwAB/wEHAQEBAgH/AToBOQFQAf8BHQE6AUQB/wEIAQ8BDAH/AQIBBAEAAf8BCAEBAQwB/wEc
+        ARUBKAH/AUkBNgFbAf8BEgEVARoB/wE0ASwBRgH/AS0BNwFLAf8BAAEKASEB/wHvAu4B/wNfAeNcAAGt
+        AS0BAAH/AdEBnQFWAf8B3gGuAYYB/wHKAVsBHQH/AdQBkQE5Af8BzwGBAR4B/wHdAaUBVgX/AeIBtQGR
+        Af8ByQFcARsB/wHLAYIBKAH/AbIBNAEAAf8BvgFVASQB/wHpAfMB+gH/AdsB3gHfAf8BxgG/AbIB/wHZ
+        AcMBpwH/Ae0BywGkAf8B5AG8AY0B/wHlAb8BkAH/A1EBoANfAeMB+wL5Af8B6gGkAUoB/wHqAaQBTAH/
+        AekBowFLAf8B8AGoAU0B/wHqAaQBTAH/AeoBpAFOAf8B6gGmAUwB/wHsAakBUAH/AewBpwFRAf8B7QGr
+        AVAB/wHsAaUBSgH/AfsC+QH/A68B/wHZAdgB1QH/AckBtQGcAf8B8QHbAcMB/wHoAcUBnAH/AeUBvgGP
+        Af8B5QG/AZEB/wNQAZsDXwHjAe8C7gH/AfEBxQGaAv8B4gG8Av8B+AHIAf8CmQGxAf8BhgGPAbIB/wFV
+        AVEBVwH/ASkBIQEgAf8DAAH/ASUBQwFIAf8DAAH/AwAB/wMAAf8BOQE8AYYB/wEuASYBTAH/AVsBVgGY
+        Af8BUwFKAYwB/wFCATcBUAH/AQABAQEAAf8B7wLuAf8DXwHjXAABqAEiAQAB/wHWAaQBgAH/AfMB5AHX
+        Af8B2QGiAVgB/wHIAVgBGQH/AcYBUgEQAf8B0gGOATgB/wHPAYkBMgH/AdIBlAFBAf8BygGAASMB/wHD
+        AU8BEAH/AbwBRwEMAf8BuQFMARoB/wHwAfwB/gH/AccBxgHFAf8BzgG/AasB/wHxAdcBtwH/Ae4B1AG0
+        Af8B6gHJAaAB/wHpAcIBkwH/A1EBoANfAeMB+wL5Af8B4AGXAUMB/wHhAZcBQQH/Ad8BlwFDAf8B3wGX
+        AUIB/wHfAZcBRAH/Ad8BmQFFAf8B4AGYAUQB/wHhAZkBRgH/AeIBmgFFAf8B5AGdAUcB/wHgAZUBQQH/
+        AfsC+QH/A7EB/wHCAboBrgH/AfMB4AHIAf8B7gHTAbEB/wHuAdQBtQH/AeoByAGeAf8B6AHBAZIB/wNQ
+        AZsDXwHjAe8C7gH/AfwBwgGHAf8B+gHOAaAC/wHYAaIC/wHYAaIB/wFcAYkBqwH/AVgBTAGJAf8CowG9
+        Af8BiQGSAakB/wEhAQoBCQH/AUQBLAEZAf8BiwFFASoC/wHYAaYB/wHfAbgBiwH/AVEBQgE+Af8BMwE1
+        AUcB/wEXARwBOwH/ARwBKAFDAf8DAAH/Ae8C7gH/A18B41wAAawBJQEAAf8BsgEzAQAB/wHEAVMBFgH/
+        AcoBgwErAf8BzwGMATkB/wHsAdMBwQH/AfgB7QHkAf8BywGDASoB/wHCAU4BDgH/Ac8BjAE5Af8BvwFK
+        AQwB/wGrASUBAAH/Ab0BUgEgAf8B8wP/AcQBwgG+Af8B0AG/AasB/wH1AdwBvgH/AfAB1gG3Af8B8AHX
+        AbgB/wHsAcgBnAH/A1EBoANfAeMB+wL5Af8B+wL5Af8B+wL5Af8B+wL5Af8B+wL5Af8B+wL5Af8B+wL5
+        Af8B+wL5Af8B+wL5Af8B+wL5Af8B+wL5Af8B+wL5Af8B+wL4Af8DrAH/AcwBwgG2Af8B9QHkAdAB/wHw
+        AdYBtwH/AfAB2AG6Af8B7wHWAbYB/wHqAcYBmAH/A1ABmwNfAeMB7wLuAv8BuQFYAf8B/gHIAZYB/wH7
+        AcUBlAL/AdoBmAH/AeIBtgGPAf8BNwE+AYoB/wFcAVUBkAH/AUYBVwGiAf8BuQFWATYD/wHEAv8B8QG3
+        Av8B3gGoAv8B5AGnAv8B8QGsAv8B1gGVAf8BrAGIAToB/wFJATcBGwH/AwAB/wHvAu4B/wNfAeNcAAJb
+        AVgBxgGjARYBAAH/AckBhAEvAf8BzgGMATwB/wHMAYgBNQH/Ae4B1wHGAf8B+AHwAeoB/wHaAasBhwH/
+        AdQBngFUAf8BzgGRAUIB/wHgAbsBoAH/AcoBigE+Af8B2gGvAZAB/wHvAfYB/AH/AcUBwwHAAf8B1QHF
+        AbAB/wH4AeIBxQH/AfIB2gG7Af8B8gHdAcMB/wHyAdUBsQH/A1EBoANfAeMDXwHjA18B4wNfAeMDXwHj
+        A18B4wO0Af8DtAH/A7QB/wO0Af8DtAH/A7MB/wOpAf8DmAH/A6AB/wHMAcMBtwH/AfgB6QHVAf8B8gHb
+        Ab0B/wHyAdsBvgH/AfIB3QHCAf8B8AHSAawB/wNQAZsDXwHjAe8C7gH/Af4BrwFKAf8B+QHAAYwB/wH5
+        Ab8BjAH/AfkBvQGJAv8B1QGMAf8ByAGlAZAB/wE5AU4BpAH/ARkBCQEiAv8BwAFdAv8BywGUAf8B+wG+
+        AYsB/wH9Ab8BiwH/Af0BwQGMAf8B/gHCAY4C/wHNAZcC/wHkAaYC/wHvAa8C/wHOAYEB/wHvAu4B/wNf
+        AeNcAAMtAUYBbQJRAfcBygGJAToB/wHcAbEBlAH/AeIBvQGiAf8B3wG3AZgB/wHYAaUBXgH/AdkBqAGE
+        Af8B3QGzAZMB/wHZAaoBiAH/AdYBpQGCAf8B1QGjAYAB/wL7AfoB/wHtAfAB8gH/AcYBwwHBAf8B1wHH
+        AbQB/wH9AegBzQH/AfUB4AHCAf8B9AHgAcUB/wH0Ad8BwgH/A1EBoBgAAzMBUgP1Af8D/QH/A/wB/wP9
+        Af8D/QH/A/0B/wPmAf8B4QHiAeUB/wHKAcEBtgH/AfoB7AHZAf8B9wHhAcQB/wH0Ad8BwgH/AfQB4AHF
+        Af8B8wHcAb0B/wNQAZsDXwHjAe8C7gH/AfcBowE8Af8B9QG3AYMB/wH2AbYBgAH/AfMBuAGAAf8B9QG2
+        AYEC/wHJAYEB/wHAAZwBXAH/AdABnwFaAv8ByAGLAf8B9QG3AYEB/wH0AbgBgwH/AfYBugGEAf8B9gG6
+        AYUB/wH1AbsBhwH/AfgBvAGFAf8B+QG5AYYB/wH6Ab0BiAL/AbEBSgH/Ae8C7gH/A18B41wAAwMBBANE
+        AXoBWgFZAUIB9QHpAdABvQH/AfoB9QHzAf8B7QHXAcYB/wHrAdIBwAH/Ae0B1gHFAf8B6QHMAbYB/wHR
+        AZkBUwH/AbsBSgEUAf8B7wHdAc8B/wH8Af4C/wHsAe8B8AH/AccBxQHBAf8B1QHHAbQC/wHtAdMB/wH5
+        AeUBygH/AfYB5AHJAf8B9wHlAcsB/wNRAaAYAAMzAVID9gH/A/4B/wP9Af8D/QH/A/4B/wP+Af8D6AH/
+        AeMB5AHnAf8BywHCAbYB/wH8AfAB3gH/AfwB6gHQAf8B/AHqAdAB/wH3AeYBzQH/AfcB5gHNAf8DUAGb
+        A18B4wHvAu4B/wHwAZoBLwH/AfABrwFVAf8B8AGuAVUB/wHuAa4BVAH/AfABsAFWAf8B7gGuAVYC/wG7
+        AVYC/wG7AVkB/wHuAa4BVwH/AfABrwFWAf8B8AGxAVgB/wHwAbABWQH/AfABsgFZAf8B8QGxAVsB/wHy
+        AbMBXQH/AfIBtAFbAf8B9gG2AYEB/wH2AaIBOQH/Ae8C7gH/A18B42QAAz4BawJcAVoBzQF6AXIBZwH6
+        AecBzwG8Af8B9AHcAckB/wHmAcYBrwH/AdkBqwGMAf8BzAGRAUkB/wHnAckBtQX/A/sB/wHsAfAB8QH/
+        AckBxAHAAf8B2AHKAbcC/wHvAdcB/wH9AewB0AH/AfkB6QHQAf8B+QHoAdAB/wNRAaAYAAMzAVID9wX/
+        A/4B/wP+Af8D/gH/A/4B/wPoAf8B4wHkAekB/wHLAcIBuAH/Af0B8gHhAf8B/gHtAdMB/wH+Ae4B1QH/
+        AfsB6wHTAf8B+AHpAdEB/wNQAZsDXwHjAe8C7gH/AewBkAEjAf8B6wGnAVAB/wHrAacBSwH/AewBpgFN
+        Af8B6wGmAUwB/wHsAaYBTAH/AegBpQFMAf8B6gGlAU4B/wHsAagBTQH/AekBpwFPAf8B6wGnAU4B/wHt
+        AagBTwH/AewBqgFSAf8B7gGsAVAB/wHtAa0BUQH/AfABrgFTAf8B8AGwAVUB/wHwAZgBLAH/Ae8C7gH/
+        A18B42gAAxQBGwI/AT4BbANMAZIDUwGoA10B8AHgAb0BpAH/AfgB8wHvCf8D+wH/AewB7gHwAf8ByQHF
+        AcMB/wHYAcsBugL/AfMB2wL/Ae8B1QH/Af4B7gHXAf8B+wHrAdUB/wNRAaAYAAMzAVID+AX/A/4B/wP+
+        Af8D/gH/A/4B/wPqAf8B5wHoAeoB/wHPAcQBugH/Af4B8wHjAv8B7wHYAv8B8AHaAf8B/gHvAdkB/wH6
+        AesB1gH/A1ABmwNfAeMB7wLuAf8B5AGEAR0B/wHmAZ8BSAH/AecBngFHAf8B5QGeAUcB/wHlAZ4BRwH/
+        AeUBngFHAf8B5QGeAUkB/wHlAZ4BSAH/AeUBnQFIAf8B5QGfAUkB/wHnAZ8BSQH/AeYBoAFLAf8B5wGh
+        AUsB/wHnAaIBSwH/AegBowFNAf8B6QGkAUwB/wHsAaYBTwH/AeoBjQEiAf8B7wLuAf8DXwHjdAADDQER
+        A2AB1gj/A/4F/wP7Af8B7gHvAfEB/wHIAcQBwAH/AdgBywG6Av8B9gHgAv8B8AHcAv8B8QHcAf8B/AHu
+        AdsB/wNRAaAYAAMzAVID+AX/A/4B/wP+Af8D/gH/A/4B/wLxAfIB/wHmAecB6gH/Ac0BwQG2Af8B/gHz
+        AeMC/wHyAd4C/wHyAd8C/wHyAd8B/wH6Ae4B3AH/A1ABmwNfAeMB7wLuAf8B3AFbARYB/wHiAZkBRQH/
+        AeABmAFFAf8B4AGYAUMB/wHhAZgBQgH/Ad8BmAFFAf8B3wGYAUQB/wHfAZgBRAH/Ad8BmAFFAf8B4QGZ
+        AUcB/wHgAZkBRwH/AeABmAFEAf8B4QGZAUYB/wHiAZsBRQH/AeQBnAFHAf8B5AGdAUgB/wHmAZ8BSwH/
+        AeMBgwEeAf8B7wLuAf8DXwHjdAADHAEnA2EB2gT/A/4B/wP+Af8D/gH/A/0B/wH3AfkB/AH/AdoB1QHT
+        Af8B5gHXAcYC/wH3AeQC/wH0AeEC/wH0AeMB/wH9AfIB4AH/A1EBoBgAAzMBUgP5Bf8D/gH/A/4B/wP+
+        Af8D/gH/A/0B/wHxAfMB9wH/AeEB0wHDAf8B/gHxAeAC/wH0Ad4C/wH1AeMC/wH1AeUB/wH7AfEB4AH/
+        A1ABmwNfAeMB7wLuAf8BzgEwAQAB/wHVAVQBDQH/AdUBUwEMAf8B0wFRAQoB/wHTAVEBDQH/AdQBUQEK
+        Af8B0gFRAQoB/wHSAVEBCgH/AdIBUQEMAf8B1AFTAQ0B/wHTAVMBDQH/AdMBUgEPAf8B1AFUAQ4B/wHW
+        AVUBDgH/AdUBVgEQAf8B2QFYAREB/wHYAVoBFAH/AdQBOwEAAf8B7wLuAf8DXwHjdAADHQEpA14B3Qj/
+        A/4J/wH+A/8B9gHyAe4B/wH0AeUB1AL/AfUB4AL/AfgB5QL/AfYB6AH/Af0B9AHmAf8DUQGgGAADMwFT
+        A/sJ/wP+Ef8B7wHjAdcB/wH3AeQBxwL/AfQB3QL/AfMB4gL/AfYB5wH/AfsB8wHlAf8DUAGbA18B4wHv
+        Au4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHv
+        Au4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wHvAu4B/wNf
+        AeN0AAMQARUDXAHPGv8B/gH/AfsB9AHtAf8B+gHsAdoB/wH+AfMB3wL/AfoB6QH/Af0B9wHrAf8DUQGg
+        GAADIQEwA18B6AP+Gf8C/gH9Af8B+QHuAeMB/wH4AekB1AH/Af4B8AHcAv8B+AHpAf8B+wH0AegB/wNQ
+        AZsDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjA18B4wNf
+        AeMDXwHjA18B4wNfAeMDXwHjA18B4wNfAeMDXwHjdwABAQMcAScDMQFOAzgBXgNAAXADTAGSA1gBuwNh
+        AdwDZAHsA3oB+AH8AfoB+AH/AfwB9AHoAf8B/QHyAeAC/wH5AesB/wNRAaAcAAMPARQDIQEwAyoBQAMz
+        AVIDQgF1A1EBnwNbAcYDXwHbA18B6ANiAfYB+wH4AfYB/wH6Ae8B5QH/AfwB8AHfAf8B/QH3AesB/wNQ
+        AZrbAAEBAwIBAwMFAQcDCQQMARADEgEZAxoBJAMmATgDNwFaA0gBhANWAbQDQwF3OAADAwEEAwsBDwMT
+        ARoDJAE1AzcBWwNJAYcDVgG0A0EBcrAAAUIBTQE+BwABPgMAASgDAAFYAwABFgMAAQEBAAEBBQABCAEB
+        FgAD/wEAAeABHwEcAQABBAF/Av8BwAMAAcABBwEMAQABBAE/Av8BwAMAAYABAAEMAgABEAYAAYALAAGA
+        CwABgAsAAYALAAGACwABgAsAAYALAAGACwABgAsAAYABAAEDAfAIAAGAAQABAwHwCAAB4AEAAQMB8AgA
+        AfABAAEDAfAIAAH+AQABAwHwCAAB/gEAAQMB8AgAAf4BAAEDAfAIAAH+AQABAwHwCAAB/gEAAQMB+AEA
+        AQ8C/wHAAwAB/wHAAQMB/wHwAQ8C/wHAAwAL
 </value>
+  </data>
+  <data name="tabControl1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>562, 81</value>
+  </data>
+  <data name="tabControl1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
+    <value>3, 3, 30, 3</value>
+  </data>
+  <data name="tabControl1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>166, 200</value>
+  </data>
+  <data name="tabControl1.TabIndex" type="System.Int32, mscorlib">
+    <value>45</value>
+  </data>
+  <data name="&gt;&gt;tabControl1.Name" xml:space="preserve">
+    <value>tabControl1</value>
+  </data>
+  <data name="&gt;&gt;tabControl1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;tabControl1.Parent" xml:space="preserve">
+    <value>tableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;tabControl1.ZOrder" xml:space="preserve">
+    <value>11</value>
+  </data>
+  <data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
+    <value>0, 0</value>
+  </data>
+  <data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
+    <value>6</value>
+  </data>
+  <data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
+    <value>758, 316</value>
+  </data>
+  <data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
+    <value>45</value>
+  </data>
+  <data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
+    <value>tableLayoutPanel1</value>
+  </data>
+  <data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
+    <value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </data>
+  <data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
+    <value>$this</value>
+  </data>
+  <data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
+    <value>0</value>
+  </data>
+  <data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
+    <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="button2" Row="5" RowSpan="1" Column="3" ColumnSpan="1" /&gt;&lt;Control Name="label1" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label4" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="tbServer" Row="0" RowSpan="1" Column="1" ColumnSpan="3" /&gt;&lt;Control Name="tbUser" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label2" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="AlbumsTV" Row="3" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="tbPassword" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /&gt;&lt;Control Name="button1" Row="2" RowSpan="1" Column="3" ColumnSpan="1" /&gt;&lt;Control Name="label3" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="cbxLstCatTo" Row="5" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="tabControl1" Row="3" RowSpan="1" Column="4" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
+  </data>
+  <data name="AlbumsTV.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
+    <value>Fill</value>
+  </data>
+  <data name="AlbumsTV.ImageIndex" type="System.Int32, mscorlib">
+    <value>0</value>
   </data>
   <data name="AlbumsTV.Location" type="System.Drawing.Point, System.Drawing">
@@ -653,5 +803,5 @@
     <value>401, 17</value>
   </metadata>
-  <metadata name="selectedPwgCategoryListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+  <metadata name="selectedPwgAlbumListBindingSource.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>135, 17</value>
   </metadata>
@@ -663,5 +813,5 @@
   </data>
   <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
-    <value>559, 321</value>
+    <value>758, 316</value>
   </data>
   <data name="$this.Text" xml:space="preserve">
@@ -680,8 +830,8 @@
     <value>System.Windows.Forms.BindingSource, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name="&gt;&gt;selectedPwgCategoryListBindingSource.Name" xml:space="preserve">
-    <value>selectedPwgCategoryListBindingSource</value>
-  </data>
-  <data name="&gt;&gt;selectedPwgCategoryListBindingSource.Type" xml:space="preserve">
+  <data name="&gt;&gt;selectedPwgAlbumListBindingSource.Name" xml:space="preserve">
+    <value>selectedPwgAlbumListBindingSource</value>
+  </data>
+  <data name="&gt;&gt;selectedPwgAlbumListBindingSource.Type" xml:space="preserve">
     <value>System.Windows.Forms.BindingSource, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
Index: /extensions/PiwigoLib/PiwigoUpload/PiwigoUpload.csproj
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/PiwigoUpload.csproj	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoUpload/PiwigoUpload.csproj	(revision 12336)
@@ -107,5 +107,5 @@
     <None Include="app.config" />
     <None Include="Properties\DataSources\Com.Piwigo.Uploader.DTO.ModelManager+ModelManagerBase.datasource" />
-    <None Include="Properties\DataSources\Com.Piwigo.Uploader.DTO.SelectedPwgCategoryList.datasource" />
+    <None Include="Properties\DataSources\Com.Piwigo.Uploader.DTO.SelectedPwgAlbumList.datasource" />
     <None Include="Properties\Settings.settings">
       <Generator>SettingsSingleFileGenerator</Generator>
Index: /extensions/PiwigoLib/PiwigoUpload/Properties/DataSources/Com.Piwigo.Uploader.DTO.SelectedPwgAlbumList.datasource
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/Properties/DataSources/Com.Piwigo.Uploader.DTO.SelectedPwgAlbumList.datasource	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoUpload/Properties/DataSources/Com.Piwigo.Uploader.DTO.SelectedPwgAlbumList.datasource	(revision 12336)
@@ -0,0 +1,10 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+    This file is automatically generated by Visual Studio .Net. It is 
+    used to store generic object data source configuration information.  
+    Renaming the file extension or editing the content of this file may   
+    cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="SelectedPwgAlbumList" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+   <TypeInfo>Com.Piwigo.Uploader.DTO.SelectedPwgAlbumList, PiwigoUpload, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
Index: tensions/PiwigoLib/PiwigoUpload/Properties/DataSources/Com.Piwigo.Uploader.DTO.SelectedPwgCategoryList.datasource
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/Properties/DataSources/Com.Piwigo.Uploader.DTO.SelectedPwgCategoryList.datasource	(revision 12335)
+++ 	(revision )
@@ -1,10 +1,0 @@
-﻿<?xml version="1.0" encoding="utf-8"?>
-<!--
-    This file is automatically generated by Visual Studio .Net. It is 
-    used to store generic object data source configuration information.  
-    Renaming the file extension or editing the content of this file may   
-    cause the file to be unrecognizable by the program.
--->
-<GenericObjectDataSource DisplayName="SelectedPwgCategoryList" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
-   <TypeInfo>Com.Piwigo.Uploader.DTO.SelectedPwgCategoryList, PiwigoUpload, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
-</GenericObjectDataSource>
Index: /extensions/PiwigoLib/PiwigoUpload/Service/Connect.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/Service/Connect.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoUpload/Service/Connect.cs	(revision 12336)
@@ -22,5 +22,5 @@
             try
             {
-                List<PwgCategory> lstPCat  = null;
+                List<PwgAlbum> lstPCat  = null;
                 ModelManager.Instance.sess = PwgServiceProvider.Instance.PwgSessionService.Login( ModelManager.Instance.userName,  ModelManager.Instance.password);
                 ModelManager.Instance.isConnected = true;
@@ -28,11 +28,11 @@
                 System.Diagnostics.Debug.WriteLine("user : " + ModelManager.Instance.sess.UserName + " " + ModelManager.Instance.sess.Status);
 
-                lstPCat = PwgServiceProvider.Instance.PwgCategoriesService.GetListOfCategory(PwgCategory.RootCategoryId, true,null);
+                lstPCat = PwgServiceProvider.Instance.PwgAlbumsService.GetListOfAlbum(PwgAlbum.RootAlbumId, true,null);
 
                 ModelManager.Instance.resetLstCat();
 
-                foreach (PwgCategory item in lstPCat)
+                foreach (PwgAlbum item in lstPCat)
                 {
-                    ModelManager.Instance.lstCat.Add(new SelectedCategoryListItem() { ShowedValue = (String.IsNullOrWhiteSpace(item.Name) ? "album " + item.Id : item.Name), Id = item.Id, Data = item, isSelected = false });
+                    ModelManager.Instance.lstCat.Add(new SelectedAlbumListItem() { ShowedValue = (String.IsNullOrWhiteSpace(item.Name) ? "album " + item.Id : item.Name), Id = item.Id, Data = item, isSelected = false });
                 }
 
Index: /extensions/PiwigoLib/PiwigoUpload/Service/LoadFromDirectory.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/Service/LoadFromDirectory.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoUpload/Service/LoadFromDirectory.cs	(revision 12336)
@@ -28,4 +28,6 @@
                 img.LocalFile = fi.FullName;
                 img.Name = fi.Name;
+                img.Author = "";
+                img.AuthorComment = "";
                 album.LocalImages.Add(img);
             }
Index: /extensions/PiwigoLib/PiwigoUpload/Service/UploadToPiwigo.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoUpload/Service/UploadToPiwigo.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoUpload/Service/UploadToPiwigo.cs	(revision 12336)
@@ -6,4 +6,5 @@
 using Com.Piwigo.Uploader.DTO;
 using Com.Piwigo.Lib.DTO;
+using Com.Piwigo.Lib.IService;
 
 namespace Com.Piwigo.Uploader.Service
@@ -15,19 +16,46 @@
             foreach (LocalAlbum Alb in ModelManager.Instance.lstAlbumLocaux)
             {
-                uploadAlbum(Alb, ModelManager.Instance.PwgCategoryIdSelected);
+                uploadAlbum(Alb, ModelManager.Instance.PwgAlbumIdSelected);
             } 
         }
 
-        internal static void uploadAlbum(LocalAlbum aAlbum, Int32? catId)
+        internal void uploadAlbum(LocalAlbum aAlbum, Int32? catId)
         {
-            foreach (LocalImage Img in aAlbum.LocalImages)
+            Boolean rc;
+            Int32 IdNewAlbum = 0;
+            String strMsgInfo = String.Empty;
+            rc = PwgServiceProvider.Instance.PwgAlbumsService.AddAlbum(aAlbum.Name, catId, ref  IdNewAlbum, ref strMsgInfo);
+
+            if (rc == true)
             {
-                //uploadimage();
+                aAlbum.Id = IdNewAlbum;
+
+                foreach (LocalImage Img in aAlbum.LocalImages)
+                {
+                    if (aAlbum.Id.HasValue)
+                    {
+                        Img.UpperCatId = aAlbum.Id.Value;
+                    }
+                    uploadImage(Img);
+                }
+
+                foreach (LocalAlbum Alb in aAlbum.SubAlbums)
+                {
+                    uploadAlbum(Alb, null);
+                }
             }
+            else
+            {
+                throw new ApplicationException("uploadlabum error");
+            }
+        }
 
-            foreach (LocalAlbum Alb in aAlbum.SubAlbums)
-            {
-                uploadAlbum(Alb, null);
-            }
+        internal void uploadImage(LocalImage aImg)
+        {
+            FileInfo fi = new FileInfo(aImg.LocalFile);
+
+            List<PwgTag> lstTag = new List<PwgTag>(aImg.LstTags);
+
+            PwgServiceProvider.Instance.PwgImagesService.addImageByMultiPartForm(fi, null, aImg.UpperCatId, aImg.Name, aImg.Author, aImg.AuthorComment, aImg.ConfidentialLevel, lstTag);
         }
     }
Index: /extensions/PiwigoLib/PiwigoWpf/App.xaml
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/App.xaml	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/App.xaml	(revision 12336)
@@ -8,5 +8,5 @@
         <ObjectDataProvider x:Name="ImagesODP" x:Key="Images" ObjectType="{x:Type piwigo:PwgImageListWPF}"/> <!--IsAsynchronous="True"-->
         <ObjectDataProvider x:Name="SessionODP" x:Key="Session" ObjectType="{x:Type piwigo:PwgSessionWPF}" />
-        <ObjectDataProvider x:Name="CategoriesODP" x:Key="Categories" ObjectType="{x:Type piwigo:PwgRootCategoryListWPF}"/> <!--IsAsynchronous="True"-->
+        <ObjectDataProvider x:Name="AlbumsODP" x:Key="Albums" ObjectType="{x:Type piwigo:PwgRootAlbumListWPF}"/> <!--IsAsynchronous="True"-->
         <ObjectDataProvider x:Name="TagsODP" x:Key="Tags" ObjectType="{x:Type piwigo:PwgTagListWPF}"/>
         <!--IsAsynchronous="True"-->
Index: /extensions/PiwigoLib/PiwigoWpf/App.xaml.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/App.xaml.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/App.xaml.cs	(revision 12336)
@@ -22,5 +22,5 @@
              // Model object was created in the app.xaml, so we have to link to them
             PwgModelManager.Instance.Session = (PwgSessionWPF)(this.Resources["Session"] as ObjectDataProvider).Data;
-            PwgModelManager.Instance.CategoryList = (PwgRootCategoryListWPF)(this.Resources["Categories"] as ObjectDataProvider).Data;
+            PwgModelManager.Instance.AlbumList = (PwgRootAlbumListWPF)(this.Resources["Albums"] as ObjectDataProvider).Data;
             PwgModelManager.Instance.ImageList = (PwgImageListWPF)(this.Resources["Images"] as ObjectDataProvider).Data;
             PwgModelManager.Instance.TagsList = (PwgTagListWPF)(this.Resources["Tags"] as ObjectDataProvider).Data;
Index: /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdConnect.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdConnect.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdConnect.cs	(revision 12336)
@@ -33,13 +33,13 @@
                 }
 
-                SendUiInfo("Retriving list of Category from server...");
+                SendUiInfo("Retriving list of Album from server...");
                 PwgSessionWPFHelper.AddPwgSessionInfoToPwgSessionWPF(sess, ref sesWPF);
 
-                PwgCategoryListWPFHelper.InitRootCategory();
+                PwgAlbumListWPFHelper.InitRootAlbum();
 
-                List<PwgCategory> lstCat = PwgServiceProvider.Instance.PwgCategoriesService.GetListOfCategory(null, null, null); //(PwgModelManager.Instance.Session.Status == PwgSessionStatusEnum.Guest)
-                PwgRootCategoryWPF aRootCatWPF = PwgModelManager.Instance.RootCategoryList;
+                List<PwgAlbum> lstCat = PwgServiceProvider.Instance.PwgAlbumsService.GetListOfAlbum(null, null, null); //(PwgModelManager.Instance.Session.Status == PwgSessionStatusEnum.Guest)
+                PwgRootAlbumWPF aRootCatWPF = PwgModelManager.Instance.RootAlbumList;
 
-                PwgCategoryListWPFHelper.ConvertPwgCategoryListToPwgRootCategoryWPF(lstCat, ref aRootCatWPF);
+                PwgAlbumListWPFHelper.ConvertPwgAlbumListToPwgRootAlbumWPF(lstCat, ref aRootCatWPF);
                 aRootCatWPF.IsExpanded = true;
 
Index: /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdDisconnect.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdDisconnect.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdDisconnect.cs	(revision 12336)
@@ -26,5 +26,5 @@
                 PwgSessionWPFHelper.AddPwgSessionInfoToPwgSessionWPF(sess, ref sesWPF);
 
-                SendUiInfo("Removing Image and Category ...");
+                SendUiInfo("Removing Image and Album ...");
                 if (PwgModelManager.Instance.ImageList != null)
                 {
@@ -32,13 +32,13 @@
                 }
 
-                if ((PwgModelManager.Instance.CategoryList != null)
-                    && (PwgModelManager.Instance.RootCategoryList != null))
+                if ((PwgModelManager.Instance.AlbumList != null)
+                    && (PwgModelManager.Instance.RootAlbumList != null))
                 {
-                    PwgModelManager.Instance.RootCategoryList.Childrens.Clear();
+                    PwgModelManager.Instance.RootAlbumList.Childrens.Clear();
                 }
 
-                if (PwgModelManager.Instance.CategoryList != null)
+                if (PwgModelManager.Instance.AlbumList != null)
                 {
-                    PwgModelManager.Instance.CategoryList.Clear();
+                    PwgModelManager.Instance.AlbumList.Clear();
                 }
 
Index: /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetImageforAlbum.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetImageforAlbum.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetImageforAlbum.cs	(revision 12336)
@@ -0,0 +1,52 @@
+﻿using System;
+using System.Collections.Generic;
+using Com.Piwigo.Lib.IService;
+using Com.Piwigo.Wpf.DTO;
+using Com.Piwigo.Lib.DTO;
+using Com.Piwigo.Wpf.DTO.Helper;
+using Com.Piwigo.Wpf.Helper;
+using Com.Piwigo.Wpf.Service;
+
+namespace Com.Piwigo.Wpf.Command
+{
+    public sealed class PwgCmdGetImageforAlbum : AsyncCommand
+    {
+        public override string Text { get { return "Get images for a Album"; } }
+
+        protected override void OnExecute(object parameter)
+        {
+            PwgAlbumWPF catParam;
+            Int32 aPage = 0;
+            Int32 aPerPage = 0;
+            Int32 acount = 0;
+
+            try
+            {
+                Uri uriServer = new Uri(PwgModelManager.Instance.Session.ServeurName);
+                if (parameter is PwgAlbumWPF)
+                {
+                    PwgImageListWPF lstImgWPF = PwgModelManager.Instance.ImageList;
+                    SendUiInfo("Removing image...");
+                    PwgModelManager.Instance.ImageShown = null;
+                    if (lstImgWPF != null)
+                    {
+                        lstImgWPF.Clear();
+                    }
+
+                    catParam = (PwgAlbumWPF)parameter;
+                    SendUiInfo("Setting up cache data...");
+                    ImageCacheManager.Instance.SetCurrentAlbum(catParam.Id.ToString());
+
+                    SendUiInfo("Retriving images list from server...");
+                    List<PwgImage> lstImg = PwgServiceProvider.Instance.PwgAlbumsService.GetListOfImagesFormAlbum(catParam.Id, false, null, null, null, null, null, null, null, null, null, null, null, null, null, true, ref aPage, ref aPerPage, ref  acount);
+                    
+                    PwgImageListWPFHelper.ConvertPwgImageListToPwgImageListWPF(lstImg, ref lstImgWPF);
+                }
+            }
+            catch (PwgServiceException ex)
+            {
+                SendUiInfo("Error " + ex.NumeroErr + " " + ex.MessageErr);
+            }
+        }
+    }
+}
Index: tensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetImageforCategory.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetImageforCategory.cs	(revision 12335)
+++ 	(revision )
@@ -1,52 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using Com.Piwigo.Lib.IService;
-using Com.Piwigo.Wpf.DTO;
-using Com.Piwigo.Lib.DTO;
-using Com.Piwigo.Wpf.DTO.Helper;
-using Com.Piwigo.Wpf.Helper;
-using Com.Piwigo.Wpf.Service;
-
-namespace Com.Piwigo.Wpf.Command
-{
-    public sealed class PwgCmdGetImageforCategory : AsyncCommand
-    {
-        public override string Text { get { return "Get images for a category"; } }
-
-        protected override void OnExecute(object parameter)
-        {
-            PwgCategoryWPF catParam;
-            Int32 aPage = 0;
-            Int32 aPerPage = 0;
-            Int32 acount = 0;
-
-            try
-            {
-                Uri uriServer = new Uri(PwgModelManager.Instance.Session.ServeurName);
-                if (parameter is PwgCategoryWPF)
-                {
-                    PwgImageListWPF lstImgWPF = PwgModelManager.Instance.ImageList;
-                    SendUiInfo("Removing image...");
-                    PwgModelManager.Instance.ImageShown = null;
-                    if (lstImgWPF != null)
-                    {
-                        lstImgWPF.Clear();
-                    }
-
-                    catParam = (PwgCategoryWPF)parameter;
-                    SendUiInfo("Setting up cache data...");
-                    ImageCacheManager.Instance.SetCurrentCategory(catParam.Id.ToString());
-
-                    SendUiInfo("Retriving images list from server...");
-                    List<PwgImage> lstImg = PwgServiceProvider.Instance.PwgCategoriesService.GetListOfImagesFormCategory(catParam.Id, false, null, null, null, null, null, null, null, null, null, null, null, null, null, true, ref aPage, ref aPerPage, ref  acount);
-                    
-                    PwgImageListWPFHelper.ConvertPwgImageListToPwgImageListWPF(lstImg, ref lstImgWPF);
-                }
-            }
-            catch (PwgServiceException ex)
-            {
-                SendUiInfo("Error " + ex.NumeroErr + " " + ex.MessageErr);
-            }
-        }
-    }
-}
Index: /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetImageforTag.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetImageforTag.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetImageforTag.cs	(revision 12336)
@@ -36,5 +36,5 @@
                     tagParam = (PwgTagWPF)parameter;
                     SendUiInfo("Setting up cache data...");
-                    ImageCacheManager.Instance.SetCurrentCategory("Tag-" + tagParam.Name);
+                    ImageCacheManager.Instance.SetCurrentAlbum("Tag-" + tagParam.Name);
 
                     SendUiInfo("Retriving images list from server...");
Index: /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetSubAlbumforAlbum.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetSubAlbumforAlbum.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetSubAlbumforAlbum.cs	(revision 12336)
@@ -0,0 +1,44 @@
+﻿using System;
+using System.Collections.Generic;
+using Com.Piwigo.Lib.IService;
+using Com.Piwigo.Wpf.DTO;
+using Com.Piwigo.Lib.DTO;
+using Com.Piwigo.Wpf.DTO.Helper;
+using Com.Piwigo.Wpf.Helper;
+using Com.Piwigo.Wpf.Service;
+
+namespace Com.Piwigo.Wpf.Command
+{
+    public sealed class PwgCmdGetSubAlbumforAlbum : AsyncCommand
+    {
+        public override string Text { get { return "Get sub-Albums for a Album"; } }
+
+        protected override void OnExecute(object parameter)
+        {
+            PwgAlbumWPF catParam;
+            try
+            {
+                if (parameter is PwgAlbumWPF)
+                {
+                    PwgImageListWPF lstImgWPF = PwgModelManager.Instance.ImageList;
+                    catParam = (PwgAlbumWPF)parameter;
+
+                    SendUiInfo("Retriving Album list from server...");
+                    List<PwgAlbum> lstCat = PwgServiceProvider.Instance.PwgAlbumsService.GetListOfAlbum(catParam.Id, null, null);
+                    if (catParam.Childrens == null)
+                    {
+                        catParam.Childrens = new PwgAlbumListWPF();
+                    }
+                    PwgAlbumListWPF lstCatWPF = catParam.Childrens;
+
+                    PwgAlbumListWPFHelper.ConvertPwgAlbumListToPwgAlbumListWPF(lstCat, ref lstCatWPF);
+                    catParam.IsExpanded = true;
+                }
+            }
+            catch (PwgServiceException ex)
+            {
+                SendUiInfo("Error " + ex.NumeroErr + " " + ex.MessageErr);
+            }
+        }
+    }
+}
Index: tensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetSubCategorieforCategory.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdGetSubCategorieforCategory.cs	(revision 12335)
+++ 	(revision )
@@ -1,44 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using Com.Piwigo.Lib.IService;
-using Com.Piwigo.Wpf.DTO;
-using Com.Piwigo.Lib.DTO;
-using Com.Piwigo.Wpf.DTO.Helper;
-using Com.Piwigo.Wpf.Helper;
-using Com.Piwigo.Wpf.Service;
-
-namespace Com.Piwigo.Wpf.Command
-{
-    public sealed class PwgCmdGetSubCategorieforCategory : AsyncCommand
-    {
-        public override string Text { get { return "Get sub-categories for a category"; } }
-
-        protected override void OnExecute(object parameter)
-        {
-            PwgCategoryWPF catParam;
-            try
-            {
-                if (parameter is PwgCategoryWPF)
-                {
-                    PwgImageListWPF lstImgWPF = PwgModelManager.Instance.ImageList;
-                    catParam = (PwgCategoryWPF)parameter;
-
-                    SendUiInfo("Retriving Category list from server...");
-                    List<PwgCategory> lstCat = PwgServiceProvider.Instance.PwgCategoriesService.GetListOfCategory(catParam.Id, null, null);
-                    if (catParam.Childrens == null)
-                    {
-                        catParam.Childrens = new PwgCategoryListWPF();
-                    }
-                    PwgCategoryListWPF lstCatWPF = catParam.Childrens;
-
-                    PwgCategoryListWPFHelper.ConvertPwgCategoryListToPwgCategoryListWPF(lstCat, ref lstCatWPF);
-                    catParam.IsExpanded = true;
-                }
-            }
-            catch (PwgServiceException ex)
-            {
-                SendUiInfo("Error " + ex.NumeroErr + " " + ex.MessageErr);
-            }
-        }
-    }
-}
Index: /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdProvider.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdProvider.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdProvider.cs	(revision 12336)
@@ -21,9 +21,9 @@
                     objICom = PwgCmdDisconnect;
                     break;
-                case "PwgCmdGetImageforCategory":
-                    objICom = PwgCmdGetImageforCategory;
+                case "PwgCmdGetImageforAlbum":
+                    objICom = PwgCmdGetImageforAlbum;
                     break;
-                case "PwgCmdGetSubCategorieforCategory":
-                    objICom = PwgCmdGetSubCategorieforCategory;
+                case "PwgCmdGetSubAlbumforAlbum":
+                    objICom = PwgCmdGetSubAlbumforAlbum;
                     break;
                 case "PwgCmdGetImageforTag":
@@ -63,27 +63,27 @@
         }
 
-        public static AsyncCommand _pwgCmdGetImageforCategory;
-        public static AsyncCommand PwgCmdGetImageforCategory
+        public static AsyncCommand _pwgCmdGetImageforAlbum;
+        public static AsyncCommand PwgCmdGetImageforAlbum
         {
             get
             {
-                if (_pwgCmdGetImageforCategory == null)
+                if (_pwgCmdGetImageforAlbum == null)
                 {
-                    _pwgCmdGetImageforCategory = new PwgCmdGetImageforCategory();
+                    _pwgCmdGetImageforAlbum = new PwgCmdGetImageforAlbum();
                 }
-                return _pwgCmdGetImageforCategory;
+                return _pwgCmdGetImageforAlbum;
             }
         }
 
-        public static AsyncCommand _pwgCmdGetSubCategorieforCategory;
-        public static AsyncCommand PwgCmdGetSubCategorieforCategory
+        public static AsyncCommand _pwgCmdGetSubAlbumforAlbum;
+        public static AsyncCommand PwgCmdGetSubAlbumforAlbum
         {
             get
             {
-                if (_pwgCmdGetSubCategorieforCategory == null)
+                if (_pwgCmdGetSubAlbumforAlbum == null)
                 {
-                    _pwgCmdGetSubCategorieforCategory = new PwgCmdGetSubCategorieforCategory();
+                    _pwgCmdGetSubAlbumforAlbum = new PwgCmdGetSubAlbumforAlbum();
                 }
-                return _pwgCmdGetSubCategorieforCategory;
+                return _pwgCmdGetSubAlbumforAlbum;
             }
         }
Index: /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdSelectImageInAlbum.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdSelectImageInAlbum.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdSelectImageInAlbum.cs	(revision 12336)
@@ -0,0 +1,39 @@
+﻿using System;
+using System.Collections.Generic;
+using Com.Piwigo.Lib.IService;
+using Com.Piwigo.Wpf.DTO;
+using Com.Piwigo.Lib.DTO;
+using Com.Piwigo.Wpf.DTO.Helper;
+using Com.Piwigo.Wpf.Helper;
+using Com.Piwigo.Wpf.Service;
+using System.Windows.Input;
+
+namespace Com.Piwigo.Wpf.Command
+{
+    public static class PwgCmdSelectImageInAlbum
+    {
+        public static DelegateCommand Command = new DelegateCommand(Execute, CanExecute);
+
+        private static void Execute(object obj)
+        {
+            foreach (PwgImageWPF imgWpf in PwgModelManager.Instance.ImageList)
+            {
+                if (imgWpf.IsSelected)
+                {
+                    PwgModelManager.Instance.ImageShown = imgWpf;
+                }                
+            }
+        }
+
+        private static bool CanExecute(object obj)
+        {
+            bool ret = false;
+
+            if (PwgModelManager.Instance.ImageList != null)
+            {
+                ret = (PwgModelManager.Instance.ImageList.Count >= 0);
+            }
+            return ret;   
+        }
+    }
+}
Index: tensions/PiwigoLib/PiwigoWpf/Command/PwgCmdSelectImageInCategory.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/Command/PwgCmdSelectImageInCategory.cs	(revision 12335)
+++ 	(revision )
@@ -1,39 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using Com.Piwigo.Lib.IService;
-using Com.Piwigo.Wpf.DTO;
-using Com.Piwigo.Lib.DTO;
-using Com.Piwigo.Wpf.DTO.Helper;
-using Com.Piwigo.Wpf.Helper;
-using Com.Piwigo.Wpf.Service;
-using System.Windows.Input;
-
-namespace Com.Piwigo.Wpf.Command
-{
-    public static class PwgCmdSelectImageInCategory
-    {
-        public static DelegateCommand Command = new DelegateCommand(Execute, CanExecute);
-
-        private static void Execute(object obj)
-        {
-            foreach (PwgImageWPF imgWpf in PwgModelManager.Instance.ImageList)
-            {
-                if (imgWpf.IsSelected)
-                {
-                    PwgModelManager.Instance.ImageShown = imgWpf;
-                }                
-            }
-        }
-
-        private static bool CanExecute(object obj)
-        {
-            bool ret = false;
-
-            if (PwgModelManager.Instance.ImageList != null)
-            {
-                ret = (PwgModelManager.Instance.ImageList.Count >= 0);
-            }
-            return ret;   
-        }
-    }
-}
Index: /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgAlbumListWPFHelper.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgAlbumListWPFHelper.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgAlbumListWPFHelper.cs	(revision 12336)
@@ -0,0 +1,90 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Com.Piwigo.Lib.DTO;
+
+namespace Com.Piwigo.Wpf.DTO.Helper
+{
+    public static class PwgAlbumListWPFHelper
+    {
+        public static void AddPwgAlbumToList(    PwgAlbum aPwgAlbum,
+                                                ref PwgAlbumListWPF aPwgAlbumListWPF)
+        {
+            if (aPwgAlbum != null)
+            {
+                if (aPwgAlbumListWPF == null)
+                {
+                    aPwgAlbumListWPF = new PwgAlbumListWPF();
+                }
+
+                PwgAlbumWPF pwgCat = new PwgAlbumWPF();
+                PwgAlbumWPFHelper.ConvertPwgAlbumToPwgAlbumWPF(aPwgAlbum, ref pwgCat);
+
+                aPwgAlbumListWPF.Add(pwgCat);
+            }
+        }
+
+        public static void ConvertPwgAlbumListToPwgAlbumListWPF(List<PwgAlbum> aPwgAlbumList, ref PwgAlbumListWPF aPwgAlbumListWPF)
+        {
+            if (aPwgAlbumList != null)
+            {
+                if (aPwgAlbumListWPF == null)
+                {
+                    aPwgAlbumListWPF = new PwgAlbumListWPF();
+                }
+
+                foreach (PwgAlbum pwgCat in aPwgAlbumList)
+                {
+                    AddPwgAlbumToList(pwgCat, ref aPwgAlbumListWPF);
+                }
+            }
+        }
+
+        public static void ConvertPwgAlbumListToPwgRootAlbumWPF(List<PwgAlbum> aPwgAlbumList, ref PwgRootAlbumWPF aPwgRootAlbum)
+        {
+            if (aPwgAlbumList != null)
+            {
+                if ((aPwgRootAlbum == null)
+                    || (aPwgRootAlbum.Childrens == null))
+                {
+                    throw new SystemException("The PwgAlbumListWPFHelper.InitRootAlbum must be called before calling this.");
+                }
+
+                if (aPwgRootAlbum.Childrens == null)
+                {
+                    aPwgRootAlbum.Childrens = new PwgAlbumListWPF();
+                }
+
+                PwgAlbumListWPF aPwgAlbumListWPF = aPwgRootAlbum.Childrens;
+                foreach (PwgAlbum pwgCat in aPwgAlbumList)
+                {
+                    AddPwgAlbumToList(pwgCat, ref aPwgAlbumListWPF);
+                }
+            }
+        }
+
+        public static void InitRootAlbum ()
+          {
+            if (PwgModelManager.Instance.AlbumList == null)
+            {
+                throw new SystemException("The PwgModelManager.Instance.AlbumList must be initialized from presentation tread before calling this.");
+            }
+            if (PwgModelManager.Instance.AlbumList.Count != 1)
+            {
+                PwgModelManager.Instance.AlbumList.Clear();
+                PwgRootAlbumWPF aRootAlbum = new PwgRootAlbumWPF();
+                aRootAlbum.Name = "Albums";
+                aRootAlbum.Childrens = new PwgAlbumListWPF();
+                PwgModelManager.Instance.AlbumList.Add(aRootAlbum);
+                PwgModelManager.Instance.RootAlbumList = aRootAlbum;
+            }
+
+            if (PwgModelManager.Instance.RootAlbumList == null)
+            {
+                PwgModelManager.Instance.RootAlbumList = PwgModelManager.Instance.AlbumList.ElementAtOrDefault(0);
+            }
+
+          }
+    }
+}
Index: /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgAlbumWPFHelper.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgAlbumWPFHelper.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgAlbumWPFHelper.cs	(revision 12336)
@@ -0,0 +1,45 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using Com.Piwigo.Lib.DTO;
+
+namespace Com.Piwigo.Wpf.DTO.Helper
+{
+    public static class PwgAlbumWPFHelper
+    {
+        public static void ConvertPwgAlbumToPwgAlbumWPF(PwgAlbum aPwgAlbum,
+                                                       ref PwgAlbumWPF aPwgAlbumWPF)
+        {
+            if (aPwgAlbum != null)
+            {
+                if (aPwgAlbumWPF == null)
+                {
+                    aPwgAlbumWPF = new PwgAlbumWPF();
+                }
+                aPwgAlbumWPF.DeepImagesCount = aPwgAlbum.DeepImagesCount;
+                aPwgAlbumWPF.Id = aPwgAlbum.Id;
+                aPwgAlbumWPF.ImagesCount = aPwgAlbum.ImagesCount;
+                aPwgAlbumWPF.LastDate = aPwgAlbum.LastDate;
+                aPwgAlbumWPF.Name = aPwgAlbum.Name;
+                aPwgAlbumWPF.SubAlbumsCount = aPwgAlbum.SubAlbumsCount;
+                aPwgAlbumWPF.Url = aPwgAlbum.Url;
+
+                if (aPwgAlbumWPF.UpperAlbumsId == null)
+                {
+                    aPwgAlbumWPF.UpperAlbumsId = new System.Collections.ObjectModel.ObservableCollection<Int32>();
+                }
+                else
+                {
+                    aPwgAlbumWPF.UpperAlbumsId.Clear();
+                }
+
+                foreach (Int32 i in aPwgAlbum.UpperAlbumsId)
+                {
+                    aPwgAlbumWPF.UpperAlbumsId.Add(i);
+                }
+            }
+
+        }
+    }
+}
Index: tensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgCategoryListWPFHelper.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgCategoryListWPFHelper.cs	(revision 12335)
+++ 	(revision )
@@ -1,90 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Com.Piwigo.Lib.DTO;
-
-namespace Com.Piwigo.Wpf.DTO.Helper
-{
-    public static class PwgCategoryListWPFHelper
-    {
-        public static void AddPwgCategoryToList(    PwgCategory aPwgCategory,
-                                                ref PwgCategoryListWPF aPwgCategoryListWPF)
-        {
-            if (aPwgCategory != null)
-            {
-                if (aPwgCategoryListWPF == null)
-                {
-                    aPwgCategoryListWPF = new PwgCategoryListWPF();
-                }
-
-                PwgCategoryWPF pwgCat = new PwgCategoryWPF();
-                PwgCategoryWPFHelper.ConvertPwgCategoryToPwgCategoryWPF(aPwgCategory, ref pwgCat);
-
-                aPwgCategoryListWPF.Add(pwgCat);
-            }
-        }
-
-        public static void ConvertPwgCategoryListToPwgCategoryListWPF(List<PwgCategory> aPwgCategoryList, ref PwgCategoryListWPF aPwgCategoryListWPF)
-        {
-            if (aPwgCategoryList != null)
-            {
-                if (aPwgCategoryListWPF == null)
-                {
-                    aPwgCategoryListWPF = new PwgCategoryListWPF();
-                }
-
-                foreach (PwgCategory pwgCat in aPwgCategoryList)
-                {
-                    AddPwgCategoryToList(pwgCat, ref aPwgCategoryListWPF);
-                }
-            }
-        }
-
-        public static void ConvertPwgCategoryListToPwgRootCategoryWPF(List<PwgCategory> aPwgCategoryList, ref PwgRootCategoryWPF aPwgRootCategory)
-        {
-            if (aPwgCategoryList != null)
-            {
-                if ((aPwgRootCategory == null)
-                    || (aPwgRootCategory.Childrens == null))
-                {
-                    throw new SystemException("The PwgCategoryListWPFHelper.InitRootCategory must be called before calling this.");
-                }
-
-                if (aPwgRootCategory.Childrens == null)
-                {
-                    aPwgRootCategory.Childrens = new PwgCategoryListWPF();
-                }
-
-                PwgCategoryListWPF aPwgCategoryListWPF = aPwgRootCategory.Childrens;
-                foreach (PwgCategory pwgCat in aPwgCategoryList)
-                {
-                    AddPwgCategoryToList(pwgCat, ref aPwgCategoryListWPF);
-                }
-            }
-        }
-
-        public static void InitRootCategory ()
-          {
-            if (PwgModelManager.Instance.CategoryList == null)
-            {
-                throw new SystemException("The PwgModelManager.Instance.CategoryList must be initialized from presentation tread before calling this.");
-            }
-            if (PwgModelManager.Instance.CategoryList.Count != 1)
-            {
-                PwgModelManager.Instance.CategoryList.Clear();
-                PwgRootCategoryWPF aRootCategory = new PwgRootCategoryWPF();
-                aRootCategory.Name = "Categories";
-                aRootCategory.Childrens = new PwgCategoryListWPF();
-                PwgModelManager.Instance.CategoryList.Add(aRootCategory);
-                PwgModelManager.Instance.RootCategoryList = aRootCategory;
-            }
-
-            if (PwgModelManager.Instance.RootCategoryList == null)
-            {
-                PwgModelManager.Instance.RootCategoryList = PwgModelManager.Instance.CategoryList.ElementAtOrDefault(0);
-            }
-
-          }
-    }
-}
Index: tensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgCategoryWPFHelper.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgCategoryWPFHelper.cs	(revision 12335)
+++ 	(revision )
@@ -1,45 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using Com.Piwigo.Lib.DTO;
-
-namespace Com.Piwigo.Wpf.DTO.Helper
-{
-    public static class PwgCategoryWPFHelper
-    {
-        public static void ConvertPwgCategoryToPwgCategoryWPF(PwgCategory aPwgCategory,
-                                                       ref PwgCategoryWPF aPwgCategoryWPF)
-        {
-            if (aPwgCategory != null)
-            {
-                if (aPwgCategoryWPF == null)
-                {
-                    aPwgCategoryWPF = new PwgCategoryWPF();
-                }
-                aPwgCategoryWPF.DeepImagesCount = aPwgCategory.DeepImagesCount;
-                aPwgCategoryWPF.Id = aPwgCategory.Id;
-                aPwgCategoryWPF.ImagesCount = aPwgCategory.ImagesCount;
-                aPwgCategoryWPF.LastDate = aPwgCategory.LastDate;
-                aPwgCategoryWPF.Name = aPwgCategory.Name;
-                aPwgCategoryWPF.SubCategoriesCount = aPwgCategory.SubCategoriesCount;
-                aPwgCategoryWPF.Url = aPwgCategory.Url;
-
-                if (aPwgCategoryWPF.UpperCategoriesId == null)
-                {
-                    aPwgCategoryWPF.UpperCategoriesId = new System.Collections.ObjectModel.ObservableCollection<Int32>();
-                }
-                else
-                {
-                    aPwgCategoryWPF.UpperCategoriesId.Clear();
-                }
-
-                foreach (Int32 i in aPwgCategory.UpperCategoriesId)
-                {
-                    aPwgCategoryWPF.UpperCategoriesId.Add(i);
-                }
-            }
-
-        }
-    }
-}
Index: /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgImageWPFHelper.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgImageWPFHelper.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgImageWPFHelper.cs	(revision 12336)
@@ -28,16 +28,16 @@
                 aPwgImageWPF.Width = aPwgImage.Width;
 
-                if (aPwgImageWPF.Categories == null)
+                if (aPwgImageWPF.Albums == null)
                 {
-                    aPwgImageWPF.Categories = new System.Collections.ObjectModel.ObservableCollection<PwgCategoryWPF>();
+                    aPwgImageWPF.Albums = new System.Collections.ObjectModel.ObservableCollection<PwgAlbumWPF>();
                 }
                 else
                 {
-                    aPwgImageWPF.Categories.Clear();
+                    aPwgImageWPF.Albums.Clear();
                 }
 
-                foreach (PwgCategoryWPF c in aPwgImageWPF.Categories)
+                foreach (PwgAlbumWPF c in aPwgImageWPF.Albums)
                 {
-                    aPwgImageWPF.Categories.Add(c);
+                    aPwgImageWPF.Albums.Add(c);
                 }
 
Index: /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgTagListWPFHelper.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgTagListWPFHelper.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/DTO/Helper/PwgTagListWPFHelper.cs	(revision 12336)
@@ -9,18 +9,18 @@
     public static class PwgTagListWPFHelper
     {
-        public static void AddPwgTagToList(PwgTag aPwgCategory,
-                                           ref PwgTagListWPF aPwgCategoryListWPF)
+        public static void AddPwgTagToList(PwgTag aPwgAlbum,
+                                           ref PwgTagListWPF aPwgAlbumListWPF)
         {
-            if (aPwgCategory != null)
+            if (aPwgAlbum != null)
             {
-                if (aPwgCategoryListWPF == null)
+                if (aPwgAlbumListWPF == null)
                 {
-                    aPwgCategoryListWPF = new PwgTagListWPF();
+                    aPwgAlbumListWPF = new PwgTagListWPF();
                 }
 
                 PwgTagWPF pwgTag = new PwgTagWPF();
-                PwgTagWPFHelper.ConvertPwgTagToPwgTagWPF(aPwgCategory, ref pwgTag);
+                PwgTagWPFHelper.ConvertPwgTagToPwgTagWPF(aPwgAlbum, ref pwgTag);
 
-                aPwgCategoryListWPF.Add(pwgTag);
+                aPwgAlbumListWPF.Add(pwgTag);
             }
         }
Index: /extensions/PiwigoLib/PiwigoWpf/DTO/LocalPwgAlbum.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/LocalPwgAlbum.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoWpf/DTO/LocalPwgAlbum.cs	(revision 12336)
@@ -0,0 +1,70 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.ComponentModel;
+
+namespace Com.Piwigo.Wpf.DTO
+{
+    public class LocalPwgAlbumListWPF : AsyncObservableCollection<LocalPwgAlbumWPF>
+    {}
+
+    public class LocalPwgAlbumWPF : INotifyPropertyChanged
+    {
+        private Int32 _id;
+        public Int32 Id
+        {
+            set { _id = value; OnPropertyChanged("Id"); }
+            get { return _id; }
+        }
+
+        private String _messageInfo;
+        public String MessageInfo
+        {
+            set { _messageInfo = value; OnPropertyChanged("MessageInfo"); }
+            get { return _messageInfo; }
+        }
+
+        private String _name;
+        public String Name
+        {
+            set { _name = value; OnPropertyChanged("Name"); }
+            get { return _name; }
+        }
+
+        private String _localDir;
+        public String LocalDir
+        {
+            set { _localDir = value; OnPropertyChanged("LocalDir"); }
+            get { return _localDir; }
+        }
+
+        private Int32 _upperCatId;
+        public Int32 UpperCatId
+        {
+            set { _upperCatId = value; OnPropertyChanged("UpperCatId"); }
+            get { return _upperCatId; }
+        }
+
+        private LocalPwgAlbumListWPF _subAlbums;
+        public LocalPwgAlbumListWPF SubAlbums
+        {
+            set { _subAlbums = value; OnPropertyChanged("SubAlbums"); }
+            get { return _subAlbums; }
+        }
+
+        private LocalPwgImageListWPF _localImages;
+        public LocalPwgImageListWPF LocalImages
+        {
+            set { _localImages = value; OnPropertyChanged("LocalImages"); }
+            get { return _localImages; }
+        }
+
+        public event PropertyChangedEventHandler PropertyChanged;
+        protected void OnPropertyChanged(String info)
+        {
+            if (PropertyChanged != null)
+                PropertyChanged(this, new PropertyChangedEventArgs(info));
+        }
+    }
+}
Index: tensions/PiwigoLib/PiwigoWpf/DTO/LocalPwgCategory.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/LocalPwgCategory.cs	(revision 12335)
+++ 	(revision )
@@ -1,70 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.ComponentModel;
-
-namespace Com.Piwigo.Wpf.DTO
-{
-    public class LocalPwgCategoryListWPF : AsyncObservableCollection<LocalPwgCategoryWPF>
-    {}
-
-    public class LocalPwgCategoryWPF : INotifyPropertyChanged
-    {
-        private Int32 _id;
-        public Int32 Id
-        {
-            set { _id = value; OnPropertyChanged("Id"); }
-            get { return _id; }
-        }
-
-        private String _messageInfo;
-        public String MessageInfo
-        {
-            set { _messageInfo = value; OnPropertyChanged("MessageInfo"); }
-            get { return _messageInfo; }
-        }
-
-        private String _name;
-        public String Name
-        {
-            set { _name = value; OnPropertyChanged("Name"); }
-            get { return _name; }
-        }
-
-        private String _localDir;
-        public String LocalDir
-        {
-            set { _localDir = value; OnPropertyChanged("LocalDir"); }
-            get { return _localDir; }
-        }
-
-        private Int32 _upperCatId;
-        public Int32 UpperCatId
-        {
-            set { _upperCatId = value; OnPropertyChanged("UpperCatId"); }
-            get { return _upperCatId; }
-        }
-
-        private LocalPwgCategoryListWPF _subCategories;
-        public LocalPwgCategoryListWPF SubCategories
-        {
-            set { _subCategories = value; OnPropertyChanged("SubCategories"); }
-            get { return _subCategories; }
-        }
-
-        private LocalPwgImageListWPF _localImages;
-        public LocalPwgImageListWPF LocalImages
-        {
-            set { _localImages = value; OnPropertyChanged("LocalImages"); }
-            get { return _localImages; }
-        }
-
-        public event PropertyChangedEventHandler PropertyChanged;
-        protected void OnPropertyChanged(String info)
-        {
-            if (PropertyChanged != null)
-                PropertyChanged(this, new PropertyChangedEventArgs(info));
-        }
-    }
-}
Index: /extensions/PiwigoLib/PiwigoWpf/DTO/LocalPwgImage.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/LocalPwgImage.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/DTO/LocalPwgImage.cs	(revision 12336)
@@ -14,5 +14,5 @@
     {
         //FileInfo highResFile, FileInfo lowResFile, FileInfo thumbFile, String imageName, String imageAuthor, DateTime creationDate,
-        //    String authorComment, List<String> lstCategories, List<String> lstTags, PwgConfidentLevelEnum? confidentLevel
+        //    String authorComment, List<String> lstAlbums, List<String> lstTags, PwgConfidentLevelEnum? confidentLevel
 
         private Int32 _id;
Index: /extensions/PiwigoLib/PiwigoWpf/DTO/PwgAlbumListWPF.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/PwgAlbumListWPF.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoWpf/DTO/PwgAlbumListWPF.cs	(revision 12336)
@@ -0,0 +1,16 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Collections.ObjectModel;
+using System.ComponentModel;
+
+namespace Com.Piwigo.Wpf.DTO
+{
+    public class PwgAlbumListWPF : AsyncObservableCollection<PwgAlbumWPF> 
+    {}
+
+    public class PwgRootAlbumListWPF : AsyncObservableCollection<PwgRootAlbumWPF>
+    { }
+
+}
Index: tensions/PiwigoLib/PiwigoWpf/DTO/PwgCategoryListWPF.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/PwgCategoryListWPF.cs	(revision 12335)
+++ 	(revision )
@@ -1,16 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Collections.ObjectModel;
-using System.ComponentModel;
-
-namespace Com.Piwigo.Wpf.DTO
-{
-    public class PwgCategoryListWPF : AsyncObservableCollection<PwgCategoryWPF> 
-    {}
-
-    public class PwgRootCategoryListWPF : AsyncObservableCollection<PwgRootCategoryWPF>
-    { }
-
-}
Index: tensions/PiwigoLib/PiwigoWpf/DTO/PwgCategoryWPF.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/PwgCategoryWPF.cs	(revision 12335)
+++ 	(revision )
@@ -1,195 +1,0 @@
-﻿using System;
-using System.Collections.Generic;
-using System.Text;
-
-using Com.Piwigo.Lib.DTO;
-using System.ComponentModel;
-using System.Collections.ObjectModel;
-
-namespace Com.Piwigo.Wpf.DTO
-{
-    public abstract class PwgTreeCategoryWPF : INotifyPropertyChanged
-    {
-        public abstract Int32 Id
-        {
-            get;
-            set;
-        }
-
-        private String _name;
-        public String Name
-        {
-            set { _name = value; OnPropertyChanged("Name"); }
-            get { return _name; }
-        }
-
-        public event PropertyChangedEventHandler PropertyChanged;
-        protected void OnPropertyChanged(String info)
-        {
-            if (PropertyChanged != null)
-                PropertyChanged(this, new PropertyChangedEventArgs(info));
-        }
-
-        #region IsExpanded
-
-        /// <summary>
-        /// Gets/sets whether the TreeViewItem 
-        /// associated with this object is expanded.
-        /// </summary>
-        private bool _isExpanded = false;
-        public bool IsExpanded
-        {
-            get { return _isExpanded; }
-            set
-            {
-                if (value != _isExpanded)
-                {
-                    _isExpanded = value;
-                    this.OnPropertyChanged("IsExpanded");
-                }
-
-                // Expand all the way up to the root.
-                if (_isExpanded && _parent != null)
-                    _parent.IsExpanded = true;
-            }
-        }
-
-        #endregion // IsExpanded
-
-        #region IsSelected
-
-        /// <summary>
-        /// Gets/sets whether the TreeViewItem 
-        /// associated with this object is selected.
-        /// </summary>
-        private bool _isSelected = false;
-        public bool IsSelected
-        {
-            get { return _isSelected; }
-            set
-            {
-                if (value != _isSelected)
-                {
-                    _isSelected = value;
-                    this.OnPropertyChanged("IsSelected");
-                }
-            }
-        }
-
-        #endregion // IsSelected
-
-        #region Parents - Childs
-        private PwgCategoryWPF _parent = null;
-        public abstract PwgCategoryWPF Parent
-        {
-            get;
-            set;
-        }
-
-        private PwgCategoryListWPF _childrens = null;
-        public PwgCategoryListWPF Childrens
-        {
-            get { return _childrens; }
-            set { _childrens = value; this.OnPropertyChanged("Childrens"); }
-        }
-
-        #endregion // Parent
-    }
-
-    public class PwgRootCategoryWPF : PwgTreeCategoryWPF
-    {
-        private Int32 _id = Com.Piwigo.Lib.DTO.PwgCategory.RootCategoryId;
-        public override Int32 Id
-        {
-            set { throw new SystemException("Couldn't not set the Id for Root category"); }
-            get { return _id; }
-        }
- 
-        private PwgCategoryWPF _parent = null;
-        public override PwgCategoryWPF Parent
-        {
-            get { return _parent; }
-            set { throw new SystemException("Couldn't not set Parent for Root category"); }
-        }
-    }
-
-    public class PwgCategoryWPF : PwgTreeCategoryWPF
-    {
-        private Int32 _id;
-        public override Int32 Id
-        {
-            set { _id = value; OnPropertyChanged("Id"); }
-            get { return _id; }
-        }
-
-        private ObservableCollection<Int32> _upperCategoriesId;
-        public  ObservableCollection<Int32> UpperCategoriesId
-        {
-            set { _upperCategoriesId = value; OnPropertyChanged("UpperCategoriesId"); }
-            get { return _upperCategoriesId; }
-        }
-
-        private Uri _url;
-        public Uri Url
-        {
-            set { _url = value; OnPropertyChanged("Url"); }
-            get { return _url; }
-        }
-
-        private Int64 _imagesCount;
-        public Int64 ImagesCount
-        {
-            set { _imagesCount = value; OnPropertyChanged("ImagesCount"); }
-            get { return _imagesCount; }
-        }
-
-        private Int64 _deepImagesCount;
-        public Int64 DeepImagesCount
-        {
-            set { _deepImagesCount = value; OnPropertyChanged("DeepImagesCount"); }
-            get { return _deepImagesCount; }
-        }
-
-        private Int64 _subCategoriesCount;
-        public Int64 SubCategoriesCount
-        {
-            set { _subCategoriesCount = value; OnPropertyChanged("SubCategoriesCount"); }
-            get { return _subCategoriesCount; }
-        }
-
-        private DateTime _lastDate;
-        public  DateTime LastDate
-        {
-            set { _lastDate = value; OnPropertyChanged("LastDate"); }
-            get { return _lastDate; }
-        }
-
-        #region Presentation Members
-
-        #region Parents - Childs
-        private PwgCategoryWPF _parent = null;
-        public override PwgCategoryWPF Parent
-        {
-            set { _parent = value; OnPropertyChanged("Parent"); }
-            get { return _parent; }
-        }
-        #endregion // Parents - Childs
-        #endregion // Presentation Members
-
-        #region local category for import
-        private Boolean _isLocal;
-        public Boolean IsLocal
-        {
-            get { return _isLocal; }
-            set { _isLocal = value; }
-        }
-
-        private String  _localFile;
-        public String LocalFile
-        {
-            get { return _localFile; }
-            set { _localFile = value; }
-        }
-        #endregion // local category for import
-    }
-}
Index: /extensions/PiwigoLib/PiwigoWpf/DTO/PwgImageWPF.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/PwgImageWPF.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/DTO/PwgImageWPF.cs	(revision 12336)
@@ -112,10 +112,10 @@
         }
 
-        //public List<PwgCategoryWPF> Categories { get; set; }
-        private ObservableCollection<PwgCategoryWPF> _categories;
-        public ObservableCollection<PwgCategoryWPF> Categories
+        //public List<PwgAlbumWPF> Albums { get; set; }
+        private ObservableCollection<PwgAlbumWPF> _Albums;
+        public ObservableCollection<PwgAlbumWPF> Albums
         {
-            set { _categories = value; OnPropertyChanged("Categories"); }
-            get { return _categories; }
+            set { _Albums = value; OnPropertyChanged("Albums"); }
+            get { return _Albums; }
         }
         public event PropertyChangedEventHandler PropertyChanged;
Index: /extensions/PiwigoLib/PiwigoWpf/DTO/PwgModelManager.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/PwgModelManager.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/DTO/PwgModelManager.cs	(revision 12336)
@@ -67,16 +67,16 @@
             }
 
-            private PwgRootCategoryListWPF _categoryList = new PwgRootCategoryListWPF();
-            public PwgRootCategoryListWPF CategoryList
+            private PwgRootAlbumListWPF _AlbumList = new PwgRootAlbumListWPF();
+            public PwgRootAlbumListWPF AlbumList
             {
-                set { _categoryList = value; OnPropertyChanged("CategoryList"); }
-                get { return _categoryList; }
+                set { _AlbumList = value; OnPropertyChanged("AlbumList"); }
+                get { return _AlbumList; }
             }
 
-            private PwgRootCategoryWPF _rootCategoryList;
-            public PwgRootCategoryWPF RootCategoryList
+            private PwgRootAlbumWPF _rootAlbumList;
+            public PwgRootAlbumWPF RootAlbumList
             {
-                set { _rootCategoryList = value; OnPropertyChanged("RootCategoryList"); }
-                get { return _rootCategoryList; }
+                set { _rootAlbumList = value; OnPropertyChanged("RootAlbumList"); }
+                get { return _rootAlbumList; }
             }
 
@@ -96,9 +96,9 @@
             }
 
-            private LocalPwgCategoryListWPF _localCategoryToImport;
-            public LocalPwgCategoryListWPF LocalCategoryToImport
+            private LocalPwgAlbumListWPF _localAlbumToImport;
+            public LocalPwgAlbumListWPF LocalAlbumToImport
             {
-                set { _localCategoryToImport = value; OnPropertyChanged("LocalCategoryToImport"); }
-                get { return _localCategoryToImport; }
+                set { _localAlbumToImport = value; OnPropertyChanged("LocalAlbumToImport"); }
+                get { return _localAlbumToImport; }
             }
             
Index: /extensions/PiwigoLib/PiwigoWpf/DTO/PwgTreeAlbumWPF.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/DTO/PwgTreeAlbumWPF.cs	(revision 12336)
+++ /extensions/PiwigoLib/PiwigoWpf/DTO/PwgTreeAlbumWPF.cs	(revision 12336)
@@ -0,0 +1,195 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Text;
+
+using Com.Piwigo.Lib.DTO;
+using System.ComponentModel;
+using System.Collections.ObjectModel;
+
+namespace Com.Piwigo.Wpf.DTO
+{
+    public abstract class PwgTreeAlbumWPF : INotifyPropertyChanged
+    {
+        public abstract Int32 Id
+        {
+            get;
+            set;
+        }
+
+        private String _name;
+        public String Name
+        {
+            set { _name = value; OnPropertyChanged("Name"); }
+            get { return _name; }
+        }
+
+        public event PropertyChangedEventHandler PropertyChanged;
+        protected void OnPropertyChanged(String info)
+        {
+            if (PropertyChanged != null)
+                PropertyChanged(this, new PropertyChangedEventArgs(info));
+        }
+
+        #region IsExpanded
+
+        /// <summary>
+        /// Gets/sets whether the TreeViewItem 
+        /// associated with this object is expanded.
+        /// </summary>
+        private bool _isExpanded = false;
+        public bool IsExpanded
+        {
+            get { return _isExpanded; }
+            set
+            {
+                if (value != _isExpanded)
+                {
+                    _isExpanded = value;
+                    this.OnPropertyChanged("IsExpanded");
+                }
+
+                // Expand all the way up to the root.
+                if (_isExpanded && _parent != null)
+                    _parent.IsExpanded = true;
+            }
+        }
+
+        #endregion // IsExpanded
+
+        #region IsSelected
+
+        /// <summary>
+        /// Gets/sets whether the TreeViewItem 
+        /// associated with this object is selected.
+        /// </summary>
+        private bool _isSelected = false;
+        public bool IsSelected
+        {
+            get { return _isSelected; }
+            set
+            {
+                if (value != _isSelected)
+                {
+                    _isSelected = value;
+                    this.OnPropertyChanged("IsSelected");
+                }
+            }
+        }
+
+        #endregion // IsSelected
+
+        #region Parents - Childs
+        private PwgAlbumWPF _parent = null;
+        public abstract PwgAlbumWPF Parent
+        {
+            get;
+            set;
+        }
+
+        private PwgAlbumListWPF _childrens = null;
+        public PwgAlbumListWPF Childrens
+        {
+            get { return _childrens; }
+            set { _childrens = value; this.OnPropertyChanged("Childrens"); }
+        }
+
+        #endregion // Parent
+    }
+
+    public class PwgRootAlbumWPF : PwgTreeAlbumWPF
+    {
+        private Int32 _id = Com.Piwigo.Lib.DTO.PwgAlbum.RootAlbumId;
+        public override Int32 Id
+        {
+            set { throw new SystemException("Couldn't not set the Id for Root Album"); }
+            get { return _id; }
+        }
+ 
+        private PwgAlbumWPF _parent = null;
+        public override PwgAlbumWPF Parent
+        {
+            get { return _parent; }
+            set { throw new SystemException("Couldn't not set Parent for Root Album"); }
+        }
+    }
+
+    public class PwgAlbumWPF : PwgTreeAlbumWPF
+    {
+        private Int32 _id;
+        public override Int32 Id
+        {
+            set { _id = value; OnPropertyChanged("Id"); }
+            get { return _id; }
+        }
+
+        private ObservableCollection<Int32> _upperAlbumsId;
+        public  ObservableCollection<Int32> UpperAlbumsId
+        {
+            set { _upperAlbumsId = value; OnPropertyChanged("UpperAlbumsId"); }
+            get { return _upperAlbumsId; }
+        }
+
+        private Uri _url;
+        public Uri Url
+        {
+            set { _url = value; OnPropertyChanged("Url"); }
+            get { return _url; }
+        }
+
+        private Int64 _imagesCount;
+        public Int64 ImagesCount
+        {
+            set { _imagesCount = value; OnPropertyChanged("ImagesCount"); }
+            get { return _imagesCount; }
+        }
+
+        private Int64 _deepImagesCount;
+        public Int64 DeepImagesCount
+        {
+            set { _deepImagesCount = value; OnPropertyChanged("DeepImagesCount"); }
+            get { return _deepImagesCount; }
+        }
+
+        private Int64 _subAlbumsCount;
+        public Int64 SubAlbumsCount
+        {
+            set { _subAlbumsCount = value; OnPropertyChanged("SubAlbumsCount"); }
+            get { return _subAlbumsCount; }
+        }
+
+        private DateTime _lastDate;
+        public  DateTime LastDate
+        {
+            set { _lastDate = value; OnPropertyChanged("LastDate"); }
+            get { return _lastDate; }
+        }
+
+        #region Presentation Members
+
+        #region Parents - Childs
+        private PwgAlbumWPF _parent = null;
+        public override PwgAlbumWPF Parent
+        {
+            set { _parent = value; OnPropertyChanged("Parent"); }
+            get { return _parent; }
+        }
+        #endregion // Parents - Childs
+        #endregion // Presentation Members
+
+        #region local Album for import
+        private Boolean _isLocal;
+        public Boolean IsLocal
+        {
+            get { return _isLocal; }
+            set { _isLocal = value; }
+        }
+
+        private String  _localFile;
+        public String LocalFile
+        {
+            get { return _localFile; }
+            set { _localFile = value; }
+        }
+        #endregion // local Album for import
+    }
+}
Index: /extensions/PiwigoLib/PiwigoWpf/MainWindow.xaml
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/MainWindow.xaml	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/MainWindow.xaml	(revision 12336)
@@ -142,9 +142,9 @@
                 Grid.Row="1"  
                 MinWidth="180" >
-            <TabItem Header="Categories">
-            <TreeView Name="listViewCategory"  
-                DataContext="{Binding Source={StaticResource Categories}}" 
-                ItemsSource="{Binding}"  MouseDoubleClick="listViewCategory_MouseDoubleClick"
-                HorizontalAlignment="Left" PreviewMouseDown="listViewCategory_PreviewMouseDown">
+            <TabItem Header="Albums">
+            <TreeView Name="listViewAlbum"  
+                DataContext="{Binding Source={StaticResource Albums}}" 
+                ItemsSource="{Binding}"  MouseDoubleClick="listViewAlbum_MouseDoubleClick"
+                HorizontalAlignment="Left" PreviewMouseDown="listViewAlbum_PreviewMouseDown">
                 <TreeView.ItemContainerStyle>
                     <!-- 
@@ -188,5 +188,5 @@
                 <TreeView.Resources>
                     <HierarchicalDataTemplate 
-                    DataType="{x:Type pwgdto:PwgTreeCategoryWPF}" 
+                    DataType="{x:Type pwgdto:PwgTreeAlbumWPF}" 
                     ItemsSource="{Binding Childrens}"
                     >
@@ -200,5 +200,5 @@
                     </HierarchicalDataTemplate>
                     <HierarchicalDataTemplate 
-                DataType="{x:Type pwgdto:PwgCategoryWPF}" 
+                DataType="{x:Type pwgdto:PwgAlbumWPF}" 
                 ItemsSource="{Binding Childrens}"
                 >
@@ -213,6 +213,6 @@
                                     <TextBlock Text="{Binding Path=ImagesCount}"/>
                                     <TextBlock Text=" images inside"/>
-                                    <TextBlock Text="{Binding Path=SubCategoriesCount}"/>
-                                    <TextBlock Text=" categories inside"/>
+                                    <TextBlock Text="{Binding Path=SubAlbumsCount}"/>
+                                    <TextBlock Text=" Albums inside"/>
                                 </UniformGrid>
                             </StackPanel.ToolTip>
Index: /extensions/PiwigoLib/PiwigoWpf/MainWindow.xaml.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/MainWindow.xaml.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/MainWindow.xaml.cs	(revision 12336)
@@ -30,18 +30,18 @@
         }
 
-        private void listViewCategory_MouseDoubleClick(object sender, MouseButtonEventArgs e)
+        private void listViewAlbum_MouseDoubleClick(object sender, MouseButtonEventArgs e)
         {
-            AppHelper.ExecuteCommand<PwgCmdGetImageforCategory>(listViewCategory.SelectedValue);
+            AppHelper.ExecuteCommand<PwgCmdGetImageforAlbum>(listViewAlbum.SelectedValue);
         }
 
         private void listViewImage_SelectionChanged(object sender, SelectionChangedEventArgs e)
         {
-            if (PwgCmdSelectImageInCategory.Command.CanExecute(sender))
+            if (PwgCmdSelectImageInAlbum.Command.CanExecute(sender))
             {
-                PwgCmdSelectImageInCategory.Command.Execute(sender);
+                PwgCmdSelectImageInAlbum.Command.Execute(sender);
             }
         }
 
-        private void listViewCategory_PreviewMouseDown(object sender, MouseButtonEventArgs e)
+        private void listViewAlbum_PreviewMouseDown(object sender, MouseButtonEventArgs e)
         {
             e.Handled = false;
@@ -53,7 +53,7 @@
             if (dep != null)
             {
-                if (((TreeViewItem)dep).DataContext is PwgCategoryWPF)
+                if (((TreeViewItem)dep).DataContext is PwgAlbumWPF)
                 {
-                    PwgCategoryWPF aCat = (PwgCategoryWPF)((TreeViewItem)dep).DataContext;
+                    PwgAlbumWPF aCat = (PwgAlbumWPF)((TreeViewItem)dep).DataContext;
 
                     if ((e.ChangedButton == MouseButton.Left) && (e.ClickCount == 1))
@@ -62,5 +62,5 @@
                         if (aCat.Childrens == null)
                         {
-                            AppHelper.ExecuteCommand<PwgCmdGetSubCategorieforCategory>(aCat);
+                            AppHelper.ExecuteCommand<PwgCmdGetSubAlbumforAlbum>(aCat);
                         }
                     }
Index: /extensions/PiwigoLib/PiwigoWpf/PiwigoWpf.csproj
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/PiwigoWpf.csproj	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/PiwigoWpf.csproj	(revision 12336)
@@ -76,11 +76,11 @@
     </ApplicationDefinition>
     <Compile Include="Command\PwgCmdGetImageforTag.cs" />
-    <Compile Include="Command\PwgCmdGetSubCategorieforCategory.cs" />
-    <Compile Include="Command\PwgCmdSelectImageInCategory.cs" />
+    <Compile Include="Command\PwgCmdGetSubAlbumforAlbum.cs" />
+    <Compile Include="Command\PwgCmdSelectImageInAlbum.cs" />
     <Compile Include="Command\DelegateCommand.cs" />
     <Compile Include="Command\PwgCmdDeleteTrace.cs" />
     <Compile Include="Command\PwgCmdDisconnect.cs" />
     <Compile Include="Command\PwgCmdEventsConsumer.cs" />
-    <Compile Include="Command\PwgCmdGetImageforCategory.cs" />
+    <Compile Include="Command\PwgCmdGetImageforAlbum.cs" />
     <Compile Include="Command\PwgCmdProvider.cs" />
     <Compile Include="Command\PwgCmdConnect.cs" />
@@ -91,8 +91,8 @@
     <Compile Include="DTO\Helper\PwgImageListWPFHelper.cs" />
     <Compile Include="DTO\Helper\PwgImageWPFHelper.cs" />
-    <Compile Include="DTO\Helper\PwgCategoryWPFHelper.cs" />
-    <Compile Include="DTO\Helper\PwgCategoryListWPFHelper.cs" />
+    <Compile Include="DTO\Helper\PwgAlbumWPFHelper.cs" />
+    <Compile Include="DTO\Helper\PwgAlbumListWPFHelper.cs" />
     <Compile Include="DTO\Helper\PwgSessionWPFHelper.cs" />
-    <Compile Include="DTO\LocalPwgCategory.cs" />
+    <Compile Include="DTO\LocalPwgAlbum.cs" />
     <Compile Include="DTO\LocalPwgImage.cs" />
     <Compile Include="DTO\PwgModelManager.cs" />
@@ -117,6 +117,6 @@
     <Compile Include="DTO\PwgTagListWPF.cs" />
     <Compile Include="DTO\PwgImageListWPF.cs" />
-    <Compile Include="DTO\PwgCategoryListWPF.cs" />
-    <Compile Include="DTO\PwgCategoryWPF.cs" />
+    <Compile Include="DTO\PwgAlbumListWPF.cs" />
+    <Compile Include="DTO\PwgTreeAlbumWPF.cs" />
     <Compile Include="DTO\PwgImageWPF.cs" />
     <Compile Include="DTO\PwgSessionWPF.cs" />
Index: /extensions/PiwigoLib/PiwigoWpf/Services/ImageCacheManager.cs
===================================================================
--- /extensions/PiwigoLib/PiwigoWpf/Services/ImageCacheManager.cs	(revision 12335)
+++ /extensions/PiwigoLib/PiwigoWpf/Services/ImageCacheManager.cs	(revision 12336)
@@ -64,16 +64,16 @@
             #region DTO
             // local DTO
-            internal class CategoryDictionnaryItem
+            internal class AlbumDictionnaryItem
             {
                 internal DirectoryInfo BasePath;
-                internal String CategorieId;
+                internal String AlbumId;
             };
 
-            internal class CategoryDictionnary : SortedDictionary<String, CategoryDictionnaryItem> { };
+            internal class AlbumDictionnary : SortedDictionary<String, AlbumDictionnaryItem> { };
 
             internal class ServerDictionnaryItem
             {
                 internal DirectoryInfo BasePath;
-                internal CategoryDictionnary Categories;
+                internal AlbumDictionnary Albums;
                 internal Uri ServeurUrl;
             };
@@ -86,5 +86,5 @@
             internal ServerDictionnary _aServerDictionnary;
             internal ServerDictionnaryItem _currentServer;
-            internal CategoryDictionnaryItem _currentCategory;
+            internal AlbumDictionnaryItem _currentAlbum;
 
             #endregion DTO
@@ -100,17 +100,17 @@
             }
             
-            static private String BuildCategoryDirCache(ServerDictionnaryItem server, String CatgeoryId)
-            {
-                String CategoryDirCache = String.Empty;
+            static private String BuildAlbumDirCache(ServerDictionnaryItem server, String CatgeoryId)
+            {
+                String AlbumDirCache = String.Empty;
                 if (server != null)
                 {
-                    CategoryDirCache = Path.Combine(server.BasePath.FullName, CatgeoryId.Replace("/", "_")); 
+                    AlbumDirCache = Path.Combine(server.BasePath.FullName, CatgeoryId.Replace("/", "_")); 
                 }
                 else
                 {
-                    throw new ApplicationException ("Current server not set before using category");
-                }
-
-                return CategoryDirCache;
+                    throw new ApplicationException ("Current server not set before using Album");
+                }
+
+                return AlbumDirCache;
             }
 
@@ -147,5 +147,5 @@
             public void UnsetCurrentServer()
             { 
-                _currentCategory = null;
+                _currentAlbum = null;
                 _currentServer = null;
             }
@@ -171,5 +171,5 @@
                         server.ServeurUrl = new Uri(serveurUri);
                         server.BasePath = new DirectoryInfo(currentserverDir);
-                        server.Categories = new CategoryDictionnary();
+                        server.Albums = new AlbumDictionnary();
                         _aServerDictionnary.Add(serveurUri, server);
                         _currentServer = server;
@@ -180,10 +180,10 @@
                         //Create it
                         Directory.CreateDirectory(currentserverDir);
-                        _currentServer.Categories.Clear();
-                    }
-                }
-            }
-
-            public void SetCurrentCategory(String CategorieId)
+                        _currentServer.Albums.Clear();
+                    }
+                }
+            }
+
+            public void SetCurrentAlbum(String AlbumId)
             {
                 if (_currentServer != null)
@@ -191,22 +191,22 @@
                     lock (_lock)
                     {
-                        String currentsCategoryDir = BuildCategoryDirCache(_currentServer, CategorieId);
-                        if (_currentServer.Categories.ContainsKey(CategorieId))
-                        {
-                            _currentCategory = _currentServer.Categories[CategorieId];
+                        String currentsAlbumDir = BuildAlbumDirCache(_currentServer, AlbumId);
+                        if (_currentServer.Albums.ContainsKey(AlbumId))
+                        {
+                            _currentAlbum = _currentServer.Albums[AlbumId];
                         }
                         else
                         {
-                            CategoryDictionnaryItem category = new CategoryDictionnaryItem();
-                            category.BasePath = new DirectoryInfo(currentsCategoryDir);
-                            category.CategorieId = CategorieId;
-                            _currentServer.Categories.Add(CategorieId, category);
-                            _currentCategory = category;
-                        }
-
-                        if (!Directory.Exists(currentsCategoryDir))
+                            AlbumDictionnaryItem Album = new AlbumDictionnaryItem();
+                            Album.BasePath = new DirectoryInfo(currentsAlbumDir);
+                            Album.AlbumId = AlbumId;
+                            _currentServer.Albums.Add(AlbumId, Album);
+                            _currentAlbum = Album;
+                        }
+
+                        if (!Directory.Exists(currentsAlbumDir))
                         {
                             //Create it
-                            Directory.CreateDirectory(currentsCategoryDir);
+                            Directory.CreateDirectory(currentsAlbumDir);
                         }
                     }
@@ -214,5 +214,5 @@
                 else
                 {
-                    throw new ApplicationException("Current server not set before using category");
+                    throw new ApplicationException("Current server not set before using Album");
                 }
             }
@@ -226,7 +226,7 @@
                     }
 
-                    if (_currentCategory != null)
-                    {
-                        String localDir = Path.Combine(_currentCategory.BasePath.FullName, strImageType);
+                    if (_currentAlbum != null)
+                    {
+                        String localDir = Path.Combine(_currentAlbum.BasePath.FullName, strImageType);
                         if (!Directory.Exists(localDir))
                         {
@@ -277,5 +277,5 @@
                     else
                     {
-                        throw new ApplicationException("Current category not set before using image cache.");
+                        throw new ApplicationException("Current Album not set before using image cache.");
                     }
                 }
Index: /extensions/PiwigoLib/TestPiwigoLib/Form1.cs
===================================================================
--- /extensions/PiwigoLib/TestPiwigoLib/Form1.cs	(revision 12335)
+++ /extensions/PiwigoLib/TestPiwigoLib/Form1.cs	(revision 12336)
@@ -54,5 +54,5 @@
                 //    ref Page, ref PerPage, ref Count);
 
-                //List<PwgImage> lstImgCat = PwgServiceProvider.Instance.PwgCategoriesService.GetListOfImagesFormCategory(1,
+                //List<PwgImage> lstImgCat = PwgServiceProvider.Instance.PwgAlbumsService.GetListOfImagesFormAlbum(1,
                 //    null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
                 //    ref Page, ref PerPage, ref Count);
@@ -60,19 +60,19 @@
                 //Console.WriteLine("lstImg : Page " + Page.ToString() + " PerPage " + PerPage);
 
-                List<PwgCategory> lstadmCat = PwgServiceProvider.Instance.PwgCategoriesService.GetAdminListOfCategory(); 
+                List<PwgAlbum> lstadmCat = PwgServiceProvider.Instance.PwgAlbumsService.GetAdminListOfAlbum(); 
 
-                List<PwgCategory> lstCat = PwgServiceProvider.Instance.PwgCategoriesService.GetListOfCategory(0, true, false);
+                List<PwgAlbum> lstCat = PwgServiceProvider.Instance.PwgAlbumsService.GetListOfAlbum(0, true, false);
 
                 Int32 newid = 0;
                 String msg = String.Empty;
                 Boolean rc;
-                // rc = PwgServiceProvider.Instance.PwgCategoriesService.AddCategory("test_cat", 1, ref  newid, ref msg);
-                //List<PwgCategory> lstCat = PwgServiceProvider.Instance.PwgCategoriesService.GetAdminListOfCategory(); 
+                // rc = PwgServiceProvider.Instance.PwgAlbumsService.AddAlbum("test_cat", 1, ref  newid, ref msg);
+                //List<PwgAlbum> lstCat = PwgServiceProvider.Instance.PwgAlbumsService.GetAdminListOfAlbum(); 
                 //Console.WriteLine(String.Format("newid : {0} message : {1}", newid,msg));
-                //rc = PwgServiceProvider.Instance.PwgCategoriesService.UpdateCategoryInfo(newid, "test2", "rename cat");
-                //Boolean rc = PwgServiceProvider.Instance.PwgCategoriesService.DeleteCategory(newid, sess.SecurityToken, PwgCategoryPhotoDeletionModeEnum.None);
-                //rc = PwgServiceProvider.Instance.PwgCategoriesService.MoveCategory(new List<Int32>() { newid }, PwgCategory.RootCategoryId, sess.SecurityToken);
+                //rc = PwgServiceProvider.Instance.PwgAlbumsService.UpdateAlbumInfo(newid, "test2", "rename cat");
+                //Boolean rc = PwgServiceProvider.Instance.PwgAlbumsService.DeleteAlbum(newid, sess.SecurityToken, PwgAlbumPhotoDeletionModeEnum.None);
+                //rc = PwgServiceProvider.Instance.PwgAlbumsService.MoveAlbum(new List<Int32>() { newid }, PwgAlbum.RootAlbumId, sess.SecurityToken);
 
-                //lstCat = PwgServiceProvider.Instance.PwgCategoriesService.GetAdminListOfCategory(); 
+                //lstCat = PwgServiceProvider.Instance.PwgAlbumsService.GetAdminListOfAlbum(); 
 
                 //FileInfo fiBig = new FileInfo("C:\\Users\\bayral\\Downloads\\49133_1636405570_2648232_n.jpg");
