!function(){"use strict";functionc(e){"function"!=typeofe.then&&(angular.extend(this,e),_.forEach(this.identities,function(e){vart;e.fullName&&e.email?e.full=e.fullName+" <"+e.email+">":e.email?e.full="<"+e.email+">":e.full="",e.signature&&(t=angular.element("<div>"+e.signature+"</div>"),e.textSignature=_.map(t.contents(),"textContent").join(" ").trim())}),c.$log.debug("Account: "+JSON.stringify(e,void0,2)))}c.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Mailbox","Message",function(e,t,s,n,i,a,o,r){returnangular.extend(c,{$q:e,$timeout:t,$log:s,$$resource:newi(n.activeUser("folderURL")+"Mail",n.activeUser()),$Preferences:a,$Mailbox:o,$Message:r}),c}];try{angular.module("SOGo.MailerUI")}catch(e){angular.module("SOGo.MailerUI",["SOGo.Common"])}angular.module("SOGo.MailerUI").factory("Account",c.$factory),c.$findAll=function(e){returne?c.$unwrapCollection(e):c.$accounts?c.$q.when(c.$accounts):c.$$resource.fetch("","mailAccounts").then(function(e){returnc.$unwrapCollection(e)})},c.$unwrapCollection=function(e){vars=[];returnangular.forEach(e,function(e,t){e.id=t,s[t]=newc(e)}),c.$accounts=s},c.refreshUnseenCount=function(e){vart,s=1===c.$Preferences.defaults.SOGoMailFetchAllUnseenCountFolders,n=c.$Preferences.defaults.SOGoRefreshViewCheck;if(s)t=[];else{if(!e)throwError("SOGoMailFetchAllUnseenCountFolders is disabled and no folders list provided");t=e}_.forEach(c.$accounts,function(e){s?_.forEach(e.$$flattenMailboxes,function(e){t.push(e.id)}):(_.includes(t,e.id+"/folderINBOX")||t.push(e.id+"/folderINBOX"),_.forEach(e.$$flattenMailboxes,function(e){angular.isDefined(e.unseenCount)&&!_.includes(t,e.id)&&t.push(e.id)}))}),c.$$resource.post("","unseenCount",{mailboxes:t}).then(function(t){_.forEach(c.$accounts,function(e){_.forEach(e.$$flattenMailboxes,function(e){t[e.id]&&(e.unseenCount=t[e.id])})})}),n&&"manually"!=n&&(c.$refreshUnseenCount&&c.$timeout.cancel(c.$refreshUnseenCount),c.$refreshUnseenCount=c.$timeout(angular.bind(this,c.refreshUnseenCount,e),1e3*n.timeInterval()))},c.prototype.getLength=function(){returnthis.$expanded?this.$flattenMailboxes().length:0},c.prototype.getItemAtIndex=function(e){vart=this.$flattenMailboxes();return0<=e&&e<t.length?t[e]:null},c.prototype.$getMailboxes=function(e){vara=this,t=e&&e.reload;returnthis.$mailboxes&&!t?c.$q.when(this.$mailboxes):(!t&&this.$futureMailboxesData||(this.$futureMailboxesData=c.$Mailbox.$find(this,e).then(function(e){vars=a.$flattenMailboxes({all:!0});a.$mailboxes=e,a.$expanded=!1;varn=function(e){_.forEach(e,function(e){vart=_.find(s,["id",e.id]);t&&(e.unseenCount=t.unseenCount),e.children&&0<e.children.length&&n(e.children)})};n(a.$mailboxes);vart,i=function(e){_.forEach(e,function(e){e.$expanded=0<=t.indexOf("/"+e.id),e.children&&0<e.children.length&&i(e.children)})};if(c.$Preferences.settings.Mail.ExpandedFolders){if(angular.isString(c.$Preferences.settings.Mail.ExpandedFolders))try{t=angular.fromJson(c.$Preferences.settings.Mail.ExpandedFolders)}catch(e){c.$log.warn("Can't parse list of expanded folders. String was: "+c.$Preferences.settings.Mail.ExpandedFolders),t=[]}elset=c.$Preferences.settings.Mail.ExpandedFolders;a.$expanded=0<=t.indexOf("/"+a.id),0<t.length&&i(a.$mailboxes)}returnc.$accounts&&(a.$expanded|=1==c.$accounts.length),a.$flattenMailboxes({reload:!0}),a.$mailboxes})),this.$futureMailboxesData)},c.prototype.$flattenMailboxes=function(t){vars=[],n=[],i=function(e){_.forEach(e,function(e){s.push(e),(t&&t.all||e.$expanded)&&e.children&&0<e.children.length&&i(e.children)})};return!this.$$flattenMailboxes||t&&(t.reload||t.all)?(i(this.$mailboxes),t&&t.all||(this.$$flattenMailboxes=s,t&&t.saveState&&(_.forEach(c.$accounts,function(e){e.$expanded&&n.push("/"+e.id),_.reduce(e.$$flattenMailboxes,function(e,t){returnt.$expanded&&e.push("/"+t.id),e},n)}),c.$$resource.post(null,"saveFoldersState",n)))):s=this.$$flattenMailboxes,s},c.prototype.$getMailboxByType=function(s){varn=function(e){vart=_.find(e,function(e){returne.type==s});returnt||angular.forEach(e,function(e){!t&&e.children&&0<e.children.