diff --git a/UI/WebServerResources/js/Scheduler.services.js b/UI/WebServerResources/js/Scheduler.services.js index ffe69dddc..4a9c61f65 100644 --- a/UI/WebServerResources/js/Scheduler.services.js +++ b/UI/WebServerResources/js/Scheduler.services.js @@ -1,2 +1,2 @@ -!function(){"use strict";function e(t){if(this.init(t),this.name&&!this.id){var n=e.$$resource.create("createFolder",this.name);this.$unwrap(n)}}e.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Component","Acl",function(t,n,a,o,i,r,s,c){return angular.extend(e,{$q:t,$timeout:n,$log:a,$$resource:new i(o.activeUser("folderURL")+"Calendar",o.activeUser()),$Preferences:r,$Component:s,$$Acl:c,activeUser:o.activeUser(),$view:null}),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").value("CalendarSettings",{EventDragDayLength:96,EventDragHorizontalOffset:3,ConflictHTTPErrorCode:409}).factory("Calendar",e.$factory),e.$defaultCalendar=function(){var t;return"first"==e.$Preferences.defaults.SOGoDefaultCalendar&&(t=_.find(e.$findAll(null,!0),function(e){return e.active}))?t.id:"personal"},e.$add=function(t){var n,a;n=t.isWebCalendar?this.$webcalendars:t.isSubscription?this.$subscriptions:this.$calendars,(a=_.findIndex(n,function(e,n){return"personal"==t.id||"personal"!=e.id&&e.name.localeCompare(t.name)>0}))<0?n.push(t):n.splice(a,0,t),e.$Preferences.settings.Calendar.FoldersOrder&&e.saveFoldersOrder(_.flatMap(e.$findAll(),"id")),e.$reloadAll()},e.$findAll=function(t,n){var a=this;if(t)this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],angular.forEach(t,function(t,n){var o=new e(t);o.isWebCalendar?a.$webcalendars.push(o):o.isSubscription?a.$subscriptions.push(o):a.$calendars.push(o)});else if(angular.isUndefined(this.$calendars))return this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars,n)});return n?_.union(this.$calendars,_.filter(this.$subscriptions,function(e){return e.isOwned||e.acls.objectCreator})):_.union(this.$calendars,this.$subscriptions,this.$webcalendars)},e.$reloadAll=function(){var t=this;e.$$resource.fetch("calendarslist").then(function(n){_.forEach(n.calendars,function(n){var a,o;a=n.isWebCalendar?t.$webcalendars:n.owner!=e.activeUser.login?t.$subscriptions:t.$calendars,(o=_.find(a,function(e){return e.id==n.id}))&&o.init(n)})})},e.$get=function(t){var n;return(n=_.find(e.$calendars,function(e){return e.id==t}))||(n=_.find(e.$subscriptions,function(e){return e.id==t})),n||(n=_.find(e.$webcalendars,function(e){return e.id==t})),n},e.$getIndex=function(t){var n;return(n=_.indexOf(_.map(e.$calendars,"id"),t))<0&&(n=_.indexOf(_.map(e.$subscriptions,"id"),t)),n<0&&(n=_.indexOf(_.map(e.$webcalendars,"id"),t)),n},e.$subscribe=function(t,n){var a=this;return e.$$resource.userResource(t).fetch(n,"subscribe").then(function(t){var n=new e(angular.extend({active:1},t));return _.find(a.$subscriptions,function(e){return e.id==t.id})||e.$add(n),n})},e.$addWebCalendar=function(t){var n=e.$q.defer();return _.find(this.$webcalendars,function(e){return e.urls.webCalendarURL==t})?n.reject():e.$$resource.post(null,"addWebCalendar",{url:t}).then(function(a){angular.extend(a,{isWebCalendar:!0,isEditable:!0,isRemote:!1,owner:e.activeUser.login,urls:{webCalendarURL:t}});var o=new e(a);e.$$resource.fetch(o.id,"reload").then(function(t){e.$log.debug(JSON.stringify(t,void 0,2)),e.$add(o),n.resolve()},function(e){401==e.status?n.resolve(o):n.reject()})},n.reject),n.promise},e.reloadWebCalendars=function(){var t=[];return _.forEach(this.$webcalendars,function(n){var a=e.$$resource.fetch(n.id,"reload");a.then(function(e){n.$error=!1},function(e){n.$error=l(e.statusText)}),t.push(a)}),e.$q.all(t)},e.$deleteComponents=function(t){var n={},a=[];return _.forEach(t,function(e){angular.isDefined(n[e.pid])||(n[e.pid]=[]),n[e.pid].push(e.id)}),_.forEach(n,function(t,n){a.push(e.$$resource.post(n,"batchDelete",{uids:t}))}),e.$q.all(a)},e.saveFoldersActivation=function(t){var n={};return _.forEach(t,function(t){var a=e.$get(t);n[a.id]=a.active}),e.$$resource.post(null,"saveFoldersActivation",n)},e.saveFoldersOrder=function(t){return this.$$resource.post(null,"saveFoldersOrder",{folders:t}).then(function(){if(e.$Preferences.settings.Calendar.FoldersOrder=t,!t)return e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars)})})},e.prototype.init=function(t){this.color=this.color||"#AAAAAA",this.active=1,angular.extend(this,t),this.id&&(this.$acl=new e.$$Acl("Calendar/"+this.id)),this.isOwned=e.activeUser.isSuperUser||this.owner==e.activeUser.login,this.isSubscription=!this.isRemote&&this.owner!=e.activeUser.login,angular.isUndefined(this.$shadowData)&&(this.$shadowData=this.$omit())},e.prototype.$id=function(){return this.id?e.$q.when(this.id):this.$futureCalendarData.then(function(e){return e.id})},e.prototype.getClassName=function(e){return angular.isUndefined(e)&&(e="fg"),e+"-folder"+this.id},e.prototype.$rename=function(){var t,n,a=this;return this.name==this.$shadowData.name?e.$q.when():(n=this.isWebCalendar?e.$webcalendars:this.isSubscription?e.$subscriptions:e.$calendars,(t=_.indexOf(_.map(n,"id"),this.id))>-1?this.$save().then(function(){n.splice(t,1),e.$add(a)}):e.$q.reject())},e.prototype.$delete=function(){var t,n,a=this;return this.isSubscription?(n=e.$$resource.fetch(this.id,"unsubscribe"),t=e.$subscriptions):(n=e.$$resource.remove(this.id),t=this.isWebCalendar?e.$webcalendars:e.$calendars),n.then(function(){var e=_.indexOf(_.map(t,"id"),a.id);t.splice(e,1)})},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),angular.extend(this,this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$save=function(){var t=this;return e.$$resource.save(this.id,this.$omit()).then(function(e){return t.$shadowData=t.$omit(),e},function(n){return e.$log.error(JSON.stringify(n,void 0,2)),t.$reset(),n})},e.prototype.setCredentials=function(t,n){var a=this,o=e.$q.defer();return e.$$resource.post(this.id,"set-credentials",{username:t,password:n}).then(function(){e.$$resource.fetch(a.id,"reload").then(function(t){e.$add(a),o.resolve()},function(e){401==e.status?o.reject(l("Wrong username or password")):o.reject(e.statusText)})},o.reject),o.promise},e.prototype.export=function(){var t;return t={type:"application/octet-stream",filename:this.name+".ics"},e.$$resource.download(this.id+".ics","export",null,t)},e.prototype.$setActivation=function(){return e.$$resource.fetch(this.id,(this.active?"":"de")+"activateFolder")},e.prototype.$getComponent=function(t,n){return e.$Component.$find(this.id,t,n)},e.prototype.$unwrap=function(t){var n=this;this.$futureCalendarData=t.then(function(t){return e.$timeout(function(){return n.init(t),n})},function(t){n.isError=!0,angular.isObject(t)&&e.$timeout(function(){angular.extend(n,t)})})},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&(e[n]=t)}),e}}(),function(){"use strict";function e(t){if("function"!=typeof t.then){if(this.init(t),this.pid&&!this.id){var n=e.$$resource.newguid(this.pid);this.$unwrap(n),this.isNew=!0}}else this.$unwrap(t)}e.$factory=["$q","$timeout","$log","$rootScope","sgSettings","sgComponent_STATUS","Preferences","User","Card","Gravatar","Resource",function(t,n,a,o,i,r,s,c,l,d,u){return angular.extend(e,{STATUS:r,$q:t,$timeout:n,$log:a,$rootScope:o,$settings:i,$User:c,$Preferences:s,$Card:l,$gravatar:d,$$resource:new u(i.activeUser("folderURL")+"Calendar",i.activeUser()),timeFormat:"%H:%M",$query:{value:"",search:"title_Category_Location"},$queryEvents:{sort:"start",asc:1,filterpopup:"view_next7"},$queryTasks:{sort:"status",asc:1,filterpopup:"view_incomplete"},$refreshTimeout:null,$ghost:{}}),s.settings.Calendar.EventsFilterState&&(e.$queryEvents.filterpopup=s.settings.Calendar.EventsFilterState),s.settings.Calendar.TasksFilterState&&(e.$queryTasks.filterpopup=s.settings.Calendar.TasksFilterState),s.settings.Calendar.EventsSortingState&&(e.$queryEvents.sort=s.settings.Calendar.EventsSortingState[0],e.$queryEvents.asc=parseInt(s.settings.Calendar.EventsSortingState[1])),s.settings.Calendar.TasksSortingState&&(e.$queryTasks.sort=s.settings.Calendar.TasksSortingState[0],e.$queryTasks.asc=parseInt(s.settings.Calendar.TasksSortingState[1])),e.$queryTasks.show_completed=parseInt(s.settings.ShowCompletedTasks),e.$categories=s.defaults.SOGoCalendarCategoriesColors,s.defaults.SOGoTimeFormat&&(e.timeFormat=s.defaults.SOGoTimeFormat),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").constant("sgComponent_STATUS",{NOT_LOADED:0,DELAYED_LOADING:1,LOADING:2,LOADED:3,DELAYED_MS:300}).factory("Component",e.$factory),e.$selectedCount=function(){var t;return t=0,e.$events&&(t+=_.filter(e.$events,function(e){return e.selected}).length),e.$tasks&&(t+=_.filter(e.$tasks,function(e){return e.selected}).length),t},e.$startRefreshTimeout=function(t){e.$refreshTimeout&&e.$timeout.cancel(e.$refreshTimeout);var n=e.$Preferences.defaults.SOGoRefreshViewCheck;if(n&&"manually"!=n){var a=angular.bind(e.$rootScope,e.$rootScope.$emit,"calendars:list");e.$refreshTimeout=e.$timeout(a,1e3*n.timeInterval())}},e.$isLoading=function(){return e.$loaded==e.STATUS.LOADING},e.$filter=function(t,n){var a,o,i=this,r=new Date,s=r.getDate(),c=r.getMonth()+1,l=r.getFullYear(),d="$query"+t.capitalize(),u={day:l+(c<10?"0":"")+c+(s<10?"0":"")+s},h=!1;return e.$startRefreshTimeout(t),angular.extend(this.$query,u),n&&_.forEach(_.keys(n),function(t){h|=i.$query[t]&&n[t]!=e.$query[t],"reload"==t&&n[t]?h=!0:angular.isDefined(i.$query[t])?i.$query[t]=n[t]:i[d][t]=n[t]}),a=this.$$resource.fetch(null,t+"list",angular.extend(this[d],this.$query)),h&&(delete e[o="tasks"==t?"$events":"$tasks"],e.$log.debug("force reload of "+o)),this.$unwrapCollection(t,a)},e.$find=function(t,n,a){var o=[t,encodeURIComponent(n)];return a&&o.push(a),new e(this.$$resource.fetch(o.join("/"),"view"))},e.filterCategories=function(t){var n=new RegExp(t,"i");return _.filter(_.keys(e.$categories),function(e){return-1!=e.search(n)})},e.saveSelectedList=function(e){return this.$$resource.post(null,"saveSelectedList",{list:e+"ListView"})},e.$eventsBlocksForView=function(t,n){var a,o,i,r;return a=e.$Preferences.defaults.SOGoFirstDayOfWeek,"day"==t?(o="dayView",i=r=n):"multicolumnday"==t?(o="multicolumndayView",i=r=n):"week"==t?(o="weekView",i=n.beginOfWeek(a),(r=new Date).setTime(i.getTime()),r.addDays(6)):"month"==t&&(o="monthView",(i=n).setDate(1),i=i.beginOfWeek(a),(r=new Date).setTime(n.getTime()),r.setMonth(r.getMonth()+1),r.addDays(-1),r=r.endOfWeek(a)),this.$eventsBlocks(o,i,r)},e.$eventsBlocks=function(t,n,a){var o,i,r,s=[],c=[],l=e.$q.defer();return o={view:t.toLowerCase(),sd:n.getDayString(),ed:a.getDayString()},this.$$resource.fetch(null,"eventsblocks",o).then(function(t){var n,a;n=function(t,n,a){var o,i=_.zipObject(this.eventsFields,n),r=new Date(1e3*i.c_startdate);return i.hour=r.getHourString(),i.blocks=[],o=new e(i),t.push(o),t},a=function(e){this[e.nbr].blocks.push(e),e.component=this[e.nbr],e.isFirst=1==this[e.nbr].blocks.length},e.$views=[],e.$timeout(function(){_.forEach(t,function(t,o){var l,d=[],u={},h={};for(t.eventsFields.splice(_.indexOf(t.eventsFields,"c_folder"),1,"pid"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_name"),1,"id"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_recurrence_id"),1,"occurrenceId"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_title"),1,"summary"),_.reduce(t.events,_.bind(n,t),d),_.forEach(_.flatten(t.blocks),_.bind(a,d)),_.forEach(_.flatten(t.allDayBlocks),_.bind(a,d)),0===s.length&&(s=_.flatMap(t.days,"date"),c=_.flatMap(t.days,"number")),i=0;i0&&(this.repeat.month={type:"bymonthday"}),angular.isUndefined(this.repeat.month)&&(this.repeat.month={}),angular.isUndefined(this.repeat.month.occurrence)&&angular.extend(this.repeat.month,{occurrence:"1",day:"SU"}),angular.isUndefined(this.repeat.months)&&(this.repeat.months=[]),angular.isUndefined(this.repeat.year)&&(this.repeat.year={}),this.repeat.count?this.repeat.end="count":this.repeat.until?(this.repeat.end="until",angular.isString(this.repeat.until)&&(this.repeat.until=e.$parseDate(this.repeat.until,{no_time:!0}))):this.repeat.end="never",this.$hasCustomRepeat=this.hasCustomRepeat(),this.isNew){var a="appointment"==this.type?"Events":"Tasks";this.classification=e.$Preferences.defaults["SOGoCalendar"+a+"DefaultClassification"].toLowerCase();var o=/-PT?([0-9]+)([MHDW])/.exec(e.$Preferences.defaults.SOGoCalendarDefaultReminder);o&&(this.$hasAlarm=!0,this.alarm.quantity=parseInt(o[1]),this.alarm.unit={M:"MINUTES",H:"HOURS",D:"DAYS",W:"WEEKS"}[o[2]]),this.sendAppointmentNotifications=e.$Preferences.defaults.SOGoAppointmentSendEMailNotifications}else angular.isUndefined(t.$hasAlarm)&&(this.$hasAlarm=angular.isDefined(t.alarm));this.destinationCalendar=this.pid,this.attendees&&_.forEach(this.attendees,function(t){t.image=e.$gravatar(t.email,32)}),this.updateFreeBusy(),this.selected=!1},e.prototype.initOrganizer=function(t){var n,a=this;t&&t.isSubscription?n=e.$User.$filter(t.owner).then(function(e){var t=e[0];a.organizer={uid:t.uid,name:t.cn,email:t.c_email}}):(this.organizer={uid:e.$settings.activeUser("login"),name:e.$settings.activeUser("identification"),email:e.$settings.activeUser("email")},n=e.$q.when()),n.then(function(){a.updateFreeBusyAttendee(a.organizer)})},e.prototype.hasCustomRepeat=function(){return angular.isUndefined(this.occurrenceId)&&angular.isDefined(this.repeat)&&(this.repeat.interval>1||angular.isDefined(this.repeat.days)&&this.repeat.days.length>0||angular.isDefined(this.repeat.monthdays)&&this.repeat.monthdays.length>0||angular.isDefined(this.repeat.months)&&this.repeat.months.length>0||angular.isDefined(this.repeat.month)&&angular.isDefined(this.repeat.month.type)||angular.isDefined(this.repeat.dates)&&this.repeat.dates.length>0)},e.prototype.isEditable=function(){return!this.occurrenceId&&!this.isReadOnly},e.prototype.isEditableOccurrence=function(){return this.occurrenceId&&!this.isReadOnly},e.prototype.isInvitation=function(){return!this.occurrenceId&&this.userHasRSVP},e.prototype.isInvitationOccurrence=function(){return this.occurrenceId&&this.userHasRSVP},e.prototype.showPercentComplete=function(){return"task"==this.type&&this.percentComplete>0&&"cancelled"!=this.status},e.prototype.enablePercentComplete=function(){return"task"==this.type&&"not-specified"!=this.status&&"cancelled"!=this.status},e.prototype.coversFreeBusy=function(e,t,n){return angular.isDefined(this.freebusy[e])&&angular.isDefined(this.freebusy[e][t])&&1==this.freebusy[e][t][n]},e.prototype.updateFreeBusyCoverage=function(){var e=this,t={};if(this.start&&this.end){var n=new Date(this.start.getTime()),a=new Date(this.end.getTime()),o=parseInt(n.getMinutes()/15+.5),i=parseInt(a.getMinutes()/15+.5);return n.setMinutes(15*o),a.setMinutes(15*i),_.forEach(n.daysUpTo(a),function(n,a){var i,r=n.getDate(),s=n.getDayString();if(s==e.start.getDayString())for(i=n.getHours().toString(),t[s]={},t[s][i]=[];o>0;)t[s][i].push(0),o--;else n=n.beginOfDay(),t[s]={};for(;n.getTime()0},e.prototype.addAttachUrl=function(e){if(angular.isUndefined(this.attachUrls))this.attachUrls=[{value:e}];else{for(var t=0;t-1&&this.attachUrls.length>e&&this.attachUrls.splice(e,1)},e.prototype.$addDueDate=function(){this.due=new Date,this.due.setMinutes(15*Math.round(this.due.getMinutes()/15)),this.dueDate=this.due.toISOString()},e.prototype.$deleteDueDate=function(){delete this.due,delete this.dueDate},e.prototype.$addStartDate=function(){this.start=new Date,this.start.setMinutes(15*Math.round(this.start.getMinutes()/15))},e.prototype.$deleteStartDate=function(){delete this.start,delete this.startDate},e.prototype.$addRecurrenceDate=function(){var e=new Date;e.setMinutes(15*Math.round(e.getMinutes()/15)),angular.isUndefined(this.repeat.dates)&&(this.repeat={frequency:"custom",dates:[]}),this.repeat.dates.push(e)},e.prototype.$deleteRecurrenceDate=function(e){e>-1&&this.repeat&&this.repeat.dates&&this.repeat.dates.length>e&&this.repeat.dates.splice(e,1)},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),this.init(this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$reply=function(){var t,n=this,a=[this.pid,encodeURIComponent(this.id)];return this.occurrenceId&&a.push(this.occurrenceId),t={reply:this.reply,delegatedTo:this.delegatedTo,alarm:this.$hasAlarm?this.alarm:{}},e.$$resource.save(a.join("/"),t,{action:"rsvpAppointment"}).then(function(e){return n.$shadowData=n.$omit(),e})},e.prototype.$adjust=function(t){var n=[this.pid,encodeURIComponent(this.id)];return _.every(_.values(t),function(e){return 0===e})?e.$q.when():(this.occurrenceId&&n.push(this.occurrenceId),e.$log.debug("adjust "+n.join("/")+" "+JSON.stringify(t)),e.$$resource.save(n.join("/"),t,{action:"adjust"}))},e.prototype.$save=function(t){var n,a,o,i,r=this;return o=this.$omit(),i=e.$Preferences.$mdDateLocaleProvider,o.startDate=o.start?o.start.format(i,"%Y-%m-%d"):"",o.startTime=o.start?o.start.format(i,"%H:%M"):"",o.endDate=o.end?o.end.format(i,"%Y-%m-%d"):"",o.endTime=o.end?o.end.format(i,"%H:%M"):"",o.dueDate=o.due?o.due.format(i,"%Y-%m-%d"):"",o.dueTime=o.due?o.due.format(i,"%H:%M"):"",o.completedDate=o.completed?o.completed.format(i,"%Y-%m-%d"):"",this.hasCustomRepeat()?"monthly"==this.repeat.frequency&&this.repeat.month.type&&"byday"==this.repeat.month.type&&"relative"!=this.repeat.month.day||"yearly"==this.repeat.frequency&&this.repeat.year.byday?(delete o.repeat.monthdays,o.repeat.days=[{day:this.repeat.month.day,occurrence:this.repeat.month.occurrence.toString()}]):"monthly"!=this.repeat.frequency&&"yearly"!=this.repeat.frequency||!this.repeat.month.type?"custom"==this.repeat.frequency&&this.repeat.dates&&_.forEach(o.repeat.dates,function(e,t,n){n[t]={date:e.format(i,"%Y-%m-%d"),time:e.format(i,"%H:%M")}}):(delete o.repeat.days,"relative"==this.repeat.month.day&&(o.repeat.monthdays=[this.repeat.month.occurrence])):this.repeat.frequency&&"never"!=this.repeat.frequency&&(o.repeat={frequency:this.repeat.frequency}),o.startDate&&this.repeat.frequency&&"never"!=this.repeat.frequency?"until"==this.repeat.end&&this.repeat.until?o.repeat.until=this.repeat.until.stringWithSeparator("-"):"count"==this.repeat.end&&this.repeat.count?o.repeat.count=this.repeat.count:(delete o.repeat.until,delete o.repeat.count):delete o.repeat,"not-specified"==this.status?delete o.status:"completed"!=this.status&&delete o.completedDate,o.startDate&&this.$hasAlarm?!this.alarm.action||"email"!=this.alarm.action||this.attendees&&this.attendees.length>0||(o.alarm.attendees=0,o.alarm.organizer=1):o.alarm={},a=[this.pid,encodeURIComponent(this.id)],this.isNew&&(n={action:"saveAs"+this.type.capitalize()}),this.occurrenceId&&a.push(this.occurrenceId),angular.extend(o,t),e.$$resource.save(a.join("/"),o,n).then(function(e){return r.$shadowData=r.$omit(),e})},e.prototype.remove=function(t){var n=[this.pid,encodeURIComponent(this.id)];return t&&this.occurrenceId&&n.push(this.occurrenceId),e.$$resource.remove(n.join("/"))},e.prototype.$unwrap=function(t){var n=this;this.$futureComponentData=t,this.$futureComponentData.then(function(e){n.init(e),n.$shadowData=n.$omit()},function(t){angular.extend(n,t),n.isError=!0,e.$log.error(n.error)})},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"==n||"$hasAlarm"!=n&&"$"==n[0]||"blocks"==n||(e[n]=angular.copy(t))}),e},e.prototype.repeatDescription=function(){var e=null;return this.repeat&&(e=l("repeat_"+this.repeat.frequency.toUpperCase())),e},e.prototype.alarmDescription=function(){var e,t=null;return this.alarm&&(e=["reminder",this.alarm.quantity],this.alarm.quantity>0&&e.push(this.alarm.unit.toUpperCase(),this.alarm.reference.toUpperCase()),(e=e.join("_"))===(t=l(e))&&(t=[this.alarm.quantity,l("reminder_"+this.alarm.unit.toUpperCase()),l("reminder_"+this.alarm.reference.toUpperCase())].join(" "))),t},e.prototype.copyTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"copy",{destination:t})},e.prototype.moveTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"move",{destination:t})},e.prototype.toString=function(){return"[Component "+this.id+"]"}}(),function(){"use strict";e.$inject=["$scope","$rootScope","$state","$stateParams","sgHotkeys","Calendar","Component","Preferences","stateEventsBlocks"];function e(t,n,a,o,i,r,s,c,d){var u,h=this,p=[];angular.isUndefined(e.expandedAllDays)&&(e.expandedAllDays=!1),h.selectedDate=o.day.asDate(),h.expandedAllDays=e.expandedAllDays,h.toggleAllDays=function(){e.expandedAllDays=!e.expandedAllDays,h.expandedAllDays=e.expandedAllDays},h.views=d,h.changeDate=y,h.changeView=v,this.$onInit=function(){(e=p).push(i.createHotkey({key:l("hotkey_today"),description:l("Today"),callback:y,args:new Date})),e.push(i.createHotkey({key:l("hotkey_dayview"),description:l("Day"),callback:v,args:"day"})),e.push(i.createHotkey({key:l("hotkey_weekview"),description:l("Week"),callback:v,args:"week"})),e.push(i.createHotkey({key:l("hotkey_monthview"),description:l("Month"),callback:v,args:"month"})),e.push(i.createHotkey({key:l("hotkey_multicolumndayview"),description:l("Multicolumn Day View"),callback:v,args:"multicolumnday"})),e.push(i.createHotkey({key:"left",description:l("Move backward"),callback:m,args:-1})),e.push(i.createHotkey({key:"right",description:l("Move forward"),callback:m,args:1})),_.forEach(e,function(e){i.registerHotkey(e)});var e;f(h.selectedDate),u=n.$on("calendars:list",g),t.$on("$destroy",function(){u(),_.forEach(p,function(e){i.deregisterHotkey(e)})})};function m(e,t){var n;"week"==o.view?n=h.selectedDate.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).addDays(7*t):"month"==o.view?((n=h.selectedDate).setDate(1),n.setMonth(n.getMonth()+t)):n=h.selectedDate.addDays(t),y(e,n)}function f(e){"month"==o.view?(e.setDate(1),e.setHours(12),e.$dateFormat="%B %Y"):"week"==o.view?(e.setTime(e.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).getTime()),e.$dateFormat=l("Week %d").replace("%d","%U")):e.$dateFormat="%A"}function g(){s.$eventsBlocksForView(o.view,o.day.asDate()).then(function(e){var t,n,a;for(t=0;t=t;n--)h.views.splice(n,1)})}function y(e,t){var n=t?t.getDayString():angular.element(e.currentTarget).attr("date");t&&f(t),a.go("calendars.view",{day:n})}function v(e,t){a.go("calendars.view",{view:t})}}angular.module("SOGo.SchedulerUI").controller("CalendarController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$q","$timeout","$state","$mdDialog","sgHotkeys","sgFocus","Dialog","Preferences","CalendarSettings","Calendar","Component","Alarm"];function e(e,t,n,a,o,i,r,s,c,d,u,h,p,m){var f,g=this,y=[];g.component=p,g.componentType="events",g.selectedList=0,g.selectComponentType=v,g.unselectComponents=function(){_.forEach(p["$"+g.componentType],function(e){e.selected=!1}),g.mode.multiple=0},g.selectAll=function(){_.forEach(p["$"+g.componentType],function(e){e.selected=!0}),g.mode.multiple=p["$"+g.componentType].length},g.searchMode=$,g.toggleComponentSelection=function(e,t){t.selected=!t.selected,g.mode.multiple+=t.selected?1:-1,e.preventDefault(),e.stopPropagation()},g.confirmDeleteSelectedComponents=function(){c.confirm(l("Warning"),l("Are you sure you want to delete the selected components?"),{ok:l("Delete")}).then(function(){var t=_.filter(p["$"+g.componentType],function(e){return e.selected});h.$deleteComponents(t).then(function(){g.mode.multiple=0,e.$emit("calendars:list")})})},g.openEvent=function(e,t){C(e,t,"appointment")},g.openTask=function(e,t){C(e,t,"task")},g.newComponent=b,g.filterpopup=function(){return p["$query"+g.componentType.capitalize()].filterpopup},g.filter=function(e){p.$filter(g.componentType,{filterpopup:e})},g.filteredBy=function(e){return p["$query"+g.componentType.capitalize()].filterpopup==e},g.sort=function(e){p.$filter(g.componentType,{sort:e})},g.sortedBy=function(e){return p["$query"+g.componentType.capitalize()].sort==e},g.reload=function(){h.reloadWebCalendars().finally(function(){e.$emit("calendars:list")})},g.cancelSearch=function(){g.mode.search=!1,p.$filter(g.componentType,{value:""})},g.mode={search:!1,multiple:0},this.$onInit=function(){(n=y).push(r.createHotkey({key:l("hotkey_search"),description:l("Search"),callback:$})),n.push(r.createHotkey({key:l("hotkey_create_event"),description:l("Create a new event"),callback:b,args:"appointment"})),n.push(r.createHotkey({key:l("hotkey_create_task"),description:l("Create a new task"),callback:b,args:"task"})),_.forEach(n,function(e){r.registerHotkey(e)});var n;f="events","tasksListView"==d.settings.Calendar.SelectedList&&(g.selectedList=1,f="tasks"),v(f,{reload:!0}),e.$on("calendars:list",function(){p.$filter(g.componentType,{reload:!0})}),e.$on("calendar:dragend",k),t.$on("$destroy",function(){_.forEach(y,function(e){r.deregisterHotkey(e)})})};function v(e,t){(t&&t.reload||g.componentType!=e)&&(angular.isUndefined(p["$"+e])&&p.$filter(e),g.unselectComponents(),g.componentType=e,p.saveSelectedList(e))}function $(){g.mode.search=!0,s("search")}function C(e,t,a){if(t.viewable){var o=n.when();angular.isUndefined(t.$futureComponentData)&&(o=(t=h.$get(t.pid).$getComponent(t.id,t.occurrenceId)).$futureComponentData),o.then(function(){var n="UIx"+a.capitalize()+"ViewTemplate";i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentController",controllerAs:"editor",locals:{stateComponent:t}})})}}function b(e,t,n){var a;n?(a=n).updateFreeBusy():a=new p({pid:h.$defaultCalendar(),type:t});var o="UIx"+t.capitalize()+"EditorTemplate";return i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:o,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:a}})}function k(t){var n,o,r,s,c,d,f;n=p.$ghost.component,o=p.$ghost.pointerHandler,n.isNew?(r=o.currentEventCoordinates,n.summary="",n.isAllDay&&(r.duration-=96),n.setDelta(15*r.duration),b(null,"appointment",n).catch().finally(function(){a(function(){p.$resetGhost()})})):(s=o.currentEventCoordinates.getDelta(o.originalEventCoordinates),c={days:s.dayNumber,start:15*s.start,duration:15*s.duration},o.originalCalendar&&0!==s.dayNumber&&(d=o.currentEventCoordinates.dayNumber,f=_.filter(h.$findAll(),{active:1}),c.destination=f[d].id,c.days=0),n.isException||!n.occurrenceId?n.$adjust(c).then(function(){e.$emit("calendars:list"),m.getAlarms()},function(e){y(e,n,c)}).finally(function(){a(function(){p.$resetGhost()})}):n.occurrenceId&&i.show({clickOutsideToClose:!0,escapeToClose:!0,locals:{component:n,params:c},template:['',' ',"

"+l("editRepeatingItem")+"

","
"," ",' '+l("button_thisOccurrenceOnly")+"",' '+l("button_allOccurrences")+""," ","
"].join(""),controller:g}).then(function(){e.$emit("calendars:list")},function(){}).finally(function(){a(function(){p.$resetGhost()})})),g.$inject=["$scope","$mdDialog","component","params"];function g(e,t,n,a){e.updateThisOccurrence=function(){n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})},e.updateAllOccurrences=function(){delete n.occurrenceId,n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})}}function y(t,n,a){t.status==u.ConflictHTTPErrorCode&&t.data&&t.data.message&&angular.isObject(t.data.message)&&i.show({parent:angular.element(document.body),clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxAttendeeConflictDialog",controller:v,controllerAs:"$AttendeeConflictDialogController",locals:{component:n,params:a,conflictError:t.data.message}}).then(function(){e.$emit("calendars:list")},function(){})}v.$inject=["$scope","$mdDialog","component","params","conflictError"];function v(e,t,n,a,o){this.conflictError=o,this.cancel=t.cancel,this.save=function(){n.$adjust(angular.extend({ignoreConflicts:!0},a)).then(t.hide)}}}}angular.module("SOGo.SchedulerUI").controller("CalendarListController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$window","$mdDialog","$log","$mdToast","Dialog","sgSettings","Preferences","Calendar"];function e(e,t,n,a,o,i,r,s,c,d){var u=this;u.activeUser=s.activeUser,u.service=d,u.newCalendar=function(e){r.prompt(l("New calendar"),l("Name of the Calendar")).then(function(e){var t=new d({name:e,isEditable:!0,isRemote:!1,owner:UserLogin});t.$id().then(function(){d.$add(t)})})},u.addWebCalendar=function(){r.prompt(l("Subscribe to a web calendar..."),l("URL of the Calendar"),{inputType:"url"}).then(function(t){d.$addWebCalendar(t).then(function(n){angular.isObject(n)&&a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxWebCalendarAuthDialog",controller:e,controllerAs:"$WebCalendarAuthDialogController",locals:{url:t,calendar:n}})})}),e.$inject=["scope","$mdDialog","url","calendar"];function e(e,t,n,a){var o=this,i=n.split("/"),r=i[2];o.title=l("Please identify yourself to %{0}").formatted(r),o.authenticate=function(e){!e.$valid&&e.$error.required||a.setCredentials(o.username,o.password).then(function(e){t.hide()},function(t){e.password.$setValidity("credentials",!1)})},o.cancel=function(){t.cancel()}}},u.subscribeToFolder=function(e){o.debug("subscribeToFolder "+e.owner+e.name),d.$subscribe(e.owner,e.name).then(function(e){i.show(i.simple().content(l("Successfully subscribed to calendar")).position("top right").hideDelay(3e3))})},u.filter={name:""},u.sortableMode=!1,u.toggleSortableMode=function(){u.sortableMode=!u.sortableMode,u.filter.name=""},u.resetSort=function(){d.saveFoldersOrder()},u.sortableCalendars={scrollableContainer:"#sidenav-content",containment:"md-list",orderChanged:function(){d.saveFoldersOrder(_.flatMap(d.$findAll(),"id"))},accept:function(e,t,n){return e.sortableScope.element[0]==t.element[0]}},this.$onInit=function(){u.categories=_.map(c.defaults.SOGoCalendarCategories,function(e){return{id:e.asCSSIdentifier(),name:e,color:c.defaults.SOGoCalendarCategoriesColors[e]}}),t.$watch(function(){return _.union(_.map(d.$calendars,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$subscriptions,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$webcalendars,function(e){return _.pick(e,["id","active","color"])}))},function(t,n){var a,i,r;a=_.intersectionBy(t,n,"id"),i=_.map(_.filter(a,function(e){var t=_.find(n,{id:e.id});return!_.isEqual(e,t)}),"id"),r=d.$q.when(),i.length>0&&(o.debug(i.join(", ")+" changed"),r=d.saveFoldersActivation(i)),(i.length>0||a.length!=t.length||a.length!=n.length)&&r.then(function(){e.$emit("calendars:list")})},!0)}}angular.module("SOGo.SchedulerUI").controller("CalendarsController",e)}(),function(){"use strict";e.$inject=["$rootScope","$mdDialog","Calendar","Component","AddressBook","Alarm","Account","stateComponent"];function e(e,t,n,a,o,i,r,s){var c,d=this;d.calendarService=n,d.service=a,d.component=s,d.close=function(){t.hide()},d.highPriority=function(){return d.component&&d.component.priority&&d.component.priority<5},d.cardFilter=function(e){return o.$filterAll(e)},d.newMessageWithAllRecipients=function(e){var t=_.map(d.component.attendees,function(e){return e.name+" <"+e.email+">"});u(e,t)},d.newMessageWithRecipient=function(e,t,n){u(e,[t+" <"+n+">"])},d.edit=h,d.editAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){d.component=c,h()})},d.reply=p,d.replyAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){c.reply=d.component.reply,c.delegatedTo=d.component.delegatedTo,c.$hasAlarm=d.component.$hasAlarm,c.alarm=d.component.alarm,p(c)})},d.deleteOccurrence=function(){d.component.remove(!0).then(function(){e.$emit("calendars:list"),t.hide()})},d.deleteAllOccurrences=function(){d.component.remove().then(function(){e.$emit("calendars:list"),t.hide()})},d.toggleRawSource=function(e){n.$$resource.post(d.component.pid+"/"+d.component.id,"raw").then(function(n){t.hide(),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,template:['',' ','
',"  
"," ",' '+l("Close")+""," ","
"].join(""),controller:a,locals:{data:n}}),a.$inject=["scope","$mdDialog","data"];function a(e,t,n){e.data=n,e.close=function(){t.hide()}}})},d.copySelectedComponent=function(n){d.component.copyTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.moveSelectedComponent=function(n){d.component.moveTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.organizer=[s.organizer];function u(e,n){r.$findAll().then(function(a){var o=_.find(a,function(e){if(0===e.id)return e});o.$getMailboxes().then(function(a){o.$newMessage().then(function(a){angular.extend(a.editable,{to:n,subject:d.component.summary}),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"../Mail/UIxMailEditor",controller:"MessageEditorController",controllerAs:"editor",locals:{stateAccount:o,stateMessage:a}})})})}),e.preventDefault(),e.stopPropagation()}function h(){var e="vevent"==d.component.component?"Appointment":"Task";t.hide().then(function(){var n="UIx"+e+"EditorTemplate";t.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:d.component}})})}function p(n){(n||d.component).$reply().then(function(){e.$emit("calendars:list"),i.getAlarms(),t.hide()})}}t.$inject=["$rootScope","$scope","$log","$timeout","$mdDialog","sgFocus","User","CalendarSettings","Calendar","Component","AddressBook","Card","Alarm","stateComponent"];function t(e,t,n,a,o,i,r,s,c,d,u,h,p,m){var f,g,y=this;y.service=c,y.component=m,y.categories={},y.showRecurrenceEditor=y.component.$hasCustomRepeat,y.toggleRecurrenceEditor=function(){y.showRecurrenceEditor=!y.showRecurrenceEditor,y.component.$hasCustomRepeat=y.showRecurrenceEditor},y.recurrenceMonthDaysAreRequired=function(){return y.component&&"monthly"==y.component.repeat.frequency&&"bymonthday"==y.component.repeat.month.type},y.showAttendeesEditor=y.component.attendees&&y.component.attendees.length,y.toggleAttendeesEditor=function(){y.showAttendeesEditor=!y.showAttendeesEditor},y.changeFrequency=function(){"custom"==y.component.repeat.frequency&&(y.showRecurrenceEditor=!0)},y.changeCalendar=function(){y.component.attendees&&y.component.attendees.length>0&&y.component.initOrganizer(c.$get(y.component.destinationCalendar))},y.cardFilter=function(e){return u.$filterAll(e),u.$cards},y.addAttendee=function(e){var t,n,a=!y.component.attendees||0===y.component.attendees.length,o=c.$get(y.component.destinationCalendar),i=a?{organizerCalendar:o}:{},r=/([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)/i;function s(e){var t=e.match(r),n=t[0],o=e.replace(new RegExp(" *? *"),"");return y.showAttendeesEditor|=a,y.searchText="",new h({c_cn:_.trim(o,' "'),emails:[{value:n}]})}if(angular.isString(e)){for(n="",t=0;t5?l("low"):y.component.priority>4?l("normal"):l("high")},y.reset=v,y.cancel=function(e){v(e),y.component.isNew&&(y.component=null);o.hide()},y.edit=$,y.save=function(t,n){t.$valid&&y.component.$save(n).then(function(t){e.$emit("calendars:list"),p.getAlarms(),o.hide()},function(e){e.status==s.ConflictHTTPErrorCode&&_.isObject(e.data.message)?y.attendeeConflictError=e.data.message:$(t)})},y.attendeeConflictError=!1,y.attendeesEditor={days:C(),hours:function(){for(var e=[],t=0;t<=23;t++)e.push(t.toString());return e}()},y.addStartDate=function(){y.component.$addStartDate(),f=new Date(y.component.start.getTime())},y.addDueDate=function(){y.component.$addDueDate(),new Date(y.component.due.getTime())},y.adjustStartTime=function(){if(y.component.start){0!==f.valueOf()-y.component.start.valueOf()&&(f=new Date(y.component.start.getTime()),"appointment"===y.component.type&&(y.component.end=new Date(y.component.start.getTime()),y.component.end.addMinutes(y.component.delta),g=new Date(y.component.end.getTime())),b())}},y.adjustEndTime=function(){if(y.component.end){var e=g.valueOf()-y.component.end.valueOf();0!==e&&((e=y.component.start.minutesTo(y.component.end))<0?y.component.end=new Date(g.getTime()):(y.component.delta=e,g=new Date(y.component.end.getTime())),b())}},y.adjustDueTime=function(){new Date(y.component.due.getTime())},y.component.start&&(f=new Date(y.component.start.getTime())),y.component.end&&(g=new Date(y.component.end.getTime())),y.component.due&&new Date(y.component.due.getTime());function v(e){y.component.$reset(),e.$setPristine()}function $(e){y.attendeeConflictError=!1,e.$setPristine(),e.$setDirty()}function C(){var e=[];return y.component.start&&y.component.end&&(e=y.component.start.daysUpTo(y.component.end)),_.map(e,function(e){return{stringWithSeparator:e.stringWithSeparator(),getDayString:e.getDayString()}})}function b(){y.attendeesEditor.days=C(),y.component.updateFreeBusy()}}angular.module("SOGo.SchedulerUI").controller("ComponentController",e).controller("ComponentEditorController",t)}(),function(){"use strict";e.$inject=["$scope","Calendar"];function e(e,t){this.day=e.day,this.dayNumber=e.dayNumber,this.dayString=e.dayString,this.calendarData=function(){var n,a,o;return e.calendar?(n=e.calendar,o=_.filter(t.$findAll(),{active:1}),a=_.findIndex(o,function(e){return e.id==n}),{pid:n,index:a}):null}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDay",function(){return{restrict:"E",scope:{day:"@sgDay",dayNumber:"@sgDayNumber",dayString:"@sgDayString",calendar:"@sgCalendar"},controller:e}})}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['
",'
','
",'
',' {{'+n+"block.component.c_priority}}"," {{ "+n+"block.component.summary }}",' ',' ',' ',' ',' '," ",'
',' place ',"
","
","
",'
{{ block.startHour }}
','
{{ block.endHour }}
',"
"].join("")},link:function(e,t,n){var a,o,i;_.has(n,"sgCalendarGhost")||(a=100/e.block.siblings,o=e.block.position*a,0===(i=100-(e.block.position+1)*a)&&(i=10),t.css("left",o+"%"),t.css("right",i+"%"),e.block.component&&e.block.component.c_isallday||(t.addClass("starts"+e.block.start),t.addClass("lasts"+e.block.length)),e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),t.addClass("contrast-bdr-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDayBlock",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarDayTable",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:["'].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","CalendarSettings","Calendar","Component"];function e(e,t,n,a,o){return{restrict:"A",require:["^sgCalendarDay","^sgCalendarScrollView"],link:function(t,i,r,s){var c,l,d,u,h;c=i[0],l=s[0],d=s[1],u=-1,i.addClass("sg-event--ghost md-whiteframe-3dp ng-hide");var p=e.$on("calendar:dragstart",function(){var e,n,a;t.block=o.$ghost,(n=l.calendarData())&&(u=n.index,e=n.pid,h=t.block.pointerHandler.originalCalendar.index);e||(e=t.block.component.pid);(a=t.block.component.blocks[0].userState)&&i.addClass("sg-event--"+a);i.addClass("bg-folder"+e)}),m=e.$on("calendar:drag",function(){var e,o,r,s,c,p,m,f;if(e=!1,a.$view&&a.$view.type==d.type){if(o="multiday-allday"===d.type,r=t.block.component.c_isallday,s=t.block.pointerHandler.currentEventCoordinates.dayNumber,c=t.block.pointerHandler.currentEventCoordinates.start,m=t.block.pointerHandler.currentEventCoordinates.duration,f=n.EventDragDayLength-c,angular.isUndefined(m))return;for((p=m)>f&&(p=f),s>-1&&(u<0&&s==l.dayNumber||s==u&&(h==u||!t.block.component.isException))&&(e=!0,o||(r||(t.block.startHour=($=c,g($))),a.$view.quarterHeight?(i.css("top",c*a.$view.quarterHeight+"px"),i.css("height",p*a.$view.quarterHeight+"px")):i.css("top",a.$view.topOffset+"px")),i.removeClass("fg-folder"+t.block.component.pid),i.removeClass("sg-event--ghost--last"),i.addClass("sg-event--ghost--first"),t.block.isFirst=!0),m-=p,s++;!e&&m&&s<=l.dayNumber;)(p=m)>n.EventDragDayLength&&(p=n.EventDragDayLength),s>-1&&s==l.dayNumber&&(e=!0,o||(i.css("top",a.$view.topOffset+"px"),a.$view.quarterHeight&&i.css("height",p*a.$view.quarterHeight+"px")),i.removeClass("sg-event--ghost--first"),i.removeClass("sg-event--ghost--last"),i.addClass("fg-folder"+t.block.component.pid)),m-=p,s++,c=0;m||(o?i.addClass("sg-event--ghost--last"):r||(t.block.endHour=(y=c,v=p,g((y+v)%n.EventDragDayLength))))}var y,v;var $;e?i.removeClass("ng-hide"):i.addClass("ng-hide")}),f=e.$on("calendar:dragend",function(){_.forEachRight(c.classList,function(e){/^bg-folder/.test(e)&&i.removeClass(e)}),i.addClass("ng-hide")});t.$on("$destroy",function(){p(),m(),f()});function g(e){var t,n,a;return t=15*e,(n=Math.floor(t/60))<10&&(n="0"+n),(a=t%60)<10&&(a="0"+a),n+":"+a}}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarGhost",e)}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{component:"=sgComponent",clickComponent:"&sgClick"},replace:!0,template:function(e,t){return['
','
",' '," {{ ::component.c_title }}",' ',' ',' ',' ',' '," ",'
',' access_time ',"
",'
',' place ',"
","
"].join("")},link:function(e,t,n){e.component.viewable&&t.addClass("md-clickable");e.component.userstate&&t.addClass("sg-event--"+e.component.userstate);t.addClass("bg-folder"+e.component.pid),t.addClass("contrast-bdr-folder"+e.component.pid),0===e.component.c_isopaque&&t.addClass("sg-event--transparent");0===e.component.c_status&&t.addClass("sg-event--cancelled")}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarListEvent",e)}(),function(){e.$inject=["$rootScope","$scope","$element","$mdToast","$mdPanel","$mdMedia","$mdSidenav","sgConstant","Dialog","Calendar"];function e(e,t,n,a,o,i,r,s,c,d){var u=this;this.$onInit=function(){this.editMode=!1},this.$postLink=function(){this.clickableElement=n.find("p")[0],this.nameElements=this.clickableElement.getElementsByClassName("sg-calendar-name"),this.inputContainer=n.find("md-input-container")[0],this.inputElement=n.find("input")[0],this.moreOptionsButton=_.last(n.find("md-icon")),this.updateCalendarName()},this.updateCalendarName=function(){_.forEach(this.nameElements,function(e){e.innerHTML=u.calendar.name})},this.editFolder=function(e){this.editMode=!0,this.inputElement.value=this.calendar.name,this.clickableElement.classList.add("ng-hide"),this.inputContainer.classList.remove("ng-hide"),this.inputElement.focus(),this.inputElement.select(),e&&(e.stopPropagation(),e.preventDefault())},this.saveFolder=function(e){this.inputElement.disabled||(this.calendar.name=this.inputElement.value,this.inputElement.disabled=!0,this.calendar.$rename().then(function(e){u.editMode=!1,u.inputContainer.classList.add("ng-hide"),u.clickableElement.classList.remove("ng-hide"),u.updateCalendarName()}).finally(function(){u.inputElement.disabled=!1}))},this.revertEditing=function(){this.editMode=!1,this.clickableElement.classList.remove("ng-hide"),this.inputContainer.classList.add("ng-hide"),this.inputElement.value=this.calendar.name},this.confirmDelete=function(){this.calendar.isSubscription?this.calendar.$delete().catch(function(e,t){c.alert(l('An error occured while deleting the calendar "%{0}".',u.calendar.name),l(e.error))}):c.confirm(l("Warning"),l('Are you sure you want to delete the calendar "%{0}"?',this.calendar.name),{ok:l("Delete")}).then(function(){u.calendar.$delete().catch(function(e,t){c.alert(l('An error occured while deleting the calendar "%{0}".',u.calendar.name),l(e.error))})})},this.showMenu=function(t){var n=o.newPanelPosition().relativeTo(this.moreOptionsButton).addPanelPosition(o.xPosition.ALIGN_START,o.yPosition.ALIGN_TOPS),i=o.newPanelAnimation().openFrom(this.moreOptionsButton).duration(100).withAnimation(o.animation.FADE),r={attachTo:angular.element(document.body),locals:{itemCtrl:this,calendar:this.calendar,editFolder:angular.bind(this,this.editFolder),confirmDelete:angular.bind(this,this.confirmDelete)},bindToController:!0,controller:s,controllerAs:"$menuCtrl",position:n,animation:i,targetEvent:t,templateUrl:"UIxCalendarMenu",trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};o.open(r).then(function(e){e.panelEl.one("click",function(){e.close()})}),s.$inject=["mdPanelRef","$mdDialog","FileUploader","User"];function s(n,o,i,r){var s=this;this.showOnly=function(){_.forEach(d.$findAll(),function(e){s.calendar.id==e.id?e.active=1:e.active=0})},this.showAll=function(){_.forEach(d.$findAll(),function(e){e.active=1})},this.showProperties=function(){var e=this.calendar.color;o.show({templateUrl:this.calendar.id+"/properties",controller:t,controllerAs:"properties",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcCalendar:this.calendar}}).catch(function(){s.calendar.color=e}),t.$inject=["$scope","$mdDialog","srcCalendar"];function t(e,t,n){var a=this;a.calendar=new d(n.$omit()),a.saveProperties=function(e){e.$valid&&(a.calendar.$save(),n.init(a.calendar.$omit()),t.hide())},a.close=function(){t.cancel()},e.$watch(function(){return a.calendar.color},function(){n.color=a.calendar.color})}},this.showLinks=function(){o.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:this.calendar.id+"/links",controller:e,controllerAs:"links",locals:{calendar:this.calendar}}),e.$inject=["$mdDialog","calendar"];function e(e,t){this.calendar=t,this.close=function(){e.hide()}}},this.importCalendar=function(){o.show({parent:angular.element(document.body),targetEvent:t,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxCalendarImportDialog",controller:n,controllerAs:"$CalendarImportDialogController",locals:{folder:this.calendar}}),n.$inject=["scope","$mdDialog","folder"];function n(t,n,o){this.uploader=new i({url:ApplicationBaseURL+[o.id,"import"].join("/"),autoUpload:!0,queueLimit:1,filters:[{name:r,fn:r}],onSuccessItem:function(t,o,i,r){var s;n.hide(),0===o.imported?s=l("No event was imported."):(s=l("A total of %{0} events were imported in the calendar.",o.imported),e.$emit("calendars:list")),a.show(a.simple().content(s).position("top right").hideDelay(3e3))},onErrorItem:function(e,t,n,o){a.show({template:["",'
',' error_outline'," "+l("An error occurred while importing calendar.")+"","
","
"].join(""),position:"top right",hideDelay:3e3})}}),this.close=function(){n.hide()};function r(e){var t=0===e.type.indexOf("text")||/\.(ics)$/.test(e.name);return t||a.show({template:["",'
',' error_outline'," "+l("Select an iCalendar file (.ics).")+"","
","
"].join(""),position:"top right",hideDelay:3e3}),t}}},this.share=function(){this.calendar.$acl.$users().then(function(){o.show({templateUrl:s.calendar.id+"/UIxAclEditor",controller:"AclController",controllerAs:"acl",clickOutsideToClose:!0,escapeToClose:!0,locals:{usersWithACL:s.calendar.$acl.users,User:r,folder:s.calendar}})})}}}}angular.module("SOGo.SchedulerUI").controller("sgCalendarListItemController",e).directive("sgCalendarListItem",function(){return{restrict:"C",scope:{},bindToController:{calendar:"=sgCalendar"},template:['','

',' ',' ',' ',"

",'',' ',"",''," drag_handle","",'more_vert'].join(""),controller:"sgCalendarListItemController",controllerAs:"$ctrl"}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthDay",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:["'].join("")}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthEvent",function(){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['
','
",' {{ '+n+"block.component.startHour }}",' {{'+n+"block.component.c_priority}}"," {{ "+n+"block.component.summary }}",' ',' ',' ',' ',' '," ","
"].join("")},link:function(e,t,n){_.has(n,"sgCalendarGhost")||(e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}})}(),function(){"use strict";e.$inject=["$rootScope","$window","$document","$q","$timeout","$mdGesture","Calendar","Component","Preferences"];function e(e,n,a,o,i,r,s,c,l){return{restrict:"A",scope:{type:"@sgCalendarScrollView"},controller:t,link:function(t,a,o,r){var d,u,h=!1;d=null,u=t.type,h="multicolumndayview"==a.attr("sg-view"),r.isMultiColumn=h,i(function(){if(d=new p(a,u),"monthly"!=u){var e,t,n;l.defaults.SOGoDayStartTime&&(e=l.defaults.SOGoDayStartTime.split(":"),t=document.getElementById("hour"+parseInt(e[0])),n=parseInt(e[1])*d.quarterHeight,d.element.scrollTop=t.offsetTop+n)}r.quarterHeight=d.quarterHeight}),t.$on("$destroy",function(){d&&d.$destroy()});function p(t,a){this.$element=t,this.element=t[0],this.type=a,this.quarterHeight=this.getQuarterHeight(),this.scrollStep=6*this.quarterHeight,this.dayNumbers=this.getDayNumbers(),this.maxX=this.getMaxColumns(),this.deregisterDragStart=e.$on("calendar:dragstart",angular.bind(this,this.onDragStart)),this.deregisterDragStop=e.$on("calendar:dragend",angular.bind(this,this.onDragEnd)),this.bindedUpdateCoordinates=angular.bind(this,this.updateCoordinates),this.bindedUpdateFromPointerHandler=angular.bind(this,this.updateFromPointerHandler),this.updateCoordinates(),angular.element(n).on("resize",this.bindedUpdateCoordinates)}p.prototype={$destroy:function(){this.deregisterDragStart(),this.deregisterDragStop(),this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),angular.element(n).off("resize",this.bindedUpdateCoordinates)},onDragStart:function(){this.$element.on("mousemove",this.bindedUpdateFromPointerHandler),this.updateCoordinates(),this.updateFromPointerHandler()},onDragEnd:function(){this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),s.$view=null},getQuarterHeight:function(){var e,t,n=null;return e=document.getElementById("hour0"),t=document.getElementById("hour23"),e&&t&&(n=(t.offsetTop-e.offsetTop)/92),n},getDayDimensions:function(e){var t,n,a,o,i,r,s;return n=t=a=o=0,(i=this.element.getElementsByClassName("day")).length>0&&(n=(r=i[0].getBoundingClientRect()).height,t=r.width,a=r.left-e,(s=i[0].getElementsByClassName("sg-calendar-tile-header")).length>0&&(o=s[0].clientHeight)),{height:n,width:t,offset:{left:a,top:o}}},getDayNumbers:function(){var e;return e=this.element.getElementsByTagName("sg-calendar-day"),_.map(e,function(e,t){return h?t:parseInt(e.attributes["sg-day-number"].value)})},getMaxColumns:function(){var e,t=0;return"monthly"==this.type?(e=this.element.getElementsByTagName("md-grid-list")[0],t=parseInt(e.attributes["md-cols"].value)-1):t=this.element.getElementsByClassName("day").length-1,t},updateCoordinates:function(){var e,t;e=this.element.getBoundingClientRect(),t=this.getDayDimensions(e.left),angular.extend(this,{coordinates:{x:e.left,y:e.top},dayHeight:t.height,dayWidth:t.width,daysOffset:t.offset.left,topOffset:t.offset.top})},updateFromPointerHandler:function(){var e,t,n,a,o,i;e=c.$ghost.pointerHandler,this.coordinates&&e&&(t=e.getContainerBasedCoordinates(this))&&(s.$view=this,n=(new Date).getTime(),(!this.lastScroll||n>this.lastScroll+100)&&(this.lastScroll=n,(a=t.y-this.scrollStep)<0?(a<(o=-this.element.scrollTop)&&(a=o),this.element.scrollTop+=a):(i=(a=t.y+this.scrollStep)-this.element.clientHeight)>0&&(this.element.scrollTop+=i)))}}}}}t.$inject=["$scope"];function t(e){this.type=e.type}angular.module("SOGo.SchedulerUI").directive("sgCalendarScrollView",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCategoryStylesheet",function(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,template:['"].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","$log","Preferences","Calendar","CalendarSettings","Component"];function e(e,t,n,a,o,i,r){return{restrict:"CA",require:"^sgCalendarDay",link:function(s,c,d,u){if(s.block){if(!s.block.component.editable||s.block.userState)return void c.removeClass("sg-draggable-calendar-block");!function(){var e,t,n,a,o,i,r,l,d,u;if(s.block.length<3)return;e=s.block.component,t=s.block.dayIndex,n=_.findIndex(e.blocks,["dayIndex",t]),a=0===n,o=n===e.blocks.length-1,(i=angular.element('
')).addClass("bdr-folder"+e.pid),e.c_isallday||"SG-CALENDAR-MONTH-DAY"===c[0].parentNode.tagName?(a&&(r=angular.element('
').append(i),c.append(r)),o&&(l=angular.element('
').append(i.clone()),c.append(l))):(a&&(d=angular.element('
').append(i),c.append(d)),o&&(u=angular.element('
').append(i.clone()),c.append(u)))}()}c.on("mousedown",h),s.$on("$destroy",function(){c.off("mousedown",h),c.off("mousemove",p)});function h(e){var t,n,a,o;e.stopPropagation(),e.target.scrollHeight>e.target.clientHeight+1&&(a=e.target.getBoundingClientRect(),o=a.left+a.width-18,e.pageX>o)||(t="move-event",s.block&&s.block.component?"dragGrip-top"==e.target.className||"dragGrip-left"==e.target.className?t="change-start":"dragGrip-bottom"!=e.target.className&&"dragGrip-right"!=e.target.className||(t="change-end"):t="change-end",(n=new y(t)).initFromEvent(e),r.$ghost.pointerHandler=n,angular.element(document).one("mouseup",m),angular.element(document).on("mousemove",p))}function p(e){var n=r.$ghost.pointerHandler;t(function(){n.updateFromEvent(e)})}function m(t){var n,a;n=s.block,a=r.$ghost.pointerHandler,angular.element(document).off("mousemove",p),a.dragHasStarted&&(e.$emit("calendar:dragend"),a.dragHasStarted=!1),n&&n.component&&_.forEach(n.component.blocks,function(e){e.dragging=!1})}function f(){}f.prototype={x:-1,y:-1,getDelta:function(e){var t=new f;return t.x=this.x-e.x,t.y=this.y-e.y,o.$view&&(t.days=o.$view.dayNumbers[this.x]-o.$view.dayNumbers[e.x]),t},getDistance:function(e){var t=this.getDelta(e);return Math.sqrt(t.x*t.x+t.y*t.y)},clone:function(){var e=new f;return e.x=this.x,e.y=this.y,e}};function g(e){this.setEventType(e)}g.prototype={dayNumber:-1,weekDay:-1,start:-1,duration:-1,eventType:null,setEventType:function(e){this.eventType=e},initFromBlock:function(e){var t=-1;"monthly"===this.eventType?(this.start=0,this.duration=e.component.blocks.length*i.EventDragDayLength):(this.start=e.component.blocks[0].start,this.duration=_.sumBy(e.component.blocks,function(e){var n,a;return a=e.dayNumber,n=t<0?0:a-t-1,t=a,e.length+n*i.EventDragDayLength}))},initFromCalendar:function(e){this.dayNumber=e},getDelta:function(e){var t=new g;return t.dayNumber=this.dayNumber-e.dayNumber,t.start=this.start-e.start,t.duration=this.duration-e.duration,t},_quartersToHM:function(e){var t=15*e,n=Math.floor(t/60);n<10&&(n="0"+n);var a=t%60;return a<10&&(a="0"+a),n+":"+a},getStartTime:function(){return this._quartersToHM(this.start)},getEndTime:function(){var e=(this.start+this.duration)%i.EventDragDayLength;return this._quartersToHM(e)},clone:function(){var e=new g;return e.dayNumber=this.dayNumber,e.start=this.start,e.duration=this.duration,e}};function y(e){this.dragMode=e}y.prototype={originalCoordinates:null,currentCoordinates:null,originalViewCoordinates:null,currentViewCoordinates:null,originalEventCoordinates:null,currentEventCoordinates:null,originalCalendar:null,dragHasStarted:!1,getEventViewCoordinates:null,initFromBlock:function(e){this.currentEventCoordinates=new g(this.eventType),this.originalEventCoordinates=new g(this.eventType),this.originalEventCoordinates.initFromBlock(e)},initFromEvent:function(e){this.currentCoordinates=new f,this.updateFromEvent(e),this.originalCoordinates=this.currentCoordinates.clone()},initFromCalendar:function(e){this.originalCalendar=e,this.currentEventCoordinates.initFromCalendar(e.index),this.originalEventCoordinates.initFromCalendar(e.index)},updateFromEvent:function(t){if(this.currentCoordinates.x=t.pageX,this.currentCoordinates.y=t.pageY,this.dragHasStarted&&o.$view){var i=this.getEventViewCoordinates(o.$view);this.originalViewCoordinates||(this.originalViewCoordinates=this.getEventViewCoordinates(o.$view,this.originalCoordinates),r.$ghost.component.isNew&&(this.setTimeFromQuarters(r.$ghost.component.start,this.originalViewCoordinates.y),n.debug("new event start date "+r.$ghost.component.start))),this.currentViewCoordinates&&i&&i.x==this.currentViewCoordinates.x&&i.y==this.currentViewCoordinates.y||(this.currentViewCoordinates=i,this.originalViewCoordinates&&(i||(this.currentViewCoordinates=this.originalViewCoordinates.clone()),this.updateEventCoordinates()))}else if(this.originalCoordinates&&this.currentCoordinates&&!this.dragHasStarted){var d=this.getDistance();d>3&&(this.dragHasStarted=!0,function(t){var i,d,h,p,m,f,g,y,v;h=c.hasClass("clickableHourCell"),p="SG-CALENDAR-MONTH-DAY"==c[0].parentNode.tagName||c.hasClass("clickableDayCell"),v=u.calendarData(),s.block&&s.block.component?i=s.block:(m=u.dayString.parseDate(a.$mdDateLocaleProvider,"%Y-%m-%e"),f={type:"appointment",pid:v?v.pid:o.$defaultCalendar(),summary:l("New Event"),startDate:m,isAllDay:h?0:1},g=new r(f),(i={component:g,dayNumber:u.dayNumber,length:0}).component.blocks=[i]);d="multiday",p?d="monthly":i.component.c_isallday&&(d="multiday-allday");_.forEach(i.component.blocks,function(e){e.dragging=!0}),(y=r.$ghost.pointerHandler).prepareWithEventType(d),y.initFromBlock(i),v&&y.initFromCalendar(v);r.$ghost.component=i.component,n.debug("emit calendar:dragstart "+d),e.$emit("calendar:dragstart")}())}},updateEventCoordinates:function(){var t,a=this.currentViewCoordinates.getDelta(this.originalViewCoordinates),r=a.days*i.EventDragDayLength+a.y;n.debug("quarters delta "+r),angular.isUndefined(this.originalEventCoordinates.start)?(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[this.originalViewCoordinates.x],this.originalEventCoordinates.start=this.originalViewCoordinates.y):this.originalEventCoordinates.dayNumber<0&&(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[s.block.component.blocks[0].dayIndex]),this.currentEventCoordinates.dayNumber=this.originalEventCoordinates.dayNumber,"move-event"==this.dragMode?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=this.originalEventCoordinates.duration):"change-start"==this.dragMode?(t=this.originalEventCoordinates.duration-r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+this.originalEventCoordinates.duration,this.currentEventCoordinates.duration=-t):"change-end"==this.dragMode&&((t=this.originalEventCoordinates.duration+r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+t,this.currentEventCoordinates.duration=-t));var c;this.currentEventCoordinates.start<0?(c=Math.ceil(-this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start+=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber-=c):this.currentEventCoordinates.start>=i.EventDragDayLength&&(c=Math.floor(this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start-=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber+=c),n.debug("event coordinates "+JSON.stringify(this.currentEventCoordinates)),e.$emit("calendar:drag")},getContainerBasedCoordinates:function(e,t){var n=t||this.currentCoordinates,a=n.getDelta(e.coordinates),o=e.element;return(a.xo.clientWidth||a.y<0||a.y>o.clientHeight)&&(a=null),a},prepareWithEventType:function(e){var t={multiday:this.getEventMultiDayViewCoordinates,"multiday-allday":this.getEventMultiDayAllDayViewCoordinates,monthly:this.getEventMonthlyViewCoordinates,unknown:null},n=t[e];this.eventType=e,this.getEventViewCoordinates=n},getEventMultiDayViewCoordinates:function(e,t){var n=this.getEventMultiDayAllDayViewCoordinates(e,t);if(n){var a=e.quarterHeight,o=this.getContainerBasedCoordinates(e,t);o.y+=e.element.scrollTop,n.y=Math.floor((o.y-i.EventDragHorizontalOffset)/a);var r=i.EventDragDayLength-1;n.y<0?n.y=0:n.y>r&&(n.y=r)}return n},getEventMultiDayAllDayViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var i=e.dayWidth,r=e.daysOffset;n.x=Math.floor((a.x-r)/i);var s=0,c=o.$view.maxX;if("move-event"!=this.dragMode){var l=u.calendarData();l&&(s=c=l.index)}n.xc&&(n.x=c),n.y=0}else n=null;return n},getEventMonthlyViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var o=e.maxX,i=e.dayWidth,r=e.daysOffset,s=e.dayHeight,c=Math.floor((a.y-0)/s);c<0&&(c=0),n.x=Math.floor((a.x-r)/i),n.x<0?n.x=0:n.x>o&&(n.x=o),n.x+=(o+1)*c,n.y=0}else n=null;return n},getDistance:function(){return this.currentCoordinates.getDistance(this.originalCoordinates)},setTimeFromQuarters:function(e,t){var n,a;n=Math.floor(t/4),a=t%4*15,e.setHours(n,a)}}}}}angular.module("SOGo.SchedulerUI").directive("sgDraggableCalendarBlock",e)}(),function(){"use strict";e.$inject=["$scope","$element","$timeout"];function e(e,t,n){var a,o=this,i=t.controller("sgCalendarScrollView");e.nowDay=null,e.lineElement=null,e.updateLine=function(r){var s=new Date,c=s.getDayString(),l=s.getHours(),d=4*e.quarterHeight,u=s.getMinutes(),h=e.quarterHeight/15,p=parseInt(l*d+u*h-1);(r||c!=e.nowDay)&&(e.lineElement&&e.lineElement.remove(),e.lineElement=function(e,n){var a=angular.element("");i.isMultiColumn?n&&n[0].attributes["sg-day"].value==e&&t.append(a):_.forEach(n,function(t){t.attributes["sg-day"].value==e&&angular.element(t).find("div").eq(0).append(a)});return a}(c,e.days),e.nowDay=c);e.lineElement&&(e.lineElement.css("top",p+"px"),a=n(angular.bind(o,e.updateLine),6e4))},e.$on("$destroy",function(){a&&n.cancel(a)})}angular.module("SOGo.SchedulerUI").directive("sgNowLine",function(){return{restrict:"C",require:"^^sgCalendarScrollView",link:function(e,t,n,a){function o(){return t.find("sg-calendar-day")}var i=e.$watch(function(){return a.quarterHeight},function(t){if(t){i(),e.quarterHeight=t;var n=e.$watch(o,function(t){t.length&&(n(),e.days=t,e.updateLine())})}})},controller:e}})}(); +!function(){"use strict";function e(t){if(this.init(t),this.name&&!this.id){var n=e.$$resource.create("createFolder",this.name);this.$unwrap(n)}}e.$factory=["$q","$timeout","$log","sgSettings","Resource","Preferences","Component","Acl",function(t,n,a,o,i,r,s,c){return angular.extend(e,{$q:t,$timeout:n,$log:a,$$resource:new i(o.activeUser("folderURL")+"Calendar",o.activeUser()),$Preferences:r,$Component:s,$$Acl:c,activeUser:o.activeUser(),$view:null}),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").value("CalendarSettings",{EventDragDayLength:96,EventDragHorizontalOffset:3,ConflictHTTPErrorCode:409}).factory("Calendar",e.$factory),e.$defaultCalendar=function(){var t;return"first"==e.$Preferences.defaults.SOGoDefaultCalendar&&(t=_.find(e.$findAll(null,!0),function(e){return e.active}))?t.id:"personal"},e.$add=function(t){var n,a;n=t.isWebCalendar?this.$webcalendars:t.isSubscription?this.$subscriptions:this.$calendars,(a=_.findIndex(n,function(e,n){return"personal"==t.id||"personal"!=e.id&&e.name.localeCompare(t.name)>0}))<0?n.push(t):n.splice(a,0,t),e.$Preferences.settings.Calendar.FoldersOrder&&e.saveFoldersOrder(_.flatMap(e.$findAll(),"id")),e.$reloadAll()},e.$findAll=function(t,n){var a=this;if(t)this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],angular.forEach(t,function(t,n){var o=new e(t);o.isWebCalendar?a.$webcalendars.push(o):o.isSubscription?a.$subscriptions.push(o):a.$calendars.push(o)});else if(angular.isUndefined(this.$calendars))return this.$calendars=[],this.$subscriptions=[],this.$webcalendars=[],e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars,n)});return n?_.union(this.$calendars,_.filter(this.$subscriptions,function(e){return e.isOwned||e.acls.objectCreator})):_.union(this.$calendars,this.$subscriptions,this.$webcalendars)},e.$reloadAll=function(){var t=this;e.$$resource.fetch("calendarslist").then(function(n){_.forEach(n.calendars,function(n){var a,o;a=n.isWebCalendar?t.$webcalendars:n.owner!=e.activeUser.login?t.$subscriptions:t.$calendars,(o=_.find(a,function(e){return e.id==n.id}))&&o.init(n)})})},e.$get=function(t){var n;return(n=_.find(e.$calendars,function(e){return e.id==t}))||(n=_.find(e.$subscriptions,function(e){return e.id==t})),n||(n=_.find(e.$webcalendars,function(e){return e.id==t})),n},e.$getIndex=function(t){var n;return(n=_.indexOf(_.map(e.$calendars,"id"),t))<0&&(n=_.indexOf(_.map(e.$subscriptions,"id"),t)),n<0&&(n=_.indexOf(_.map(e.$webcalendars,"id"),t)),n},e.$subscribe=function(t,n){var a=this;return e.$$resource.userResource(t).fetch(n,"subscribe").then(function(t){var n=new e(angular.extend({active:1},t));return _.find(a.$subscriptions,function(e){return e.id==t.id})||e.$add(n),n})},e.$addWebCalendar=function(t){var n=e.$q.defer();return _.find(this.$webcalendars,function(e){return e.urls.webCalendarURL==t})?n.reject():e.$$resource.post(null,"addWebCalendar",{url:t}).then(function(a){angular.extend(a,{isWebCalendar:!0,isEditable:!0,isRemote:!1,owner:e.activeUser.login,urls:{webCalendarURL:t}});var o=new e(a);e.$$resource.fetch(o.id,"reload").then(function(t){e.$log.debug(JSON.stringify(t,void 0,2)),e.$add(o),n.resolve()},function(e){401==e.status?n.resolve(o):n.reject()})},n.reject),n.promise},e.reloadWebCalendars=function(){var t=[];return _.forEach(this.$webcalendars,function(n){var a=e.$$resource.fetch(n.id,"reload");a.then(function(e){n.$error=!1},function(e){n.$error=l(e.statusText)}),t.push(a)}),e.$q.all(t)},e.$deleteComponents=function(t){var n={},a=[];return _.forEach(t,function(e){angular.isDefined(n[e.pid])||(n[e.pid]=[]),n[e.pid].push(e.id)}),_.forEach(n,function(t,n){a.push(e.$$resource.post(n,"batchDelete",{uids:t}))}),e.$q.all(a)},e.saveFoldersActivation=function(t){var n={};return _.forEach(t,function(t){var a=e.$get(t);n[a.id]=a.active}),e.$$resource.post(null,"saveFoldersActivation",n)},e.saveFoldersOrder=function(t){return this.$$resource.post(null,"saveFoldersOrder",{folders:t}).then(function(){if(e.$Preferences.settings.Calendar.FoldersOrder=t,!t)return e.$$resource.fetch("calendarslist").then(function(t){return e.$findAll(t.calendars)})})},e.prototype.init=function(t){this.color=this.color||"#AAAAAA",this.active=1,angular.extend(this,t),this.id&&(this.$acl=new e.$$Acl("Calendar/"+this.id)),this.isOwned=e.activeUser.isSuperUser||this.owner==e.activeUser.login,this.isSubscription=!this.isRemote&&this.owner!=e.activeUser.login,angular.isUndefined(this.$shadowData)&&(this.$shadowData=this.$omit())},e.prototype.$id=function(){return this.id?e.$q.when(this.id):this.$futureCalendarData.then(function(e){return e.id})},e.prototype.getClassName=function(e){return angular.isUndefined(e)&&(e="fg"),e+"-folder"+this.id},e.prototype.$rename=function(){var t,n,a=this;return this.name==this.$shadowData.name?e.$q.when():(n=this.isWebCalendar?e.$webcalendars:this.isSubscription?e.$subscriptions:e.$calendars,(t=_.indexOf(_.map(n,"id"),this.id))>-1?this.$save().then(function(){n.splice(t,1),e.$add(a)}):e.$q.reject())},e.prototype.$delete=function(){var t,n,a=this;return this.isSubscription?(n=e.$$resource.fetch(this.id,"unsubscribe"),t=e.$subscriptions):(n=e.$$resource.remove(this.id),t=this.isWebCalendar?e.$webcalendars:e.$calendars),n.then(function(){var e=_.indexOf(_.map(t,"id"),a.id);t.splice(e,1)})},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),angular.extend(this,this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$save=function(){var t=this;return e.$$resource.save(this.id,this.$omit()).then(function(e){return t.$shadowData=t.$omit(),e},function(n){return e.$log.error(JSON.stringify(n,void 0,2)),t.$reset(),n})},e.prototype.setCredentials=function(t,n){var a=this,o=e.$q.defer();return e.$$resource.post(this.id,"set-credentials",{username:t,password:n}).then(function(){e.$$resource.fetch(a.id,"reload").then(function(t){e.$add(a),o.resolve()},function(e){401==e.status?o.reject(l("Wrong username or password")):o.reject(e.statusText)})},o.reject),o.promise},e.prototype.export=function(){var t;return t={type:"application/octet-stream",filename:this.name+".ics"},e.$$resource.download(this.id+".ics","export",null,t)},e.prototype.$setActivation=function(){return e.$$resource.fetch(this.id,(this.active?"":"de")+"activateFolder")},e.prototype.$getComponent=function(t,n){return e.$Component.$find(this.id,t,n)},e.prototype.$unwrap=function(t){var n=this;this.$futureCalendarData=t.then(function(t){return e.$timeout(function(){return n.init(t),n})},function(t){n.isError=!0,angular.isObject(t)&&e.$timeout(function(){angular.extend(n,t)})})},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&(e[n]=t)}),e}}(),function(){"use strict";function e(t){if("function"!=typeof t.then){if(this.init(t),this.pid&&!this.id){var n=e.$$resource.newguid(this.pid);this.$unwrap(n),this.isNew=!0}}else this.$unwrap(t)}e.$factory=["$q","$timeout","$log","$rootScope","sgSettings","sgComponent_STATUS","Preferences","User","Card","Gravatar","Resource",function(t,n,a,o,i,r,s,c,l,d,u){return angular.extend(e,{STATUS:r,$q:t,$timeout:n,$log:a,$rootScope:o,$settings:i,$User:c,$Preferences:s,$Card:l,$gravatar:d,$$resource:new u(i.activeUser("folderURL")+"Calendar",i.activeUser()),timeFormat:"%H:%M",$query:{value:"",search:"title_Category_Location"},$queryEvents:{sort:"start",asc:1,filterpopup:"view_next7"},$queryTasks:{sort:"status",asc:1,filterpopup:"view_incomplete"},$refreshTimeout:null,$ghost:{}}),s.settings.Calendar.EventsFilterState&&(e.$queryEvents.filterpopup=s.settings.Calendar.EventsFilterState),s.settings.Calendar.TasksFilterState&&(e.$queryTasks.filterpopup=s.settings.Calendar.TasksFilterState),s.settings.Calendar.EventsSortingState&&(e.$queryEvents.sort=s.settings.Calendar.EventsSortingState[0],e.$queryEvents.asc=parseInt(s.settings.Calendar.EventsSortingState[1])),s.settings.Calendar.TasksSortingState&&(e.$queryTasks.sort=s.settings.Calendar.TasksSortingState[0],e.$queryTasks.asc=parseInt(s.settings.Calendar.TasksSortingState[1])),e.$queryTasks.show_completed=parseInt(s.settings.ShowCompletedTasks),e.$categories=s.defaults.SOGoCalendarCategoriesColors,s.defaults.SOGoTimeFormat&&(e.timeFormat=s.defaults.SOGoTimeFormat),e}];try{angular.module("SOGo.SchedulerUI")}catch(e){angular.module("SOGo.SchedulerUI",["SOGo.Common"])}angular.module("SOGo.SchedulerUI").constant("sgComponent_STATUS",{NOT_LOADED:0,DELAYED_LOADING:1,LOADING:2,LOADED:3,DELAYED_MS:300}).factory("Component",e.$factory),e.$selectedCount=function(){var t;return t=0,e.$events&&(t+=_.filter(e.$events,function(e){return e.selected}).length),e.$tasks&&(t+=_.filter(e.$tasks,function(e){return e.selected}).length),t},e.$startRefreshTimeout=function(t){e.$refreshTimeout&&e.$timeout.cancel(e.$refreshTimeout);var n=e.$Preferences.defaults.SOGoRefreshViewCheck;if(n&&"manually"!=n){var a=angular.bind(e.$rootScope,e.$rootScope.$emit,"calendars:list");e.$refreshTimeout=e.$timeout(a,1e3*n.timeInterval())}},e.$isLoading=function(){return e.$loaded==e.STATUS.LOADING},e.$filter=function(t,n){var a,o,i=this,r=new Date,s=r.getDate(),c=r.getMonth()+1,l=r.getFullYear(),d="$query"+t.capitalize(),u={day:l+(c<10?"0":"")+c+(s<10?"0":"")+s},h=!1;return e.$startRefreshTimeout(t),angular.extend(this.$query,u),n&&_.forEach(_.keys(n),function(t){h|=i.$query[t]&&n[t]!=e.$query[t],"reload"==t&&n[t]?h=!0:angular.isDefined(i.$query[t])?i.$query[t]=n[t]:i[d][t]=n[t]}),a=this.$$resource.fetch(null,t+"list",angular.extend(this[d],this.$query)),h&&(delete e[o="tasks"==t?"$events":"$tasks"],e.$log.debug("force reload of "+o)),this.$unwrapCollection(t,a)},e.$find=function(t,n,a){var o=[t,encodeURIComponent(n)];return a&&o.push(a),new e(this.$$resource.fetch(o.join("/"),"view"))},e.filterCategories=function(t){var n=new RegExp(t,"i");return _.filter(_.keys(e.$categories),function(e){return-1!=e.search(n)})},e.saveSelectedList=function(e){return this.$$resource.post(null,"saveSelectedList",{list:e+"ListView"})},e.$eventsBlocksForView=function(t,n){var a,o,i,r;return a=e.$Preferences.defaults.SOGoFirstDayOfWeek,"day"==t?(o="dayView",i=r=n):"multicolumnday"==t?(o="multicolumndayView",i=r=n):"week"==t?(o="weekView",i=n.beginOfWeek(a),(r=new Date).setTime(i.getTime()),r.addDays(6)):"month"==t&&(o="monthView",(i=n).setDate(1),i=i.beginOfWeek(a),(r=new Date).setTime(n.getTime()),r.setMonth(r.getMonth()+1),r.addDays(-1),r=r.endOfWeek(a)),this.$eventsBlocks(o,i,r)},e.$eventsBlocks=function(t,n,a){var o,i,r,s=[],c=[],l=e.$q.defer();return o={view:t.toLowerCase(),sd:n.getDayString(),ed:a.getDayString()},this.$$resource.fetch(null,"eventsblocks",o).then(function(t){var n,a;n=function(t,n,a){var o,i=_.zipObject(this.eventsFields,n),r=new Date(1e3*i.c_startdate);return i.hour=r.getHourString(),i.blocks=[],o=new e(i),t.push(o),t},a=function(e){this[e.nbr].blocks.push(e),e.component=this[e.nbr],e.isFirst=1==this[e.nbr].blocks.length},e.$views=[],e.$timeout(function(){_.forEach(t,function(t,o){var l,d=[],u={},h={};for(t.eventsFields.splice(_.indexOf(t.eventsFields,"c_folder"),1,"pid"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_name"),1,"id"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_recurrence_id"),1,"occurrenceId"),t.eventsFields.splice(_.indexOf(t.eventsFields,"c_title"),1,"summary"),_.reduce(t.events,_.bind(n,t),d),_.forEach(_.flatten(t.blocks),_.bind(a,d)),_.forEach(_.flatten(t.allDayBlocks),_.bind(a,d)),0===s.length&&(s=_.flatMap(t.days,"date"),c=_.flatMap(t.days,"number")),i=0;i0&&(this.repeat.month={type:"bymonthday"}),angular.isUndefined(this.repeat.month)&&(this.repeat.month={}),angular.isUndefined(this.repeat.month.occurrence)&&angular.extend(this.repeat.month,{occurrence:"1",day:"SU"}),angular.isUndefined(this.repeat.months)&&(this.repeat.months=[]),angular.isUndefined(this.repeat.year)&&(this.repeat.year={}),this.repeat.count?this.repeat.end="count":this.repeat.until?(this.repeat.end="until",angular.isString(this.repeat.until)&&(this.repeat.until=e.$parseDate(this.repeat.until,{no_time:!0}))):this.repeat.end="never",this.$hasCustomRepeat=this.hasCustomRepeat(),this.isNew){var a="appointment"==this.type?"Events":"Tasks";this.classification=e.$Preferences.defaults["SOGoCalendar"+a+"DefaultClassification"].toLowerCase();var o=/-PT?([0-9]+)([MHDW])/.exec(e.$Preferences.defaults.SOGoCalendarDefaultReminder);o&&(this.$hasAlarm=!0,this.alarm.quantity=parseInt(o[1]),this.alarm.unit={M:"MINUTES",H:"HOURS",D:"DAYS",W:"WEEKS"}[o[2]]),this.sendAppointmentNotifications=e.$Preferences.defaults.SOGoAppointmentSendEMailNotifications}else angular.isUndefined(t.$hasAlarm)&&(this.$hasAlarm=angular.isDefined(t.alarm));this.destinationCalendar=this.pid,this.attendees&&_.forEach(this.attendees,function(t){t.image=e.$gravatar(t.email,32)}),this.updateFreeBusy(),this.selected=!1},e.prototype.initOrganizer=function(t){var n,a=this;t&&t.isSubscription?n=e.$User.$filter(t.owner).then(function(e){var t=e[0];a.organizer={uid:t.uid,name:t.cn,email:t.c_email}}):(this.organizer={uid:e.$settings.activeUser("login"),name:e.$settings.activeUser("identification"),email:e.$settings.activeUser("email")},n=e.$q.when()),n.then(function(){a.updateFreeBusyAttendee(a.organizer)})},e.prototype.hasCustomRepeat=function(){return angular.isUndefined(this.occurrenceId)&&angular.isDefined(this.repeat)&&(this.repeat.interval>1||angular.isDefined(this.repeat.days)&&this.repeat.days.length>0||angular.isDefined(this.repeat.monthdays)&&this.repeat.monthdays.length>0||angular.isDefined(this.repeat.months)&&this.repeat.months.length>0||angular.isDefined(this.repeat.month)&&angular.isDefined(this.repeat.month.type)||angular.isDefined(this.repeat.dates)&&this.repeat.dates.length>0)},e.prototype.isEditable=function(){return!this.occurrenceId&&!this.isReadOnly},e.prototype.isEditableOccurrence=function(){return this.occurrenceId&&!this.isReadOnly},e.prototype.isInvitation=function(){return!this.occurrenceId&&this.userHasRSVP},e.prototype.isInvitationOccurrence=function(){return this.occurrenceId&&this.userHasRSVP},e.prototype.showPercentComplete=function(){return"task"==this.type&&this.percentComplete>0&&"cancelled"!=this.status},e.prototype.enablePercentComplete=function(){return"task"==this.type&&"not-specified"!=this.status&&"cancelled"!=this.status},e.prototype.coversFreeBusy=function(e,t,n){return angular.isDefined(this.freebusy[e])&&angular.isDefined(this.freebusy[e][t])&&1==this.freebusy[e][t][n]},e.prototype.updateFreeBusyCoverage=function(){var e=this,t={};if(this.start&&this.end){var n=new Date(this.start.getTime()),a=new Date(this.end.getTime()),o=parseInt(n.getMinutes()/15+.5),i=parseInt(a.getMinutes()/15+.5);return n.setMinutes(15*o),a.setMinutes(15*i),_.forEach(n.daysUpTo(a),function(n,a){var i,r=n.getDate(),s=n.getDayString();if(s==e.start.getDayString())for(i=n.getHours().toString(),t[s]={},t[s][i]=[];o>0;)t[s][i].push(0),o--;else n=n.beginOfDay(),t[s]={};for(;n.getTime()0},e.prototype.addAttachUrl=function(e){if(angular.isUndefined(this.attachUrls))this.attachUrls=[{value:e}];else{for(var t=0;t-1&&this.attachUrls.length>e&&this.attachUrls.splice(e,1)},e.prototype.$addDueDate=function(){this.due=new Date,this.due.setMinutes(15*Math.round(this.due.getMinutes()/15)),this.dueDate=this.due.toISOString()},e.prototype.$deleteDueDate=function(){delete this.due,delete this.dueDate},e.prototype.$addStartDate=function(){this.start=new Date,this.start.setMinutes(15*Math.round(this.start.getMinutes()/15))},e.prototype.$deleteStartDate=function(){delete this.start,delete this.startDate},e.prototype.$addRecurrenceDate=function(){var e=new Date;e.setMinutes(15*Math.round(e.getMinutes()/15)),angular.isUndefined(this.repeat.dates)&&(this.repeat={frequency:"custom",dates:[]}),this.repeat.dates.push(e)},e.prototype.$deleteRecurrenceDate=function(e){e>-1&&this.repeat&&this.repeat.dates&&this.repeat.dates.length>e&&this.repeat.dates.splice(e,1)},e.prototype.$reset=function(){var e=this;angular.forEach(this,function(t,n){"constructor"!=n&&"$"!=n[0]&&delete e[n]}),this.init(this.$shadowData),this.$shadowData=this.$omit()},e.prototype.$reply=function(){var t,n=this,a=[this.pid,encodeURIComponent(this.id)];return this.occurrenceId&&a.push(this.occurrenceId),t={reply:this.reply,delegatedTo:this.delegatedTo,alarm:this.$hasAlarm?this.alarm:{}},e.$$resource.save(a.join("/"),t,{action:"rsvpAppointment"}).then(function(e){return n.$shadowData=n.$omit(),e})},e.prototype.$adjust=function(t){var n=[this.pid,encodeURIComponent(this.id)];return _.every(_.values(t),function(e){return 0===e})?e.$q.when():(this.occurrenceId&&n.push(this.occurrenceId),e.$log.debug("adjust "+n.join("/")+" "+JSON.stringify(t)),e.$$resource.save(n.join("/"),t,{action:"adjust"}))},e.prototype.$save=function(t){var n,a,o,i,r=this;return o=this.$omit(),i=e.$Preferences.$mdDateLocaleProvider,o.startDate=o.start?o.start.format(i,"%Y-%m-%d"):"",o.startTime=o.start?o.start.format(i,"%H:%M"):"",o.endDate=o.end?o.end.format(i,"%Y-%m-%d"):"",o.endTime=o.end?o.end.format(i,"%H:%M"):"",o.dueDate=o.due?o.due.format(i,"%Y-%m-%d"):"",o.dueTime=o.due?o.due.format(i,"%H:%M"):"",o.completedDate=o.completed?o.completed.format(i,"%Y-%m-%d"):"",this.hasCustomRepeat()?"monthly"==this.repeat.frequency&&this.repeat.month.type&&"byday"==this.repeat.month.type&&"relative"!=this.repeat.month.day||"yearly"==this.repeat.frequency&&this.repeat.year.byday?(delete o.repeat.monthdays,o.repeat.days=[{day:this.repeat.month.day,occurrence:this.repeat.month.occurrence.toString()}]):"monthly"!=this.repeat.frequency&&"yearly"!=this.repeat.frequency||!this.repeat.month.type?"custom"==this.repeat.frequency&&this.repeat.dates&&_.forEach(o.repeat.dates,function(e,t,n){n[t]={date:e.format(i,"%Y-%m-%d"),time:e.format(i,"%H:%M")}}):(delete o.repeat.days,"relative"==this.repeat.month.day&&(o.repeat.monthdays=[this.repeat.month.occurrence])):this.repeat.frequency&&"never"!=this.repeat.frequency&&(o.repeat={frequency:this.repeat.frequency}),o.startDate&&this.repeat.frequency&&"never"!=this.repeat.frequency?"until"==this.repeat.end&&this.repeat.until?o.repeat.until=this.repeat.until.stringWithSeparator("-"):"count"==this.repeat.end&&this.repeat.count?o.repeat.count=this.repeat.count:(delete o.repeat.until,delete o.repeat.count):delete o.repeat,"not-specified"==this.status?delete o.status:"completed"!=this.status&&delete o.completedDate,o.startDate&&this.$hasAlarm?!this.alarm.action||"email"!=this.alarm.action||this.attendees&&this.attendees.length>0||(o.alarm.attendees=0,o.alarm.organizer=1):o.alarm={},a=[this.pid,encodeURIComponent(this.id)],this.isNew&&(n={action:"saveAs"+this.type.capitalize()}),this.occurrenceId&&a.push(this.occurrenceId),angular.extend(o,t),e.$$resource.save(a.join("/"),o,n).then(function(e){return r.$shadowData=r.$omit(),e})},e.prototype.remove=function(t){var n=[this.pid,encodeURIComponent(this.id)];return t&&this.occurrenceId&&n.push(this.occurrenceId),e.$$resource.remove(n.join("/"))},e.prototype.$unwrap=function(t){var n=this;this.$futureComponentData=t,this.$futureComponentData.then(function(e){n.init(e),n.$shadowData=n.$omit()},function(t){angular.extend(n,t),n.isError=!0,e.$log.error(n.error)})},e.prototype.$omit=function(){var e={};return angular.forEach(this,function(t,n){"constructor"==n||"$hasAlarm"!=n&&"$"==n[0]||"blocks"==n||(e[n]=angular.copy(t))}),e},e.prototype.repeatDescription=function(){var e=null;return this.repeat&&(e=l("repeat_"+this.repeat.frequency.toUpperCase())),e},e.prototype.alarmDescription=function(){var e,t=null;return this.alarm&&(e=["reminder",this.alarm.quantity],this.alarm.quantity>0&&e.push(this.alarm.unit.toUpperCase(),this.alarm.reference.toUpperCase()),(e=e.join("_"))===(t=l(e))&&(t=[this.alarm.quantity,l("reminder_"+this.alarm.unit.toUpperCase()),l("reminder_"+this.alarm.reference.toUpperCase())].join(" "))),t},e.prototype.copyTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"copy",{destination:t})},e.prototype.moveTo=function(t){return e.$$resource.post(this.pid+"/"+encodeURIComponent(this.id),"move",{destination:t})},e.prototype.toString=function(){return"[Component "+this.id+"]"}}(),function(){"use strict";e.$inject=["$scope","$rootScope","$state","$stateParams","sgHotkeys","Calendar","Component","Preferences","stateEventsBlocks"];function e(t,n,a,o,i,r,s,c,d){var u,h=this,p=[];angular.isUndefined(e.expandedAllDays)&&(e.expandedAllDays=!1),h.selectedDate=o.day.asDate(),h.expandedAllDays=e.expandedAllDays,h.toggleAllDays=function(){e.expandedAllDays=!e.expandedAllDays,h.expandedAllDays=e.expandedAllDays},h.views=d,h.changeDate=y,h.changeView=v,this.$onInit=function(){(e=p).push(i.createHotkey({key:l("hotkey_today"),description:l("Today"),callback:y,args:new Date})),e.push(i.createHotkey({key:l("hotkey_dayview"),description:l("Day"),callback:v,args:"day"})),e.push(i.createHotkey({key:l("hotkey_weekview"),description:l("Week"),callback:v,args:"week"})),e.push(i.createHotkey({key:l("hotkey_monthview"),description:l("Month"),callback:v,args:"month"})),e.push(i.createHotkey({key:l("hotkey_multicolumndayview"),description:l("Multicolumn Day View"),callback:v,args:"multicolumnday"})),e.push(i.createHotkey({key:"left",description:l("Move backward"),callback:m,args:-1})),e.push(i.createHotkey({key:"right",description:l("Move forward"),callback:m,args:1})),_.forEach(e,function(e){i.registerHotkey(e)});var e;f(h.selectedDate),u=n.$on("calendars:list",g),t.$on("$destroy",function(){u(),_.forEach(p,function(e){i.deregisterHotkey(e)})})};function m(e,t){var n;"week"==o.view?n=h.selectedDate.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).addDays(7*t):"month"==o.view?((n=h.selectedDate).setDate(1),n.setMonth(n.getMonth()+t)):n=h.selectedDate.addDays(t),y(e,n)}function f(e){"month"==o.view?(e.setDate(1),e.setHours(12),e.$dateFormat="%B %Y"):"week"==o.view?(e.setTime(e.beginOfWeek(c.defaults.SOGoFirstDayOfWeek).getTime()),e.$dateFormat=l("Week %d").replace("%d","%U")):e.$dateFormat="%A"}function g(){s.$eventsBlocksForView(o.view,o.day.asDate()).then(function(e){var t,n,a;for(t=0;t=t;n--)h.views.splice(n,1)})}function y(e,t){var n=t?t.getDayString():angular.element(e.currentTarget).attr("date");t&&f(t),a.go("calendars.view",{day:n})}function v(e,t){a.go("calendars.view",{view:t})}}angular.module("SOGo.SchedulerUI").controller("CalendarController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$q","$timeout","$state","$mdDialog","sgHotkeys","sgFocus","Dialog","Preferences","CalendarSettings","Calendar","Component","Alarm"];function e(e,t,n,a,o,i,r,s,c,d,u,h,p,m){var f,g=this,y=[];g.component=p,g.componentType="events",g.selectedList=0,g.selectComponentType=v,g.unselectComponents=function(){_.forEach(p["$"+g.componentType],function(e){e.selected=!1}),g.mode.multiple=0},g.selectAll=function(){_.forEach(p["$"+g.componentType],function(e){e.selected=!0}),g.mode.multiple=p["$"+g.componentType].length},g.searchMode=$,g.toggleComponentSelection=function(e,t){t.selected=!t.selected,g.mode.multiple+=t.selected?1:-1,e.preventDefault(),e.stopPropagation()},g.confirmDeleteSelectedComponents=function(){c.confirm(l("Warning"),l("Are you sure you want to delete the selected components?"),{ok:l("Delete")}).then(function(){var t=_.filter(p["$"+g.componentType],function(e){return e.selected});h.$deleteComponents(t).then(function(){g.mode.multiple=0,e.$emit("calendars:list")})})},g.openEvent=function(e,t){C(e,t,"appointment")},g.openTask=function(e,t){C(e,t,"task")},g.newComponent=b,g.filterpopup=function(){return p["$query"+g.componentType.capitalize()].filterpopup},g.filter=function(e){p.$filter(g.componentType,{filterpopup:e})},g.filteredBy=function(e){return p["$query"+g.componentType.capitalize()].filterpopup==e},g.sort=function(e){p.$filter(g.componentType,{sort:e})},g.sortedBy=function(e){return p["$query"+g.componentType.capitalize()].sort==e},g.reload=function(){h.reloadWebCalendars().finally(function(){e.$emit("calendars:list")})},g.cancelSearch=function(){g.mode.search=!1,p.$filter(g.componentType,{value:""})},g.mode={search:!1,multiple:0},this.$onInit=function(){(n=y).push(r.createHotkey({key:l("hotkey_search"),description:l("Search"),callback:$})),n.push(r.createHotkey({key:l("hotkey_create_event"),description:l("Create a new event"),callback:b,args:"appointment"})),n.push(r.createHotkey({key:l("hotkey_create_task"),description:l("Create a new task"),callback:b,args:"task"})),_.forEach(n,function(e){r.registerHotkey(e)});var n;f="events","tasksListView"==d.settings.Calendar.SelectedList&&(g.selectedList=1,f="tasks"),v(f,{reload:!0}),e.$on("calendars:list",function(){p.$filter(g.componentType,{reload:!0})}),e.$on("calendar:dragend",k),t.$on("$destroy",function(){_.forEach(y,function(e){r.deregisterHotkey(e)})})};function v(e,t){(t&&t.reload||g.componentType!=e)&&(angular.isUndefined(p["$"+e])&&p.$filter(e),g.unselectComponents(),g.componentType=e,p.saveSelectedList(e))}function $(){g.mode.search=!0,s("search")}function C(e,t,a){if(t.viewable){var o=n.when();angular.isUndefined(t.$futureComponentData)&&(o=(t=h.$get(t.pid).$getComponent(t.id,t.occurrenceId)).$futureComponentData),o.then(function(){var n="UIx"+a.capitalize()+"ViewTemplate";i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentController",controllerAs:"editor",locals:{stateComponent:t}})})}}function b(e,t,n){var a;n?(a=n).updateFreeBusy():a=new p({pid:h.$defaultCalendar(),type:t});var o="UIx"+t.capitalize()+"EditorTemplate";return i.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:o,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:a}})}function k(t){var n,o,r,s,c,d,f;n=p.$ghost.component,o=p.$ghost.pointerHandler,n.isNew?(r=o.currentEventCoordinates,n.summary="",n.isAllDay&&(r.duration-=96),n.setDelta(15*r.duration),b(null,"appointment",n).catch().finally(function(){a(function(){p.$resetGhost()})})):(s=o.currentEventCoordinates.getDelta(o.originalEventCoordinates),c={days:s.dayNumber,start:15*s.start,duration:15*s.duration},o.originalCalendar&&0!==s.dayNumber&&(d=o.currentEventCoordinates.dayNumber,f=_.filter(h.$findAll(),{active:1}),c.destination=f[d].id,c.days=0),n.isException||!n.occurrenceId?n.$adjust(c).then(function(){e.$emit("calendars:list"),m.getAlarms()},function(e){y(e,n,c)}).finally(function(){a(function(){p.$resetGhost()})}):n.occurrenceId&&i.show({clickOutsideToClose:!0,escapeToClose:!0,locals:{component:n,params:c},template:['',' ',"

"+l("editRepeatingItem")+"

","
"," ",' '+l("button_thisOccurrenceOnly")+"",' '+l("button_allOccurrences")+""," ","
"].join(""),controller:g}).then(function(){e.$emit("calendars:list")},function(){}).finally(function(){a(function(){p.$resetGhost()})})),g.$inject=["$scope","$mdDialog","component","params"];function g(e,t,n,a){e.updateThisOccurrence=function(){n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})},e.updateAllOccurrences=function(){delete n.occurrenceId,n.$adjust(a).then(t.hide,function(e){t.cancel().then(function(){y(e,n,a)},function(){})})}}function y(t,n,a){t.status==u.ConflictHTTPErrorCode&&t.data&&t.data.message&&angular.isObject(t.data.message)&&i.show({parent:angular.element(document.body),clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"UIxAttendeeConflictDialog",controller:v,controllerAs:"$AttendeeConflictDialogController",locals:{component:n,params:a,conflictError:t.data.message}}).then(function(){e.$emit("calendars:list")},function(){})}v.$inject=["$scope","$mdDialog","component","params","conflictError"];function v(e,t,n,a,o){this.conflictError=o,this.cancel=t.cancel,this.save=function(){n.$adjust(angular.extend({ignoreConflicts:!0},a)).then(t.hide)}}}}angular.module("SOGo.SchedulerUI").controller("CalendarListController",e)}(),function(){"use strict";e.$inject=["$rootScope","$scope","$window","$mdDialog","$log","$mdToast","Dialog","sgSettings","Preferences","Calendar"];function e(e,t,n,a,o,i,r,s,c,d){var u=this;u.activeUser=s.activeUser,u.service=d,u.newCalendar=function(e){r.prompt(l("New calendar"),l("Name of the Calendar")).then(function(e){var t=new d({name:e,isEditable:!0,isRemote:!1,owner:UserLogin});t.$id().then(function(){d.$add(t)})})},u.addWebCalendar=function(){r.prompt(l("Subscribe to a web calendar..."),l("URL of the Calendar"),{inputType:"url"}).then(function(t){d.$addWebCalendar(t).then(function(n){angular.isObject(n)&&a.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxWebCalendarAuthDialog",controller:e,controllerAs:"$WebCalendarAuthDialogController",locals:{url:t,calendar:n}})})}),e.$inject=["scope","$mdDialog","url","calendar"];function e(e,t,n,a){var o=this,i=n.split("/"),r=i[2];o.title=l("Please identify yourself to %{0}").formatted(r),o.url=n,o.authenticate=function(e){!e.$valid&&e.$error.required||a.setCredentials(o.username,o.password).then(function(e){t.hide()},function(t){e.password.$setValidity("credentials",!1)})},o.cancel=function(){t.cancel()}}},u.subscribeToFolder=function(e){o.debug("subscribeToFolder "+e.owner+e.name),d.$subscribe(e.owner,e.name).then(function(e){i.show(i.simple().content(l("Successfully subscribed to calendar")).position("top right").hideDelay(3e3))})},u.filter={name:""},u.sortableMode=!1,u.toggleSortableMode=function(){u.sortableMode=!u.sortableMode,u.filter.name=""},u.resetSort=function(){d.saveFoldersOrder()},u.sortableCalendars={scrollableContainer:"#sidenav-content",containment:"md-list",orderChanged:function(){d.saveFoldersOrder(_.flatMap(d.$findAll(),"id"))},accept:function(e,t,n){return e.sortableScope.element[0]==t.element[0]}},this.$onInit=function(){u.categories=_.map(c.defaults.SOGoCalendarCategories,function(e){return{id:e.asCSSIdentifier(),name:e,color:c.defaults.SOGoCalendarCategoriesColors[e]}}),t.$watch(function(){return _.union(_.map(d.$calendars,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$subscriptions,function(e){return _.pick(e,["id","active","color"])}),_.map(d.$webcalendars,function(e){return _.pick(e,["id","active","color"])}))},function(t,n){var a,i,r;a=_.intersectionBy(t,n,"id"),i=_.map(_.filter(a,function(e){var t=_.find(n,{id:e.id});return!_.isEqual(e,t)}),"id"),r=d.$q.when(),i.length>0&&(o.debug(i.join(", ")+" changed"),r=d.saveFoldersActivation(i)),(i.length>0||a.length!=t.length||a.length!=n.length)&&r.then(function(){e.$emit("calendars:list")})},!0)}}angular.module("SOGo.SchedulerUI").controller("CalendarsController",e)}(),function(){"use strict";e.$inject=["$rootScope","$mdDialog","Calendar","Component","AddressBook","Alarm","Account","stateComponent"];function e(e,t,n,a,o,i,r,s){var c,d=this;d.calendarService=n,d.service=a,d.component=s,d.close=function(){t.hide()},d.highPriority=function(){return d.component&&d.component.priority&&d.component.priority<5},d.cardFilter=function(e){return o.$filterAll(e)},d.newMessageWithAllRecipients=function(e){var t=_.map(d.component.attendees,function(e){return e.name+" <"+e.email+">"});u(e,t)},d.newMessageWithRecipient=function(e,t,n){u(e,[t+" <"+n+">"])},d.edit=h,d.editAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){d.component=c,h()})},d.reply=p,d.replyAllOccurrences=function(){(c=n.$get(d.component.pid).$getComponent(d.component.id)).$futureComponentData.then(function(){c.reply=d.component.reply,c.delegatedTo=d.component.delegatedTo,c.$hasAlarm=d.component.$hasAlarm,c.alarm=d.component.alarm,p(c)})},d.deleteOccurrence=function(){d.component.remove(!0).then(function(){e.$emit("calendars:list"),t.hide()})},d.deleteAllOccurrences=function(){d.component.remove().then(function(){e.$emit("calendars:list"),t.hide()})},d.toggleRawSource=function(e){n.$$resource.post(d.component.pid+"/"+d.component.id,"raw").then(function(n){t.hide(),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!0,escapeToClose:!0,template:['',' ','
',"  
"," ",' '+l("Close")+""," ","
"].join(""),controller:a,locals:{data:n}}),a.$inject=["scope","$mdDialog","data"];function a(e,t,n){e.data=n,e.close=function(){t.hide()}}})},d.copySelectedComponent=function(n){d.component.copyTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.moveSelectedComponent=function(n){d.component.moveTo(n).then(function(){t.hide(),e.$emit("calendars:list")})},d.organizer=[s.organizer];function u(e,n){r.$findAll().then(function(a){var o=_.find(a,function(e){if(0===e.id)return e});o.$getMailboxes().then(function(a){o.$newMessage().then(function(a){angular.extend(a.editable,{to:n,subject:d.component.summary}),t.show({parent:angular.element(document.body),targetEvent:e,clickOutsideToClose:!1,escapeToClose:!1,templateUrl:"../Mail/UIxMailEditor",controller:"MessageEditorController",controllerAs:"editor",locals:{stateAccount:o,stateMessage:a}})})})}),e.preventDefault(),e.stopPropagation()}function h(){var e="vevent"==d.component.component?"Appointment":"Task";t.hide().then(function(){var n="UIx"+e+"EditorTemplate";t.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:n,controller:"ComponentEditorController",controllerAs:"editor",locals:{stateComponent:d.component}})})}function p(n){(n||d.component).$reply().then(function(){e.$emit("calendars:list"),i.getAlarms(),t.hide()})}}t.$inject=["$rootScope","$scope","$log","$timeout","$mdDialog","sgFocus","User","CalendarSettings","Calendar","Component","AddressBook","Card","Alarm","stateComponent"];function t(e,t,n,a,o,i,r,s,c,d,u,h,p,m){var f,g,y=this;y.service=c,y.component=m,y.categories={},y.showRecurrenceEditor=y.component.$hasCustomRepeat,y.toggleRecurrenceEditor=function(){y.showRecurrenceEditor=!y.showRecurrenceEditor,y.component.$hasCustomRepeat=y.showRecurrenceEditor},y.recurrenceMonthDaysAreRequired=function(){return y.component&&"monthly"==y.component.repeat.frequency&&"bymonthday"==y.component.repeat.month.type},y.showAttendeesEditor=y.component.attendees&&y.component.attendees.length,y.toggleAttendeesEditor=function(){y.showAttendeesEditor=!y.showAttendeesEditor},y.changeFrequency=function(){"custom"==y.component.repeat.frequency&&(y.showRecurrenceEditor=!0)},y.changeCalendar=function(){y.component.attendees&&y.component.attendees.length>0&&y.component.initOrganizer(c.$get(y.component.destinationCalendar))},y.cardFilter=function(e){return u.$filterAll(e),u.$cards},y.addAttendee=function(e){var t,n,a=!y.component.attendees||0===y.component.attendees.length,o=c.$get(y.component.destinationCalendar),i=a?{organizerCalendar:o}:{},r=/([\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+\.)*[\w\!\#$\%\&\'\*\+\-\/\=\?\^\`{\|\}\~]+@((((([a-z0-9]{1}[a-z0-9\-]{0,62}[a-z0-9]{1})|[a-z])\.)+[a-z]{2,})|(\d{1,3}\.){3}\d{1,3}(\:\d{1,5})?)/i;function s(e){var t=e.match(r),n=t[0],o=e.replace(new RegExp(" *? *"),"");return y.showAttendeesEditor|=a,y.searchText="",new h({c_cn:_.trim(o,' "'),emails:[{value:n}]})}if(angular.isString(e)){for(n="",t=0;t5?l("low"):y.component.priority>4?l("normal"):l("high")},y.reset=v,y.cancel=function(e){v(e),y.component.isNew&&(y.component=null);o.hide()},y.edit=$,y.save=function(t,n){t.$valid&&y.component.$save(n).then(function(t){e.$emit("calendars:list"),p.getAlarms(),o.hide()},function(e){e.status==s.ConflictHTTPErrorCode&&_.isObject(e.data.message)?y.attendeeConflictError=e.data.message:$(t)})},y.attendeeConflictError=!1,y.attendeesEditor={days:C(),hours:function(){for(var e=[],t=0;t<=23;t++)e.push(t.toString());return e}()},y.addStartDate=function(){y.component.$addStartDate(),f=new Date(y.component.start.getTime())},y.addDueDate=function(){y.component.$addDueDate(),new Date(y.component.due.getTime())},y.adjustStartTime=function(){if(y.component.start){0!==f.valueOf()-y.component.start.valueOf()&&(f=new Date(y.component.start.getTime()),"appointment"===y.component.type&&(y.component.end=new Date(y.component.start.getTime()),y.component.end.addMinutes(y.component.delta),g=new Date(y.component.end.getTime())),b())}},y.adjustEndTime=function(){if(y.component.end){var e=g.valueOf()-y.component.end.valueOf();0!==e&&((e=y.component.start.minutesTo(y.component.end))<0?y.component.end=new Date(g.getTime()):(y.component.delta=e,g=new Date(y.component.end.getTime())),b())}},y.adjustDueTime=function(){new Date(y.component.due.getTime())},y.component.start&&(f=new Date(y.component.start.getTime())),y.component.end&&(g=new Date(y.component.end.getTime())),y.component.due&&new Date(y.component.due.getTime());function v(e){y.component.$reset(),e.$setPristine()}function $(e){y.attendeeConflictError=!1,e.$setPristine(),e.$setDirty()}function C(){var e=[];return y.component.start&&y.component.end&&(e=y.component.start.daysUpTo(y.component.end)),_.map(e,function(e){return{stringWithSeparator:e.stringWithSeparator(),getDayString:e.getDayString()}})}function b(){y.attendeesEditor.days=C(),y.component.updateFreeBusy()}}angular.module("SOGo.SchedulerUI").controller("ComponentController",e).controller("ComponentEditorController",t)}(),function(){"use strict";e.$inject=["$scope","Calendar"];function e(e,t){this.day=e.day,this.dayNumber=e.dayNumber,this.dayString=e.dayString,this.calendarData=function(){var n,a,o;return e.calendar?(n=e.calendar,o=_.filter(t.$findAll(),{active:1}),a=_.findIndex(o,function(e){return e.id==n}),{pid:n,index:a}):null}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDay",function(){return{restrict:"E",scope:{day:"@sgDay",dayNumber:"@sgDayNumber",dayString:"@sgDayString",calendar:"@sgCalendar"},controller:e}})}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['
",'
','
",'
',' {{'+n+"block.component.c_priority}}"," {{ "+n+"block.component.summary }}",' ',' ',' ',' ',' '," ",'
',' place ',"
","
","
",'
{{ block.startHour }}
','
{{ block.endHour }}
',"
"].join("")},link:function(e,t,n){var a,o,i;_.has(n,"sgCalendarGhost")||(a=100/e.block.siblings,o=e.block.position*a,0===(i=100-(e.block.position+1)*a)&&(i=10),t.css("left",o+"%"),t.css("right",i+"%"),e.block.component&&e.block.component.c_isallday||(t.addClass("starts"+e.block.start),t.addClass("lasts"+e.block.length)),e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),t.addClass("contrast-bdr-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarDayBlock",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarDayTable",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:["'].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","CalendarSettings","Calendar","Component"];function e(e,t,n,a,o){return{restrict:"A",require:["^sgCalendarDay","^sgCalendarScrollView"],link:function(t,i,r,s){var c,l,d,u,h;c=i[0],l=s[0],d=s[1],u=-1,i.addClass("sg-event--ghost md-whiteframe-3dp ng-hide");var p=e.$on("calendar:dragstart",function(){var e,n,a;t.block=o.$ghost,(n=l.calendarData())&&(u=n.index,e=n.pid,h=t.block.pointerHandler.originalCalendar.index);e||(e=t.block.component.pid);(a=t.block.component.blocks[0].userState)&&i.addClass("sg-event--"+a);i.addClass("bg-folder"+e)}),m=e.$on("calendar:drag",function(){var e,o,r,s,c,p,m,f;if(e=!1,a.$view&&a.$view.type==d.type){if(o="multiday-allday"===d.type,r=t.block.component.c_isallday,s=t.block.pointerHandler.currentEventCoordinates.dayNumber,c=t.block.pointerHandler.currentEventCoordinates.start,m=t.block.pointerHandler.currentEventCoordinates.duration,f=n.EventDragDayLength-c,angular.isUndefined(m))return;for((p=m)>f&&(p=f),s>-1&&(u<0&&s==l.dayNumber||s==u&&(h==u||!t.block.component.isException))&&(e=!0,o||(r||(t.block.startHour=($=c,g($))),a.$view.quarterHeight?(i.css("top",c*a.$view.quarterHeight+"px"),i.css("height",p*a.$view.quarterHeight+"px")):i.css("top",a.$view.topOffset+"px")),i.removeClass("fg-folder"+t.block.component.pid),i.removeClass("sg-event--ghost--last"),i.addClass("sg-event--ghost--first"),t.block.isFirst=!0),m-=p,s++;!e&&m&&s<=l.dayNumber;)(p=m)>n.EventDragDayLength&&(p=n.EventDragDayLength),s>-1&&s==l.dayNumber&&(e=!0,o||(i.css("top",a.$view.topOffset+"px"),a.$view.quarterHeight&&i.css("height",p*a.$view.quarterHeight+"px")),i.removeClass("sg-event--ghost--first"),i.removeClass("sg-event--ghost--last"),i.addClass("fg-folder"+t.block.component.pid)),m-=p,s++,c=0;m||(o?i.addClass("sg-event--ghost--last"):r||(t.block.endHour=(y=c,v=p,g((y+v)%n.EventDragDayLength))))}var y,v;var $;e?i.removeClass("ng-hide"):i.addClass("ng-hide")}),f=e.$on("calendar:dragend",function(){_.forEachRight(c.classList,function(e){/^bg-folder/.test(e)&&i.removeClass(e)}),i.addClass("ng-hide")});t.$on("$destroy",function(){p(),m(),f()});function g(e){var t,n,a;return t=15*e,(n=Math.floor(t/60))<10&&(n="0"+n),(a=t%60)<10&&(a="0"+a),n+":"+a}}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarGhost",e)}(),function(){"use strict";e.$inject=["CalendarSettings"];function e(e){return{restrict:"E",scope:{component:"=sgComponent",clickComponent:"&sgClick"},replace:!0,template:function(e,t){return['
','
",' '," {{ ::component.c_title }}",' ',' ',' ',' ',' '," ",'
',' access_time ',"
",'
',' place ',"
","
"].join("")},link:function(e,t,n){e.component.viewable&&t.addClass("md-clickable");e.component.userstate&&t.addClass("sg-event--"+e.component.userstate);t.addClass("bg-folder"+e.component.pid),t.addClass("contrast-bdr-folder"+e.component.pid),0===e.component.c_isopaque&&t.addClass("sg-event--transparent");0===e.component.c_status&&t.addClass("sg-event--cancelled")}}}angular.module("SOGo.SchedulerUI").directive("sgCalendarListEvent",e)}(),function(){e.$inject=["$rootScope","$scope","$element","$mdToast","$mdPanel","$mdMedia","$mdSidenav","sgConstant","Dialog","Calendar"];function e(e,t,n,a,o,i,r,s,c,d){var u=this;this.$onInit=function(){this.editMode=!1},this.$postLink=function(){this.clickableElement=n.find("p")[0],this.nameElements=this.clickableElement.getElementsByClassName("sg-calendar-name"),this.inputContainer=n.find("md-input-container")[0],this.inputElement=n.find("input")[0],this.moreOptionsButton=_.last(n.find("md-icon")),this.updateCalendarName()},this.updateCalendarName=function(){_.forEach(this.nameElements,function(e){e.innerHTML=u.calendar.name})},this.editFolder=function(e){this.editMode=!0,this.inputElement.value=this.calendar.name,this.clickableElement.classList.add("ng-hide"),this.inputContainer.classList.remove("ng-hide"),this.inputElement.focus(),this.inputElement.select(),e&&(e.stopPropagation(),e.preventDefault())},this.saveFolder=function(e){this.inputElement.disabled||(this.calendar.name=this.inputElement.value,this.inputElement.disabled=!0,this.calendar.$rename().then(function(e){u.editMode=!1,u.inputContainer.classList.add("ng-hide"),u.clickableElement.classList.remove("ng-hide"),u.updateCalendarName()}).finally(function(){u.inputElement.disabled=!1}))},this.revertEditing=function(){this.editMode=!1,this.clickableElement.classList.remove("ng-hide"),this.inputContainer.classList.add("ng-hide"),this.inputElement.value=this.calendar.name},this.confirmDelete=function(){this.calendar.isSubscription?this.calendar.$delete().catch(function(e,t){c.alert(l('An error occured while deleting the calendar "%{0}".',u.calendar.name),l(e.error))}):c.confirm(l("Warning"),l('Are you sure you want to delete the calendar "%{0}"?',this.calendar.name),{ok:l("Delete")}).then(function(){u.calendar.$delete().catch(function(e,t){c.alert(l('An error occured while deleting the calendar "%{0}".',u.calendar.name),l(e.error))})})},this.showMenu=function(t){var n=o.newPanelPosition().relativeTo(this.moreOptionsButton).addPanelPosition(o.xPosition.ALIGN_START,o.yPosition.ALIGN_TOPS),i=o.newPanelAnimation().openFrom(this.moreOptionsButton).duration(100).withAnimation(o.animation.FADE),r={attachTo:angular.element(document.body),locals:{itemCtrl:this,calendar:this.calendar,editFolder:angular.bind(this,this.editFolder),confirmDelete:angular.bind(this,this.confirmDelete)},bindToController:!0,controller:s,controllerAs:"$menuCtrl",position:n,animation:i,targetEvent:t,templateUrl:"UIxCalendarMenu",trapFocus:!0,clickOutsideToClose:!0,escapeToClose:!0,focusOnOpen:!0};o.open(r).then(function(e){e.panelEl.one("click",function(){e.close()})}),s.$inject=["mdPanelRef","$mdDialog","FileUploader","User"];function s(n,o,i,r){var s=this;this.showOnly=function(){_.forEach(d.$findAll(),function(e){s.calendar.id==e.id?e.active=1:e.active=0})},this.showAll=function(){_.forEach(d.$findAll(),function(e){e.active=1})},this.showProperties=function(){var e=this.calendar.color;o.show({templateUrl:this.calendar.id+"/properties",controller:t,controllerAs:"properties",clickOutsideToClose:!0,escapeToClose:!0,locals:{srcCalendar:this.calendar}}).catch(function(){s.calendar.color=e}),t.$inject=["$scope","$mdDialog","srcCalendar"];function t(e,t,n){var a=this;a.calendar=new d(n.$omit()),a.saveProperties=function(e){e.$valid&&(a.calendar.$save(),n.init(a.calendar.$omit()),t.hide())},a.close=function(){t.cancel()},e.$watch(function(){return a.calendar.color},function(){n.color=a.calendar.color})}},this.showLinks=function(){o.show({parent:angular.element(document.body),clickOutsideToClose:!0,escapeToClose:!0,templateUrl:this.calendar.id+"/links",controller:e,controllerAs:"links",locals:{calendar:this.calendar}}),e.$inject=["$mdDialog","calendar"];function e(e,t){this.calendar=t,this.close=function(){e.hide()}}},this.importCalendar=function(){o.show({parent:angular.element(document.body),targetEvent:t,clickOutsideToClose:!0,escapeToClose:!0,templateUrl:"UIxCalendarImportDialog",controller:n,controllerAs:"$CalendarImportDialogController",locals:{folder:this.calendar}}),n.$inject=["scope","$mdDialog","folder"];function n(t,n,o){this.uploader=new i({url:ApplicationBaseURL+[o.id,"import"].join("/"),autoUpload:!0,queueLimit:1,filters:[{name:r,fn:r}],onSuccessItem:function(t,o,i,r){var s;n.hide(),0===o.imported?s=l("No event was imported."):(s=l("A total of %{0} events were imported in the calendar.",o.imported),e.$emit("calendars:list")),a.show(a.simple().content(s).position("top right").hideDelay(3e3))},onErrorItem:function(e,t,n,o){a.show({template:["",'
',' error_outline'," "+l("An error occurred while importing calendar.")+"","
","
"].join(""),position:"top right",hideDelay:3e3})}}),this.close=function(){n.hide()};function r(e){var t=0===e.type.indexOf("text")||/\.(ics)$/.test(e.name);return t||a.show({template:["",'
',' error_outline'," "+l("Select an iCalendar file (.ics).")+"","
","
"].join(""),position:"top right",hideDelay:3e3}),t}}},this.share=function(){this.calendar.$acl.$users().then(function(){o.show({templateUrl:s.calendar.id+"/UIxAclEditor",controller:"AclController",controllerAs:"acl",clickOutsideToClose:!0,escapeToClose:!0,locals:{usersWithACL:s.calendar.$acl.users,User:r,folder:s.calendar}})})}}}}angular.module("SOGo.SchedulerUI").controller("sgCalendarListItemController",e).directive("sgCalendarListItem",function(){return{restrict:"C",scope:{},bindToController:{calendar:"=sgCalendar"},template:['','

',' ',' error',' ',' ',"

",'',' ',"",''," drag_handle","",'more_vert'].join(""),controller:"sgCalendarListItemController",controllerAs:"$ctrl"}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthDay",function(){return{restrict:"E",scope:{blocks:"=sgBlocks",day:"@sgDay",clickBlock:"&sgClick"},template:["'].join("")}})}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCalendarMonthEvent",function(){return{restrict:"E",scope:{block:"=sgBlock",clickBlock:"&sgClick"},replace:!0,template:function(e,t){var n=_.has(t,"sgCalendarGhost")?"":"::";return['
','
",' {{ '+n+"block.component.startHour }}",' {{'+n+"block.component.c_priority}}"," {{ "+n+"block.component.summary }}",' ',' ',' ',' ',' '," ","
"].join("")},link:function(e,t,n){_.has(n,"sgCalendarGhost")||(e.block.userState&&t.addClass("sg-event--"+e.block.userState),e.block.component&&(t.addClass("bg-folder"+e.block.component.pid),0===e.block.component.c_isopaque&&t.addClass("sg-event--transparent"),0===e.block.component.c_status&&t.addClass("sg-event--cancelled")))}}})}(),function(){"use strict";e.$inject=["$rootScope","$window","$document","$q","$timeout","$mdGesture","Calendar","Component","Preferences"];function e(e,n,a,o,i,r,s,c,l){return{restrict:"A",scope:{type:"@sgCalendarScrollView"},controller:t,link:function(t,a,o,r){var d,u,h=!1;d=null,u=t.type,h="multicolumndayview"==a.attr("sg-view"),r.isMultiColumn=h,i(function(){if(d=new p(a,u),"monthly"!=u){var e,t,n;l.defaults.SOGoDayStartTime&&(e=l.defaults.SOGoDayStartTime.split(":"),t=document.getElementById("hour"+parseInt(e[0])),n=parseInt(e[1])*d.quarterHeight,d.element.scrollTop=t.offsetTop+n)}r.quarterHeight=d.quarterHeight}),t.$on("$destroy",function(){d&&d.$destroy()});function p(t,a){this.$element=t,this.element=t[0],this.type=a,this.quarterHeight=this.getQuarterHeight(),this.scrollStep=6*this.quarterHeight,this.dayNumbers=this.getDayNumbers(),this.maxX=this.getMaxColumns(),this.deregisterDragStart=e.$on("calendar:dragstart",angular.bind(this,this.onDragStart)),this.deregisterDragStop=e.$on("calendar:dragend",angular.bind(this,this.onDragEnd)),this.bindedUpdateCoordinates=angular.bind(this,this.updateCoordinates),this.bindedUpdateFromPointerHandler=angular.bind(this,this.updateFromPointerHandler),this.updateCoordinates(),angular.element(n).on("resize",this.bindedUpdateCoordinates)}p.prototype={$destroy:function(){this.deregisterDragStart(),this.deregisterDragStop(),this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),angular.element(n).off("resize",this.bindedUpdateCoordinates)},onDragStart:function(){this.$element.on("mousemove",this.bindedUpdateFromPointerHandler),this.updateCoordinates(),this.updateFromPointerHandler()},onDragEnd:function(){this.$element.off("mousemove",this.bindedUpdateFromPointerHandler),s.$view=null},getQuarterHeight:function(){var e,t,n=null;return e=document.getElementById("hour0"),t=document.getElementById("hour23"),e&&t&&(n=(t.offsetTop-e.offsetTop)/92),n},getDayDimensions:function(e){var t,n,a,o,i,r,s;return n=t=a=o=0,(i=this.element.getElementsByClassName("day")).length>0&&(n=(r=i[0].getBoundingClientRect()).height,t=r.width,a=r.left-e,(s=i[0].getElementsByClassName("sg-calendar-tile-header")).length>0&&(o=s[0].clientHeight)),{height:n,width:t,offset:{left:a,top:o}}},getDayNumbers:function(){var e;return e=this.element.getElementsByTagName("sg-calendar-day"),_.map(e,function(e,t){return h?t:parseInt(e.attributes["sg-day-number"].value)})},getMaxColumns:function(){var e,t=0;return"monthly"==this.type?(e=this.element.getElementsByTagName("md-grid-list")[0],t=parseInt(e.attributes["md-cols"].value)-1):t=this.element.getElementsByClassName("day").length-1,t},updateCoordinates:function(){var e,t;e=this.element.getBoundingClientRect(),t=this.getDayDimensions(e.left),angular.extend(this,{coordinates:{x:e.left,y:e.top},dayHeight:t.height,dayWidth:t.width,daysOffset:t.offset.left,topOffset:t.offset.top})},updateFromPointerHandler:function(){var e,t,n,a,o,i;e=c.$ghost.pointerHandler,this.coordinates&&e&&(t=e.getContainerBasedCoordinates(this))&&(s.$view=this,n=(new Date).getTime(),(!this.lastScroll||n>this.lastScroll+100)&&(this.lastScroll=n,(a=t.y-this.scrollStep)<0?(a<(o=-this.element.scrollTop)&&(a=o),this.element.scrollTop+=a):(i=(a=t.y+this.scrollStep)-this.element.clientHeight)>0&&(this.element.scrollTop+=i)))}}}}}t.$inject=["$scope"];function t(e){this.type=e.type}angular.module("SOGo.SchedulerUI").directive("sgCalendarScrollView",e)}(),function(){"use strict";angular.module("SOGo.SchedulerUI").directive("sgCategoryStylesheet",function(){return{restrict:"E",require:"ngModel",scope:{ngModel:"="},replace:!0,template:['"].join("")}})}(),function(){"use strict";e.$inject=["$rootScope","$timeout","$log","Preferences","Calendar","CalendarSettings","Component"];function e(e,t,n,a,o,i,r){return{restrict:"CA",require:"^sgCalendarDay",link:function(s,c,d,u){if(s.block){if(!s.block.component.editable||s.block.userState)return void c.removeClass("sg-draggable-calendar-block");!function(){var e,t,n,a,o,i,r,l,d,u;if(s.block.length<3)return;e=s.block.component,t=s.block.dayIndex,n=_.findIndex(e.blocks,["dayIndex",t]),a=0===n,o=n===e.blocks.length-1,(i=angular.element('
')).addClass("bdr-folder"+e.pid),e.c_isallday||"SG-CALENDAR-MONTH-DAY"===c[0].parentNode.tagName?(a&&(r=angular.element('
').append(i),c.append(r)),o&&(l=angular.element('
').append(i.clone()),c.append(l))):(a&&(d=angular.element('
').append(i),c.append(d)),o&&(u=angular.element('
').append(i.clone()),c.append(u)))}()}c.on("mousedown",h),s.$on("$destroy",function(){c.off("mousedown",h),c.off("mousemove",p)});function h(e){var t,n,a,o;e.stopPropagation(),e.target.scrollHeight>e.target.clientHeight+1&&(a=e.target.getBoundingClientRect(),o=a.left+a.width-18,e.pageX>o)||(t="move-event",s.block&&s.block.component?"dragGrip-top"==e.target.className||"dragGrip-left"==e.target.className?t="change-start":"dragGrip-bottom"!=e.target.className&&"dragGrip-right"!=e.target.className||(t="change-end"):t="change-end",(n=new y(t)).initFromEvent(e),r.$ghost.pointerHandler=n,angular.element(document).one("mouseup",m),angular.element(document).on("mousemove",p))}function p(e){var n=r.$ghost.pointerHandler;t(function(){n.updateFromEvent(e)})}function m(t){var n,a;n=s.block,a=r.$ghost.pointerHandler,angular.element(document).off("mousemove",p),a.dragHasStarted&&(e.$emit("calendar:dragend"),a.dragHasStarted=!1),n&&n.component&&_.forEach(n.component.blocks,function(e){e.dragging=!1})}function f(){}f.prototype={x:-1,y:-1,getDelta:function(e){var t=new f;return t.x=this.x-e.x,t.y=this.y-e.y,o.$view&&(t.days=o.$view.dayNumbers[this.x]-o.$view.dayNumbers[e.x]),t},getDistance:function(e){var t=this.getDelta(e);return Math.sqrt(t.x*t.x+t.y*t.y)},clone:function(){var e=new f;return e.x=this.x,e.y=this.y,e}};function g(e){this.setEventType(e)}g.prototype={dayNumber:-1,weekDay:-1,start:-1,duration:-1,eventType:null,setEventType:function(e){this.eventType=e},initFromBlock:function(e){var t=-1;"monthly"===this.eventType?(this.start=0,this.duration=e.component.blocks.length*i.EventDragDayLength):(this.start=e.component.blocks[0].start,this.duration=_.sumBy(e.component.blocks,function(e){var n,a;return a=e.dayNumber,n=t<0?0:a-t-1,t=a,e.length+n*i.EventDragDayLength}))},initFromCalendar:function(e){this.dayNumber=e},getDelta:function(e){var t=new g;return t.dayNumber=this.dayNumber-e.dayNumber,t.start=this.start-e.start,t.duration=this.duration-e.duration,t},_quartersToHM:function(e){var t=15*e,n=Math.floor(t/60);n<10&&(n="0"+n);var a=t%60;return a<10&&(a="0"+a),n+":"+a},getStartTime:function(){return this._quartersToHM(this.start)},getEndTime:function(){var e=(this.start+this.duration)%i.EventDragDayLength;return this._quartersToHM(e)},clone:function(){var e=new g;return e.dayNumber=this.dayNumber,e.start=this.start,e.duration=this.duration,e}};function y(e){this.dragMode=e}y.prototype={originalCoordinates:null,currentCoordinates:null,originalViewCoordinates:null,currentViewCoordinates:null,originalEventCoordinates:null,currentEventCoordinates:null,originalCalendar:null,dragHasStarted:!1,getEventViewCoordinates:null,initFromBlock:function(e){this.currentEventCoordinates=new g(this.eventType),this.originalEventCoordinates=new g(this.eventType),this.originalEventCoordinates.initFromBlock(e)},initFromEvent:function(e){this.currentCoordinates=new f,this.updateFromEvent(e),this.originalCoordinates=this.currentCoordinates.clone()},initFromCalendar:function(e){this.originalCalendar=e,this.currentEventCoordinates.initFromCalendar(e.index),this.originalEventCoordinates.initFromCalendar(e.index)},updateFromEvent:function(t){if(this.currentCoordinates.x=t.pageX,this.currentCoordinates.y=t.pageY,this.dragHasStarted&&o.$view){var i=this.getEventViewCoordinates(o.$view);this.originalViewCoordinates||(this.originalViewCoordinates=this.getEventViewCoordinates(o.$view,this.originalCoordinates),r.$ghost.component.isNew&&(this.setTimeFromQuarters(r.$ghost.component.start,this.originalViewCoordinates.y),n.debug("new event start date "+r.$ghost.component.start))),this.currentViewCoordinates&&i&&i.x==this.currentViewCoordinates.x&&i.y==this.currentViewCoordinates.y||(this.currentViewCoordinates=i,this.originalViewCoordinates&&(i||(this.currentViewCoordinates=this.originalViewCoordinates.clone()),this.updateEventCoordinates()))}else if(this.originalCoordinates&&this.currentCoordinates&&!this.dragHasStarted){var d=this.getDistance();d>3&&(this.dragHasStarted=!0,function(t){var i,d,h,p,m,f,g,y,v;h=c.hasClass("clickableHourCell"),p="SG-CALENDAR-MONTH-DAY"==c[0].parentNode.tagName||c.hasClass("clickableDayCell"),v=u.calendarData(),s.block&&s.block.component?i=s.block:(m=u.dayString.parseDate(a.$mdDateLocaleProvider,"%Y-%m-%e"),f={type:"appointment",pid:v?v.pid:o.$defaultCalendar(),summary:l("New Event"),startDate:m,isAllDay:h?0:1},g=new r(f),(i={component:g,dayNumber:u.dayNumber,length:0}).component.blocks=[i]);d="multiday",p?d="monthly":i.component.c_isallday&&(d="multiday-allday");_.forEach(i.component.blocks,function(e){e.dragging=!0}),(y=r.$ghost.pointerHandler).prepareWithEventType(d),y.initFromBlock(i),v&&y.initFromCalendar(v);r.$ghost.component=i.component,n.debug("emit calendar:dragstart "+d),e.$emit("calendar:dragstart")}())}},updateEventCoordinates:function(){var t,a=this.currentViewCoordinates.getDelta(this.originalViewCoordinates),r=a.days*i.EventDragDayLength+a.y;n.debug("quarters delta "+r),angular.isUndefined(this.originalEventCoordinates.start)?(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[this.originalViewCoordinates.x],this.originalEventCoordinates.start=this.originalViewCoordinates.y):this.originalEventCoordinates.dayNumber<0&&(this.originalEventCoordinates.dayNumber=o.$view.dayNumbers[s.block.component.blocks[0].dayIndex]),this.currentEventCoordinates.dayNumber=this.originalEventCoordinates.dayNumber,"move-event"==this.dragMode?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=this.originalEventCoordinates.duration):"change-start"==this.dragMode?(t=this.originalEventCoordinates.duration-r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start+r,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+this.originalEventCoordinates.duration,this.currentEventCoordinates.duration=-t):"change-end"==this.dragMode&&((t=this.originalEventCoordinates.duration+r)>0?(this.currentEventCoordinates.start=this.originalEventCoordinates.start,this.currentEventCoordinates.duration=t):t<0&&(this.currentEventCoordinates.start=this.originalEventCoordinates.start+t,this.currentEventCoordinates.duration=-t));var c;this.currentEventCoordinates.start<0?(c=Math.ceil(-this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start+=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber-=c):this.currentEventCoordinates.start>=i.EventDragDayLength&&(c=Math.floor(this.currentEventCoordinates.start/i.EventDragDayLength),this.currentEventCoordinates.start-=c*i.EventDragDayLength,this.currentEventCoordinates.dayNumber+=c),n.debug("event coordinates "+JSON.stringify(this.currentEventCoordinates)),e.$emit("calendar:drag")},getContainerBasedCoordinates:function(e,t){var n=t||this.currentCoordinates,a=n.getDelta(e.coordinates),o=e.element;return(a.xo.clientWidth||a.y<0||a.y>o.clientHeight)&&(a=null),a},prepareWithEventType:function(e){var t={multiday:this.getEventMultiDayViewCoordinates,"multiday-allday":this.getEventMultiDayAllDayViewCoordinates,monthly:this.getEventMonthlyViewCoordinates,unknown:null},n=t[e];this.eventType=e,this.getEventViewCoordinates=n},getEventMultiDayViewCoordinates:function(e,t){var n=this.getEventMultiDayAllDayViewCoordinates(e,t);if(n){var a=e.quarterHeight,o=this.getContainerBasedCoordinates(e,t);o.y+=e.element.scrollTop,n.y=Math.floor((o.y-i.EventDragHorizontalOffset)/a);var r=i.EventDragDayLength-1;n.y<0?n.y=0:n.y>r&&(n.y=r)}return n},getEventMultiDayAllDayViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var i=e.dayWidth,r=e.daysOffset;n.x=Math.floor((a.x-r)/i);var s=0,c=o.$view.maxX;if("move-event"!=this.dragMode){var l=u.calendarData();l&&(s=c=l.index)}n.xc&&(n.x=c),n.y=0}else n=null;return n},getEventMonthlyViewCoordinates:function(e,t){var n,a=this.getContainerBasedCoordinates(e,t);if(a){n=new f;var o=e.maxX,i=e.dayWidth,r=e.daysOffset,s=e.dayHeight,c=Math.floor((a.y-0)/s);c<0&&(c=0),n.x=Math.floor((a.x-r)/i),n.x<0?n.x=0:n.x>o&&(n.x=o),n.x+=(o+1)*c,n.y=0}else n=null;return n},getDistance:function(){return this.currentCoordinates.getDistance(this.originalCoordinates)},setTimeFromQuarters:function(e,t){var n,a;n=Math.floor(t/4),a=t%4*15,e.setHours(n,a)}}}}}angular.module("SOGo.SchedulerUI").directive("sgDraggableCalendarBlock",e)}(),function(){"use strict";e.$inject=["$scope","$element","$timeout"];function e(e,t,n){var a,o=this,i=t.controller("sgCalendarScrollView");e.nowDay=null,e.lineElement=null,e.updateLine=function(r){var s=new Date,c=s.getDayString(),l=s.getHours(),d=4*e.quarterHeight,u=s.getMinutes(),h=e.quarterHeight/15,p=parseInt(l*d+u*h-1);(r||c!=e.nowDay)&&(e.lineElement&&e.lineElement.remove(),e.lineElement=function(e,n){var a=angular.element("");i.isMultiColumn?n&&n[0].attributes["sg-day"].value==e&&t.append(a):_.forEach(n,function(t){t.attributes["sg-day"].value==e&&angular.element(t).find("div").eq(0).append(a)});return a}(c,e.days),e.nowDay=c);e.lineElement&&(e.lineElement.css("top",p+"px"),a=n(angular.bind(o,e.updateLine),6e4))},e.$on("$destroy",function(){a&&n.cancel(a)})}angular.module("SOGo.SchedulerUI").directive("sgNowLine",function(){return{restrict:"C",require:"^^sgCalendarScrollView",link:function(e,t,n,a){function o(){return t.find("sg-calendar-day")}var i=e.$watch(function(){return a.quarterHeight},function(t){if(t){i(),e.quarterHeight=t;var n=e.$watch(o,function(t){t.length&&(n(),e.days=t,e.updateLine())})}})},controller:e}})}(); //# sourceMappingURL=Scheduler.services.js.map \ No newline at end of file diff --git a/UI/WebServerResources/js/Scheduler.services.js.map b/UI/WebServerResources/js/Scheduler.services.js.map index 4b6c1110f..80b15a17a 100644 --- a/UI/WebServerResources/js/Scheduler.services.js.map +++ b/UI/WebServerResources/js/Scheduler.services.js.map @@ -1 +1 @@ -{"version":3,"sources":["Scheduler/Calendar.service.js","Scheduler/Component.service.js","Scheduler/CalendarController.js","Scheduler/CalendarListController.js","Scheduler/CalendarsController.js","Scheduler/ComponentController.js","Scheduler/sgCalendarDay.directive.js","Scheduler/sgCalendarDayBlock.directive.js","Scheduler/sgCalendarDayTable.directive.js","Scheduler/sgCalendarGhost.directive.js","Scheduler/sgCalendarListEvent.directive.js","Scheduler/sgCalendarListItem.directive.js","Scheduler/sgCalendarMonthDay.directive.js","Scheduler/sgCalendarMonthEvent.directive.js","Scheduler/sgCalendarScrollView.directive.js","Scheduler/sgCategoryStylesheet.directive.js","Scheduler/sgDraggableCalendarBlock.directive.js","Scheduler/sgNowLine.directive.js"],"names":["Calendar","futureCalendarData","this","init","name","id","newCalendarData","$$resource","create","$unwrap","$factory","$q","$timeout","$log","Settings","Resource","Preferences","Component","Acl","angular","extend","activeUser","$Preferences","$Component","$$Acl","$view","module","e","value","EventDragDayLength","EventDragHorizontalOffset","ConflictHTTPErrorCode","factory","$defaultCalendar","calendar","defaults","SOGoDefaultCalendar","_","find","$findAll","active","$add","list","sibling","isWebCalendar","$webcalendars","isSubscription","$subscriptions","$calendars","findIndex","o","i","localeCompare","push","splice","settings","FoldersOrder","saveFoldersOrder","flatMap","$reloadAll","data","writable","_this","forEach","isUndefined","fetch","then","calendars","union","filter","isOwned","acls","objectCreator","calendarData","group","owner","login","$get","$getIndex","indexOf","map","$subscribe","uid","path","userResource","$addWebCalendar","url","d","defer","urls","webCalendarURL","reject","post","isEditable","isRemote","debug","JSON","stringify","undefined","resolve","response","status","promise","reloadWebCalendars","promises","$error","l","statusText","all","$deleteComponents","components","component","isDefined","pid","uids","saveFoldersActivation","ids","request","folders","prototype","color","$acl","isSuperUser","$shadowData","$omit","$id","when","$futureCalendarData","getClassName","base","$rename","$save","$delete","remove","$reset","key","save","error","setCredentials","username","password","export","options","type","filename","download","$setActivation","$getComponent","componentId","recurrenceId","$find","isError","isObject","futureComponentData","newComponentData","newguid","isNew","$rootScope","Component_STATUS","User","Card","Gravatar","STATUS","$settings","$User","$Card","$gravatar","timeFormat","$query","search","$queryEvents","sort","asc","filterpopup","$queryTasks","$refreshTimeout","$ghost","EventsFilterState","TasksFilterState","EventsSortingState","parseInt","TasksSortingState","show_completed","ShowCompletedTasks","$categories","SOGoCalendarCategoriesColors","SOGoTimeFormat","constant","NOT_LOADED","DELAYED_LOADING","LOADING","LOADED","DELAYED_MS","$selectedCount","count","$events","event","selected","length","$tasks","task","$startRefreshTimeout","cancel","refreshViewCheck","SOGoRefreshViewCheck","f","bind","$emit","timeInterval","$isLoading","$loaded","$filter","otherType","now","Date","day","getDate","month","getMonth","year","getFullYear","queryKey","capitalize","params","dirty","keys","$unwrapCollection","calendarId","occurrenceId","encodeURIComponent","join","filterCategories","query","re","RegExp","category","saveSelectedList","componentType","$eventsBlocksForView","view","date","firstDayOfWeek","viewAction","startDate","endDate","SOGoFirstDayOfWeek","beginOfWeek","setTime","getTime","addDays","setDate","setMonth","endOfWeek","$eventsBlocks","j","dayDates","dayNumbers","deferred","toLowerCase","sd","getDayString","ed","views","reduceComponent","associateComponent","objects","eventData","componentData","zipObject","eventsFields","start","c_startdate","hour","getHourString","blocks","block","nbr","isFirst","$views","viewIndex","viewData","allDayBlocks","reduce","events","flatten","days","dayIndex","dayNumber","calendarName","fields","invokeMap","monthData","dayData","$resetGhost","pointerHandler","startHour","endHour","$parseDate","dateString","time","substring","split","no_time","categories","repeat","alarm","action","quantity","unit","reference","relation","delta","isString","setMinutes","Math","round","getMinutes","end","minutesTo","setDelta","dueDate","due","completedDate","completed","c_category","$isRecurrent","byDayMask","occurrence","frequency","byday","toString","dates","rdate","rdates","interval","monthdays","months","until","$hasCustomRepeat","hasCustomRepeat","classification","match","exec","SOGoCalendarDefaultReminder","$hasAlarm","M","H","D","W","sendAppointmentNotifications","SOGoAppointmentSendEMailNotifications","destinationCalendar","attendees","attendee","image","email","updateFreeBusy","initOrganizer","results","organizer","cn","c_email","updateFreeBusyAttendee","isReadOnly","isEditableOccurrence","isInvitation","userHasRSVP","isInvitationOccurrence","showPercentComplete","percentComplete","enablePercentComplete","coversFreeBusy","quarter","freebusy","updateFreeBusyCoverage","roundedStart","roundedEnd","startQuarter","endQuarter","daysUpTo","index","hourKey","currentDay","dayKey","getHours","beginOfDay","addMinutes","resource","domain","sday","eday","isMSExchange","c_folder","addAttendee","card","organizerCalendar","$isList","expandable","container","c_name","listId","refs","ref","c_cn","$preferredEmail","role","partstat","c_uid","$avatarIcon","c_domain","ismsexchange","hasAttendee","emails","deleteAttendee","currentAttendee","canRemindAttendeesByEmail","addAttachUrl","attachUrl","attachUrls","deleteAttachUrl","$addDueDate","toISOString","$deleteDueDate","$addStartDate","$deleteStartDate","$addRecurrenceDate","$deleteRecurrenceDate","$reply","reply","delegatedTo","$adjust","every","values","v","extraAttributes","dlp","$mdDateLocaleProvider","format","startTime","endTime","dueTime","stringWithSeparator","occurrenceOnly","$futureComponentData","copy","repeatDescription","localizedString","toUpperCase","alarmDescription","copyTo","destination","moveTo","CalendarController","$inject","$scope","$state","$stateParams","sgHotkeys","stateEventsBlocks","deregisterCalendarsList","vm","hotkeys","expandedAllDays","selectedDate","asDate","toggleAllDays","changeDate","changeView","$onInit","createHotkey","description","callback","args","_goToPeriod","registerHotkey","_formatDate","$on","updateView","deregisterHotkey","$event","direction","setHours","$dateFormat","replace","newDate","element","currentTarget","attr","go","controller","CalendarListController","$mdDialog","focus","Dialog","CalendarSettings","Alarm","selectedList","selectComponentType","unselectComponents","mode","multiple","selectAll","searchMode","toggleComponentSelection","preventDefault","stopPropagation","confirmDeleteSelectedComponents","confirm","ok","openEvent","openComponent","openTask","newComponent","filteredBy","field","sortedBy","reload","finally","cancelSearch","SelectedList","updateComponentFromGhost","viewable","templateUrl","show","parent","document","body","targetEvent","clickOutsideToClose","escapeToClose","controllerAs","locals","stateComponent","baseComponent","coordinates","calendarNumber","activeCalendars","currentEventCoordinates","summary","isAllDay","duration","catch","getDelta","originalEventCoordinates","originalCalendar","isException","getAlarms","onComponentAdjustError","template","RecurrentComponentDialogController","updateThisOccurrence","hide","updateAllOccurrences","message","AttendeeConflictDialogController","conflictError","ignoreConflicts","CalendarsController","$window","$mdToast","service","newCalendar","ev","prompt","UserLogin","addWebCalendar","inputType","WebCalendarAuthDialogController","scope","parts","hostname","title","formatted","authenticate","form","$valid","required","reason","$setValidity","subscribeToFolder","simple","content","position","hideDelay","sortableMode","toggleSortableMode","resetSort","sortableCalendars","scrollableContainer","containment","orderChanged","accept","sourceItemHandleScope","destSortableScope","destItemScope","sortableScope","SOGoCalendarCategories","asCSSIdentifier","$watch","pick","newList","oldList","commonList","intersectionBy","oldObject","isEqual","ComponentController","AddressBook","Account","calendarService","close","highPriority","priority","cardFilter","$filterAll","newMessageWithAllRecipients","recipients","_newMessage","newMessageWithRecipient","edit","editAllOccurrences","replyAllOccurrences","deleteOccurrence","deleteAllOccurrences","toggleRawSource","ComponentRawSourceDialogController","copySelectedComponent","moveSelectedComponent","accounts","account","$getMailboxes","mailboxes","$newMessage","editable","to","subject","stateAccount","stateMessage","ComponentEditorController","oldStartDate","oldEndDate","showRecurrenceEditor","toggleRecurrenceEditor","recurrenceMonthDaysAreRequired","showAttendeesEditor","toggleAttendeesEditor","changeFrequency","changeCalendar","$cards","address","emailRE","createCard","str","searchText","trim","charCodeAt","test","charAt","removeAttendee","$setDirty","priorityLevel","reset","attendeeConflictError","attendeesEditor","getDays","hours","addStartDate","addDueDate","adjustStartTime","valueOf","adjustEndTime","adjustDueTime","$setPristine","sgCalendarDayController","dayString","directive","restrict","sgCalendarDayBlock","clickBlock","tElem","tAttrs","p","has","link","iElement","attrs","pc","left","right","siblings","css","c_isallday","addClass","userState","c_isopaque","c_status","sgCalendarGhost","require","ctrls","domElement","calendarDayCtrl","scrollViewCtrl","originalCalendarNumber","deregisterDragStart","deregisterDrag","showGhost","isRelative","durationLeft","maxDuration","quartersToHM","quarterHeight","topOffset","removeClass","deregisterDragEnd","forEachRight","classList","c","quarters","minutes","mins","floor","sgCalendarListEvent","clickComponent","userstate","sgCalendarListItemController","$element","$mdPanel","$mdMedia","$mdSidenav","sgConstant","$ctrl","editMode","$postLink","clickableElement","nameElements","getElementsByClassName","inputContainer","inputElement","moreOptionsButton","last","updateCalendarName","innerHTML","editFolder","add","select","saveFolder","disabled","revertEditing","confirmDelete","alert","showMenu","panelPosition","newPanelPosition","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","panelAnimation","newPanelAnimation","openFrom","withAnimation","animation","FADE","config","attachTo","itemCtrl","bindToController","MenuController","trapFocus","focusOnOpen","open","panelRef","panelEl","one","mdPanelRef","FileUploader","$menuCtrl","showOnly","showAll","showProperties","PropertiesDialogController","srcCalendar","saveProperties","showLinks","LinksDialogController","importCalendar","CalendarImportDialogController","folder","uploader","ApplicationBaseURL","autoUpload","queueLimit","filters","filterByExtension","fn","onSuccessItem","item","headers","msg","imported","onErrorItem","isTextFile","share","$users","usersWithACL","users","sgCalendarScrollView","$document","$mdGesture","sgCalendarScrollViewController","isMultiColumn","sgScrollView","hourCell","quartersOffset","SOGoDayStartTime","getElementById","scrollTop","offsetTop","$destroy","getQuarterHeight","scrollStep","getDayNumbers","maxX","getMaxColumns","onDragStart","deregisterDragStop","onDragEnd","bindedUpdateCoordinates","updateCoordinates","bindedUpdateFromPointerHandler","updateFromPointerHandler","on","off","hour0","hour23","height","getDayDimensions","viewLeft","width","leftOffset","nodes","domRect","tileHeader","getBoundingClientRect","clientHeight","offset","top","getElementsByTagName","el","attributes","mdGridList","max","dayDimensions","x","y","dayHeight","dayWidth","daysOffset","pointerCoordinates","scrollY","minY","getContainerBasedCoordinates","lastScroll","ngModel","sgDraggableCalendarBlock","blockIndex","isFirstBlock","isLastBlock","dragGrip","leftGrip","rightGrip","topGrip","bottomGrip","parentNode","tagName","append","clone","initGrips","onDragDetect","onDrag","dragMode","rect","scrollableZone","target","scrollHeight","pageX","className","SOGoEventDragPointerHandler","initFromEvent","updateFromEvent","pointer","dragHasStarted","b","dragging","SOGoCoordinates","otherCoordinates","getDistance","sqrt","SOGoEventDragEventCoordinates","eventType","setEventType","weekDay","initFromBlock","prevDayNumber","sumBy","currentDayNumber","initFromCalendar","_quartersToHM","getStartTime","getEndTime","originalCoordinates","currentCoordinates","originalViewCoordinates","currentViewCoordinates","getEventViewCoordinates","pageY","newEventCoordinates","setTimeFromQuarters","updateEventCoordinates","distance","isHourCell","isMonthly","newData","hasClass","parseDate","prepareWithEventType","dragStart","newDuration","deltaQuarters","deltaDays","ceil","clientWidth","methods","multiday","getEventMultiDayViewCoordinates","multiday-allday","getEventMultiDayAllDayViewCoordinates","monthly","getEventMonthlyViewCoordinates","unknown","method","pxCoordinates","maxY","minX","daysY","sgNowLineController","updater","nowDay","lineElement","updateLine","force","hourHeight","minuteHeight","$lineElement","dayElement","eq","_addLine","iAttr","sgCalendarScrollViewCtrl","_getDays","_unwatchView","_unwatchDays"],"mappings":"CAEA,WACE,aAOA,SAASA,EAASC,GAGhB,GADAC,KAAKC,KAAKF,GACNC,KAAKE,OAASF,KAAKG,GAAI,CAEzB,IAAIC,EAAkBN,EAASO,WAAWC,OAAO,eAAgBN,KAAKE,MACtEF,KAAKO,QAAQH,IASjBN,EAASU,UAAY,KAAM,WAAY,OAAQ,aAAc,WAAY,cAAe,YAAa,MAAO,SAASC,EAAIC,EAAUC,EAAMC,EAAUC,EAAUC,EAAaC,EAAWC,GAanL,OAZAC,QAAQC,OAAOpB,GACbW,GAAIA,EACJC,SAAUA,EACVC,KAAMA,EACNN,WAAY,IAAIQ,EAASD,EAASO,WAAW,aAAe,WAAYP,EAASO,cACjFC,aAAcN,EACdO,WAAYN,EACZO,MAAON,EACPG,WAAYP,EAASO,aACrBI,MAAO,OAGFzB,IAOT,IACEmB,QAAQO,OAAO,oBAEjB,MAAMC,GACJR,QAAQO,OAAO,oBAAqB,gBAEtCP,QAAQO,OAAO,oBACZE,MAAM,oBACLC,mBAA6B,GAC7BC,0BAA6B,EAC7BC,sBAA6B,MAE9BC,QAAQ,WAAYhC,EAASU,UAOhCV,EAASiC,iBAAmB,WAC1B,IACIC,EAEJ,MAAuB,SAHDlC,EAASsB,aAAaa,SAASC,sBAInDF,EAAWG,EAAEC,KAAKtC,EAASuC,SAAS,MAAM,GAAO,SAASL,GACxD,OAAOA,EAASM,UAGTN,EAAS7B,GAGb,YAQTL,EAASyC,KAAO,SAASP,GAEvB,IAAIQ,EAAMC,EAGRD,EADER,EAASU,cACJ1C,KAAK2C,cACLX,EAASY,eACT5C,KAAK6C,eAEL7C,KAAK8C,YAEdL,EAAUN,EAAEY,UAAUP,EAAM,SAASQ,EAAGC,GACtC,MAAuB,YAAfjB,EAAS7B,IACA,YAAR6C,EAAE7C,IAAoB6C,EAAE9C,KAAKgD,cAAclB,EAAS9B,MAAQ,KAEzD,EACZsC,EAAKW,KAAKnB,GAEVQ,EAAKY,OAAOX,EAAS,EAAGT,GAEtBlC,EAASsB,aAAaiC,SAASvD,SAASwD,cAE1CxD,EAASyD,iBAAiBpB,EAAEqB,QAAQ1D,EAASuC,WAAY,OAE3DvC,EAAS2D,cAUX3D,EAASuC,SAAW,SAASqB,EAAMC,GACjC,IAAIC,EAAQ5D,KACZ,GAAI0D,EACF1D,KAAK8C,cACL9C,KAAK6C,kBACL7C,KAAK2C,iBAEL1B,QAAQ4C,QAAQH,EAAM,SAASV,EAAGC,GAChC,IAAIjB,EAAW,IAAIlC,EAASkD,GACxBhB,EAASU,cACXkB,EAAMjB,cAAcQ,KAAKnB,GAClBA,EAASY,eAChBgB,EAAMf,eAAeM,KAAKnB,GAE1B4B,EAAMd,WAAWK,KAAKnB,UAGvB,GAAIf,QAAQ6C,YAAY9D,KAAK8C,YAIhC,OAHA9C,KAAK8C,cACL9C,KAAK6C,kBACL7C,KAAK2C,iBACE7C,EAASO,WAAW0D,MAAM,iBAAiBC,KAAK,SAASN,GAC9D,OAAO5D,EAASuC,SAASqB,EAAKO,UAAWN,KAI7C,OAAIA,EACKxB,EAAE+B,MAAMlE,KAAK8C,WAAYX,EAAEgC,OAAOnE,KAAK6C,eAAgB,SAASb,GACrE,OAAOA,EAASoC,SAAWpC,EAASqC,KAAKC,iBAItCnC,EAAE+B,MAAMlE,KAAK8C,WAAY9C,KAAK6C,eAAgB7C,KAAK2C,gBAO5D7C,EAAS2D,WAAa,WACpB,IAAIG,EAAQ5D,KAEZF,EAASO,WAAW0D,MAAM,iBAAiBC,KAAK,SAASN,GACvDvB,EAAE0B,QAAQH,EAAKO,UAAW,SAASM,GACjC,IAAIC,EAAOxC,EAGTwC,EADED,EAAa7B,cACPkB,EAAMjB,cACP4B,EAAaE,OAAS3E,EAASqB,WAAWuD,MACzCd,EAAMf,eAENe,EAAMd,YAEhBd,EAAWG,EAAEC,KAAKoC,EAAO,SAASxB,GAAK,OAAOA,EAAE7C,IAAMoE,EAAapE,OAEjE6B,EAAS/B,KAAKsE,QAWtBzE,EAAS6E,KAAO,SAASxE,GACvB,IAAI6B,EAQJ,OANAA,EAAWG,EAAEC,KAAKtC,EAASgD,WAAY,SAASE,GAAK,OAAOA,EAAE7C,IAAMA,OAElE6B,EAAWG,EAAEC,KAAKtC,EAAS+C,eAAgB,SAASG,GAAK,OAAOA,EAAE7C,IAAMA,KACrE6B,IACHA,EAAWG,EAAEC,KAAKtC,EAAS6C,cAAe,SAASK,GAAK,OAAOA,EAAE7C,IAAMA,KAElE6B,GASTlC,EAAS8E,UAAY,SAASzE,GAC5B,IAAI8C,EAQJ,OANAA,EAAId,EAAE0C,QAAQ1C,EAAE2C,IAAIhF,EAASgD,WAAY,MAAO3C,IACxC,IACN8C,EAAId,EAAE0C,QAAQ1C,EAAE2C,IAAIhF,EAAS+C,eAAgB,MAAO1C,IAClD8C,EAAI,IACNA,EAAId,EAAE0C,QAAQ1C,EAAE2C,IAAIhF,EAAS6C,cAAe,MAAOxC,IAE9C8C,GAUTnD,EAASiF,WAAa,SAASC,EAAKC,GAClC,IAAIrB,EAAQ5D,KACZ,OAAOF,EAASO,WAAW6E,aAAaF,GAAKjB,MAAMkB,EAAM,aAAajB,KAAK,SAASO,GAClF,IAAIvC,EAAW,IAAIlC,EAASmB,QAAQC,QAASoB,OAAQ,GAAKiC,IAM1D,OALKpC,EAAEC,KAAKwB,EAAMf,eAAgB,SAASG,GACzC,OAAOA,EAAE7C,IAAMoE,EAAapE,MAE5BL,EAASyC,KAAKP,GAETA,KAUXlC,EAASqF,gBAAkB,SAASC,GAClC,IACIC,EAAIvF,EAASW,GAAG6E,QAmCpB,OAjCInD,EAAEC,KAHMpC,KAGK2C,cAAe,SAASK,GACrC,OAAOA,EAAEuC,KAAKC,gBAAkBJ,IAGlCC,EAAEI,SAGF3F,EAASO,WAAWqF,KAAK,KAAM,kBAAoBN,IAAKA,IAAOpB,KAAK,SAASO,GAC3EtD,QAAQC,OAAOqD,GACb7B,eAAe,EACfiD,YAAY,EACZC,UAAU,EACVnB,MAAO3E,EAASqB,WAAWuD,MAC3Ba,MAAQC,eAAgBJ,KAE1B,IAAIpD,EAAW,IAAIlC,EAASyE,GAC5BzE,EAASO,WAAW0D,MAAM/B,EAAS7B,GAAI,UAAU6D,KAAK,SAASN,GAE7D5D,EAASa,KAAKkF,MAAMC,KAAKC,UAAUrC,OAAMsC,EAAW,IACpDlG,EAASyC,KAAKP,GACdqD,EAAEY,WACD,SAASC,GACa,KAAnBA,EAASC,OAEXd,EAAEY,QAAQjE,GAGVqD,EAAEI,YAGLJ,EAAEI,QAGAJ,EAAEe,SASXtG,EAASuG,mBAAqB,WAC5B,IAAIC,KAYJ,OAVAnE,EAAE0B,QAAQ7D,KAAK2C,cAAe,SAASX,GACrC,IAAIoE,EAAUtG,EAASO,WAAW0D,MAAM/B,EAAS7B,GAAI,UACrDiG,EAAQpC,KAAK,SAASN,GACpB1B,EAASuE,QAAS,GACjB,SAASL,GACVlE,EAASuE,OAASC,EAAEN,EAASO,cAE/BH,EAASnD,KAAKiD,KAGTtG,EAASW,GAAGiG,IAAIJ,IASzBxG,EAAS6G,kBAAoB,SAASC,GACpC,IAAkB3C,KAAgBqC,KAYlC,OAVAnE,EAAE0B,QAAQ+C,EAAY,SAASC,GACxB5F,QAAQ6F,UAAU7C,EAAU4C,EAAUE,QACzC9C,EAAU4C,EAAUE,SACtB9C,EAAU4C,EAAUE,KAAK5D,KAAK0D,EAAU1G,MAG1CgC,EAAE0B,QAAQI,EAAW,SAAS+C,EAAMD,GAClCT,EAASnD,KAAKrD,EAASO,WAAWqF,KAAKqB,EAAK,eAAgBC,KAAMA,OAG7DlH,EAASW,GAAGiG,IAAIJ,IAUzBxG,EAASmH,sBAAwB,SAASC,GACxC,IAAIC,KAOJ,OALAhF,EAAE0B,QAAQqD,EAAK,SAAS/G,GACtB,IAAI6B,EAAWlC,EAAS6E,KAAKxE,GAC7BgH,EAAQnF,EAAS7B,IAAM6B,EAASM,SAG3BxC,EAASO,WAAWqF,KAAK,KAAM,wBAAyByB,IASjErH,EAASyD,iBAAmB,SAAS6D,GACnC,OAAOpH,KAAKK,WAAWqF,KAAK,KAAM,oBAAsB0B,QAASA,IAAWpD,KAAK,WAE/E,GADAlE,EAASsB,aAAaiC,SAASvD,SAASwD,aAAe8D,GAClDA,EAEH,OAAOtH,EAASO,WAAW0D,MAAM,iBAAiBC,KAAK,SAASN,GAC9D,OAAO5D,EAASuC,SAASqB,EAAKO,gBAWtCnE,EAASuH,UAAUpH,KAAO,SAASyD,GACjC1D,KAAKsH,MAAQtH,KAAKsH,OAAS,UAC3BtH,KAAKsC,OAAS,EACdrB,QAAQC,OAAOlB,KAAM0D,GACjB1D,KAAKG,KACPH,KAAKuH,KAAO,IAAIzH,EAASwB,MAAM,YAActB,KAAKG,KAGpDH,KAAKoE,QAAUtE,EAASqB,WAAWqG,aAAexH,KAAKyE,OAAS3E,EAASqB,WAAWuD,MACpF1E,KAAK4C,gBAAkB5C,KAAK4F,UAAY5F,KAAKyE,OAAS3E,EAASqB,WAAWuD,MACtEzD,QAAQ6C,YAAY9D,KAAKyH,eAE3BzH,KAAKyH,YAAczH,KAAK0H,UAU5B5H,EAASuH,UAAUM,IAAM,WACvB,OAAI3H,KAAKG,GAEAL,EAASW,GAAGmH,KAAK5H,KAAKG,IAItBH,KAAK6H,oBAAoB7D,KAAK,SAAShC,GAC5C,OAAOA,EAAS7B,MAWtBL,EAASuH,UAAUS,aAAe,SAASC,GAGzC,OAFI9G,QAAQ6C,YAAYiE,KACtBA,EAAO,MACFA,EAAO,UAAY/H,KAAKG,IAUjCL,EAASuH,UAAUW,QAAU,WAC3B,IACI/E,EACAgB,EAFAL,EAAQ5D,KAIZ,OAAIA,KAAKE,MAAQF,KAAKyH,YAAYvH,KAEzBJ,EAASW,GAAGmH,QAInB3D,EADEjE,KAAK0C,cACK5C,EAAS6C,cACd3C,KAAK4C,eACA9C,EAAS+C,eAET/C,EAASgD,YAEvBG,EAAId,EAAE0C,QAAQ1C,EAAE2C,IAAIb,EAAW,MAAOjE,KAAKG,MAClC,EACAH,KAAKiI,QAAQjE,KAAK,WACvBC,EAAUb,OAAOH,EAAG,GACpBnD,EAASyC,KAAKqB,KAIT9D,EAASW,GAAGgF,WAUvB3F,EAASuH,UAAUa,QAAU,WAC3B,IACI1F,EACA4D,EAFAxC,EAAQ5D,KAgBZ,OAZIA,KAAK4C,gBACPwD,EAAUtG,EAASO,WAAW0D,MAAM/D,KAAKG,GAAI,eAC7CqC,EAAO1C,EAAS+C,iBAGhBuD,EAAUtG,EAASO,WAAW8H,OAAOnI,KAAKG,IAExCqC,EADExC,KAAK0C,cACA5C,EAAS6C,cAET7C,EAASgD,YAGbsD,EAAQpC,KAAK,WAClB,IAAIf,EAAId,EAAE0C,QAAQ1C,EAAE2C,IAAItC,EAAM,MAAOoB,EAAMzD,IAC3CqC,EAAKY,OAAOH,EAAG,MASnBnD,EAASuH,UAAUe,OAAS,WAC1B,IAAIxE,EAAQ5D,KACZiB,QAAQ4C,QAAQ7D,KAAM,SAAS0B,EAAO2G,GACzB,eAAPA,GAAkC,KAAVA,EAAI,WACvBzE,EAAMyE,KAGjBpH,QAAQC,OAAOlB,KAAMA,KAAKyH,aAC1BzH,KAAKyH,YAAczH,KAAK0H,SAS1B5H,EAASuH,UAAUY,MAAQ,WACzB,IAAIrE,EAAQ5D,KAEZ,OAAOF,EAASO,WAAWiI,KAAKtI,KAAKG,GAAIH,KAAK0H,SAAS1D,KAAK,SAASN,GAGnE,OADAE,EAAM6D,YAAc7D,EAAM8D,QACnBhE,GACN,SAASA,GAIV,OAHA5D,EAASa,KAAK4H,MAAMzC,KAAKC,UAAUrC,OAAMsC,EAAW,IAEpDpC,EAAMwE,SACC1E,KAUX5D,EAASuH,UAAUmB,eAAiB,SAASC,EAAUC,GACrD,IAAI9E,EAAQ5D,KACRqF,EAAIvF,EAASW,GAAG6E,QAiBpB,OAfAxF,EAASO,WAAWqF,KAAK1F,KAAKG,GAAI,mBAAqBsI,SAAUA,EAAUC,SAAUA,IAAY1E,KAAK,WACpGlE,EAASO,WAAW0D,MAAMH,EAAMzD,GAAI,UAAU6D,KAAK,SAASN,GAC1D5D,EAASyC,KAAKqB,GACdyB,EAAEY,WACD,SAASC,GACa,KAAnBA,EAASC,OAEXd,EAAEI,OAAOe,EAAE,+BAGXnB,EAAEI,OAAOS,EAASO,eAGrBpB,EAAEI,QAEEJ,EAAEe,SASXtG,EAASuH,UAAUsB,OAAS,WAC1B,IAAIC,EAOJ,OALAA,GACEC,KAAM,2BACNC,SAAU9I,KAAKE,KAAO,QAGjBJ,EAASO,WAAW0I,SAAS/I,KAAKG,GAAK,OAAQ,SAAU,KAAMyI,IASxE9I,EAASuH,UAAU2B,eAAiB,WAClC,OAAOlJ,EAASO,WAAW0D,MAAM/D,KAAKG,IAAKH,KAAKsC,OAAO,GAAG,MAAQ,mBASpExC,EAASuH,UAAU4B,cAAgB,SAASC,EAAaC,GACvD,OAAOrJ,EAASuB,WAAW+H,MAAMpJ,KAAKG,GAAI+I,EAAaC,IASzDrJ,EAASuH,UAAU9G,QAAU,SAASR,GACpC,IAAI6D,EAAQ5D,KAGZA,KAAK6H,oBAAsB9H,EAAmBiE,KAAK,SAASN,GAC1D,OAAO5D,EAASY,SAAS,WAGvB,OADAkD,EAAM3D,KAAKyD,GACJE,KAER,SAASF,GACVE,EAAMyF,SAAU,EACZpI,QAAQqI,SAAS5F,IACnB5D,EAASY,SAAS,WAChBO,QAAQC,OAAO0C,EAAOF,QAY9B5D,EAASuH,UAAUK,MAAQ,WACzB,IAAI1F,KAOJ,OANAf,QAAQ4C,QAAQ7D,KAAM,SAAS0B,EAAO2G,GACzB,eAAPA,GACU,KAAVA,EAAI,KACNrG,EAASqG,GAAO3G,KAGbM,GAzmBX,GCAA,WACE,aAOA,SAASjB,EAAUwI,GAEjB,GAAwC,mBAA7BA,EAAoBvF,MAE7B,GADAhE,KAAKC,KAAKsJ,GACNvJ,KAAK+G,MAAQ/G,KAAKG,GAAI,CAGxB,IAAIqJ,EAAmBzI,EAAUV,WAAWoJ,QAAQzJ,KAAK+G,KACzD/G,KAAKO,QAAQiJ,GACbxJ,KAAK0J,OAAQ,QAKf1J,KAAKO,QAAQgJ,GASjBxI,EAAUP,UAAY,KAAM,WAAY,OAAQ,aAAc,aAAc,qBAAsB,cAAe,OAAQ,OAAQ,WAAY,WAAY,SAASC,EAAIC,EAAUC,EAAMgJ,EAAY/I,EAAUgJ,EAAkB9I,EAAa+I,EAAMC,EAAMC,EAAUlJ,GA4C/P,OA3CAI,QAAQC,OAAOH,GACbiJ,OAAQJ,EACRnJ,GAAIA,EACJC,SAAUA,EACVC,KAAMA,EACNgJ,WAAYA,EACZM,UAAWrJ,EACXsJ,MAAOL,EACPzI,aAAcN,EACdqJ,MAAOL,EACPM,UAAWL,EACX1J,WAAY,IAAIQ,EAASD,EAASO,WAAW,aAAe,WAAYP,EAASO,cACjFkJ,WAAY,QAEZC,QAAU5I,MAAO,GAAI6I,OAAQ,2BAE7BC,cAAgBC,KAAM,QAASC,IAAK,EAAGC,YAAa,cAEpDC,aAAeH,KAAM,SAAUC,IAAK,EAAGC,YAAa,mBACpDE,gBAAiB,KACjBC,YAGEhK,EAAYuC,SAASvD,SAASiL,oBAChChK,EAAUyJ,aAAaG,YAAc7J,EAAYuC,SAASvD,SAASiL,mBACjEjK,EAAYuC,SAASvD,SAASkL,mBAChCjK,EAAU6J,YAAYD,YAAc7J,EAAYuC,SAASvD,SAASkL,kBAChElK,EAAYuC,SAASvD,SAASmL,qBAChClK,EAAUyJ,aAAaC,KAAO3J,EAAYuC,SAASvD,SAASmL,mBAAmB,GAC/ElK,EAAUyJ,aAAaE,IAAMQ,SAASpK,EAAYuC,SAASvD,SAASmL,mBAAmB,KAErFnK,EAAYuC,SAASvD,SAASqL,oBAChCpK,EAAU6J,YAAYH,KAAO3J,EAAYuC,SAASvD,SAASqL,kBAAkB,GAC7EpK,EAAU6J,YAAYF,IAAMQ,SAASpK,EAAYuC,SAASvD,SAASqL,kBAAkB,KAEvFpK,EAAU6J,YAAYQ,eAAiBF,SAASpK,EAAYuC,SAASgI,oBAErEtK,EAAUuK,YAAcxK,EAAYmB,SAASsJ,6BAEzCzK,EAAYmB,SAASuJ,iBACvBzK,EAAUsJ,WAAavJ,EAAYmB,SAASuJ,gBAGvCzK,IAOT,IACEE,QAAQO,OAAO,oBAEjB,MAAMC,GACJR,QAAQO,OAAO,oBAAqB,gBAEtCP,QAAQO,OAAO,oBACZiK,SAAS,sBACRC,WAAiB,EACjBC,gBAAiB,EACjBC,QAAiB,EACjBC,OAAiB,EACjBC,WAAiB,MAElBhK,QAAQ,YAAaf,EAAUP,UAQlCO,EAAUgL,eAAiB,WACzB,IAAIC,EASJ,OAPAA,EAAQ,EACJjL,EAAUkL,UACZD,GAAU7J,EAAEgC,OAAOpD,EAAUkL,QAAS,SAASC,GAAS,OAAOA,EAAMC,WAAcC,QAEjFrL,EAAUsL,SACZL,GAAU7J,EAAEgC,OAAOpD,EAAUsL,OAAQ,SAASC,GAAQ,OAAOA,EAAKH,WAAcC,QAE3EJ,GASTjL,EAAUwL,qBAAuB,SAAS1D,GACpC9H,EAAU8J,iBACZ9J,EAAUL,SAAS8L,OAAOzL,EAAU8J,iBAGtC,IAAI4B,EAAmB1L,EAAUK,aAAaa,SAASyK,qBACvD,GAAID,GAAwC,YAApBA,EAAgC,CACtD,IAAIE,EAAI1L,QAAQ2L,KAAK7L,EAAU4I,WAAY5I,EAAU4I,WAAWkD,MAAO,kBACvE9L,EAAU8J,gBAAkB9J,EAAUL,SAASiM,EAAmC,IAAhCF,EAAiBK,kBAUvE/L,EAAUgM,WAAa,WACrB,OAAOhM,EAAUiM,SAAWjM,EAAUiJ,OAAO4B,SAW/C7K,EAAUkM,QAAU,SAASpE,EAAMD,GACjC,IASIW,EAEA2D,EAXAtJ,EAAQ5D,KACRmN,EAAM,IAAIC,KACVC,EAAMF,EAAIG,UACVC,EAAQJ,EAAIK,WAAa,EACzBC,EAAON,EAAIO,cACXC,EAAW,SAAW9E,EAAK+E,aAC3BC,GACER,IAAUI,GAAQF,EAAQ,GAAG,IAAI,IAAMA,GAASF,EAAM,GAAG,IAAI,IAAMA,GAGrES,GAAQ,EAgCZ,OA7BA/M,EAAUwL,qBAAqB1D,GAE/B5H,QAAQC,OAAOlB,KAAKsK,OAAQuD,GAExBjF,GACFzG,EAAE0B,QAAQ1B,EAAE4L,KAAKnF,GAAU,SAASP,GAElCyF,GAAUlK,EAAM0G,OAAOjC,IAAQO,EAAQP,IAAQtH,EAAUuJ,OAAOjC,GACrD,UAAPA,GAAmBO,EAAQP,GAC7ByF,GAAQ,EAED7M,QAAQ6F,UAAUlD,EAAM0G,OAAOjC,IACtCzE,EAAM0G,OAAOjC,GAAOO,EAAQP,GAE5BzE,EAAM+J,GAAUtF,GAAOO,EAAQP,KAKrCkB,EAAsBvJ,KAAKK,WAAW0D,MAAM,KAAM8E,EAAO,OACb5H,QAAQC,OAAOlB,KAAK2N,GAAW3N,KAAKsK,SAG5EwD,WAEK/M,EADPmM,EAAqB,SAARrE,EAAkB,UAAY,UAE3C9H,EAAUJ,KAAKkF,MAAM,mBAAqBqH,IAGrClN,KAAKgO,kBAAkBnF,EAAMU,IAWtCxI,EAAUqI,MAAQ,SAAS6E,EAAY/E,EAAagF,GAClD,IAAyBjJ,GAAQgJ,EAAYE,mBAAmBjF,IAOhE,OALIgF,GACFjJ,EAAK9B,KAAK+K,GAIL,IAAInN,EAFWf,KAAKK,WAAW0D,MAAMkB,EAAKmJ,KAAK,KAAM,UAW9DrN,EAAUsN,iBAAmB,SAASC,GACpC,IAAIC,EAAK,IAAIC,OAAOF,EAAO,KAC3B,OAAOnM,EAAEgC,OAAOhC,EAAE4L,KAAKhN,EAAUuK,aAAc,SAASmD,GACtD,OAA+B,GAAxBA,EAASlE,OAAOgE,MAU3BxN,EAAU2N,iBAAmB,SAASC,GACpC,OAAO3O,KAAKK,WAAWqF,KAAK,KAAM,oBAAsBlD,KAAMmM,EAAgB,cAUhF5N,EAAU6N,qBAAuB,SAASC,EAAMC,GAC9C,IAAIC,EAAgBC,EAAYC,EAAWC,EA6B3C,OA3BAH,EAAiBhO,EAAUK,aAAaa,SAASkN,mBACrC,OAARN,GACFG,EAAa,UACbC,EAAYC,EAAUJ,GAEP,kBAARD,GACPG,EAAa,qBACbC,EAAYC,EAAUJ,GAEP,QAARD,GACPG,EAAa,WACbC,EAAYH,EAAKM,YAAYL,IAC7BG,EAAU,IAAI9B,MACNiC,QAAQJ,EAAUK,WAC1BJ,EAAQK,QAAQ,IAED,SAARV,IACPG,EAAa,aACbC,EAAYH,GACFU,QAAQ,GAClBP,EAAYA,EAAUG,YAAYL,IAClCG,EAAU,IAAI9B,MACNiC,QAAQP,EAAKQ,WACrBJ,EAAQO,SAASP,EAAQ1B,WAAa,GACtC0B,EAAQK,SAAS,GACjBL,EAAUA,EAAQQ,UAAUX,IAEvB/O,KAAK2P,cAAcX,EAAYC,EAAWC,IAWnDnO,EAAU4O,cAAgB,SAASd,EAAMI,EAAWC,GAClD,IAAIrB,EAA6B5K,EAAG2M,EAAGC,KAAeC,KAClDC,EAAWhP,EAAUN,GAAG6E,QAmG5B,OAjGAuI,GAAWgB,KAAMA,EAAKmB,cAAeC,GAAIhB,EAAUiB,eAAgBC,GAAIjB,EAAQgB,gBACzDlQ,KAAKK,WAAW0D,MAAM,KAAM,eAAgB8J,GAC9C7J,KAAK,SAASoM,GAChC,IAAIC,EAAiBC,EAErBD,EAAkB,SAASE,EAASC,EAAWvN,GAC7C,IAEI4D,EAFA4J,EAAgBtO,EAAEuO,UAAU1Q,KAAK2Q,aAAcH,GAC/CI,EAAQ,IAAIxD,KAAiC,IAA5BqD,EAAcI,aAMnC,OAJAJ,EAAcK,KAAOF,EAAMG,gBAC3BN,EAAcO,UACdnK,EAAY,IAAI9F,EAAU0P,GAC1BF,EAAQpN,KAAK0D,GACN0J,GAGTD,EAAqB,SAASW,GAC5BjR,KAAKiR,EAAMC,KAAKF,OAAO7N,KAAK8N,GAC5BA,EAAMpK,UAAY7G,KAAKiR,EAAMC,KAC7BD,EAAME,QAA4C,GAAjCnR,KAAKiR,EAAMC,KAAKF,OAAO5E,QAG1CrL,EAAUqQ,UACVrQ,EAAUL,SAAS,WACjByB,EAAE0B,QAAQuM,EAAO,SAAS1M,EAAM2N,GAC9B,IAAqDC,EAAjD1K,KAAiBoK,KAAaO,KAwBlC,IArBA7N,EAAKiN,aAAavN,OAAOjB,EAAE0C,QAAQnB,EAAKiN,aAAc,YAAoB,EAAG,OAC7EjN,EAAKiN,aAAavN,OAAOjB,EAAE0C,QAAQnB,EAAKiN,aAAc,UAAoB,EAAG,MAC7EjN,EAAKiN,aAAavN,OAAOjB,EAAE0C,QAAQnB,EAAKiN,aAAc,mBAAoB,EAAG,gBAC7EjN,EAAKiN,aAAavN,OAAOjB,EAAE0C,QAAQnB,EAAKiN,aAAc,WAAoB,EAAG,WAG7ExO,EAAEqP,OAAO9N,EAAK+N,OAAQtP,EAAEyK,KAAKyD,EAAiB3M,GAAOkD,GAGrDzE,EAAE0B,QAAQ1B,EAAEuP,QAAQhO,EAAKsN,QAAS7O,EAAEyK,KAAK0D,EAAoB1J,IAG7DzE,EAAE0B,QAAQ1B,EAAEuP,QAAQhO,EAAK6N,cAAepP,EAAEyK,KAAK0D,EAAoB1J,IAG3C,IAApBiJ,EAASzD,SACXyD,EAAW1N,EAAEqB,QAAQE,EAAKiO,KAAM,QAChC7B,EAAa3N,EAAEqB,QAAQE,EAAKiO,KAAM,WAI/B1O,EAAI,EAAGA,EAAIS,EAAKsN,OAAO5E,OAAQnJ,IAAK,CACvC,IAAK2M,EAAI,EAAGA,EAAIlM,EAAKsN,OAAO/N,GAAGmJ,OAAQwD,IACrClM,EAAKsN,OAAO/N,GAAG2M,GAAGgC,SAAW3O,EAAKoO,EAAY3N,EAAKsN,OAAO5E,OAC1D1I,EAAKsN,OAAO/N,GAAG2M,GAAGiC,UAAY/B,EAAW7M,GAE3C+N,EAAOnB,EAAS5M,IAAMS,EAAKsN,OAAO/N,GAIpC,IAAKA,EAAI,EAAGA,EAAIS,EAAK6N,aAAanF,OAAQnJ,IAAK,CAC7C,IAAK2M,EAAI,EAAGA,EAAIlM,EAAK6N,aAAatO,GAAGmJ,OAAQwD,IAC3ClM,EAAK6N,aAAatO,GAAG2M,GAAGgC,SAAW3O,EAAKoO,EAAY3N,EAAK6N,aAAanF,OACtE1I,EAAK6N,aAAatO,GAAG2M,GAAGiC,UAAY/B,EAAW7M,GAEjDsO,EAAa1B,EAAS5M,IAAMS,EAAK6N,aAAatO,GAiBhDlC,EAAUJ,KAAKkF,MAAM,iBAAmB1D,EAAEuP,QAAQhO,EAAKsN,QAAQ5E,OAAS,KACxErL,EAAUJ,KAAKkF,MAAM,yBAA2B1D,EAAEuP,QAAQhO,EAAK6N,cAAcnF,OAAS,KAGtFkF,GAAaN,OAAQA,EAAQO,aAAcA,GACvC7N,EAAKvD,IAAMuD,EAAKoO,eAElBR,EAASnR,GAAKuD,EAAKvD,GACnBmR,EAASQ,aAAepO,EAAKoO,cAE/B/Q,EAAUqQ,OAAOjO,KAAKmO,KAGxBvB,EAAS9J,QAAQlF,EAAUqQ,WAE5BrB,EAAStK,QAELsK,EAAS3J,SAUlBrF,EAAUiN,kBAAoB,SAASnF,EAAMU,GAC3C,IACI3C,KASJ,OANA7F,EAAUiM,QAAUjM,EAAUiJ,OAAO2B,gBACrC5K,EAAUL,SAAS,WACbK,EAAUiM,SAAWjM,EAAUiJ,OAAO6B,SACxC9K,EAAUiM,QAAUjM,EAAUiJ,OAAO4B,UACtC7K,EAAUiJ,OAAO8B,YAEbvC,EAAoBvF,KAAK,SAASN,GACvC,OAAO3C,EAAUL,SAAS,WACxB,IAAIqR,EAAS5P,EAAE6P,UAAUtO,EAAKqO,OAAQ,eAmCtC,OAlCEA,EAAO3O,OAAOjB,EAAE0C,QAAQkN,EAAQ,YAAa,EAAG,OAChDA,EAAO3O,OAAOjB,EAAE0C,QAAQkN,EAAQ,UAAW,EAAG,MAC9CA,EAAO3O,OAAOjB,EAAE0C,QAAQkN,EAAQ,mBAAoB,EAAG,gBAI7C,UAARlJ,GACF1G,EAAE0B,QAAQH,EAAKmF,GAAO,SAASoJ,EAAW1E,GACxCpL,EAAE0B,QAAQoO,EAAUN,KAAM,SAASO,EAAS7E,GAC1ClL,EAAE0B,QAAQqO,EAAQT,OAAQ,SAAShB,EAAexN,GAChD,IAA+C4D,EAC/CA,EAAY,IAAI9F,EADLoB,EAAEuO,UAAUqB,EAAQtB,IAE/ByB,EAAQT,OAAOxO,GAAK4D,QAI1BD,EAAalD,EAAKmF,IAEH,SAARA,GACP1G,EAAEqP,OAAO9N,EAAKmF,GAAO,SAASjC,EAAY6J,EAAexN,GACvD,IAA+C4D,EAG/C,OAFAA,EAAY,IAAI9F,EADLoB,EAAEuO,UAAUqB,EAAQtB,IAE/B7J,EAAWzD,KAAK0D,GACTD,GACNA,GAGL7F,EAAUJ,KAAKkF,MAAM,WAAagD,EAAO,WAAajC,EAAWwF,OAAS,KAG1ErL,EAAU,IAAM8H,GAAQjC,EAExB7F,EAAUiM,QAAUjM,EAAUiJ,OAAO6B,OAE9BjF,OASb7F,EAAUoR,YAAc,WACtBnS,KAAK8K,OAAOsH,eAAiB,KAC7BpS,KAAK8K,OAAOjE,UAAY,KACxB7G,KAAK8K,OAAOuH,UAAY,KACxBrS,KAAK8K,OAAOwH,QAAU,MAUxBvR,EAAUwR,WAAa,SAASC,EAAY5J,GAC1C,IAAIkG,EAAM2D,EAIV,OAFA3D,EAAO0D,EAAWE,UAAU,EAAE,IAAIC,MAAM,KAEpC/J,GAAWA,EAAQgK,QACd,IAAIxF,KAAKlC,SAAS4D,EAAK,IAAK5D,SAAS4D,EAAK,IAAM,EAAG5D,SAAS4D,EAAK,MAE1E2D,EAAOD,EAAWE,UAAU,GAAG,IAAIC,MAAM,KAElC,IAAIvF,KAAKlC,SAAS4D,EAAK,IAAK5D,SAAS4D,EAAK,IAAM,EAAG5D,SAAS4D,EAAK,IACxD5D,SAASuH,EAAK,IAAKvH,SAASuH,EAAK,IAAK,EAAG,KAS3D1R,EAAUsG,UAAUpH,KAAO,SAASyD,GAsDlC,GAnDA1D,KAAK6S,cACL7S,KAAK8S,UACL9S,KAAK+S,OAAUC,OAAQ,UAAWC,SAAU,EAAGC,KAAM,UAAWC,UAAW,SAAUC,SAAU,SAC/FpT,KAAKmG,OAAS,gBACdnG,KAAKqT,MAAQ,GACbpS,QAAQC,OAAOlB,KAAM0D,GAEC,UAAlB1D,KAAK6G,UACP7G,KAAK6I,KAAO,cACa,SAAlB7I,KAAK6G,YACZ7G,KAAK6I,KAAO,QAEV7I,KAAKiP,UACHhO,QAAQqS,SAAStT,KAAKiP,WAExBjP,KAAK4Q,MAAQ7P,EAAUwR,WAAWvS,KAAKiP,WAGvCjP,KAAK4Q,MAAQ5Q,KAAKiP,UAEA,eAAbjP,KAAK6I,OACZ7I,KAAK4Q,MAAQ,IAAIxD,KACjBpN,KAAK4Q,MAAM2C,WAAkD,GAAvCC,KAAKC,MAAMzT,KAAK4Q,MAAM8C,aAAa,MAGvD1T,KAAKkP,SACPlP,KAAK2T,IAAM5S,EAAUwR,WAAWvS,KAAKkP,SACrClP,KAAKqT,MAAQrT,KAAK4Q,MAAMgD,UAAU5T,KAAK2T,MAEnB,eAAb3T,KAAK6I,MACZ7I,KAAK6T,SAAS7T,KAAKqT,OAGjBrT,KAAK8T,UACP9T,KAAK+T,IAAMhT,EAAUwR,WAAWvS,KAAK8T,UAEnC9T,KAAKgU,cACPhU,KAAKiU,UAAYlT,EAAUwR,WAAWvS,KAAKgU,eACvB,QAAbhU,KAAK6I,OACZ7I,KAAKiU,UAAY,IAAI7G,MAEnBpN,KAAKkU,aAGPlU,KAAK6S,WAAa1Q,EAAE6P,UAAU7P,EAAEgC,OAAOnE,KAAKkU,WAAY,SAAShU,GAC/D,OAAOa,EAAUK,aAAaa,SAASsJ,6BAA6BrL,KAClE,oBAINF,KAAKmU,aAAelT,QAAQ6F,UAAUpD,EAAKoP,QACvC9S,KAAK8S,OAAOnB,KAAM,CACpB,IAAIyC,EAAYjS,EAAEC,KAAKpC,KAAK8S,OAAOnB,KAAM,SAAS3O,GAChD,OAAO/B,QAAQ6F,UAAU9D,EAAEqR,cAEzBD,IAC2B,UAAzBpU,KAAK8S,OAAOwB,YACdtU,KAAK8S,OAAOrF,MAAS8G,OAAO,IAC9BvU,KAAK8S,OAAOvF,OACV1E,KAAM,QACNwL,WAAYD,EAAUC,WAAWG,WACjCnH,IAAK+G,EAAU/G,WAKnBrN,KAAK8S,OAAOnB,QAuCd,GArCI3R,KAAK8S,OAAO2B,OACdzU,KAAK8S,OAAOwB,UAAY,SACxBnS,EAAE0B,QAAQ7D,KAAK8S,OAAO2B,MAAO,SAASC,EAAOzR,EAAG0R,GAC1C1T,QAAQqS,SAASoB,KAEnBC,EAAO1R,GAAKlC,EAAUwR,WAAWmC,OAG9BzT,QAAQ6C,YAAY9D,KAAK8S,OAAOwB,aACvCtU,KAAK8S,OAAOwB,UAAY,SACtBrT,QAAQ6C,YAAY9D,KAAK8S,OAAO8B,YAClC5U,KAAK8S,OAAO8B,SAAW,GACrB3T,QAAQ6C,YAAY9D,KAAK8S,OAAO+B,WAElC7U,KAAK8S,OAAO+B,aACL7U,KAAK8S,OAAO+B,UAAUzI,OAAS,IACtCpM,KAAK8S,OAAOvF,OAAU1E,KAAM,eAC1B5H,QAAQ6C,YAAY9D,KAAK8S,OAAOvF,SAClCvN,KAAK8S,OAAOvF,UACVtM,QAAQ6C,YAAY9D,KAAK8S,OAAOvF,MAAM8G,aACxCpT,QAAQC,OAAOlB,KAAK8S,OAAOvF,OAAS8G,WAAY,IAAKhH,IAAK,OACxDpM,QAAQ6C,YAAY9D,KAAK8S,OAAOgC,UAElC9U,KAAK8S,OAAOgC,WACV7T,QAAQ6C,YAAY9D,KAAK8S,OAAOrF,QAClCzN,KAAK8S,OAAOrF,SACVzN,KAAK8S,OAAO9G,MACdhM,KAAK8S,OAAOa,IAAM,QACX3T,KAAK8S,OAAOiC,OACnB/U,KAAK8S,OAAOa,IAAM,QACd1S,QAAQqS,SAAStT,KAAK8S,OAAOiC,SAC/B/U,KAAK8S,OAAOiC,MAAQhU,EAAUwR,WAAWvS,KAAK8S,OAAOiC,OAASnC,SAAS,MAGzE5S,KAAK8S,OAAOa,IAAM,QACpB3T,KAAKgV,iBAAmBhV,KAAKiV,kBAEzBjV,KAAK0J,MAAO,CAEd,IAAIb,EAAqB,eAAb7I,KAAK6I,KAAwB,SAAW,QAGpD7I,KAAKkV,eAAiBnU,EAAUK,aAAaa,SAAS,eAAiB4G,EAAO,yBAAyBmH,cAGvG,IACImF,EAAQ,uBAAuBC,KAAKrU,EAAUK,aAAaa,SAASoT,6BACpEF,IACFnV,KAAKsV,WAAY,EACjBtV,KAAK+S,MAAME,SAAW/H,SAASiK,EAAM,IACrCnV,KAAK+S,MAAMG,MALCqC,EAAG,UAAWC,EAAG,QAASC,EAAG,OAAQC,EAAG,SAK5BP,EAAM,KAIhCnV,KAAK2V,6BAA+B5U,EAAUK,aAAaa,SAAS2T,2CAE7D3U,QAAQ6C,YAAYJ,EAAK4R,aAChCtV,KAAKsV,UAAYrU,QAAQ6F,UAAUpD,EAAKqP,QAI1C/S,KAAK6V,oBAAsB7V,KAAK+G,IAM5B/G,KAAK8V,WACP3T,EAAE0B,QAAQ7D,KAAK8V,UAAW,SAASC,GACjCA,EAASC,MAAQjV,EAAUqJ,UAAU2L,EAASE,MAAO,MAKzDjW,KAAKkW,iBAELlW,KAAKmM,UAAW,GAUlBpL,EAAUsG,UAAU8O,cAAgB,SAASnU,GAC3C,IAAkBoE,EAAdxC,EAAQ5D,KACRgC,GAAYA,EAASY,eACvBwD,EAAUrF,EAAUmJ,MAAM+C,QAAQjL,EAASyC,OAAOT,KAAK,SAASoS,GAC9D,IAAI3R,EAAQ2R,EAAQ,GACpBxS,EAAMyS,WACJrR,IAAKP,EAAMO,IACX9E,KAAMuE,EAAM6R,GACZL,MAAOxR,EAAM8R,YAKjBvW,KAAKqW,WACHrR,IAAKjE,EAAUkJ,UAAU9I,WAAW,SACpCjB,KAAMa,EAAUkJ,UAAU9I,WAAW,kBACrC8U,MAAOlV,EAAUkJ,UAAU9I,WAAW,UAExCiF,EAAUrF,EAAUN,GAAGmH,QAGzBxB,EAAQpC,KAAK,WACXJ,EAAM4S,uBAAuB5S,EAAMyS,cAUvCtV,EAAUsG,UAAU4N,gBAAkB,WASpC,OARQhU,QAAQ6C,YAAY9D,KAAKkO,eAC7BjN,QAAQ6F,UAAU9G,KAAK8S,UACtB9S,KAAK8S,OAAO8B,SAAW,GACvB3T,QAAQ6F,UAAU9G,KAAK8S,OAAOnB,OAAS3R,KAAK8S,OAAOnB,KAAKvF,OAAS,GACjEnL,QAAQ6F,UAAU9G,KAAK8S,OAAO+B,YAAc7U,KAAK8S,OAAO+B,UAAUzI,OAAS,GAC3EnL,QAAQ6F,UAAU9G,KAAK8S,OAAOgC,SAAW9U,KAAK8S,OAAOgC,OAAO1I,OAAS,GACrEnL,QAAQ6F,UAAU9G,KAAK8S,OAAOvF,QAAUtM,QAAQ6F,UAAU9G,KAAK8S,OAAOvF,MAAM1E,OAC5E5H,QAAQ6F,UAAU9G,KAAK8S,OAAO2B,QAAUzU,KAAK8S,OAAO2B,MAAMrI,OAAS,IAU1ErL,EAAUsG,UAAU1B,WAAa,WAC/B,OAAS3F,KAAKkO,eAAiBlO,KAAKyW,YAStC1V,EAAUsG,UAAUqP,qBAAuB,WACzC,OAAQ1W,KAAKkO,eAAiBlO,KAAKyW,YASrC1V,EAAUsG,UAAUsP,aAAe,WACjC,OAAS3W,KAAKkO,cAAgBlO,KAAK4W,aASrC7V,EAAUsG,UAAUwP,uBAAyB,WAC3C,OAAQ7W,KAAKkO,cAAgBlO,KAAK4W,aAUpC7V,EAAUsG,UAAUyP,oBAAsB,WACxC,MAAqB,QAAb9W,KAAK6I,MACL7I,KAAK+W,gBAAkB,GACR,aAAf/W,KAAKmG,QAUfpF,EAAUsG,UAAU2P,sBAAwB,WAC1C,MAAqB,QAAbhX,KAAK6I,MACU,iBAAf7I,KAAKmG,QACU,aAAfnG,KAAKmG,QASfpF,EAAUsG,UAAU4P,eAAiB,SAAS5J,EAAKyD,EAAMoG,GAIvD,OAHSjW,QAAQ6F,UAAU9G,KAAKmX,SAAS9J,KAChCpM,QAAQ6F,UAAU9G,KAAKmX,SAAS9J,GAAKyD,KACA,GAArC9Q,KAAKmX,SAAS9J,GAAKyD,GAAMoG,IAUpCnW,EAAUsG,UAAU+P,uBAAyB,WAC3C,IAAIxT,EAAQ5D,KAAMmX,KAElB,GAAInX,KAAK4Q,OAAS5Q,KAAK2T,IAAK,CAC1B,IAAI0D,EAAe,IAAIjK,KAAKpN,KAAK4Q,MAAMtB,WACnCgI,EAAa,IAAIlK,KAAKpN,KAAK2T,IAAIrE,WAC/BiI,EAAerM,SAASmM,EAAa3D,aAAa,GAAK,IACvD8D,EAAatM,SAASoM,EAAW5D,aAAa,GAAK,IA8BvD,OA7BA2D,EAAa9D,WAAW,GAAGgE,GAC3BD,EAAW/D,WAAW,GAAGiE,GAEzBrV,EAAE0B,QAAQwT,EAAaI,SAASH,GAAa,SAASxI,EAAM4I,GAC1D,IAEIC,EAFAC,EAAa9I,EAAKxB,UAClBuK,EAAS/I,EAAKoB,eAElB,GAAI2H,GAAUjU,EAAMgN,MAAMV,eAIxB,IAHAyH,EAAU7I,EAAKgJ,WAAWtD,WAC1B2C,EAASU,MACTV,EAASU,GAAQF,MACVJ,EAAe,GACpBJ,EAASU,GAAQF,GAASxU,KAAK,GAC/BoU,SAIFzI,EAAOA,EAAKiJ,aACZZ,EAASU,MAEX,KAAO/I,EAAKQ,UAAY1L,EAAM+P,IAAIrE,WAC3BR,EAAKxB,WAAasK,GACvBD,EAAU7I,EAAKgJ,WAAWtD,WACtBvT,QAAQ6C,YAAYqT,EAASU,GAAQF,MACvCR,EAASU,GAAQF,OACnBR,EAASU,GAAQF,GAASxU,KAAK,GAC/B2L,EAAKkJ,WAAW,MAGbb,IASXpW,EAAUsG,UAAU6O,eAAiB,WACnC,IAAItS,EAAQ5D,KAEZA,KAAKmX,SAAWnX,KAAKoX,yBAEjBpX,KAAK8V,YACH9V,KAAKqW,WACPrW,KAAKwW,uBAAuBxW,KAAKqW,WACnClU,EAAE0B,QAAQ7D,KAAK8V,UAAW,SAASC,GACjCnS,EAAM4S,uBAAuBT,OAWnChV,EAAUsG,UAAUwM,SAAW,SAASR,GACtCrT,KAAKqT,MAAQA,EACbrT,KAAK2T,IAAM,IAAIvG,KAAKpN,KAAK4Q,MAAMtB,WAC/BtP,KAAK2T,IAAIJ,WAAgD,GAArCC,KAAKC,MAAMzT,KAAK2T,IAAID,aAAa,KACrD1T,KAAK2T,IAAIqE,WAAWhY,KAAKqT,QAS3BtS,EAAUsG,UAAUmP,uBAAyB,SAAST,GACpD,IAAIkC,EAAUjT,EAAK6I,EAAQ8D,EAEvBoE,EAAS/Q,MACXA,EAAM+Q,EAAS/Q,IACX+Q,EAASmC,SACXlT,GAAO,IAAM+Q,EAASmC,QACxBrK,GAEIsK,KAAMnY,KAAK4Q,MAAMV,eACjBkI,KAAMpY,KAAK2T,IAAIzD,gBAGf6F,EAASsC,cAGXJ,EAAWlX,EAAUV,WAAW6E,eAChC2I,EAAO7I,IAAMA,GAKbiT,EAAWlX,EAAUV,WAAW6E,aAAaF,GAG/C2M,EAAOxP,EAAE2C,IAAI9E,KAAK4Q,MAAM6G,SAASzX,KAAK2T,KAAM,SAAStG,GAAO,OAAOA,EAAI6C,iBAEnEjP,QAAQ6C,YAAYiS,EAASoB,YAC/BpB,EAASoB,aAGXc,EAASlU,MAAM,eAAgB,WAAY8J,GAAQ7J,KAAK,SAASN,GAC/DvB,EAAE0B,QAAQ8N,EAAM,SAAStE,GACvB,IAAIyD,EAEA7P,QAAQ6C,YAAYiS,EAASoB,SAAS9J,MACxC0I,EAASoB,SAAS9J,OAEhBpM,QAAQ6C,YAAYJ,EAAK2J,MAC3B3J,EAAK2J,OAEP,IAAK,IAAIpK,EAAI,EAAGA,GAAK,GAAIA,IACvB6N,EAAO7N,EAAEuR,WACL9Q,EAAK2J,GAAKyD,GACZiF,EAASoB,SAAS9J,GAAKyD,IACrBpN,EAAK2J,GAAKyD,GAAM,GAChBpN,EAAK2J,GAAKyD,GAAM,IAChBpN,EAAK2J,GAAKyD,GAAM,IAChBpN,EAAK2J,GAAKyD,GAAM,KAGlBiF,EAASoB,SAAS9J,GAAKyD,IAAS,EAAG,EAAG,EAAG,SAcrD/P,EAAUsG,UAAUS,aAAe,SAASC,GAG1C,OAFI9G,QAAQ6C,YAAYiE,KACtBA,EAAO,MACFA,EAAO,WAAa/H,KAAK6V,qBAAuB7V,KAAKsY,UAAYtY,KAAK+G,MAS/EhG,EAAUsG,UAAUkR,YAAc,SAASC,EAAM5P,GAC/C,IAAkBmN,EAAUvT,EAAxBoB,EAAQ5D,KACRwY,MACGxY,KAAK8V,WAAclN,GAAWA,EAAQ6P,oBAEzCzY,KAAKmW,cAAcvN,EAASA,EAAQ6P,uBAAoBzS,GAEtDwS,EAAKE,SAASC,YAAY,KAE5BnW,EAAOzB,EAAUoJ,MAAMf,MAAMoP,EAAKI,UAAWJ,EAAKK,SAC7ClR,MAAM3D,KAAK,SAAS8U,GACvB3W,EAAE0B,QAAQrB,EAAKuW,KAAM,SAASC,GAC5BjD,GACE7V,KAAM8Y,EAAIC,KACVhD,MAAO+C,EAAIE,kBACXC,KAAM,kBACNC,SAAU,eACVpU,IAAKgU,EAAIK,MACTC,YAAa,UAEVnX,EAAEC,KAAKwB,EAAMkS,UAAW,SAAS9S,GACpC,OAAOA,EAAEiT,OAASF,EAASE,UAG3BF,EAASC,MAAQjV,EAAUqJ,UAAU2L,EAASE,MAAO,IACjDrS,EAAMkS,UACRlS,EAAMkS,UAAU3S,KAAK4S,GAErBnS,EAAMkS,WAAaC,GACrBnS,EAAM4S,uBAAuBT,SAOnCA,GACE/Q,IAAKwT,EAAKa,MACVnB,OAAQM,EAAKe,SACblB,aAAcG,EAAKgB,aACnBtZ,KAAMsY,EAAKS,KACXhD,MAAOuC,EAAKU,kBACZC,KAAM,kBACNC,SAAU,eACVE,YAAad,EAAKc,aAEfnX,EAAEC,KAAKpC,KAAK8V,UAAW,SAAS9S,GACnC,OAAOA,EAAEiT,OAASF,EAASE,UAE3BF,EAASC,MAAQjV,EAAUqJ,UAAU2L,EAASE,MAAO,IACjDjW,KAAK8V,UACP9V,KAAK8V,UAAU3S,KAAK4S,GAEpB/V,KAAK8V,WAAaC,GACpB/V,KAAKwW,uBAAuBT,OAapChV,EAAUsG,UAAUoS,YAAc,SAASjB,GACzC,IAAIzC,EAAW5T,EAAEC,KAAKpC,KAAK8V,UAAW,SAASC,GAC7C,OAAO5T,EAAEC,KAAKoW,EAAKkB,OAAQ,SAASzD,GAClC,OAAOA,EAAMvU,OAASqU,EAASE,UAGnC,OAAOhV,QAAQ6F,UAAUiP,IAS3BhV,EAAUsG,UAAUsS,eAAiB,SAAS5D,GAC5C,IAAI2B,EAAQvV,EAAEY,UAAU/C,KAAK8V,UAAW,SAAS8D,GAC/C,OAAOA,EAAgB3D,OAASF,EAASE,QAE3CjW,KAAK8V,UAAU1S,OAAOsU,EAAO,IAS/B3W,EAAUsG,UAAUwS,0BAA4B,WAC9C,MAA4B,SAArB7Z,KAAK+S,MAAMC,SACfhT,KAAKyW,YACNzW,KAAK8V,WAAa9V,KAAK8V,UAAU1J,OAAS,GAU9CrL,EAAUsG,UAAUyS,aAAe,SAASC,GAC1C,GAAI9Y,QAAQ6C,YAAY9D,KAAKga,YAC3Bha,KAAKga,aAAetY,MAAOqY,QAExB,CACH,IAAK,IAAI9W,EAAI,EAAGA,EAAIjD,KAAKga,WAAW5N,QAC9BpM,KAAKga,WAAW/W,GAAGvB,OAASqY,EADU9W,KAKxCA,GAAKjD,KAAKga,WAAW5N,QACvBpM,KAAKga,WAAW7W,MAAMzB,MAAOqY,IAEjC,OAAO/Z,KAAKga,WAAW5N,OAAS,GASlCrL,EAAUsG,UAAU4S,gBAAkB,SAASvC,GACzCA,GAAS,GAAK1X,KAAKga,WAAW5N,OAASsL,GACzC1X,KAAKga,WAAW5W,OAAOsU,EAAO,IASlC3W,EAAUsG,UAAU6S,YAAc,WAChCla,KAAK+T,IAAM,IAAI3G,KACfpN,KAAK+T,IAAIR,WAAgD,GAArCC,KAAKC,MAAMzT,KAAK+T,IAAIL,aAAa,KACrD1T,KAAK8T,QAAU9T,KAAK+T,IAAIoG,eAQ1BpZ,EAAUsG,UAAU+S,eAAiB,kBAC5Bpa,KAAK+T,WACL/T,KAAK8T,SAQd/S,EAAUsG,UAAUgT,cAAgB,WAClCra,KAAK4Q,MAAQ,IAAIxD,KACjBpN,KAAK4Q,MAAM2C,WAAkD,GAAvCC,KAAKC,MAAMzT,KAAK4Q,MAAM8C,aAAa,MAQ3D3S,EAAUsG,UAAUiT,iBAAmB,kBAC9Bta,KAAK4Q,aACL5Q,KAAKiP,WAQdlO,EAAUsG,UAAUkT,mBAAqB,WACvC,IAAIpN,EAAM,IAAIC,KACdD,EAAIoG,WAA2C,GAAhCC,KAAKC,MAAMtG,EAAIuG,aAAa,KAEvCzS,QAAQ6C,YAAY9D,KAAK8S,OAAO2B,SAClCzU,KAAK8S,QAAWwB,UAAW,SAAUG,WACvCzU,KAAK8S,OAAO2B,MAAMtR,KAAKgK,IAQzBpM,EAAUsG,UAAUmT,sBAAwB,SAAS9C,GAC/CA,GAAS,GAAK1X,KAAK8S,QAAU9S,KAAK8S,OAAO2B,OAASzU,KAAK8S,OAAO2B,MAAMrI,OAASsL,GAC/E1X,KAAK8S,OAAO2B,MAAMrR,OAAOsU,EAAO,IASpC3W,EAAUsG,UAAUe,OAAS,WAC3B,IAAIxE,EAAQ5D,KACZiB,QAAQ4C,QAAQ7D,KAAM,SAAS0B,EAAO2G,GACzB,eAAPA,GAAkC,KAAVA,EAAI,WACvBzE,EAAMyE,KAGjBrI,KAAKC,KAAKD,KAAKyH,aACfzH,KAAKyH,YAAczH,KAAK0H,SAS1B3G,EAAUsG,UAAUoT,OAAS,WAC3B,IAAkB/W,EAAdE,EAAQ5D,KAAYiF,GAAQjF,KAAK+G,IAAKoH,mBAAmBnO,KAAKG,KAWlE,OATIH,KAAKkO,cACPjJ,EAAK9B,KAAKnD,KAAKkO,cAEjBxK,GACEgX,MAAO1a,KAAK0a,MACZC,YAAa3a,KAAK2a,YAClB5H,MAAO/S,KAAKsV,UAAWtV,KAAK+S,UAGvBhS,EAAUV,WAAWiI,KAAKrD,EAAKmJ,KAAK,KAAM1K,GAAQsP,OAAQ,oBAC9DhP,KAAK,SAASN,GAGb,OADAE,EAAM6D,YAAc7D,EAAM8D,QACnBhE,KAUb3C,EAAUsG,UAAUuT,QAAU,SAAS/M,GACrC,IAAI5I,GAAQjF,KAAK+G,IAAKoH,mBAAmBnO,KAAKG,KAE9C,OAAIgC,EAAE0Y,MAAM1Y,EAAE2Y,OAAOjN,GAAS,SAASkN,GAAK,OAAa,IAANA,IAE1Cha,EAAUN,GAAGmH,QAElB5H,KAAKkO,cACPjJ,EAAK9B,KAAKnD,KAAKkO,cAEjBnN,EAAUJ,KAAKkF,MAAM,UAAYZ,EAAKmJ,KAAK,KAAO,IAAMtI,KAAKC,UAAU8H,IAEhE9M,EAAUV,WAAWiI,KAAKrD,EAAKmJ,KAAK,KAAMP,GAAUmF,OAAQ,aASrEjS,EAAUsG,UAAUY,MAAQ,SAAS+S,GACnC,IAAkBpS,EAAS3D,EAAM4B,EAAiBoU,EAA9CrX,EAAQ5D,KAqFZ,OAnFA6G,EAAY7G,KAAK0H,QACjBuT,EAAMla,EAAUK,aAAa8Z,sBAG7BrU,EAAUoI,UAAYpI,EAAU+J,MAAQ/J,EAAU+J,MAAMuK,OAAOF,EAAK,YAAc,GAClFpU,EAAUuU,UAAYvU,EAAU+J,MAAQ/J,EAAU+J,MAAMuK,OAAOF,EAAK,SAAW,GAC/EpU,EAAUqI,QAAUrI,EAAU8M,IAAM9M,EAAU8M,IAAIwH,OAAOF,EAAK,YAAc,GAC5EpU,EAAUwU,QAAUxU,EAAU8M,IAAM9M,EAAU8M,IAAIwH,OAAOF,EAAK,SAAW,GACzEpU,EAAUiN,QAAUjN,EAAUkN,IAAMlN,EAAUkN,IAAIoH,OAAOF,EAAK,YAAc,GAC5EpU,EAAUyU,QAAUzU,EAAUkN,IAAMlN,EAAUkN,IAAIoH,OAAOF,EAAK,SAAW,GACzEpU,EAAUmN,cAAgBnN,EAAUoN,UAAYpN,EAAUoN,UAAUkH,OAAOF,EAAK,YAAc,GAG1Fjb,KAAKiV,kBACsB,WAAzBjV,KAAK8S,OAAOwB,WAA0BtU,KAAK8S,OAAOvF,MAAM1E,MAAkC,SAA1B7I,KAAK8S,OAAOvF,MAAM1E,MAA4C,YAAzB7I,KAAK8S,OAAOvF,MAAMF,KAC9F,UAAzBrN,KAAK8S,OAAOwB,WAAyBtU,KAAK8S,OAAOrF,KAAK8G,cAEjD1N,EAAUiM,OAAO+B,UACxBhO,EAAUiM,OAAOnB,OAAUtE,IAAKrN,KAAK8S,OAAOvF,MAAMF,IAAKgH,WAAYrU,KAAK8S,OAAOvF,MAAM8G,WAAWG,cAE/D,WAAzBxU,KAAK8S,OAAOwB,WAAmD,UAAzBtU,KAAK8S,OAAOwB,YACnDtU,KAAK8S,OAAOvF,MAAM1E,KAMO,UAAzB7I,KAAK8S,OAAOwB,WAAyBtU,KAAK8S,OAAO2B,OACxDtS,EAAE0B,QAAQgD,EAAUiM,OAAO2B,MAAO,SAASC,EAAOzR,EAAG0R,GACnDA,EAAO1R,IACL6L,KAAM4F,EAAMyG,OAAOF,EAAK,YACxBxI,KAAMiC,EAAMyG,OAAOF,EAAK,oBARrBpU,EAAUiM,OAAOnB,KACK,YAAzB3R,KAAK8S,OAAOvF,MAAMF,MACpBxG,EAAUiM,OAAO+B,WAAa7U,KAAK8S,OAAOvF,MAAM8G,cAW7CrU,KAAK8S,OAAOwB,WAAsC,SAAzBtU,KAAK8S,OAAOwB,YAC5CzN,EAAUiM,QAAWwB,UAAWtU,KAAK8S,OAAOwB,YAE1CzN,EAAUoI,WAAajP,KAAK8S,OAAOwB,WAAsC,SAAzBtU,KAAK8S,OAAOwB,UACvC,SAAnBtU,KAAK8S,OAAOa,KAAkB3T,KAAK8S,OAAOiC,MAC5ClO,EAAUiM,OAAOiC,MAAQ/U,KAAK8S,OAAOiC,MAAMwG,oBAAoB,KACrC,SAAnBvb,KAAK8S,OAAOa,KAAkB3T,KAAK8S,OAAO9G,MACjDnF,EAAUiM,OAAO9G,MAAQhM,KAAK8S,OAAO9G,cAE9BnF,EAAUiM,OAAOiC,aACjBlO,EAAUiM,OAAO9G,cAInBnF,EAAUiM,OAIA,iBAAf9S,KAAKmG,cACAU,EAAUV,OACK,aAAfnG,KAAKmG,eACLU,EAAUmN,cAGfnN,EAAUoI,WAAajP,KAAKsV,WAC1BtV,KAAK+S,MAAMC,QAA+B,SAArBhT,KAAK+S,MAAMC,QAC9BhT,KAAK8V,WAAa9V,KAAK8V,UAAU1J,OAAS,IAE9CvF,EAAUkM,MAAM+C,UAAY,EAC5BjP,EAAUkM,MAAMsD,UAAY,GAI9BxP,EAAUkM,SAIZ9N,GAAQjF,KAAK+G,IAAKoH,mBAAmBnO,KAAKG,KAEtCH,KAAK0J,QACPd,GAAYoK,OAAQ,SAAWhT,KAAK6I,KAAK+E,eAEvC5N,KAAKkO,cACPjJ,EAAK9B,KAAKnD,KAAKkO,cAEjBjN,QAAQC,OAAO2F,EAAWmU,GAEnBja,EAAUV,WAAWiI,KAAKrD,EAAKmJ,KAAK,KAAMvH,EAAW+B,GACzD5E,KAAK,SAASN,GAGb,OADAE,EAAM6D,YAAc7D,EAAM8D,QACnBhE,KAUb3C,EAAUsG,UAAUc,OAAS,SAASqT,GACpC,IAAkBvW,GAAQjF,KAAK+G,IAAKoH,mBAAmBnO,KAAKG,KAK5D,OAHIqb,GAAkBxb,KAAKkO,cACzBjJ,EAAK9B,KAAKnD,KAAKkO,cAEVnN,EAAUV,WAAW8H,OAAOlD,EAAKmJ,KAAK,OAS/CrN,EAAUsG,UAAU9G,QAAU,SAASgJ,GACrC,IAAI3F,EAAQ5D,KAGZA,KAAKyb,qBAAuBlS,EAG5BvJ,KAAKyb,qBAAqBzX,KAAK,SAASN,GACtCE,EAAM3D,KAAKyD,GAEXE,EAAM6D,YAAc7D,EAAM8D,SACzB,SAAShE,GACVzC,QAAQC,OAAO0C,EAAOF,GACtBE,EAAMyF,SAAU,EAChBtI,EAAUJ,KAAK4H,MAAM3E,EAAM2E,UAU/BxH,EAAUsG,UAAUK,MAAQ,WAC1B,IAAIb,KASJ,OARA5F,QAAQ4C,QAAQ7D,KAAM,SAAS0B,EAAO2G,GACzB,eAAPA,GACQ,aAAPA,GAAgC,KAAVA,EAAI,IACpB,UAAPA,IACFxB,EAAUwB,GAAOpH,QAAQya,KAAKha,MAI3BmF,GAST9F,EAAUsG,UAAUsU,kBAAoB,WACtC,IAAIC,EAAkB,KAItB,OAHI5b,KAAK8S,SACP8I,EAAkBpV,EAAE,UAAYxG,KAAK8S,OAAOwB,UAAUuH,gBAEjDD,GAST7a,EAAUsG,UAAUyU,iBAAmB,WACrC,IAAIzT,EAAKuT,EAAkB,KAc3B,OAbI5b,KAAK+S,QACP1K,GAAO,WAAYrI,KAAK+S,MAAME,UAC1BjT,KAAK+S,MAAME,SAAW,GACxB5K,EAAIlF,KAAKnD,KAAK+S,MAAMG,KAAK2I,cAAe7b,KAAK+S,MAAMI,UAAU0I,gBAC/DxT,EAAMA,EAAI+F,KAAK,SACfwN,EAAkBpV,EAAE6B,MAGlBuT,GAAmB5b,KAAK+S,MAAME,SACXzM,EAAE,YAAcxG,KAAK+S,MAAMG,KAAK2I,eAChCrV,EAAE,YAAcxG,KAAK+S,MAAMI,UAAU0I,gBAAgBzN,KAAK,OAG1EwN,GAUT7a,EAAUsG,UAAU0U,OAAS,SAAS/Z,GACpC,OAAOjB,EAAUV,WAAWqF,KAAK1F,KAAK+G,IAAM,IAAMoH,mBAAmBnO,KAAKG,IAAK,QAAS6b,YAAaha,KAUvGjB,EAAUsG,UAAU4U,OAAS,SAASja,GACpC,OAAOjB,EAAUV,WAAWqF,KAAK1F,KAAK+G,IAAM,IAAMoH,mBAAmBnO,KAAKG,IAAK,QAAS6b,YAAaha,KAGvGjB,EAAUsG,UAAUmN,SAAW,WAC7B,MAAO,cAAgBxU,KAAKG,GAAK,KAz4CrC,GCAA,WAEE,aAKA+b,EAAmBC,SAAW,SAAU,aAAc,SAAU,eAAgB,YAAa,WAAY,YAAa,cAAe,qBACrI,SAASD,EAAmBE,EAAQzS,EAAY0S,EAAQC,EAAcC,EAAWzc,EAAUiB,EAAWD,EAAa0b,GACjH,IAAeC,EAAXC,EAAK1c,KAA+B2c,KAGpC1b,QAAQ6C,YAAYoY,EAAmBU,mBACzCV,EAAmBU,iBAAkB,GAEvCF,EAAGG,aAAeP,EAAajP,IAAIyP,SACnCJ,EAAGE,gBAAkBV,EAAmBU,gBACxCF,EAAGK,cAoHH,WACEb,EAAmBU,iBAAmBV,EAAmBU,gBACzDF,EAAGE,gBAAkBV,EAAmBU,iBArH1CF,EAAGtM,MAAQoM,EACXE,EAAGM,WAAaA,EAChBN,EAAGO,WAAaA,EAGhBjd,KAAKkd,QAAU,YAmBWnP,EAlBP4O,GAmBZxZ,KAAKoZ,EAAUY,cAClB9U,IAAK7B,EAAE,gBACP4W,YAAa5W,EAAE,SACf6W,SAAUL,EACVM,KAAM,IAAIlQ,QAEZW,EAAK5K,KAAKoZ,EAAUY,cAClB9U,IAAK7B,EAAE,kBACP4W,YAAa5W,EAAE,OACf6W,SAAUJ,EACVK,KAAM,SAERvP,EAAK5K,KAAKoZ,EAAUY,cAClB9U,IAAK7B,EAAE,mBACP4W,YAAa5W,EAAE,QACf6W,SAAUJ,EACVK,KAAM,UAERvP,EAAK5K,KAAKoZ,EAAUY,cAClB9U,IAAK7B,EAAE,oBACP4W,YAAa5W,EAAE,SACf6W,SAAUJ,EACVK,KAAM,WAERvP,EAAK5K,KAAKoZ,EAAUY,cAClB9U,IAAK7B,EAAE,6BACP4W,YAAa5W,EAAE,wBACf6W,SAAUJ,EACVK,KAAM,oBAERvP,EAAK5K,KAAKoZ,EAAUY,cAClB9U,IAAK,OACL+U,YAAa5W,EAAE,iBACf6W,SAAUE,EACVD,MAAO,KAETvP,EAAK5K,KAAKoZ,EAAUY,cAClB9U,IAAK,QACL+U,YAAa5W,EAAE,gBACf6W,SAAUE,EACVD,KAAM,KAIRnb,EAAE0B,QAAQkK,EAAM,SAAS1F,GACvBkU,EAAUiB,eAAenV,KA9C7B,IAA0B0F,EAhBxB0P,EAAYf,EAAGG,cAGfJ,EAA0B9S,EAAW+T,IAAI,iBAAkBC,GAE3DvB,EAAOsB,IAAI,WAAY,WAErBjB,IAEAta,EAAE0B,QAAQ8Y,EAAS,SAAStU,GAC1BkU,EAAUqB,iBAAiBvV,QAyDjC,SAASkV,EAAYM,EAAQC,GAC3B,IAAIhP,EAEqB,QAArBwN,EAAazN,KACfC,EAAO4N,EAAGG,aAAazN,YAAYtO,EAAYmB,SAASkN,oBAAoBI,QAAQ,EAAIuO,GAE5D,SAArBxB,EAAazN,OACpBC,EAAO4N,EAAGG,cACLrN,QAAQ,GACbV,EAAKW,SAASX,EAAKtB,WAAasQ,IAGhChP,EAAO4N,EAAGG,aAAatN,QAAQuO,GAGjCd,EAAWa,EAAQ/O,GASrB,SAAS2O,EAAY3O,GACM,SAArBwN,EAAazN,MACfC,EAAKU,QAAQ,GACbV,EAAKiP,SAAS,IACdjP,EAAKkP,YAAc,SAES,QAArB1B,EAAazN,MACpBC,EAAKO,QAAQP,EAAKM,YAAYtO,EAAYmB,SAASkN,oBAAoBG,WACvER,EAAKkP,YAAcxX,EAAE,WAAWyX,QAAQ,KAAM,OAG9CnP,EAAKkP,YAAc,KAUvB,SAASL,IAGP5c,EAAU6N,qBAAqB0N,EAAazN,KAAMyN,EAAajP,IAAIyP,UAAU9Y,KAAK,SAASN,GACzF,IAAIT,EAAG2M,EAAGf,EACV,IAAK5L,EAAI,EAAGA,EAAIS,EAAK0I,OAAQnJ,IAC3B4L,EAAOnL,EAAKT,GACRyZ,EAAGtM,MAAMnN,IACXd,EAAE0B,QAAQgL,EAAK0C,aAAc,SAASP,EAAQ3D,GAC5CqP,EAAGtM,MAAMnN,GAAGsO,aAAalE,GAAO2D,IAElC7O,EAAE0B,QAAQgL,EAAKmC,OAAQ,SAASA,EAAQ3D,GACtCqP,EAAGtM,MAAMnN,GAAG+N,OAAO3D,GAAO2D,KAI5B0L,EAAGtM,MAAMnN,GAAK4L,EAEZA,EAAK1O,KAGPuc,EAAGtM,MAAMnN,GAAGjB,SAAW,IAAIlC,GAAWK,GAAI0O,EAAK1O,GAAID,KAAM2O,EAAKiD,gBAIlE,IAAKlC,EAAI8M,EAAGtM,MAAMhE,OAAQwD,GAAK3M,EAAG2M,IAChC8M,EAAGtM,MAAMhN,OAAOwM,EAAG,KAKzB,SAASoN,EAAWa,EAAQK,GAC1B,IAAIpP,EAAOoP,EAASA,EAAQhO,eAAiBjP,QAAQkd,QAAQN,EAAOO,eAAeC,KAAK,QACpFH,GACFT,EAAYS,GACd7B,EAAOiC,GAAG,kBAAoBjR,IAAKyB,IAIrC,SAASmO,EAAWY,EAAQhP,GAC1BwN,EAAOiC,GAAG,kBAAoBzP,KAAMA,KAIxC5N,QACGO,OAAO,oBACP+c,WAAW,qBAAsBrC,GAxLtC,GCAA,WACE,aAKAsC,EAAuBrC,SAAW,aAAc,SAAU,KAAM,WAAY,SAAU,YAAa,YAAa,UAAW,SAAU,cAAe,mBAAoB,WAAY,YAAa,SACjM,SAASqC,EAAuB7U,EAAYyS,EAAQ3b,EAAIC,EAAU2b,EAAQoC,EAAWlC,EAAWmC,EAAOC,EAAQ7d,EAAa8d,EAAkB9e,EAAUiB,EAAW8d,GACjK,IAA6BhW,EAAzB6T,EAAK1c,KAAM2c,KAEfD,EAAG7V,UAAY9F,EACf2b,EAAG/N,cAAgB,SACnB+N,EAAGoC,aAAe,EAClBpC,EAAGqC,oBAAsBA,EACzBrC,EAAGsC,mBAkFH,WACE7c,EAAE0B,QAAQ9C,EAAU,IAAM2b,EAAG/N,eAAgB,SAAS9H,GACpDA,EAAUsF,UAAW,IAEvBuQ,EAAGuC,KAAKC,SAAW,GArFrBxC,EAAGyC,UAwFH,WACEhd,EAAE0B,QAAQ9C,EAAU,IAAM2b,EAAG/N,eAAgB,SAAS9H,GACpDA,EAAUsF,UAAW,IAEvBuQ,EAAGuC,KAAKC,SAAWne,EAAU,IAAM2b,EAAG/N,eAAevC,QA3FvDsQ,EAAG0C,WAAaA,EAChB1C,EAAG2C,yBA6FH,SAAkCxB,EAAQhX,GACxCA,EAAUsF,UAAYtF,EAAUsF,SAChCuQ,EAAGuC,KAAKC,UAAYrY,EAAUsF,SAAU,GAAK,EAC7C0R,EAAOyB,iBACPzB,EAAO0B,mBAhGT7C,EAAG8C,gCAwGH,WACEb,EAAOc,QAAQjZ,EAAE,WACFA,EAAE,6DACAkZ,GAAIlZ,EAAE,YACpBxC,KAAK,WAEJ,IAAI4C,EAAazE,EAAEgC,OAAOpD,EAAU,IAAM2b,EAAG/N,eAAgB,SAAS9H,GACpE,OAAOA,EAAUsF,WAEnBrM,EAAS6G,kBAAkBC,GAAY5C,KAAK,WAC1C0Y,EAAGuC,KAAKC,SAAW,EACnBvV,EAAWkD,MAAM,uBAlHzB6P,EAAGiD,UAuHH,SAAmB9B,EAAQ3R,GACzB0T,EAAc/B,EAAQ3R,EAAO,gBAvH/BwQ,EAAGmD,SA0HH,SAAkBhC,EAAQvR,GACxBsT,EAAc/B,EAAQvR,EAAM,SA1H9BoQ,EAAGoD,aAAeA,EAClBpD,EAAG/R,YAwUH,WACE,OAAO5J,EAAU,SAAW2b,EAAG/N,cAAcf,cAAcjD,aAxU7D+R,EAAGvY,OA2UH,SAAgBwG,GACd5J,EAAUkM,QAAQyP,EAAG/N,eAAiBhE,YAAaA,KA3UrD+R,EAAGqD,WA8UH,SAAoBpV,GAClB,OAAO5J,EAAU,SAAW2b,EAAG/N,cAAcf,cAAcjD,aAAeA,GA9U5E+R,EAAGjS,KAiVH,SAAcuV,GACZjf,EAAUkM,QAAQyP,EAAG/N,eAAiBlE,KAAMuV,KAjV9CtD,EAAGuD,SAoVH,SAAkBD,GAChB,OAAOjf,EAAU,SAAW2b,EAAG/N,cAAcf,cAAcnD,MAAQuV,GApVrEtD,EAAGwD,OAuVH,WACEpgB,EAASuG,qBAAqB8Z,QAAQ,WACpCxW,EAAWkD,MAAM,qBAxVrB6P,EAAG0D,aA4VH,WACE1D,EAAGuC,KAAK1U,QAAS,EACjBxJ,EAAUkM,QAAQyP,EAAG/N,eAAiBjN,MAAO,MA7V/Cgb,EAAGuC,MAAS1U,QAAQ,EAAO2U,SAAU,GAGrClf,KAAKkd,QAAU,YA4BWnP,EA3BP4O,GA4BZxZ,KAAKoZ,EAAUY,cAClB9U,IAAK7B,EAAE,iBACP4W,YAAa5W,EAAE,UACf6W,SAAU+B,KAEZrR,EAAK5K,KAAKoZ,EAAUY,cAClB9U,IAAK7B,EAAE,uBACP4W,YAAa5W,EAAE,sBACf6W,SAAUyC,EACVxC,KAAM,iBAERvP,EAAK5K,KAAKoZ,EAAUY,cAClB9U,IAAK7B,EAAE,sBACP4W,YAAa5W,EAAE,qBACf6W,SAAUyC,EACVxC,KAAM,UAIRnb,EAAE0B,QAAQkK,EAAM,SAAS1F,GACvBkU,EAAUiB,eAAenV,KArB7B,IAA0B0F,EAxBxBlF,EAAO,SAC2C,iBAA9C/H,EAAYuC,SAASvD,SAASugB,eAChC3D,EAAGoC,aAAe,EAClBjW,EAAO,SAETkW,EAAoBlW,GAAQqX,QAAQ,IAGpCvW,EAAW+T,IAAI,iBAAkB,WAC/B3c,EAAUkM,QAAQyP,EAAG/N,eAAiBuR,QAAQ,MAIhDvW,EAAW+T,IAAI,mBAAoB4C,GAEnClE,EAAOsB,IAAI,WAAY,WAErBvb,EAAE0B,QAAQ8Y,EAAS,SAAStU,GAC1BkU,EAAUqB,iBAAiBvV,QAgCjC,SAAS0W,EAAoBlW,EAAMD,IAC7BA,GAAWA,EAAQsX,QAAUxD,EAAG/N,eAAiB9F,KAC/C5H,QAAQ6C,YAAY/C,EAAU,IAAM8H,KACtC9H,EAAUkM,QAAQpE,GACpB6T,EAAGsC,qBACHtC,EAAG/N,cAAgB9F,EACnB9H,EAAU2N,iBAAiB7F,IAyB/B,SAASuW,IACP1C,EAAGuC,KAAK1U,QAAS,EACjBmU,EAAM,UA2BR,SAASkB,EAAc/B,EAAQhX,EAAWgC,GACxC,GAAIhC,EAAU0Z,SAAU,CACtB,IAAIna,EAAU3F,EAAGmH,OAGb3G,QAAQ6C,YAAY+C,EAAU4U,wBAEhCrV,GADAS,EAAY/G,EAAS6E,KAAKkC,EAAUE,KAAKkC,cAAcpC,EAAU1G,GAAI0G,EAAUqH,eAC3DuN,sBAGtBrV,EAAQpC,KAAK,WAGX,IAAIwc,EAAc,MAAQ3X,EAAK+E,aAAe,eAC9C6Q,EAAUgC,MACRC,OAAQzf,QAAQkd,QAAQwC,SAASC,MACjCC,YAAahD,EACbiD,qBAAqB,EACrBC,eAAe,EACfP,YAAaA,EACbjC,WAAY,sBACZyC,aAAc,SACdC,QACEC,eAAgBra,QAO1B,SAASiZ,EAAajC,EAAQhV,EAAMsY,GAClC,IAAIta,EAEAsa,GACFta,EAAYsa,GACFjL,iBAGVrP,EAAY,IAAI9F,GAAYgG,IAAKjH,EAASiC,mBAAoB8G,KAAMA,IAKtE,IAAI2X,EAAc,MAAQ3X,EAAK+E,aAAe,iBAC9C,OAAO6Q,EAAUgC,MACfC,OAAQzf,QAAQkd,QAAQwC,SAASC,MACjCC,YAAahD,EACbiD,qBAAqB,EACrBC,eAAe,EACfP,YAAaA,EACbjC,WAAY,4BACZyC,aAAc,SACdC,QACEC,eAAgBra,KAMtB,SAASyZ,EAAyBzC,GAChC,IAAIhX,EAAWuL,EAAgBgP,EAAa/N,EAAOxF,EAAQwT,EAAgBC,EAE3Eza,EAAY9F,EAAU+J,OAAOjE,UAC7BuL,EAAiBrR,EAAU+J,OAAOsH,eAE9BvL,EAAU6C,OACZ0X,EAAchP,EAAemP,wBAC7B1a,EAAU2a,QAAU,GAChB3a,EAAU4a,WACZL,EAAYM,UAAY,IAC1B7a,EAAUgN,SAAgC,GAAvBuN,EAAYM,UAC/B5B,EAAa,KAAM,cAAejZ,GAC/B8a,QACAxB,QAAQ,WACPzf,EAAS,WACPK,EAAUoR,oBAKhBkB,EAAQjB,EAAemP,wBAAwBK,SAASxP,EAAeyP,0BACvEhU,GACE8D,KAAM0B,EAAMxB,UACZjB,MAAqB,GAAdyC,EAAMzC,MACb8Q,SAA2B,GAAjBrO,EAAMqO,UAEdtP,EAAe0P,kBAAwC,IAApBzO,EAAMxB,YAE3CwP,EAAiBjP,EAAemP,wBAAwB1P,UACxDyP,EAAkBnf,EAAEgC,OAAOrE,EAASuC,YAAcC,OAAQ,IAC1DuL,EAAOmO,YAAcsF,EAAgBD,GAAgBlhB,GACrD0N,EAAO8D,KAAO,GAEZ9K,EAAUkb,cAAgBlb,EAAUqH,aAGtCrH,EAAU+T,QAAQ/M,GAAQ7J,KAAK,WAC7B2F,EAAWkD,MAAM,kBACjBgS,EAAMmD,aACL,SAAS9b,GACV+b,EAAuB/b,EAAUW,EAAWgH,KAC3CsS,QAAQ,WACTzf,EAAS,WACPK,EAAUoR,kBAGPtL,EAAUqH,cACjBuQ,EAAUgC,MACRK,qBAAqB,EACrBC,eAAe,EACfE,QACEpa,UAAWA,EACXgH,OAAQA,GAEVqU,UACE,kDACA,kDACA,UAAY1b,EAAE,qBAAuB,OACrC,yBACA,wBACA,oDAAsDA,EAAE,6BAA+B,eACvF,oDAAsDA,EAAE,yBAA2B,eACnF,yBACA,gBACA4H,KAAK,IACPmQ,WAAY4D,IACXne,KAAK,WACN2F,EAAWkD,MAAM,mBAChB,cAEAsT,QAAQ,WACTzf,EAAS,WACPK,EAAUoR,mBASlBgQ,EAAmChG,SAAW,SAAU,YAAa,YAAa,UAClF,SAASgG,EAAmC/F,EAAQqC,EAAW5X,EAAWgH,GACxEuO,EAAOgG,qBAAuB,WAC5Bvb,EAAU+T,QAAQ/M,GAAQ7J,KAAKya,EAAU4D,KAAM,SAASnc,GACtDuY,EAAUjS,SAASxI,KAAK,WACtBie,EAAuB/b,EAAUW,EAAWgH,IAC3C,iBAKPuO,EAAOkG,qBAAuB,kBACrBzb,EAAUqH,aACjBrH,EAAU+T,QAAQ/M,GAAQ7J,KAAKya,EAAU4D,KAAM,SAASnc,GACtDuY,EAAUjS,SAASxI,KAAK,WACtBie,EAAuB/b,EAAUW,EAAWgH,IAC3C,iBAOT,SAASoU,EAAuB/b,EAAUW,EAAWgH,GAC/C3H,EAASC,QAAUyY,EAAiB/c,uBACpCqE,EAASxC,MAAQwC,EAASxC,KAAK6e,SAAWthB,QAAQqI,SAASpD,EAASxC,KAAK6e,UAC3E9D,EAAUgC,MACRC,OAAQzf,QAAQkd,QAAQwC,SAASC,MACjCE,qBAAqB,EACrBC,eAAe,EACfP,YAAa,4BACbjC,WAAYiE,EACZxB,aAAc,oCACdC,QACEpa,UAAWA,EACXgH,OAAQA,EACR4U,cAAevc,EAASxC,KAAK6e,WAE9Bve,KAAK,WACN2F,EAAWkD,MAAM,mBAChB,cASP2V,EAAiCrG,SAAW,SAAU,YAAa,YAAa,SAAU,iBAC1F,SAASqG,EAAiCpG,EAAQqC,EAAW5X,EAAWgH,EAAQ4U,GACrEziB,KAENyiB,cAAgBA,EAFVziB,KAGNwM,OAASiS,EAAUjS,OAHbxM,KAINsI,KAEH,WACEzB,EAAU+T,QAAQ3Z,QAAQC,QAASwhB,iBAAiB,GAAQ7U,IAAS7J,KAAKya,EAAU4D,SAqC5FphB,QACGO,OAAO,oBACP+c,WAAW,yBAA0BC,GAhY1C,GCAA,WACE,aAKAmE,EAAoBxG,SAAW,aAAc,SAAU,UAAW,YAAa,OAAQ,WAAY,SAAU,aAAc,cAAe,YAC1I,SAASwG,EAAoBhZ,EAAYyS,EAAQwG,EAASnE,EAAW9d,EAAMkiB,EAAUlE,EAAQ/d,EAAUE,EAAahB,GAClH,IAAI4c,EAAK1c,KAET0c,EAAGvb,WAAaP,EAASO,WACzBub,EAAGoG,QAAUhjB,EACb4c,EAAGqG,YA6EH,SAAqBC,GACnBrE,EAAOsE,OAAOzc,EAAE,gBAAiBA,EAAE,yBAChCxC,KAAK,SAAS9D,GACb,IAAI8B,EAAW,IAAIlC,GAEfI,KAAMA,EACNyF,YAAY,EACZC,UAAU,EACVnB,MAAOye,YAGXlhB,EAAS2F,MAAM3D,KAAK,WAClBlE,EAASyC,KAAKP,QAxFtB0a,EAAGyG,eA6FH,WACExE,EAAOsE,OAAOzc,EAAE,kCAAmCA,EAAE,wBAAyB4c,UAAW,QACtFpf,KAAK,SAASoB,GACbtF,EAASqF,gBAAgBC,GAAKpB,KAAK,SAAShC,GACtCf,QAAQqI,SAAStH,IAEnByc,EAAUgC,MACRC,OAAQzf,QAAQkd,QAAQwC,SAASC,MACjCE,qBAAqB,EACrBC,eAAe,EACfP,YAAa,2BACbjC,WAAY8E,EACZrC,aAAc,mCACdC,QACE7b,IAAKA,EACLpD,SAAUA,SAUtBqhB,EAAgClH,SAAW,QAAS,YAAa,MAAO,YACxE,SAASkH,EAAgCC,EAAO7E,EAAWrZ,EAAKpD,GAC9D,IAAI0a,EAAK1c,KACLujB,EAAQne,EAAIuN,MAAM,KAClB6Q,EAAWD,EAAM,GAErB7G,EAAG+G,MAAQjd,EAAE,oCAAoCkd,UAAUF,GAC3D9G,EAAGiH,aAAe,SAASC,IACrBA,EAAKC,QAAWD,EAAKrd,OAAOud,UAC9B9hB,EAASwG,eAAekU,EAAGjU,SAAUiU,EAAGhU,UAAU1E,KAAK,SAASue,GAC9D9D,EAAU4D,QACT,SAAS0B,GACVH,EAAKlb,SAASsb,aAAa,eAAe,MAIhDtH,EAAGlQ,OAAS,WACViS,EAAUjS,YAtIhBkQ,EAAGuH,kBA6IH,SAA2B1f,GACzB5D,EAAKkF,MAAM,qBAAuBtB,EAAaE,MAAQF,EAAarE,MACpEJ,EAASiF,WAAWR,EAAaE,MAAOF,EAAarE,MAAM8D,KAAK,SAASN,GACtEmf,EAASpC,KACPoC,EAASqB,SACNC,QAAQ3d,EAAE,wCACV4d,SAAS,aACTC,UAAU,SAlJpB3H,EAAGvY,QAAWjE,KAAM,IACpBwc,EAAG4H,cAAe,EAClB5H,EAAG6H,mBA8DH,WACE7H,EAAG4H,cAAgB5H,EAAG4H,aACtB5H,EAAGvY,OAAOjE,KAAO,IA/DnBwc,EAAG8H,UAkEH,WACE1kB,EAASyD,oBAlEXmZ,EAAG+H,mBACDC,oBAAqB,mBACrBC,YAAa,UACbC,aAqDF,WACE9kB,EAASyD,iBAAiBpB,EAAEqB,QAAQ1D,EAASuC,WAAY,QArDzDwiB,OAgDF,SAAyBC,EAAuBC,EAAmBC,GACjE,OAAOF,EAAsBG,cAAc9G,QAAQ,IAAM4G,EAAkB5G,QAAQ,KA9CrFne,KAAKkd,QAAU,WACbR,EAAG7J,WAAa1Q,EAAE2C,IAAIhE,EAAYmB,SAASijB,uBAAwB,SAAShlB,GAC1E,OAASC,GAAID,EAAKilB,kBACTjlB,KAAMA,EACNoH,MAAOxG,EAAYmB,SAASsJ,6BAA6BrL,MAMpEkc,EAAOgJ,OACL,WACE,OAAOjjB,EAAE+B,MACP/B,EAAE2C,IAAIhF,EAASgD,WAAY,SAASE,GAAK,OAAOb,EAAEkjB,KAAKriB,GAAI,KAAM,SAAU,YAC3Eb,EAAE2C,IAAIhF,EAAS+C,eAAgB,SAASG,GAAK,OAAOb,EAAEkjB,KAAKriB,GAAI,KAAM,SAAU,YAC/Eb,EAAE2C,IAAIhF,EAAS6C,cAAe,SAASK,GAAK,OAAOb,EAAEkjB,KAAKriB,GAAI,KAAM,SAAU,cAGlF,SAASsiB,EAASC,GAChB,IAAIC,EAAYte,EAAKd,EAGrBof,EAAarjB,EAAEsjB,eAAeH,EAASC,EAAS,MAChDre,EAAM/E,EAAE2C,IAAI3C,EAAEgC,OAAOqhB,EAAY,SAASxiB,GACxC,IAAI0iB,EAAYvjB,EAAEC,KAAKmjB,GAAWplB,GAAI6C,EAAE7C,KACxC,OAAQgC,EAAEwjB,QAAQ3iB,EAAG0iB,KACnB,MACJtf,EAAUtG,EAASW,GAAGmH,OAElBV,EAAIkF,OAAS,IACfzL,EAAKkF,MAAMqB,EAAIkH,KAAK,MAAQ,YAC5BhI,EAAUtG,EAASmH,sBAAsBC,KAEvCA,EAAIkF,OAAS,GAAKoZ,EAAWpZ,QAAUkZ,EAAQlZ,QAAUoZ,EAAWpZ,QAAUmZ,EAAQnZ,SACxFhG,EAAQpC,KAAK,WACX2F,EAAWkD,MAAM,sBAGvB,IAuGN5L,QACGO,OAAO,oBACP+c,WAAW,sBAAuBoE,GA1KvC,GCAA,WACE,aAKAiD,EAAoBzJ,SAAW,aAAc,YAAa,WAAY,YAAa,cAAe,QAAS,UAAW,kBACtH,SAASyJ,EAAoBjc,EAAY8U,EAAW3e,EAAUiB,EAAW8kB,EAAahH,EAAOiH,EAAS5E,GACpG,IAAera,EAAX6V,EAAK1c,KAET0c,EAAGqJ,gBAAkBjmB,EACrB4c,EAAGoG,QAAU/hB,EACb2b,EAAG7V,UAAYqa,EACfxE,EAAGsJ,MAkBH,WACEvH,EAAU4D,QAlBZ3F,EAAGuJ,aAqBH,WACE,OAAQvJ,EAAG7V,WACH6V,EAAG7V,UAAUqf,UACbxJ,EAAG7V,UAAUqf,SAAW,GAvBlCxJ,EAAGyJ,WA2BH,SAAoB7b,GAClB,OAAOub,EAAYO,WAAW9b,IA3BhCoS,EAAG2J,4BA8BH,SAAqCxI,GACnC,IAAIyI,EAAankB,EAAE2C,IAAI4X,EAAG7V,UAAUiP,UAAW,SAASC,GACtD,OAAOA,EAAS7V,KAAO,KAAO6V,EAASE,MAAQ,MAEjDsQ,EAAY1I,EAAQyI,IAjCtB5J,EAAG8J,wBAoCH,SAAiC3I,EAAQ3d,EAAM+V,GAC7CsQ,EAAY1I,GAAS3d,EAAO,KAAO+V,EAAQ,OApC7CyG,EAAG+J,KAAOA,EACV/J,EAAGgK,mBA2FH,YACE7f,EAAY/G,EAAS6E,KAAK+X,EAAG7V,UAAUE,KAAKkC,cAAcyT,EAAG7V,UAAU1G,KAC7Dsb,qBAAqBzX,KAAK,WAClC0Y,EAAG7V,UAAYA,EACf4f,OA9FJ/J,EAAGhC,MAAQA,EACXgC,EAAGiK,oBA2GH,YAEE9f,EAAY/G,EAAS6E,KAAK+X,EAAG7V,UAAUE,KAAKkC,cAAcyT,EAAG7V,UAAU1G,KAC7Dsb,qBAAqBzX,KAAK,WAElC6C,EAAU6T,MAAQgC,EAAG7V,UAAU6T,MAC/B7T,EAAU8T,YAAc+B,EAAG7V,UAAU8T,YACrC9T,EAAUyO,UAAYoH,EAAG7V,UAAUyO,UACnCzO,EAAUkM,MAAQ2J,EAAG7V,UAAUkM,MAE/B2H,EAAM7T,MApHV6V,EAAGkK,iBAwHH,WACElK,EAAG7V,UAAUsB,QAAO,GAAMnE,KAAK,WAC7B2F,EAAWkD,MAAM,kBACjB4R,EAAU4D,UA1Hd3F,EAAGmK,qBA8HH,WACEnK,EAAG7V,UAAUsB,SAASnE,KAAK,WACzB2F,EAAWkD,MAAM,kBACjB4R,EAAU4D,UAhId3F,EAAGoK,gBAoIH,SAAyBjJ,GACvB/d,EAASO,WAAWqF,KAAKgX,EAAG7V,UAAUE,IAAM,IAAM2V,EAAG7V,UAAU1G,GAAI,OAAO6D,KAAK,SAASN,GACtF+a,EAAU4D,OACV5D,EAAUgC,MACRC,OAAQzf,QAAQkd,QAAQwC,SAASC,MACjCC,YAAahD,EACbiD,qBAAqB,EACrBC,eAAe,EACfmB,UACE,+DAAiE1b,EAAE,mBAAqB,KACxF,kDACA,sCACA,yBACA,wBACA,qCAAuCA,EAAE,SAAW,eACpD,yBACA,gBACA4H,KAAK,IACPmQ,WAAYwI,EACZ9F,QAAUvd,KAAMA,KAMlBqjB,EAAmC5K,SAAW,QAAS,YAAa,QACpE,SAAS4K,EAAmCzD,EAAO7E,EAAW/a,GAC5D4f,EAAM5f,KAAOA,EACb4f,EAAM0C,MAAQ,WACZvH,EAAU4D,YAhKlB3F,EAAGsK,sBAsKH,SAA+BhlB,GAC7B0a,EAAG7V,UAAUkV,OAAO/Z,GAAUgC,KAAK,WACjCya,EAAU4D,OACV1Y,EAAWkD,MAAM,qBAxKrB6P,EAAGuK,sBA4KH,SAA+BjlB,GAC7B0a,EAAG7V,UAAUoV,OAAOja,GAAUgC,KAAK,WACjCya,EAAU4D,OACV1Y,EAAWkD,MAAM,qBA5KrB6P,EAAGrG,WAAa6K,EAAe7K,WA4B/B,SAASkQ,EAAY1I,EAAQyI,GAC3BR,EAAQzjB,WAAW2B,KAAK,SAASkjB,GAC/B,IAAIC,EAAUhlB,EAAEC,KAAK8kB,EAAU,SAASlkB,GACtC,GAAa,IAATA,EAAE7C,GACJ,OAAO6C,IAKXmkB,EAAQC,gBAAgBpjB,KAAK,SAASqjB,GACpCF,EAAQG,cAActjB,KAAK,SAASue,GAClCthB,QAAQC,OAAOqhB,EAAQgF,UAAYC,GAAIlB,EAAYmB,QAAS/K,EAAG7V,UAAU2a,UACzE/C,EAAUgC,MACRC,OAAQzf,QAAQkd,QAAQwC,SAASC,MACjCC,YAAahD,EACbiD,qBAAqB,EACrBC,eAAe,EACfP,YAAa,wBACbjC,WAAY,0BACZyC,aAAc,SACdC,QACEyG,aAAcP,EACdQ,aAAcpF,WAOxB1E,EAAOyB,iBACPzB,EAAO0B,kBAGT,SAASkH,IACP,IAAI5d,EAAkC,UAA1B6T,EAAG7V,UAAUA,UAAwB,cAAc,OAC/D4X,EAAU4D,OAAOre,KAAK,WAGpB,IAAIwc,EAAc,MAAQ3X,EAAO,iBACjC4V,EAAUgC,MACRC,OAAQzf,QAAQkd,QAAQwC,SAASC,MACjCE,qBAAqB,EACrBC,eAAe,EACfP,YAAaA,EACbjC,WAAY,4BACZyC,aAAc,SACdC,QACEC,eAAgBxE,EAAG7V,eAc3B,SAAS6T,EAAM7T,IACLA,GAAa6V,EAAG7V,WAEtB4T,SAASzW,KAAK,WACd2F,EAAWkD,MAAM,kBACjBgS,EAAMmD,YACNvD,EAAU4D,UAqFhBuF,EAA0BzL,SAAW,aAAc,SAAU,OAAQ,WAAY,YAAa,UAAW,OAAQ,mBAAoB,WAAY,YAAa,cAAe,OAAQ,QAAS,kBAC9L,SAASyL,EAA0Bje,EAAYyS,EAAQzb,EAAMD,EAAU+d,EAAWC,EAAO7U,EAAM+U,EAAkB9e,EAAUiB,EAAW8kB,EAAa/b,EAAM+U,EAAOqC,GAC9J,IAA0B2G,EAAcC,EAApCpL,EAAK1c,KAET0c,EAAGoG,QAAUhjB,EACb4c,EAAG7V,UAAYqa,EACfxE,EAAG7J,cACH6J,EAAGqL,qBAAuBrL,EAAG7V,UAAUmO,iBACvC0H,EAAGsL,uBAyCH,WACEtL,EAAGqL,sBAAwBrL,EAAGqL,qBAC9BrL,EAAG7V,UAAUmO,iBAAmB0H,EAAGqL,sBA1CrCrL,EAAGuL,+BAiDH,WACE,OAAOvL,EAAG7V,WACyB,WAAjC6V,EAAG7V,UAAUiM,OAAOwB,WACc,cAAlCoI,EAAG7V,UAAUiM,OAAOvF,MAAM1E,MAnD9B6T,EAAGwL,oBAAsBxL,EAAG7V,UAAUiP,WAAa4G,EAAG7V,UAAUiP,UAAU1J,OAC1EsQ,EAAGyL,sBA2CH,WACEzL,EAAGwL,qBAAuBxL,EAAGwL,qBA1C/BxL,EAAG0L,gBAmDH,WACuC,UAAjC1L,EAAG7V,UAAUiM,OAAOwB,YACtBoI,EAAGqL,sBAAuB,IApD9BrL,EAAG2L,eAuDH,WACwB3L,EAAG7V,UAAUiP,WAAa4G,EAAG7V,UAAUiP,UAAU1J,OAAS,GAE9EsQ,EAAG7V,UAAUsP,cAAcrW,EAAS6E,KAAK+X,EAAG7V,UAAUgP,uBAzD1D6G,EAAGyJ,WA6DH,SAAoB7b,GAElB,OADAub,EAAYO,WAAW9b,GAChBub,EAAYyC,QA9DrB5L,EAAGnE,YAiEH,SAAqBC,GACnB,IAIIvV,EAAGslB,EAJHpS,GAAkBuG,EAAG7V,UAAUiP,WAA+C,IAAlC4G,EAAG7V,UAAUiP,UAAU1J,OACnEyJ,EAAsB/V,EAAS6E,KAAK+X,EAAG7V,UAAUgP,qBACjDjN,EAAUuN,GAAiBsC,kBAAmB5C,MAC9C2S,EAAU,4LAGd,SAASC,EAAWC,GAClB,IAAIvT,EAAQuT,EAAIvT,MAAMqT,GAClBvS,EAAQd,EAAM,GACdjV,EAAOwoB,EAAIzK,QAAQ,IAAIzP,OAAO,OAASyH,EAAQ,QAAS,IAG5D,OAFAyG,EAAGwL,qBAAuB/R,EAC1BuG,EAAGiM,WAAa,GACT,IAAI7e,GAAOmP,KAAM9W,EAAEymB,KAAK1oB,EAAM,MAAOwZ,SAAWhY,MAAOuU,MAGhE,GAAIhV,QAAQqS,SAASkF,GAAO,CAO1B,IADA+P,EAAU,GACLtlB,EAAI,EAAGA,EAAIuV,EAAKpM,OAAQnJ,IACC,GAAvBuV,EAAKqQ,WAAW5lB,IACM,IAAtBuV,EAAKqQ,WAAW5lB,IACM,IAAtBuV,EAAKqQ,WAAW5lB,IACM,IAAtBuV,EAAKqQ,WAAW5lB,KACjBulB,EAAQM,KAAKP,GAKfA,GAAW/P,EAAKuQ,OAAO9lB,IAJvByZ,EAAG7V,UAAU0R,YAAYkQ,EAAWF,GAAU3f,GAC9C2f,EAAU,IAMVA,GACF7L,EAAG7V,UAAU0R,YAAYkQ,EAAWF,GAAU3f,QAGhD8T,EAAG7V,UAAU0R,YAAYC,EAAM5P,GAC/B8T,EAAGwL,qBAAuB/R,GAzG9BuG,EAAGsM,eA6GH,SAAwBjT,EAAU6N,GAChClH,EAAG7V,UAAU8S,eAAe5D,GACU,IAAlC2G,EAAG7V,UAAUiP,UAAU1J,SACzBsQ,EAAGwL,qBAAsB,GAC3BtE,EAAKqF,aAhHPvM,EAAG5C,aA0BH,WACE,IAAI7W,EAAIyZ,EAAG7V,UAAUiT,aAAa,IAClC4E,EAAM,aAAezb,IA3BvByZ,EAAGwM,cAkHH,WACE,GAAIxM,EAAG7V,WAAa6V,EAAG7V,UAAUqf,SAC/B,OAAIxJ,EAAG7V,UAAUqf,SAAW,EACnB1f,EAAE,OACFkW,EAAG7V,UAAUqf,SAAW,EACxB1f,EAAE,UAEFA,EAAE,SAxHfkW,EAAGyM,MAAQA,EACXzM,EAAGlQ,OAiJH,SAAgBoX,GACduF,EAAMvF,GACFlH,EAAG7V,UAAU6C,QAEfgT,EAAG7V,UAAY,MAEjB4X,EAAU4D,QAtJZ3F,EAAG+J,KAAOA,EACV/J,EAAGpU,KAyHH,SAAcsb,EAAMhb,GACdgb,EAAKC,QACPnH,EAAG7V,UAAUoB,MAAMW,GAChB5E,KAAK,SAASN,GACbiG,EAAWkD,MAAM,kBACjBgS,EAAMmD,YACNvD,EAAU4D,QACT,SAASnc,GACNA,EAASC,QAAUyY,EAAiB/c,uBACpCM,EAAEmH,SAASpD,EAASxC,KAAK6e,SAC3B7F,EAAG0M,sBAAwBljB,EAASxC,KAAK6e,QAEzCkE,EAAK7C,MApIflH,EAAG0M,uBAAwB,EAC3B1M,EAAG2M,iBACD1X,KAAM2X,IACNC,MAsKF,WAEE,IAAK,IADDA,KACKtmB,EAAI,EAAGA,GAAK,GAAIA,IACvBsmB,EAAMpmB,KAAKF,EAAEuR,YAEf,OAAO+U,EA3KAzR,IAET4E,EAAG8M,aA4KH,WACE9M,EAAG7V,UAAUwT,gBACbwN,EAAe,IAAIza,KAAKsP,EAAG7V,UAAU+J,MAAMtB,YA7K7CoN,EAAG+M,WAgLH,WACE/M,EAAG7V,UAAUqT,cACA,IAAI9M,KAAKsP,EAAG7V,UAAUkN,IAAIzE,YA/KzCoN,EAAGgN,gBAkLH,WACE,GAAIhN,EAAG7V,UAAU+J,MAAO,CAIR,IADNiX,EAAa8B,UAAYjN,EAAG7V,UAAU+J,MAAM+Y,YAElD9B,EAAe,IAAIza,KAAKsP,EAAG7V,UAAU+J,MAAMtB,WACjB,gBAAtBoN,EAAG7V,UAAUgC,OACf6T,EAAG7V,UAAU8M,IAAM,IAAIvG,KAAKsP,EAAG7V,UAAU+J,MAAMtB,WAC/CoN,EAAG7V,UAAU8M,IAAIqE,WAAW0E,EAAG7V,UAAUwM,OACzCyU,EAAa,IAAI1a,KAAKsP,EAAG7V,UAAU8M,IAAIrE,YAEzC4G,OA7LNwG,EAAGkN,cAkMH,WACE,GAAIlN,EAAG7V,UAAU8M,IAAK,CAEpB,IAAIN,EAAQyU,EAAW6B,UAAYjN,EAAG7V,UAAU8M,IAAIgW,UACtC,IAAVtW,KACFA,EAAQqJ,EAAG7V,UAAU+J,MAAMgD,UAAU8I,EAAG7V,UAAU8M,MACtC,EACV+I,EAAG7V,UAAU8M,IAAM,IAAIvG,KAAK0a,EAAWxY,YAEvCoN,EAAG7V,UAAUwM,MAAQA,EACrByU,EAAa,IAAI1a,KAAKsP,EAAG7V,UAAU8M,IAAIrE,YAEzC4G,OA7MNwG,EAAGmN,cAkNH,WACe,IAAIzc,KAAKsP,EAAG7V,UAAUkN,IAAIzE,YAjNrCoN,EAAG7V,UAAU+J,QACfiX,EAAe,IAAIza,KAAKsP,EAAG7V,UAAU+J,MAAMtB,YACzCoN,EAAG7V,UAAU8M,MACfmU,EAAa,IAAI1a,KAAKsP,EAAG7V,UAAU8M,IAAIrE,YACrCoN,EAAG7V,UAAUkN,KACF,IAAI3G,KAAKsP,EAAG7V,UAAUkN,IAAIzE,WAuHzC,SAAS6Z,EAAMvF,GACblH,EAAG7V,UAAUuB,SACbwb,EAAKkG,eAYP,SAASrD,EAAK7C,GACZlH,EAAG0M,uBAAwB,EAC3BxF,EAAKkG,eACLlG,EAAKqF,YAGP,SAASK,IACP,IAAI3X,KAKJ,OAHI+K,EAAG7V,UAAU+J,OAAS8L,EAAG7V,UAAU8M,MACrChC,EAAO+K,EAAG7V,UAAU+J,MAAM6G,SAASiF,EAAG7V,UAAU8M,MAE3CxR,EAAE2C,IAAI6M,EAAM,SAAS7C,GAC1B,OAASyM,oBAAqBzM,EAAKyM,sBAC1BrL,aAAcpB,EAAKoB,kBA4DhC,SAASgG,IACPwG,EAAG2M,gBAAgB1X,KAAO2X,IAC1B5M,EAAG7V,UAAUqP,kBAIjBjV,QACGO,OAAO,oBACP+c,WAAW,sBAAuBqH,GAClCrH,WAAW,4BAA6BqJ,GAnd7C,GCAA,WAEE,aAmCAmC,EAAwB5N,SAAW,SAAU,YAC7C,SAAS4N,EAAwB3N,EAAQtc,GAGvCE,KAAKqN,IAAM+O,EAAO/O,IAClBrN,KAAK6R,UAAYuK,EAAOvK,UACxB7R,KAAKgqB,UAAY5N,EAAO4N,UACxBhqB,KAAKuE,aAAe,WAClB,IAAIwC,EAAK2Q,EAAO4J,EAChB,OAAIlF,EAAOpa,UAET+E,EAAMqV,EAAOpa,SACbsf,EAAkBnf,EAAEgC,OAAOrE,EAASuC,YAAcC,OAAQ,IAC1DoV,EAAQvV,EAAEY,UAAUue,EAAiB,SAAStf,GAC5C,OAAOA,EAAS7B,IAAM4G,KAEfA,IAAKA,EAAK2Q,MAAOA,IAGrB,MAIXzW,QACGO,OAAO,oBACPyoB,UAAU,gBAzCb,WACE,OACEC,SAAU,IACV5G,OACEjW,IAAK,SACLwE,UAAW,eACXmY,UAAW,eACXhoB,SAAU,eAEZuc,WAAYwL,KA9BlB,GCAA,WACE,aAkBAI,EAAmBhO,SAAW,oBAC9B,SAASgO,EAAmBvL,GAC1B,OACEsL,SAAU,IACV5G,OACErS,MAAO,WACPmZ,WAAY,YAEdnM,SAAS,EACTiE,SAIF,SAAkBmI,EAAOC,GACvB,IAAIC,EAAIpoB,EAAEqoB,IAAIF,EAAQ,mBAAoB,GAAK,KAE/C,OACE,wBAEA,4DACA,6BACA,uFAEA,uDAAuDC,EAAE,8BACzD,sBAAsBA,EAAE,+BACxB,sBAAsBA,EAAE,0CACxB,yBAEA,wBAAwBA,EAAE,qDAAqDA,EAAE,sCAEjF,YAAYA,EAAE,6BACd,6BAEA,2BAA2BA,EAAE,8EAE7B,2BAA2BA,EAAE,4EAE7B,2BAA2BA,EAAE,+FAE7B,2BAA2BA,EAAE,wFAC7B,gBAEA,uCAAuCA,EAAE,+BACzC,mDAAmDA,EAAE,sCACrD,eACA,aACA,WACA,oFACA,8EACA,UACAnc,KAAK,KAxCPqc,KA2CF,SAAcnH,EAAOoH,EAAUC,GAC7B,IAAIC,EAAIC,EAAMC,EAET3oB,EAAEqoB,IAAIG,EAAO,qBAGhBC,EAAK,IAAMtH,EAAMrS,MAAM8Z,SACvBF,EAAOvH,EAAMrS,MAAMmT,SAAWwG,EAIhB,KAHdE,EAAQ,KAAOxH,EAAMrS,MAAMmT,SAAW,GAAKwG,KAIzCE,EAAQ,IAGVJ,EAASM,IAAI,OAAQH,EAAO,KAC5BH,EAASM,IAAI,QAASF,EAAQ,KACzBxH,EAAMrS,MAAMpK,WAAcyc,EAAMrS,MAAMpK,UAAUokB,aACnDP,EAASQ,SAAS,SAAW5H,EAAMrS,MAAML,OACzC8Z,EAASQ,SAAS,QAAU5H,EAAMrS,MAAM7E,SAItCkX,EAAMrS,MAAMka,WACdT,EAASQ,SAAS,aAAe5H,EAAMrS,MAAMka,WAE3C7H,EAAMrS,MAAMpK,YAEd6jB,EAASQ,SAAS,YAAc5H,EAAMrS,MAAMpK,UAAUE,KACtD2jB,EAASQ,SAAS,sBAAwB5H,EAAMrS,MAAMpK,UAAUE,KAGvB,IAArCuc,EAAMrS,MAAMpK,UAAUukB,YACxBV,EAASQ,SAAS,yBAGmB,IAAnC5H,EAAMrS,MAAMpK,UAAUwkB,UACxBX,EAASQ,SAAS,2BAO5BjqB,QACGO,OAAO,oBACPyoB,UAAU,qBAAsBE,GAtHrC,GCAA,WACE,aAqCAlpB,QACGO,OAAO,oBACPyoB,UAAU,qBApBb,WACE,OACEC,SAAU,IACV5G,OACEtS,OAAQ,YACR3D,IAAK,SACL+c,WAAY,YAEdlI,UACE,yBACA,wCACA,qCACA,qBACA,6EACA9T,KAAK,OAlCb,GCAA,WACE,aAcAkd,EAAgBnP,SAAW,aAAc,WAAY,mBAAoB,WAAY,aACrF,SAASmP,EAAgB3hB,EAAYjJ,EAAUke,EAAkB9e,EAAUiB,GACzE,OACEmpB,SAAU,IACVqB,SAAU,iBAAkB,yBAC5Bd,KAGF,SAAcnH,EAAOoH,EAAUC,EAAOa,GACpC,IAAIC,EAAYC,EAAiBC,EAAgBtK,EAAgBuK,EAEjEH,EAAaf,EAAS,GACtBgB,EAAkBF,EAAM,GACxBG,EAAiBH,EAAM,GACvBnK,GAAkB,EAElBqJ,EAASQ,SAAS,6CAGlB,IAAIW,EAAsBliB,EAAW+T,IAAI,qBAWzC,WACE,IAAI3W,EAAKxC,EAAc4mB,EAGvB7H,EAAMrS,MAAQlQ,EAAU+J,QAExBvG,EAAemnB,EAAgBnnB,kBAG7B8c,EAAiB9c,EAAamT,MAC9B3Q,EAAMxC,EAAawC,IACnB6kB,EAAyBtI,EAAMrS,MAAMmB,eAAe0P,iBAAiBpK,OAGlE3Q,IACHA,EAAMuc,EAAMrS,MAAMpK,UAAUE,MAG9BokB,EAAY7H,EAAMrS,MAAMpK,UAAUmK,OAAO,GAAGma,YAE1CT,EAASQ,SAAS,aAAeC,GAGnCT,EAASQ,SAAS,YAAcnkB,KAjC9B+kB,EAAiBniB,EAAW+T,IAAI,gBA8CpC,WAEE,IAAIqO,EAAWC,EAAYvK,EAAU7J,EACjChH,EAAO8Q,EAAUuK,EAAcC,EAInC,GAFAH,GAAY,EAERjsB,EAASyB,OAASzB,EAASyB,MAAMsH,MAAQ8iB,EAAe9iB,KAAM,CAUhE,GAPAmjB,EAAuC,oBAAxBL,EAAe9iB,KAC9B4Y,EAAe6B,EAAMrS,MAAMpK,UAAUokB,WACrCrT,EAAe0L,EAAMrS,MAAMmB,eAAemP,wBAAwB1P,UAClEjB,EAAe0S,EAAMrS,MAAMmB,eAAemP,wBAAwB3Q,MAClEqb,EAAe3I,EAAMrS,MAAMmB,eAAemP,wBAAwBG,SAClEwK,EAAetN,EAAiBjd,mBAAqBiP,EAEjD3P,QAAQ6C,YAAYmoB,GACtB,OAqCF,KApCAvK,EAAWuK,GACIC,IACbxK,EAAWwK,GAETtU,GAAc,IACZyJ,EAAiB,GACjBzJ,GAAc8T,EAAgB7Z,WAC/B+F,GAAcyJ,IACbuK,GAA0BvK,IACzBiC,EAAMrS,MAAMpK,UAAUkb,gBAI3BgK,GAAY,EACPC,IACEvK,IAEH6B,EAAMrS,MAAMoB,WA0EAzB,EA1EyBA,EA2EtCub,EAAavb,KAzEV9Q,EAASyB,MAAM6qB,eACjB1B,EAASM,IAAI,MAAQpa,EAAQ9Q,EAASyB,MAAM6qB,cAAiB,MAC7D1B,EAASM,IAAI,SAAWtJ,EAAW5hB,EAASyB,MAAM6qB,cAAiB,OAGnE1B,EAASM,IAAI,MAAOlrB,EAASyB,MAAM8qB,UAAY,OAEnD3B,EAAS4B,YAAY,YAAchJ,EAAMrS,MAAMpK,UAAUE,KACzD2jB,EAAS4B,YAAY,yBACrB5B,EAASQ,SAAS,0BAClB5H,EAAMrS,MAAME,SAAU,GAGxB8a,GAAgBvK,EAChB9J,KAGQmU,GAAaE,GAAgBrU,GAAc8T,EAAgB7Z,YACjE6P,EAAWuK,GACIrN,EAAiBjd,qBAC9B+f,EAAW9C,EAAiBjd,oBAC1BiW,GAAc,GAAKA,GAAc8T,EAAgB7Z,YAEnDka,GAAY,EACPC,IACHtB,EAASM,IAAI,MAAOlrB,EAASyB,MAAM8qB,UAAY,MAE3CvsB,EAASyB,MAAM6qB,eACjB1B,EAASM,IAAI,SAAWtJ,EAAW5hB,EAASyB,MAAM6qB,cAAiB,OAEvE1B,EAAS4B,YAAY,0BACrB5B,EAAS4B,YAAY,yBAGrB5B,EAASQ,SAAS,YAAc5H,EAAMrS,MAAMpK,UAAUE,MAExDklB,GAAgBvK,EAChB9J,IACAhH,EAAQ,EAELqb,IAECD,EACFtB,EAASQ,SAAS,yBAEVzJ,IAER6B,EAAMrS,MAAMqB,SA6BA1B,EA7BqBA,EA6Bd8Q,EA7BqBA,EA+BvCyK,GADIvb,EAAQ8Q,GAAY9C,EAAiBjd,uBADlD,IAAoBiP,EAAO8Q,EAJ3B,IAAsB9Q,EApBhBmb,EACFrB,EAAS4B,YAAY,WAErB5B,EAASQ,SAAS,aA1IlBqB,EAAoB5iB,EAAW+T,IAAI,mBAmCvC,WAEEvb,EAAEqqB,aAAaf,EAAWgB,UAAW,SAASC,GACxC,aAAa5D,KAAK4D,IACpBhC,EAAS4B,YAAYI,KAGzBhC,EAASQ,SAAS,aAvCpB5H,EAAM5F,IAAI,WAAY,WACpBmO,IACAC,IACAS,MAuIF,SAASJ,EAAaQ,GACpB,IAAIC,EAASrD,EAAOsD,EAUpB,OARAD,EAAqB,GAAXD,GACVpD,EAAQ/V,KAAKsZ,MAAMF,EAAU,KACjB,KACRrD,EAAQ,IAAMA,IAClBsD,EAAOD,EAAU,IACN,KACPC,EAAO,IAAMA,GAELtD,EAAQ,IAAMsD,KAchC5rB,QACGO,OAAO,oBACPyoB,UAAU,kBAAmBqB,GA5MlC,GCAA,WACE,aAkBAyB,EAAoB5Q,SAAW,oBAC/B,SAAS4Q,EAAoBnO,GAC3B,OACEsL,SAAU,IACV5G,OACEzc,UAAW,eACXmmB,eAAgB,YAElB/O,SAAS,EACTiE,SAIF,SAAkBmI,EAAOC,GACvB,OACE,wBACA,mFAEA,8EACA,qDACA,gEAEA,4GAEA,kCACA,6BAEA,kGAEA,gGAEA,mHAEA,4GACA,gBAEA,gEACA,uFACA,eAEA,+DACA,kFACA,eACA,UACAlc,KAAK,KAlCPqc,KAqCF,SAAcnH,EAAOoH,EAAUC,GAMzBrH,EAAMzc,UAAU0Z,UAClBmK,EAASQ,SAAS,gBAGhB5H,EAAMzc,UAAUomB,WAClBvC,EAASQ,SAAS,aAAe5H,EAAMzc,UAAUomB,WAGnDvC,EAASQ,SAAS,YAAc5H,EAAMzc,UAAUE,KAChD2jB,EAASQ,SAAS,sBAAwB5H,EAAMzc,UAAUE,KAGvB,IAA/Buc,EAAMzc,UAAUukB,YAClBV,EAASQ,SAAS,yBAGa,IAA7B5H,EAAMzc,UAAUwkB,UAClBX,EAASQ,SAAS,yBAIxBjqB,QACGO,OAAO,oBACPyoB,UAAU,sBAAuB8C,GA/FtC,GCAA,WAoDEG,EAA6B/Q,SAAW,aAAc,SAAU,WAAY,WAAY,WAAY,WAAY,aAAc,aAAc,SAAU,YACtJ,SAAS+Q,EAA6BvjB,EAAYyS,EAAQ+Q,EAAUtK,EAAUuK,EAAUC,EAAUC,EAAYC,EAAY5O,EAAQ7e,GAChI,IAAI0tB,EAAQxtB,KAGZA,KAAKkd,QAAU,WACbld,KAAKytB,UAAW,GAIlBztB,KAAK0tB,UAAY,WACf1tB,KAAK2tB,iBAAmBR,EAAS/qB,KAAK,KAAK,GAC3CpC,KAAK4tB,aAAe5tB,KAAK2tB,iBAAiBE,uBAAuB,oBACjE7tB,KAAK8tB,eAAiBX,EAAS/qB,KAAK,sBAAsB,GAC1DpC,KAAK+tB,aAAeZ,EAAS/qB,KAAK,SAAS,GAC3CpC,KAAKguB,kBAAoB7rB,EAAE8rB,KAAKd,EAAS/qB,KAAK,YAC9CpC,KAAKkuB,sBAIPluB,KAAKkuB,mBAAqB,WACxB/rB,EAAE0B,QAAQ7D,KAAK4tB,aAAc,SAASnsB,GACpCA,EAAE0sB,UAAYX,EAAMxrB,SAAS9B,QAKjCF,KAAKouB,WAAa,SAASvQ,GACzB7d,KAAKytB,UAAW,EAChBztB,KAAK+tB,aAAarsB,MAAQ1B,KAAKgC,SAAS9B,KACxCF,KAAK2tB,iBAAiBlB,UAAU4B,IAAI,WACpCruB,KAAK8tB,eAAerB,UAAUtkB,OAAO,WACrCnI,KAAK+tB,aAAarP,QAClB1e,KAAK+tB,aAAaO,SACdzQ,IACFA,EAAO0B,kBACP1B,EAAOyB,mBAKXtf,KAAKuuB,WAAa,SAAS1Q,GACrB7d,KAAK+tB,aAAaS,WAGtBxuB,KAAKgC,SAAS9B,KAAOF,KAAK+tB,aAAarsB,MACvC1B,KAAK+tB,aAAaS,UAAW,EAC7BxuB,KAAKgC,SAASgG,UACXhE,KAAK,SAASN,GACb8pB,EAAMC,UAAW,EACjBD,EAAMM,eAAerB,UAAU4B,IAAI,WACnCb,EAAMG,iBAAiBlB,UAAUtkB,OAAO,WACxCqlB,EAAMU,uBAEP/N,QAAQ,WACPqN,EAAMO,aAAaS,UAAW,MAKpCxuB,KAAKyuB,cAAgB,WACnBzuB,KAAKytB,UAAW,EAChBztB,KAAK2tB,iBAAiBlB,UAAUtkB,OAAO,WACvCnI,KAAK8tB,eAAerB,UAAU4B,IAAI,WAClCruB,KAAK+tB,aAAarsB,MAAQ1B,KAAKgC,SAAS9B,MAI1CF,KAAK0uB,cAAgB,WACf1uB,KAAKgC,SAASY,eAEhB5C,KAAKgC,SAASkG,UACXyZ,MAAM,SAASje,EAAMyC,GACpBwY,EAAOgQ,MAAMnoB,EAAE,uDAAwDgnB,EAAMxrB,SAAS9B,MACzEsG,EAAE9C,EAAK6E,UAIxBoW,EAAOc,QAAQjZ,EAAE,WAAYA,EAAE,uDAAwDxG,KAAKgC,SAAS9B,OACpFwf,GAAIlZ,EAAE,YACpBxC,KAAK,WACJwpB,EAAMxrB,SAASkG,UACZyZ,MAAM,SAASje,EAAMyC,GACpBwY,EAAOgQ,MAAMnoB,EAAE,uDAAwDgnB,EAAMxrB,SAAS9B,MACzEsG,EAAE9C,EAAK6E,aAOhCvI,KAAK4uB,SAAW,SAAS/Q,GACvB,IAAIgR,EAAgBzB,EAAS0B,mBACxBC,WAAW/uB,KAAKguB,mBAChBgB,iBACC5B,EAAS6B,UAAUC,YACnB9B,EAAS+B,UAAUC,YAGrBC,EAAiBjC,EAASkC,oBACzBC,SAASvvB,KAAKguB,mBACdtM,SAAS,KACT8N,cAAcpC,EAASqC,UAAUC,MAElCC,GACFC,SAAU3uB,QAAQkd,QAAQwC,SAASC,MACnCK,QACE4O,SAAU7vB,KACVgC,SAAUhC,KAAKgC,SACfosB,WAAYntB,QAAQ2L,KAAK5M,KAAMA,KAAKouB,YACpCM,cAAeztB,QAAQ2L,KAAK5M,KAAMA,KAAK0uB,gBAEzCoB,kBAAkB,EAClBvR,WAAYwR,EACZ/O,aAAc,YACdoD,SAAUyK,EACVY,UAAWJ,EACXxO,YAAahD,EACb2C,YAAa,kBACbwP,WAAW,EACXlP,qBAAqB,EACrBC,eAAe,EACfkP,aAAa,GAGf7C,EAAS8C,KAAKP,GACX3rB,KAAK,SAASmsB,GAEbA,EAASC,QAAQC,IAAI,QAAS,WAC5BF,EAASnK,YAIf+J,EAAe5T,SAAW,aAAc,YAAa,eAAgB,QACrE,SAAS4T,EAAeO,EAAY7R,EAAW8R,EAAc1mB,GAC3D,IAAI2mB,EAAYxwB,KAEhBA,KAAKywB,SAAW,WACdtuB,EAAE0B,QAAQ/D,EAASuC,WAAY,SAASW,GAClCwtB,EAAUxuB,SAAS7B,IAAM6C,EAAE7C,GAC7B6C,EAAEV,OAAS,EAEXU,EAAEV,OAAS,KAIjBtC,KAAK0wB,QAAU,WACbvuB,EAAE0B,QAAQ/D,EAASuC,WAAY,SAASW,GAAKA,EAAEV,OAAS,KAG1DtC,KAAK2wB,eAAiB,WACpB,IAAIrpB,EAAQtH,KAAKgC,SAASsF,MAC1BmX,EAAUgC,MACRD,YAAaxgB,KAAKgC,SAAS7B,GAAK,cAChCoe,WAAYqS,EACZ5P,aAAc,aACdF,qBAAqB,EACrBC,eAAe,EACfE,QACE4P,YAAa7wB,KAAKgC,YAEnB2f,MAAM,WAEP6O,EAAUxuB,SAASsF,MAAQA,IAM7BspB,EAA2BzU,SAAW,SAAU,YAAa,eAC7D,SAASyU,EAA2BxU,EAAQqC,EAAWoS,GACrD,IAAInU,EAAK1c,KAET0c,EAAG1a,SAAW,IAAIlC,EAAS+wB,EAAYnpB,SACvCgV,EAAGoU,eAOH,SAAwBlN,GAClBA,EAAKC,SACPnH,EAAG1a,SAASiG,QAEZ4oB,EAAY5wB,KAAKyc,EAAG1a,SAAS0F,SAC7B+W,EAAU4D,SAXd3F,EAAGsJ,MAeH,WACEvH,EAAUjS,UAdZ4P,EAAOgJ,OAAO,WAAa,OAAO1I,EAAG1a,SAASsF,OAAU,WACtDupB,EAAYvpB,MAAQoV,EAAG1a,SAASsF,UAkBtCtH,KAAK+wB,UAAY,WACftS,EAAUgC,MACRC,OAAQzf,QAAQkd,QAAQwC,SAASC,MACjCE,qBAAqB,EACrBC,eAAe,EACfP,YAAaxgB,KAAKgC,SAAS7B,GAAK,SAChCoe,WAAYyS,EACZhQ,aAAc,QACdC,QACEjf,SAAUhC,KAAKgC,YAOnBgvB,EAAsB7U,SAAW,YAAa,YAC9C,SAAS6U,EAAsBvS,EAAWzc,GAC/BhC,KACNgC,SAAWA,EADLhC,KAENgmB,MAEH,WACEvH,EAAU4D,UAKhBriB,KAAKixB,eAAiB,WACpBxS,EAAUgC,MACRC,OAAQzf,QAAQkd,QAAQwC,SAASC,MACjCC,YAAahD,EACbiD,qBAAqB,EACrBC,eAAe,EACfP,YAAa,0BACbjC,WAAY2S,EACZlQ,aAAc,kCACdC,QACEkQ,OAAQnxB,KAAKgC,YAOjBkvB,EAA+B/U,SAAW,QAAS,YAAa,UAChE,SAAS+U,EAA+B5N,EAAO7E,EAAW0S,GAC/CnxB,KAENoxB,SAAW,IAAIb,GAChBnrB,IAAKisB,oBAAsBF,EAAOhxB,GAAI,UAAUiO,KAAK,KACrDkjB,YAAY,EACZC,WAAY,EACZC,UAAYtxB,KAAMuxB,EAAmBC,GAAID,IACzCE,cAAe,SAASC,EAAM1rB,EAAUC,EAAQ0rB,GAC9C,IAAIC,EAEJrT,EAAU4D,OAEgB,IAAtBnc,EAAS6rB,SACXD,EAAMtrB,EAAE,2BAERsrB,EAAMtrB,EAAE,wDAAyDN,EAAS6rB,UAC1EpoB,EAAWkD,MAAM,mBAGnBgW,EAASpC,KACPoC,EAASqB,SACNC,QAAQ2N,GACR1N,SAAS,aACTC,UAAU,OAEjB2N,YAAa,SAASJ,EAAM1rB,EAAUC,EAAQ0rB,GAC5ChP,EAASpC,MACPyB,UACE,aACA,mCACA,gEACA,aAAe1b,EAAE,+CAAiD,UAClE,WACA,eACA4H,KAAK,IACPgW,SAAU,YACVC,UAAW,SApCRrkB,KAyCNgmB,MAAQ,WACTvH,EAAU4D,QAGZ,SAASoP,EAAkBG,GACzB,IAAIK,EAA2C,IAA9BL,EAAK/oB,KAAKhE,QAAQ,SAC/B,WAAWikB,KAAK8I,EAAK1xB,MAgBzB,OAdK+xB,GACHpP,EAASpC,MACPyB,UACE,aACA,mCACA,gEACA,aAAe1b,EAAE,oCAAsC,UACvD,WACA,eACA4H,KAAK,IACPgW,SAAU,YACVC,UAAW,MAGR4N,KAKbjyB,KAAKkyB,MAAQ,WAEXlyB,KAAKgC,SAASuF,KAAK4qB,SAASnuB,KAAK,WAE/Bya,EAAUgC,MACRD,YAAagQ,EAAUxuB,SAAS7B,GAAK,gBACrCoe,WAAY,gBACZyC,aAAc,MACdF,qBAAqB,EACrBC,eAAe,EACfE,QACEmR,aAAc5B,EAAUxuB,SAASuF,KAAK8qB,MACtCxoB,KAAMA,EACNsnB,OAAQX,EAAUxuB,iBAahCf,QACGO,OAAO,oBACP+c,WAAW,+BAAgC2O,GAC3CjD,UAAU,qBAlYb,WACE,OACEC,SAAU,IACV5G,SACAwM,kBACE9tB,SAAU,eAEZkgB,UACE,8CACA,mEACA,+BACA,gCACA,0BAA4B1b,EAAE,UAAY,iBAC1C,0BACA,6CACA,gDACA,gCACA,mCACA,4DACA,2CACA,yCACA,iDACA,OACA,+CACA,4CACA,wBAA0BA,EAAE,wBAA0B,IACtD,8CACA,+CACA,gDACA,wBACA,kDACA,gEACA,yEACA,eACA,iDACA,6CACA,wBAA0BA,EAAE,WAAa,yBACzC4H,KAAK,IACPmQ,WAAY,+BACZyC,aAAc,WA7CpB,GCAA,WACE,aAqCA/f,QACGO,OAAO,oBACPyoB,UAAU,qBApBb,WACE,OACEC,SAAU,IACV5G,OACEtS,OAAQ,YACR3D,IAAK,SACL+c,WAAY,YAEdlI,UACE,2BACA,wCACA,qCACA,qBACA,6EACA9T,KAAK,OAlCb,GCAA,WACE,aAiFAnN,QACGO,OAAO,oBACPyoB,UAAU,uBArEb,WACE,OACEC,SAAU,IACV5G,OACErS,MAAO,WACPmZ,WAAY,YAEdnM,SAAS,EACTiE,SAIF,SAAkBmI,EAAOC,GACvB,IAAIC,EAAIpoB,EAAEqoB,IAAIF,EAAQ,mBAAoB,GAAK,KAE/C,OACE,wBAEA,2DACA,qFAEA,qDAAqDC,EAAE,8BACvD,oBAAoBA,EAAE,+BACtB,oBAAoBA,EAAE,0CACtB,oCAAoCA,EAAE,sDAAsDA,EAAE,sCAE9F,oBAAoBA,EAAE,qDAAqDA,EAAE,sCAE7E,QAAQA,EAAE,6BACV,yBAEA,uBAAuBA,EAAE,8EAEzB,uBAAuBA,EAAE,4EAEzB,uBAAuBA,EAAE,+FAEzB,uBAAuBA,EAAE,wFACzB,YACA,UACAnc,KAAK,KA/BPqc,KAkCF,SAAcnH,EAAOoH,EAAUC,GACxBxoB,EAAEqoB,IAAIG,EAAO,qBAGZrH,EAAMrS,MAAMka,WACdT,EAASQ,SAAS,aAAe5H,EAAMrS,MAAMka,WAE3C7H,EAAMrS,MAAMpK,YAEd6jB,EAASQ,SAAS,YAAc5H,EAAMrS,MAAMpK,UAAUE,KAGb,IAArCuc,EAAMrS,MAAMpK,UAAUukB,YACxBV,EAASQ,SAAS,yBAGmB,IAAnC5H,EAAMrS,MAAMpK,UAAUwkB,UACxBX,EAASQ,SAAS,6BA3E9B,GCAA,WAEE,aAcAoH,EAAqBnW,SAAW,aAAc,UAAW,YAAa,KAAM,WAAY,aAAc,WAAY,YAAa,eAC/H,SAASmW,EAAqB3oB,EAAYiZ,EAAS2P,EAAW9xB,EAAIC,EAAU8xB,EAAY1yB,EAAUiB,EAAWD,GAC3G,OACEopB,SAAU,IACV5G,OACEza,KAAM,yBAER0V,WAAYkU,EACZhI,KAAM,SAASnH,EAAOnF,EAASwM,EAAOpM,GACpC,IAAI1P,EAAMhG,EAAM6pB,GAAgB,EAEhC7jB,EAAO,KACPhG,EAAOya,EAAMza,KACb6pB,EAA4C,sBAA3BvU,EAAQE,KAAK,WAI9BE,EAAWmU,cAAgBA,EAG3BhyB,EASA,WAGE,GAFAmO,EAAO,IAAI8jB,EAAaxU,EAAStV,GAErB,WAARA,EAAmB,CAErB,IAAI4J,EAAMmgB,EAAUC,EAChB/xB,EAAYmB,SAAS6wB,mBACvBrgB,EAAO3R,EAAYmB,SAAS6wB,iBAAiBngB,MAAM,KACnDigB,EAAWjS,SAASoS,eAAe,OAAS7nB,SAASuH,EAAK,KAC1DogB,EAAiB3nB,SAASuH,EAAK,IAAM5D,EAAKud,cAC1Cvd,EAAKsP,QAAQ6U,UAAYJ,EAASK,UAAYJ,GAMlDtU,EAAW6N,cAAgBvd,EAAKud,gBAtBlC9I,EAAM5F,IAAI,WAAY,WAChB7O,GACFA,EAAKqkB,aA0BT,SAASP,EAAaxF,EAAUtkB,GAC9B7I,KAAKmtB,SAAWA,EAChBntB,KAAKme,QAAUgP,EAAS,GACxBntB,KAAK6I,KAAOA,EACZ7I,KAAKosB,cAAgBpsB,KAAKmzB,mBAC1BnzB,KAAKozB,WAAa,EAAIpzB,KAAKosB,cAC3BpsB,KAAK8P,WAAa9P,KAAKqzB,gBACvBrzB,KAAKszB,KAAOtzB,KAAKuzB,gBAGjBvzB,KAAK6rB,oBAAsBliB,EAAW+T,IAAI,qBAAsBzc,QAAQ2L,KAAK5M,KAAMA,KAAKwzB,cACxFxzB,KAAKyzB,mBAAqB9pB,EAAW+T,IAAI,mBAAoBzc,QAAQ2L,KAAK5M,KAAMA,KAAK0zB,YAErF1zB,KAAK2zB,wBAA0B1yB,QAAQ2L,KAAK5M,KAAMA,KAAK4zB,mBACvD5zB,KAAK6zB,+BAAiC5yB,QAAQ2L,KAAK5M,KAAMA,KAAK8zB,0BAG9D9zB,KAAK4zB,oBACL3yB,QAAQkd,QAAQyE,GAASmR,GAAG,SAAU/zB,KAAK2zB,yBAG7ChB,EAAatrB,WAEX6rB,SAAU,WACRlzB,KAAK6rB,sBACL7rB,KAAKyzB,qBACLzzB,KAAKmtB,SAAS6G,IAAI,YAAah0B,KAAK6zB,gCACpC5yB,QAAQkd,QAAQyE,GAASoR,IAAI,SAAUh0B,KAAK2zB,0BAG9CH,YAAa,WACXxzB,KAAKmtB,SAAS4G,GAAG,YAAa/zB,KAAK6zB,gCACnC7zB,KAAK4zB,oBACL5zB,KAAK8zB,4BAGPJ,UAAW,WACT1zB,KAAKmtB,SAAS6G,IAAI,YAAah0B,KAAK6zB,gCACpC/zB,EAASyB,MAAQ,MAGnB4xB,iBAAkB,WAChB,IAAIc,EAAOC,EAAQC,EAAS,KAO5B,OALAF,EAAQtT,SAASoS,eAAe,SAChCmB,EAASvT,SAASoS,eAAe,UAC7BkB,GAASC,IACXC,GAAWD,EAAOjB,UAAYgB,EAAMhB,WAAa,IAE5CkB,GAITC,iBAAkB,SAASC,GACzB,IAAIC,EAAOH,EAAQI,EAAYlI,EAAWmI,EAAOC,EAASC,EAe1D,OAbAP,EAASG,EAAQC,EAAalI,EAAY,GAC1CmI,EAAQx0B,KAAKme,QAAQ0P,uBAAuB,QAElCzhB,OAAS,IAEjB+nB,GADAM,EAAUD,EAAM,GAAGG,yBACFR,OACjBG,EAAQG,EAAQH,MAChBC,EAAaE,EAAQ5J,KAAOwJ,GAC5BK,EAAaF,EAAM,GAAG3G,uBAAuB,4BAC9BzhB,OAAS,IACtBigB,EAAYqI,EAAW,GAAGE,gBAGrBT,OAAQA,EAAQG,MAAOA,EAAOO,QAAUhK,KAAM0J,EAAYO,IAAKzI,KAI1EgH,cAAe,WACb,IAAqB1hB,EAIrB,OAFAA,EAAO3R,KAAKme,QAAQ4W,qBAAqB,mBAElC5yB,EAAE2C,IAAI6M,EAAM,SAASqjB,EAAItd,GAC9B,OAAIgb,EACKhb,EAEAxM,SAAS8pB,EAAGC,WAAW,iBAAiBvzB,UAKrD6xB,cAAe,WACb,IAAI2B,EAAYC,EAAM,EAUtB,MARiB,WAAbn1B,KAAK6I,MACPqsB,EAAal1B,KAAKme,QAAQ4W,qBAAqB,gBAAgB,GAC/DI,EAAMjqB,SAASgqB,EAAWD,WAAW,WAAWvzB,OAAS,GAGzDyzB,EAAMn1B,KAAKme,QAAQ0P,uBAAuB,OAAOzhB,OAAS,EAGrD+oB,GAKTvB,kBAAmB,WACjB,IAAIa,EAASW,EAEbX,EAAUz0B,KAAKme,QAAQwW,wBACvBS,EAAgBp1B,KAAKo0B,iBAAiBK,EAAQ5J,MAE9C5pB,QAAQC,OAAOlB,MACbohB,aACEiU,EAAGZ,EAAQ5J,KACXyK,EAAGb,EAAQK,KAEbS,UAAWH,EAAcjB,OACzBqB,SAAUJ,EAAcd,MACxBmB,WAAYL,EAAcP,OAAOhK,KACjCwB,UAAW+I,EAAcP,OAAOC,OAMpChB,yBAA0B,WACxB,IAAI1hB,EAAgBsjB,EAAoBvoB,EAAKwoB,EAASC,EAAMviB,EAE5DjB,EAAiBrR,EAAU+J,OAAOsH,eAC9BpS,KAAKohB,aAAehP,IACtBsjB,EAAqBtjB,EAAeyjB,6BAA6B71B,SAI/DF,EAASyB,MAAQvB,KACjBmN,GAAM,IAAIC,MAAOkC,YACZtP,KAAK81B,YAAc3oB,EAAMnN,KAAK81B,WAAa,OAC9C91B,KAAK81B,WAAa3oB,GAClBwoB,EAAUD,EAAmBJ,EAAIt1B,KAAKozB,YACxB,GAERuC,GADJC,GAAQ51B,KAAKme,QAAQ6U,aAEnB2C,EAAUC,GACZ51B,KAAKme,QAAQ6U,WAAa2C,IAI1BtiB,GADAsiB,EAAUD,EAAmBJ,EAAIt1B,KAAKozB,YACpBpzB,KAAKme,QAAQyW,cACnB,IACV50B,KAAKme,QAAQ6U,WAAa3f,SAc9Cof,EAA+BtW,SAAW,UAC1C,SAASsW,EAA+BrW,GAGtCpc,KAAK6I,KAAOuT,EAAOvT,KAGrB5H,QACGO,OAAO,oBACPyoB,UAAU,uBAAwBqI,GA7OvC,GCAA,WAEE,aAoCArxB,QACGO,OAAO,oBACPyoB,UAAU,uBAzBb,WACE,OACEC,SAAU,IACVqB,QAAS,UACTjI,OACEyS,QAAS,KAEX9X,SAAS,EACTiE,UACE,0BAEA,mCACA,wDACA,MAEA,oCACA,oDACA,MACA,YACA9T,KAAK,OAlCb,GCAA,WACE,aAWA4nB,EAAyB7Z,SAAW,aAAc,WAAY,OAAQ,cAAe,WAAY,mBAAoB,aACrH,SAAS6Z,EAAyBrsB,EAAYjJ,EAAUC,EAAMG,EAAahB,EAAU8e,EAAkB7d,GACrG,OACEmpB,SAAU,KACVqB,QAAS,iBACTd,KAGF,SAAcnH,EAAOnF,EAASwM,EAAOe,GACnC,GAAIpI,EAAMrS,MAAO,CACf,IAAIqS,EAAMrS,MAAMpK,UAAU0gB,UAAajE,EAAMrS,MAAMka,UAMjD,YADAhN,EAAQmO,YAAY,gCAcxB,WACE,IAAIzlB,EAAW+K,EAAUqkB,EAAYC,EAAcC,EAC/CC,EAAUC,EAAUC,EAAWC,EAASC,EAG5C,GAAIlT,EAAMrS,MAAM7E,OAAS,EAAG,OAE5BvF,EAAYyc,EAAMrS,MAAMpK,UACxB+K,EAAW0R,EAAMrS,MAAMW,SACvBqkB,EAAa9zB,EAAEY,UAAU8D,EAAUmK,QAAS,WAAYY,IACxDskB,EAA+B,IAAfD,EAChBE,EAAeF,IAAepvB,EAAUmK,OAAO5E,OAAS,GAExDgqB,EAAWn1B,QAAQkd,QAAQ,iCAClB+M,SAAS,aAAerkB,EAAUE,KAEvCF,EAAUokB,YACwB,0BAAlC9M,EAAQ,GAAGsY,WAAWC,SACpBR,IACFG,EAAWp1B,QAAQkd,QAAQ,qCAAqCwY,OAAOP,GACvEjY,EAAQwY,OAAON,IAEbF,IACFG,EAAYr1B,QAAQkd,QAAQ,sCAAsCwY,OAAOP,EAASQ,SAClFzY,EAAQwY,OAAOL,MAIbJ,IACFK,EAAUt1B,QAAQkd,QAAQ,oCAAoCwY,OAAOP,GACrEjY,EAAQwY,OAAOJ,IAEbJ,IACFK,EAAav1B,QAAQkd,QAAQ,uCAAuCwY,OAAOP,EAASQ,SACpFzY,EAAQwY,OAAOH,KAnDjBK,GASJ1Y,EAAQ4V,GAAG,YAAa+C,GAGxBxT,EAAM5F,IAAI,WAAY,WACpBS,EAAQ6V,IAAI,YAAa8C,GACzB3Y,EAAQ6V,IAAI,YAAa+C,KA0C3B,SAASD,EAAa9T,GACpB,IAAIgU,EAAU5kB,EAAsC6kB,EAAMC,EAE1DlU,EAAGzD,kBAEoByD,EAAGmU,OAAOC,aAAepU,EAAGmU,OAAOvC,aAAe,IAIvEqC,EAAOjU,EAAGmU,OAAOxC,wBACjBuC,EAAiBD,EAAKpM,KAAOoM,EAAK3C,MAAQ,GACtCtR,EAAGqU,MAAQH,KAIjBF,EAAW,aAEP1T,EAAMrS,OAASqS,EAAMrS,MAAMpK,UAEF,gBAAvBmc,EAAGmU,OAAOG,WACa,iBAAvBtU,EAAGmU,OAAOG,UACZN,EAAW,eACmB,mBAAvBhU,EAAGmU,OAAOG,WACa,kBAAvBtU,EAAGmU,OAAOG,YACjBN,EAAW,cAIbA,EAAW,cAIb5kB,EAAiB,IAAImlB,EAA4BP,IAClCQ,cAAcxU,GAG7BjiB,EAAU+J,OAAOsH,eAAiBA,EAGlCnR,QAAQkd,QAAQwC,UAAU0P,IAAI,UAAWqD,GAGzCzyB,QAAQkd,QAAQwC,UAAUoT,GAAG,YAAagD,IA+D5C,SAASA,EAAO/T,GACd,IAAI5Q,EAAiBrR,EAAU+J,OAAOsH,eAMtC1R,EAAS,WACP0R,EAAeqlB,gBAAgBzU,KAInC,SAAS0Q,EAAU1Q,GACjB,IAAI/R,EAAOymB,EAEXzmB,EAAQqS,EAAMrS,MACdymB,EAAU32B,EAAU+J,OAAOsH,eAG3BnR,QAAQkd,QAAQwC,UAAUqT,IAAI,YAAa+C,GAEvCW,EAAQC,iBACVhuB,EAAWkD,MAAM,oBACjB6qB,EAAQC,gBAAiB,GAIvB1mB,GAASA,EAAMpK,WACjB1E,EAAE0B,QAAQoN,EAAMpK,UAAUmK,OAAQ,SAAS4mB,GACzCA,EAAEC,UAAW,IAOnB,SAASC,KAGTA,EAAgBzwB,WACdguB,GAAI,EACJC,GAAI,EAEJ1T,SAAU,SAAqBmW,GAC7B,IAAI1kB,EAAQ,IAAIykB,EAQhB,OAPAzkB,EAAMgiB,EAAIr1B,KAAKq1B,EAAI0C,EAAiB1C,EACpChiB,EAAMiiB,EAAIt1B,KAAKs1B,EAAIyC,EAAiBzC,EAEhCx1B,EAASyB,QACX8R,EAAM1B,KAAO7R,EAASyB,MAAMuO,WAAW9P,KAAKq1B,GAAKv1B,EAASyB,MAAMuO,WAAWioB,EAAiB1C,IAGvFhiB,GAGT2kB,YAAa,SAAwBD,GACnC,IAAI1kB,EAAQrT,KAAK4hB,SAASmW,GAE1B,OAAOvkB,KAAKykB,KAAK5kB,EAAMgiB,EAAIhiB,EAAMgiB,EAAIhiB,EAAMiiB,EAAIjiB,EAAMiiB,IAGvDsB,MAAO,WACL,IAAIxV,EAAc,IAAI0W,EAItB,OAHA1W,EAAYiU,EAAIr1B,KAAKq1B,EACrBjU,EAAYkU,EAAIt1B,KAAKs1B,EAEdlU,IAOX,SAAS8W,EAA8BC,GACrCn4B,KAAKo4B,aAAaD,GAGpBD,EAA8B7wB,WAC5BwK,WAAY,EACZwmB,SAAU,EACVznB,OAAQ,EACR8Q,UAAW,EAEXyW,UAAW,KAEXC,aAAc,SAASD,GACrBn4B,KAAKm4B,UAAYA,GAGnBG,cAAe,SAASrnB,GACtB,IAAIsnB,GAAiB,EAEE,YAAnBv4B,KAAKm4B,WACPn4B,KAAK4Q,MAAQ,EACb5Q,KAAK0hB,SAAWzQ,EAAMpK,UAAUmK,OAAO5E,OAASwS,EAAiBjd,qBAKjE3B,KAAK4Q,MAAQK,EAAMpK,UAAUmK,OAAO,GAAGJ,MACvC5Q,KAAK0hB,SAAWvf,EAAEq2B,MAAMvnB,EAAMpK,UAAUmK,OAAQ,SAAS4mB,GACvD,IAAIvkB,EAAOolB,EASX,OAPAA,EAAmBb,EAAE/lB,UAEnBwB,EADEklB,EAAgB,EACV,EAEAE,EAAmBF,EAAgB,EAC7CA,EAAgBE,EAETb,EAAExrB,OAASiH,EAAQuL,EAAiBjd,uBAKjD+2B,iBAAkB,SAASrX,GACzBrhB,KAAK6R,UAAYwP,GAGnBO,SAAU,SAASmW,GACjB,IAAI1kB,EAAQ,IAAI6kB,EAKhB,OAJA7kB,EAAMxB,UAAa7R,KAAK6R,UAAYkmB,EAAiBlmB,UACrDwB,EAAMzC,MAAS5Q,KAAK4Q,MAAQmnB,EAAiBnnB,MAC7CyC,EAAMqO,SAAY1hB,KAAK0hB,SAAWqW,EAAiBrW,SAE5CrO,GAGTslB,cAAe,SAAShM,GACtB,IAAIC,EAAqB,GAAXD,EACVpD,EAAQ/V,KAAKsZ,MAAMF,EAAU,IAC7BrD,EAAQ,KACVA,EAAQ,IAAMA,GAChB,IAAIsD,EAAOD,EAAU,GAIrB,OAHIC,EAAO,KACTA,EAAO,IAAMA,GAEHtD,EAAQ,IAAMsD,GAG5B+L,aAAc,WACZ,OAAO54B,KAAK24B,cAAc34B,KAAK4Q,QAGjCioB,WAAY,WACV,IAAIllB,GAAO3T,KAAK4Q,MAAQ5Q,KAAK0hB,UAAY9C,EAAiBjd,mBAC1D,OAAO3B,KAAK24B,cAAchlB,IAG5BijB,MAAO,WACL,IAAIxV,EAAc,IAAI8W,EAKtB,OAJA9W,EAAYvP,UAAY7R,KAAK6R,UAC7BuP,EAAYxQ,MAAQ5Q,KAAK4Q,MACzBwQ,EAAYM,SAAW1hB,KAAK0hB,SAErBN,IAOX,SAASmW,EAA4BP,GACnCh3B,KAAKg3B,SAAWA,EAGlBO,EAA4BlwB,WAE1ByxB,oBAAqB,KACrBC,mBAAoB,KAGpBC,wBAAyB,KACzBC,uBAAwB,KAGxBpX,yBAA0B,KAC1BN,wBAAyB,KAEzBO,iBAAkB,KAElB6V,gBAAgB,EAIhBuB,wBAAyB,KAEzBZ,cAAe,SAA6BrnB,GAC1CjR,KAAKuhB,wBAA0B,IAAI2W,EAA8Bl4B,KAAKm4B,WACtEn4B,KAAK6hB,yBAA2B,IAAIqW,EAA8Bl4B,KAAKm4B,WACvEn4B,KAAK6hB,yBAAyByW,cAAcrnB,IAG9CumB,cAAe,SAA6BtrB,GAC1ClM,KAAK+4B,mBAAqB,IAAIjB,EAC9B93B,KAAKy3B,gBAAgBvrB,GACrBlM,KAAK84B,oBAAsB94B,KAAK+4B,mBAAmBnC,SAGrD8B,iBAAkB,SAAgCn0B,GAChDvE,KAAK8hB,iBAAmBvd,EACxBvE,KAAKuhB,wBAAwBmX,iBAAiBn0B,EAAamT,OAC3D1X,KAAK6hB,yBAAyB6W,iBAAiBn0B,EAAamT,QAI9D+f,gBAAiB,SAA+BvrB,GAM9C,GAJAlM,KAAK+4B,mBAAmB1D,EAAInpB,EAAMmrB,MAClCr3B,KAAK+4B,mBAAmBzD,EAAIppB,EAAMitB,MAG9Bn5B,KAAK23B,gBAAkB73B,EAASyB,MAAO,CACzC,IAAI63B,EAAsBp5B,KAAKk5B,wBAAwBp5B,EAASyB,OAC3DvB,KAAKg5B,0BACRh5B,KAAKg5B,wBAA0Bh5B,KAAKk5B,wBAAwBp5B,EAASyB,MAAOvB,KAAK84B,qBAC7E/3B,EAAU+J,OAAOjE,UAAU6C,QAC7B1J,KAAKq5B,oBAAoBt4B,EAAU+J,OAAOjE,UAAU+J,MAAO5Q,KAAKg5B,wBAAwB1D,GACxF30B,EAAKkF,MAAM,wBAA0B9E,EAAU+J,OAAOjE,UAAU+J,SAG/D5Q,KAAKi5B,wBACLG,GACDA,EAAoB/D,GAAKr1B,KAAKi5B,uBAAuB5D,GACrD+D,EAAoB9D,GAAKt1B,KAAKi5B,uBAAuB3D,IACvDt1B,KAAKi5B,uBAAyBG,EAC1Bp5B,KAAKg5B,0BACFI,IACHp5B,KAAKi5B,uBAAyBj5B,KAAKg5B,wBAAwBpC,SAE7D52B,KAAKs5B,gCAIN,GAAIt5B,KAAK84B,qBACL94B,KAAK+4B,qBACJ/4B,KAAK23B,eAAgB,CAC7B,IAAI4B,EAAWv5B,KAAKg4B,cAChBuB,EAAW,IACbv5B,KAAK23B,gBAAiB,EA3S9B,SAAmB3U,GACjB,IAAI/R,EAAOknB,EAAWqB,EAAYC,EAAWxqB,EAAWyqB,EAAS5Z,EAAc1N,EAAgB7N,EAE/Fi1B,EAAarb,EAAQwb,SAAS,qBAC9BF,EAA8C,yBAAjCtb,EAAQ,GAAGsY,WAAWC,SACjCvY,EAAQwb,SAAS,oBAEnBp1B,EAAemnB,EAAgBnnB,eAE3B+e,EAAMrS,OAASqS,EAAMrS,MAAMpK,UAE7BoK,EAAQqS,EAAMrS,OAIdhC,EAAYyc,EAAgB1B,UAAU4P,UAAU94B,EAAYoa,sBAAuB,YACnFwe,GACE7wB,KAAM,cACN9B,IAAKxC,EAAcA,EAAawC,IAAMjH,EAASiC,mBAC/Cyf,QAAShb,EAAE,aACXyI,UAAWA,EACXwS,SAAU+X,EAAY,EAAI,GAE5B1Z,EAAe,IAAI/e,EAAU24B,IAC7BzoB,GACEpK,UAAWiZ,EACXjO,UAAW6Z,EAAgB7Z,UAC3BzF,OAAQ,IAEJvF,UAAUmK,QAAUC,IAI5BknB,EAAY,WACRsB,EACFtB,EAAY,UACLlnB,EAAMpK,UAAUokB,aACvBkN,EAAY,mBAGdh2B,EAAE0B,QAAQoN,EAAMpK,UAAUmK,OAAQ,SAAS4mB,GACzCA,EAAEC,UAAW,KAIfzlB,EAAiBrR,EAAU+J,OAAOsH,gBACnBynB,qBAAqB1B,GACpC/lB,EAAekmB,cAAcrnB,GACzB1M,GAGF6N,EAAesmB,iBAAiBn0B,GAGlCxD,EAAU+J,OAAOjE,UAAYoK,EAAMpK,UAEnClG,EAAKkF,MAAM,2BAA6BsyB,GACxCxuB,EAAWkD,MAAM,sBAmPXitB,MAONR,uBAAwB,WACtB,IAAIS,EAGA1mB,EAAQrT,KAAKi5B,uBAAuBrX,SAAS5hB,KAAKg5B,yBAClDgB,EAAgB3mB,EAAM1B,KAAOiN,EAAiBjd,mBAAqB0R,EAAMiiB,EAC7E30B,EAAKkF,MAAM,kBAAoBm0B,GAE3B/4B,QAAQ6C,YAAY9D,KAAK6hB,yBAAyBjR,QAEpD5Q,KAAK6hB,yBAAyBhQ,UAAY/R,EAASyB,MAAMuO,WAAW9P,KAAKg5B,wBAAwB3D,GACjGr1B,KAAK6hB,yBAAyBjR,MAAQ5Q,KAAKg5B,wBAAwB1D,GAE5Dt1B,KAAK6hB,yBAAyBhQ,UAAY,IACjD7R,KAAK6hB,yBAAyBhQ,UAAY/R,EAASyB,MAAMuO,WAAWwT,EAAMrS,MAAMpK,UAAUmK,OAAO,GAAGY,WAKtG5R,KAAKuhB,wBAAwB1P,UAAY7R,KAAK6hB,yBAAyBhQ,UAElD,cAAjB7R,KAAKg3B,UACPh3B,KAAKuhB,wBAAwB3Q,MAAQ5Q,KAAK6hB,yBAAyBjR,MAAQopB,EAC3Eh6B,KAAKuhB,wBAAwBG,SAAW1hB,KAAK6hB,yBAAyBH,UAGjD,gBAAjB1hB,KAAKg3B,UACP+C,EAAc/5B,KAAK6hB,yBAAyBH,SAAWsY,GACrC,GAChBh6B,KAAKuhB,wBAAwB3Q,MAAQ5Q,KAAK6hB,yBAAyBjR,MAAQopB,EAC3Eh6B,KAAKuhB,wBAAwBG,SAAWqY,GAEjCA,EAAc,IACrB/5B,KAAKuhB,wBAAwB3Q,MAAS5Q,KAAK6hB,yBAAyBjR,MAAQ5Q,KAAK6hB,yBAAyBH,SAC1G1hB,KAAKuhB,wBAAwBG,UAAYqY,GAGnB,cAAjB/5B,KAAKg3B,YACZ+C,EAAc/5B,KAAK6hB,yBAAyBH,SAAWsY,GACrC,GAChBh6B,KAAKuhB,wBAAwB3Q,MAAQ5Q,KAAK6hB,yBAAyBjR,MACnE5Q,KAAKuhB,wBAAwBG,SAAWqY,GAEjCA,EAAc,IACrB/5B,KAAKuhB,wBAAwB3Q,MAAQ5Q,KAAK6hB,yBAAyBjR,MAAQmpB,EAC3E/5B,KAAKuhB,wBAAwBG,UAAYqY,IAK/C,IAAIE,EACAj6B,KAAKuhB,wBAAwB3Q,MAAQ,GACvCqpB,EAAYzmB,KAAK0mB,MAAMl6B,KAAKuhB,wBAAwB3Q,MAAQgO,EAAiBjd,oBAC7E3B,KAAKuhB,wBAAwB3Q,OAASqpB,EAAYrb,EAAiBjd,mBACnE3B,KAAKuhB,wBAAwB1P,WAAaooB,GAEnCj6B,KAAKuhB,wBAAwB3Q,OAASgO,EAAiBjd,qBAC9Ds4B,EAAYzmB,KAAKsZ,MAAM9sB,KAAKuhB,wBAAwB3Q,MAAQgO,EAAiBjd,oBAC7E3B,KAAKuhB,wBAAwB3Q,OAASqpB,EAAYrb,EAAiBjd,mBACnE3B,KAAKuhB,wBAAwB1P,WAAaooB,GAG5Ct5B,EAAKkF,MAAM,qBAAuBC,KAAKC,UAAU/F,KAAKuhB,0BACtD5X,EAAWkD,MAAM,kBAInBgpB,6BAA8B,SAAsBhnB,EAAM6mB,GACxD,IAAIqD,EAAqBrD,GAAsB11B,KAAK+4B,mBAChD3X,EAAc2X,EAAmBnX,SAAS/S,EAAKuS,aAC/CxI,EAAY/J,EAAKsP,QAMrB,OAJIiD,EAAYiU,EAAIxmB,EAAK4mB,YAAcrU,EAAYiU,EAAIzc,EAAUuhB,aAC7D/Y,EAAYkU,EAAI,GAAKlU,EAAYkU,EAAI1c,EAAUgc,gBACjDxT,EAAc,MAETA,GAGTyY,qBAAsB,SAAoC1B,GACxD,IAAIiC,GAAYC,SAAYr6B,KAAKs6B,gCACjBC,kBAAmBv6B,KAAKw6B,sCACxBC,QAAWz6B,KAAK06B,+BAChBC,QAAW,MACvBC,EAASR,EAAQjC,GACrBn4B,KAAKm4B,UAAYA,EACjBn4B,KAAKk5B,wBAA0B0B,GAGjCN,gCAAiC,SAA+BzrB,EAAM6mB,GAEpE,IAAItU,EAAcphB,KAAKw6B,sCAAsC3rB,EAAM6mB,GACnE,GAAItU,EAAa,CACf,IAAIgL,EAAgBvd,EAAKud,cACrByO,EAAgB76B,KAAK61B,6BAA6BhnB,EAAM6mB,GAC5DmF,EAAcvF,GAAKzmB,EAAKsP,QAAQ6U,UAEhC5R,EAAYkU,EAAI9hB,KAAKsZ,OAAO+N,EAAcvF,EAAI1W,EAAiBhd,2BAA6BwqB,GAC5F,IAAI0O,EAAOlc,EAAiBjd,mBAAqB,EAC7Cyf,EAAYkU,EAAI,EAClBlU,EAAYkU,EAAI,EACTlU,EAAYkU,EAAIwF,IACvB1Z,EAAYkU,EAAIwF,GAGpB,OAAO1Z,GAEToZ,sCAAuC,SAA8B3rB,EAAM6mB,GAEzE,IAAItU,EAEAyZ,EAAgB76B,KAAK61B,6BAA6BhnB,EAAM6mB,GAC5D,GAAImF,EAAe,CACjBzZ,EAAc,IAAI0W,EAElB,IAAItC,EAAW3mB,EAAK2mB,SAChBC,EAAa5mB,EAAK4mB,WAEtBrU,EAAYiU,EAAI7hB,KAAKsZ,OAAO+N,EAAcxF,EAAII,GAAcD,GAC5D,IAAIuF,EAAO,EACPzH,EAAOxzB,EAASyB,MAAM+xB,KAC1B,GAAqB,cAAjBtzB,KAAKg3B,SAA0B,CACjC,IAAIzyB,EAAemnB,EAAgBnnB,eAC/BA,IAEFw2B,EAAOzH,EAAO/uB,EAAamT,OAE3B0J,EAAYiU,EAAI0F,EAClB3Z,EAAYiU,EAAI0F,EACT3Z,EAAYiU,EAAI/B,IACvBlS,EAAYiU,EAAI/B,GAClBlS,EAAYkU,EAAI,OAGhBlU,EAAc,KAGhB,OAAOA,GAETsZ,+BAAgC,SAA8B7rB,EAAM6mB,GAElE,IAAItU,EAEAyZ,EAAgB76B,KAAK61B,6BAA6BhnB,EAAM6mB,GAC5D,GAAImF,EAAe,CACjBzZ,EAAc,IAAI0W,EAElB,IAAIxE,EAAOzkB,EAAKykB,KAEZkC,EAAW3mB,EAAK2mB,SAChBC,EAAa5mB,EAAK4mB,WAClBF,EAAY1mB,EAAK0mB,UACjByF,EAAQxnB,KAAKsZ,OAAO+N,EAAcvF,EAJlB,GAIuCC,GACvDyF,EAAQ,IACVA,EAAQ,GAEV5Z,EAAYiU,EAAI7hB,KAAKsZ,OAAO+N,EAAcxF,EAAII,GAAcD,GACxDpU,EAAYiU,EAAI,EAClBjU,EAAYiU,EAAI,EACTjU,EAAYiU,EAAI/B,IACvBlS,EAAYiU,EAAI/B,GAClBlS,EAAYiU,IAAM/B,EAAO,GAAK0H,EAC9B5Z,EAAYkU,EAAI,OAGhBlU,EAAc,KAGhB,OAAOA,GAGT4W,YAAa,WACX,OAAOh4B,KAAK+4B,mBAAmBf,YAAYh4B,KAAK84B,sBAGlDO,oBAAqB,SAAmCvqB,EAAM6d,GAC5D,IAAIpD,EAAOqD,EACXrD,EAAQ/V,KAAKsZ,MAAMH,EAAW,GAC9BC,EAAWD,EAAW,EAAK,GAC3B7d,EAAKiP,SAASwL,EAAOqD,OAM7B3rB,QACGO,OAAO,oBACPyoB,UAAU,2BAA4B+L,GA3mB3C,GCAA,WAEE,aA4CAiF,EAAoB9e,SAAW,SAAU,WAAY,YACrD,SAAS8e,EAAoB7e,EAAQ+Q,EAAUzsB,GAC7C,IAAkBw6B,EAAdt3B,EAAQ5D,KACR2rB,EAAiBwB,EAAS5O,WAAW,wBAEzCnC,EAAO+e,OAAS,KAChB/e,EAAOgf,YAAc,KACrBhf,EAAOif,WAQP,SAAqBC,GACnB,IAAInuB,EAAM,IAAIC,KACV+tB,EAAShuB,EAAI+C,eACbqZ,EAAQpc,EAAI2K,WACZyjB,EAAoC,EAAvBnf,EAAOgQ,cACpBQ,EAAUzf,EAAIuG,aACd8nB,EAAepf,EAAOgQ,cAAc,GACpChI,EAAWlZ,SAASqe,EAAUgS,EACV3O,EAAU4O,EACV,IAEpBF,GAASH,GAAU/e,EAAO+e,UACxB/e,EAAOgf,aACThf,EAAOgf,YAAYjzB,SACrBiU,EAAOgf,YAYX,SAAkBD,EAAQxpB,GACxB,IAAI8pB,EAAex6B,QAAQkd,QAAQ,iBAE/BwN,EAAe+G,cAEb/gB,GAAQA,EAAK,GAAGsjB,WAAW,UAAUvzB,OAASy5B,GAChDhO,EAASwJ,OAAO8E,GAGlBt5B,EAAE0B,QAAQ8N,EAAM,SAAS+pB,GACnBA,EAAWzG,WAAW,UAAUvzB,OAASy5B,GAC3Cl6B,QAAQkd,QAAQud,GAAYt5B,KAAK,OAAOu5B,GAAG,GAAGhF,OAAO8E,KAI3D,OAAOA,EA3BgBG,CAAST,EAAQ/e,EAAOzK,MAC7CyK,EAAO+e,OAASA,GAGd/e,EAAOgf,cAEThf,EAAOgf,YAAYpQ,IAAI,MAAO5G,EAAW,MAEzC8W,EAAUx6B,EAASO,QAAQ2L,KAAKhJ,EAAOwY,EAAOif,YAAa,OA5B/Djf,EAAOsB,IAAI,WAAY,WACjBwd,GACFx6B,EAAS8L,OAAO0uB,KAiDtBj6B,QACGO,OAAO,oBACPyoB,UAAU,YApGb,WACE,OACEC,SAAU,IACVqB,QAAS,yBACTd,KAIF,SAAcnH,EAAOoH,EAAUmR,EAAOC,GACpC,SAASC,IACP,OAAOrR,EAAStoB,KAAK,mBAOvB,IAAI45B,EAAe1Y,EAAM8B,OALzB,WACE,OAAO0W,EAAyB1P,eAIQ,SAASA,GACjD,GAAIA,EAAe,CACjB4P,IACA1Y,EAAM8I,cAAgBA,EAEtB,IAAI6P,EAAe3Y,EAAM8B,OAAO2W,EAAU,SAASpqB,GAC7CA,EAAKvF,SACP6vB,IACA3Y,EAAM3R,KAAOA,EAEb2R,EAAM+X,oBAtBd9c,WAAY0c,KAblB","file":"Scheduler.services.js"} \ No newline at end of file +{"version":3,"sources":["Scheduler/Calendar.service.js","Scheduler/Component.service.js","Scheduler/CalendarController.js","Scheduler/CalendarListController.js","Scheduler/CalendarsController.js","Scheduler/ComponentController.js","Scheduler/sgCalendarDay.directive.js","Scheduler/sgCalendarDayBlock.directive.js","Scheduler/sgCalendarDayTable.directive.js","Scheduler/sgCalendarGhost.directive.js","Scheduler/sgCalendarListEvent.directive.js","Scheduler/sgCalendarListItem.directive.js","Scheduler/sgCalendarMonthDay.directive.js","Scheduler/sgCalendarMonthEvent.directive.js","Scheduler/sgCalendarScrollView.directive.js","Scheduler/sgCategoryStylesheet.directive.js","Scheduler/sgDraggableCalendarBlock.directive.js","Scheduler/sgNowLine.directive.js"],"names":["Calendar","futureCalendarData","this","init","name","id","newCalendarData","$$resource","create","$unwrap","$factory","$q","$timeout","$log","Settings","Resource","Preferences","Component","Acl","angular","extend","activeUser","$Preferences","$Component","$$Acl","$view","module","e","value","EventDragDayLength","EventDragHorizontalOffset","ConflictHTTPErrorCode","factory","$defaultCalendar","calendar","defaults","SOGoDefaultCalendar","_","find","$findAll","active","$add","list","sibling","isWebCalendar","$webcalendars","isSubscription","$subscriptions","$calendars","findIndex","o","i","localeCompare","push","splice","settings","FoldersOrder","saveFoldersOrder","flatMap","$reloadAll","data","writable","_this","forEach","isUndefined","fetch","then","calendars","union","filter","isOwned","acls","objectCreator","calendarData","group","owner","login","$get","$getIndex","indexOf","map","$subscribe","uid","path","userResource","$addWebCalendar","url","d","defer","urls","webCalendarURL","reject","post","isEditable","isRemote","debug","JSON","stringify","undefined","resolve","response","status","promise","reloadWebCalendars","promises","$error","l","statusText","all","$deleteComponents","components","component","isDefined","pid","uids","saveFoldersActivation","ids","request","folders","prototype","color","$acl","isSuperUser","$shadowData","$omit","$id","when","$futureCalendarData","getClassName","base","$rename","$save","$delete","remove","$reset","key","save","error","setCredentials","username","password","export","options","type","filename","download","$setActivation","$getComponent","componentId","recurrenceId","$find","isError","isObject","futureComponentData","newComponentData","newguid","isNew","$rootScope","Component_STATUS","User","Card","Gravatar","STATUS","$settings","$User","$Card","$gravatar","timeFormat","$query","search","$queryEvents","sort","asc","filterpopup","$queryTasks","$refreshTimeout","$ghost","EventsFilterState","TasksFilterState","EventsSortingState","parseInt","TasksSortingState","show_completed","ShowCompletedTasks","$categories","SOGoCalendarCategoriesColors","SOGoTimeFormat","constant","NOT_LOADED","DELAYED_LOADING","LOADING","LOADED","DELAYED_MS","$selectedCount","count","$events","event","selected","length","$tasks","task","$startRefreshTimeout","cancel","refreshViewCheck","SOGoRefreshViewCheck","f","bind","$emit","timeInterval","$isLoading","$loaded","$filter","otherType","now","Date","day","getDate","month","getMonth","year","getFullYear","queryKey","capitalize","params","dirty","keys","$unwrapCollection","calendarId","occurrenceId","encodeURIComponent","join","filterCategories","query","re","RegExp","category","saveSelectedList","componentType","$eventsBlocksForView","view","date","firstDayOfWeek","viewAction","startDate","endDate","SOGoFirstDayOfWeek","beginOfWeek","setTime","getTime","addDays","setDate","setMonth","endOfWeek","$eventsBlocks","j","dayDates","dayNumbers","deferred","toLowerCase","sd","getDayString","ed","views","reduceComponent","associateComponent","objects","eventData","componentData","zipObject","eventsFields","start","c_startdate","hour","getHourString","blocks","block","nbr","isFirst","$views","viewIndex","viewData","allDayBlocks","reduce","events","flatten","days","dayIndex","dayNumber","calendarName","fields","invokeMap","monthData","dayData","$resetGhost","pointerHandler","startHour","endHour","$parseDate","dateString","time","substring","split","no_time","categories","repeat","alarm","action","quantity","unit","reference","relation","delta","isString","setMinutes","Math","round","getMinutes","end","minutesTo","setDelta","dueDate","due","completedDate","completed","c_category","$isRecurrent","byDayMask","occurrence","frequency","byday","toString","dates","rdate","rdates","interval","monthdays","months","until","$hasCustomRepeat","hasCustomRepeat","classification","match","exec","SOGoCalendarDefaultReminder","$hasAlarm","M","H","D","W","sendAppointmentNotifications","SOGoAppointmentSendEMailNotifications","destinationCalendar","attendees","attendee","image","email","updateFreeBusy","initOrganizer","results","organizer","cn","c_email","updateFreeBusyAttendee","isReadOnly","isEditableOccurrence","isInvitation","userHasRSVP","isInvitationOccurrence","showPercentComplete","percentComplete","enablePercentComplete","coversFreeBusy","quarter","freebusy","updateFreeBusyCoverage","roundedStart","roundedEnd","startQuarter","endQuarter","daysUpTo","index","hourKey","currentDay","dayKey","getHours","beginOfDay","addMinutes","resource","domain","sday","eday","isMSExchange","c_folder","addAttendee","card","organizerCalendar","$isList","expandable","container","c_name","listId","refs","ref","c_cn","$preferredEmail","role","partstat","c_uid","$avatarIcon","c_domain","ismsexchange","hasAttendee","emails","deleteAttendee","currentAttendee","canRemindAttendeesByEmail","addAttachUrl","attachUrl","attachUrls","deleteAttachUrl","$addDueDate","toISOString","$deleteDueDate","$addStartDate","$deleteStartDate","$addRecurrenceDate","$deleteRecurrenceDate","$reply","reply","delegatedTo","$adjust","every","values","v","extraAttributes","dlp","$mdDateLocaleProvider","format","startTime","endTime","dueTime","stringWithSeparator","occurrenceOnly","$futureComponentData","copy","repeatDescription","localizedString","toUpperCase","alarmDescription","copyTo","destination","moveTo","CalendarController","$inject","$scope","$state","$stateParams","sgHotkeys","stateEventsBlocks","deregisterCalendarsList","vm","hotkeys","expandedAllDays","selectedDate","asDate","toggleAllDays","changeDate","changeView","$onInit","createHotkey","description","callback","args","_goToPeriod","registerHotkey","_formatDate","$on","updateView","deregisterHotkey","$event","direction","setHours","$dateFormat","replace","newDate","element","currentTarget","attr","go","controller","CalendarListController","$mdDialog","focus","Dialog","CalendarSettings","Alarm","selectedList","selectComponentType","unselectComponents","mode","multiple","selectAll","searchMode","toggleComponentSelection","preventDefault","stopPropagation","confirmDeleteSelectedComponents","confirm","ok","openEvent","openComponent","openTask","newComponent","filteredBy","field","sortedBy","reload","finally","cancelSearch","SelectedList","updateComponentFromGhost","viewable","templateUrl","show","parent","document","body","targetEvent","clickOutsideToClose","escapeToClose","controllerAs","locals","stateComponent","baseComponent","coordinates","calendarNumber","activeCalendars","currentEventCoordinates","summary","isAllDay","duration","catch","getDelta","originalEventCoordinates","originalCalendar","isException","getAlarms","onComponentAdjustError","template","RecurrentComponentDialogController","updateThisOccurrence","hide","updateAllOccurrences","message","AttendeeConflictDialogController","conflictError","ignoreConflicts","CalendarsController","$window","$mdToast","service","newCalendar","ev","prompt","UserLogin","addWebCalendar","inputType","WebCalendarAuthDialogController","scope","parts","hostname","title","formatted","authenticate","form","$valid","required","reason","$setValidity","subscribeToFolder","simple","content","position","hideDelay","sortableMode","toggleSortableMode","resetSort","sortableCalendars","scrollableContainer","containment","orderChanged","accept","sourceItemHandleScope","destSortableScope","destItemScope","sortableScope","SOGoCalendarCategories","asCSSIdentifier","$watch","pick","newList","oldList","commonList","intersectionBy","oldObject","isEqual","ComponentController","AddressBook","Account","calendarService","close","highPriority","priority","cardFilter","$filterAll","newMessageWithAllRecipients","recipients","_newMessage","newMessageWithRecipient","edit","editAllOccurrences","replyAllOccurrences","deleteOccurrence","deleteAllOccurrences","toggleRawSource","ComponentRawSourceDialogController","copySelectedComponent","moveSelectedComponent","accounts","account","$getMailboxes","mailboxes","$newMessage","editable","to","subject","stateAccount","stateMessage","ComponentEditorController","oldStartDate","oldEndDate","showRecurrenceEditor","toggleRecurrenceEditor","recurrenceMonthDaysAreRequired","showAttendeesEditor","toggleAttendeesEditor","changeFrequency","changeCalendar","$cards","address","emailRE","createCard","str","searchText","trim","charCodeAt","test","charAt","removeAttendee","$setDirty","priorityLevel","reset","attendeeConflictError","attendeesEditor","getDays","hours","addStartDate","addDueDate","adjustStartTime","valueOf","adjustEndTime","adjustDueTime","$setPristine","sgCalendarDayController","dayString","directive","restrict","sgCalendarDayBlock","clickBlock","tElem","tAttrs","p","has","link","iElement","attrs","pc","left","right","siblings","css","c_isallday","addClass","userState","c_isopaque","c_status","sgCalendarGhost","require","ctrls","domElement","calendarDayCtrl","scrollViewCtrl","originalCalendarNumber","deregisterDragStart","deregisterDrag","showGhost","isRelative","durationLeft","maxDuration","quartersToHM","quarterHeight","topOffset","removeClass","deregisterDragEnd","forEachRight","classList","c","quarters","minutes","mins","floor","sgCalendarListEvent","clickComponent","userstate","sgCalendarListItemController","$element","$mdPanel","$mdMedia","$mdSidenav","sgConstant","$ctrl","editMode","$postLink","clickableElement","nameElements","getElementsByClassName","inputContainer","inputElement","moreOptionsButton","last","updateCalendarName","innerHTML","editFolder","add","select","saveFolder","disabled","revertEditing","confirmDelete","alert","showMenu","panelPosition","newPanelPosition","relativeTo","addPanelPosition","xPosition","ALIGN_START","yPosition","ALIGN_TOPS","panelAnimation","newPanelAnimation","openFrom","withAnimation","animation","FADE","config","attachTo","itemCtrl","bindToController","MenuController","trapFocus","focusOnOpen","open","panelRef","panelEl","one","mdPanelRef","FileUploader","$menuCtrl","showOnly","showAll","showProperties","PropertiesDialogController","srcCalendar","saveProperties","showLinks","LinksDialogController","importCalendar","CalendarImportDialogController","folder","uploader","ApplicationBaseURL","autoUpload","queueLimit","filters","filterByExtension","fn","onSuccessItem","item","headers","msg","imported","onErrorItem","isTextFile","share","$users","usersWithACL","users","sgCalendarScrollView","$document","$mdGesture","sgCalendarScrollViewController","isMultiColumn","sgScrollView","hourCell","quartersOffset","SOGoDayStartTime","getElementById","scrollTop","offsetTop","$destroy","getQuarterHeight","scrollStep","getDayNumbers","maxX","getMaxColumns","onDragStart","deregisterDragStop","onDragEnd","bindedUpdateCoordinates","updateCoordinates","bindedUpdateFromPointerHandler","updateFromPointerHandler","on","off","hour0","hour23","height","getDayDimensions","viewLeft","width","leftOffset","nodes","domRect","tileHeader","getBoundingClientRect","clientHeight","offset","top","getElementsByTagName","el","attributes","mdGridList","max","dayDimensions","x","y","dayHeight","dayWidth","daysOffset","pointerCoordinates","scrollY","minY","getContainerBasedCoordinates","lastScroll","ngModel","sgDraggableCalendarBlock","blockIndex","isFirstBlock","isLastBlock","dragGrip","leftGrip","rightGrip","topGrip","bottomGrip","parentNode","tagName","append","clone","initGrips","onDragDetect","onDrag","dragMode","rect","scrollableZone","target","scrollHeight","pageX","className","SOGoEventDragPointerHandler","initFromEvent","updateFromEvent","pointer","dragHasStarted","b","dragging","SOGoCoordinates","otherCoordinates","getDistance","sqrt","SOGoEventDragEventCoordinates","eventType","setEventType","weekDay","initFromBlock","prevDayNumber","sumBy","currentDayNumber","initFromCalendar","_quartersToHM","getStartTime","getEndTime","originalCoordinates","currentCoordinates","originalViewCoordinates","currentViewCoordinates","getEventViewCoordinates","pageY","newEventCoordinates","setTimeFromQuarters","updateEventCoordinates","distance","isHourCell","isMonthly","newData","hasClass","parseDate","prepareWithEventType","dragStart","newDuration","deltaQuarters","deltaDays","ceil","clientWidth","methods","multiday","getEventMultiDayViewCoordinates","multiday-allday","getEventMultiDayAllDayViewCoordinates","monthly","getEventMonthlyViewCoordinates","unknown","method","pxCoordinates","maxY","minX","daysY","sgNowLineController","updater","nowDay","lineElement","updateLine","force","hourHeight","minuteHeight","$lineElement","dayElement","eq","_addLine","iAttr","sgCalendarScrollViewCtrl","_getDays","_unwatchView","_unwatchDays"],"mappings":"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","file":"Scheduler.services.js"} \ No newline at end of file