import{d as Zr,U as Qe,T as qr,F as Yr}from"./index-3a2b6cd5.js";var je,b,Bn,Hn,ue,xt,Pn,Te={},Un=[],$r=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function z(t,e){for(var n in e)t[n]=e[n];return t}function Ln(t){var e=t.parentNode;e&&e.removeChild(t)}function g(t,e,n){var r,i,s,l={};for(s in e)s=="key"?r=e[s]:s=="ref"?i=e[s]:l[s]=e[s];if(arguments.length>2&&(l.children=arguments.length>3?je.call(arguments,2):n),typeof t=="function"&&t.defaultProps!=null)for(s in t.defaultProps)l[s]===void 0&&(l[s]=t.defaultProps[s]);return Ce(t,l,r,i,null)}function Ce(t,e,n,r,i){var s={type:t,props:e,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:i??++Bn};return i==null&&b.vnode!=null&&b.vnode(s),s}function at(){return{current:null}}function P(t){return t.children}function B(t,e){this.props=t,this.context=e}function he(t,e){if(e==null)return t.__?he(t.__,t.__.__k.indexOf(t)+1):null;for(var n;e0?Ce(d.type,d.props,d.key,d.ref?d.ref:null,d.__v):d)!=null){if(d.__=n,d.__b=n.__b+1,(h=A[c])===null||h&&d.key==h.key&&d.type===h.type)A[c]=void 0;else for(p=0;p3;)n.pop()();if(n[1]>>1,1),e.i.removeChild(r)}}),pe(g(si,{context:e.context},t.__v),e.l)):e.l&&e.componentWillUnmount()}function ai(t,e){var n=g(li,{__v:t,i:e});return n.containerInfo=e,n}(be.prototype=new B).__a=function(t){var e=this,n=$n(e.__v),r=e.o.get(t);return r[0]++,function(i){var s=function(){e.props.revealOrder?(r.push(i),Yt(e,t,r)):i()};n?n(s):s()}},be.prototype.render=function(t){this.u=null,this.o=new Map;var e=ke(t.children);t.revealOrder&&t.revealOrder[0]==="b"&&e.reverse();for(var n=e.length;n--;)this.o.set(e[n],this.u=[1,0,this.u]);return t.children},be.prototype.componentDidUpdate=be.prototype.componentDidMount=function(){var t=this;this.o.forEach(function(e,n){Yt(t,n,e)})};var oi=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,ci=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,ui=typeof document<"u",di=function(t){return(typeof Symbol<"u"&&typeof Symbol()=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(t)};B.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(B.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})});var $t=b.event;function fi(){}function hi(){return this.cancelBubble}function pi(){return this.defaultPrevented}b.event=function(t){return $t&&(t=$t(t)),t.persist=fi,t.isPropagationStopped=hi,t.isDefaultPrevented=pi,t.nativeEvent=t};var Jt={configurable:!0,get:function(){return this.class}},Xt=b.vnode;b.vnode=function(t){var e=t.type,n=t.props,r=n;if(typeof e=="string"){var i=e.indexOf("-")===-1;for(var s in r={},n){var l=n[s];ui&&s==="children"&&e==="noscript"||s==="value"&&"defaultValue"in n&&l==null||(s==="defaultValue"&&"value"in n&&n.value==null?s="value":s==="download"&&l===!0?l="":/ondoubleclick/i.test(s)?s="ondblclick":/^onchange(textarea|input)/i.test(s+e)&&!di(n.type)?s="oninput":/^onfocus$/i.test(s)?s="onfocusin":/^onblur$/i.test(s)?s="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(s)?s=s.toLowerCase():i&&ci.test(s)?s=s.replace(/[A-Z0-9]/g,"-$&").toLowerCase():l===null&&(l=void 0),/^oninput$/i.test(s)&&(s=s.toLowerCase(),r[s]&&(s="oninputCapture")),r[s]=l)}e=="select"&&r.multiple&&Array.isArray(r.value)&&(r.value=ke(n.children).forEach(function(a){a.props.selected=r.value.indexOf(a.props.value)!=-1})),e=="select"&&r.defaultValue!=null&&(r.value=ke(n.children).forEach(function(a){a.props.selected=r.multiple?r.defaultValue.indexOf(a.props.value)!=-1:r.defaultValue==a.props.value})),t.props=r,n.class!=n.className&&(Jt.enumerable="className"in n,n.className!=null&&(r.class=n.className),Object.defineProperty(r,"className",Jt))}t.$$typeof=oi,Xt&&Xt(t)};var Kt=b.__r;b.__r=function(t){Kt&&Kt(t),t.__c};function gi(t){if(!t||typeof document>"u")return;const e=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",e.appendChild(n),n.styleSheet?n.styleSheet.cssText=t:n.appendChild(document.createTextNode(t))}class vt{constructor(e){this.drainedOption=e,this.isRunning=!1,this.isDirty=!1,this.pauseDepths={},this.timeoutId=0}request(e){this.isDirty=!0,this.isPaused()||(this.clearTimeout(),e==null?this.tryDrain():this.timeoutId=setTimeout(this.tryDrain.bind(this),e))}pause(e=""){let{pauseDepths:n}=this;n[e]=(n[e]||0)+1,this.clearTimeout()}resume(e="",n){let{pauseDepths:r}=this;e in r&&(n?delete r[e]:(r[e]-=1,r[e]<=0&&delete r[e]),this.tryDrain())}isPaused(){return Object.keys(this.pauseDepths).length}tryDrain(){if(!this.isRunning&&!this.isPaused()){for(this.isRunning=!0;this.isDirty;)this.isDirty=!1,this.drained();this.isRunning=!1}}clear(){this.clearTimeout(),this.isDirty=!1,this.pauseDepths={}}clearTimeout(){this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=0)}drained(){this.drainedOption&&this.drainedOption()}}const{hasOwnProperty:Oe}=Object.prototype;function At(t,e){let n={};if(e)for(let r in e){let i=[];for(let s=t.length-1;s>=0;s-=1){let l=t[s][r];if(typeof l=="object"&&l)i.unshift(l);else if(l!==void 0){n[r]=l;break}}i.length&&(n[r]=At(i))}for(let r=t.length-1;r>=0;r-=1){let i=t[r];for(let s in i)s in n||(n[s]=i[s])}return n}function J(t,e){let n={};for(let r in t)e(t[r],r)&&(n[r]=t[r]);return n}function Q(t,e){let n={};for(let r in t)n[r]=e(t[r],r);return n}function Jn(t){let e={};for(let n of t)e[n]=!0;return e}function bt(t){let e=[];for(let n in t)e.push(t[n]);return e}function G(t,e){if(t===e)return!0;for(let n in t)if(Oe.call(t,n)&&!(n in e))return!1;for(let n in e)if(Oe.call(e,n)&&t[n]!==e[n])return!1;return!0}const mi=/^on[A-Z]/;function vi(t,e){const n=ut(t,e);for(let r of n)if(!mi.test(r))return!1;return!0}function ut(t,e){let n=[];for(let r in t)Oe.call(t,r)&&(r in e||n.push(r));for(let r in e)Oe.call(e,r)&&t[r]!==e[r]&&n.push(r);return n}function Ye(t,e,n={}){if(t===e)return!0;for(let r in e)if(!(r in t&&Ai(t[r],e[r],n[r])))return!1;for(let r in t)if(!(r in e))return!1;return!0}function Ai(t,e,n){return t===e||n===!0?!0:n?n(t,e):!1}function bi(t,e=0,n,r=1){let i=[];n==null&&(n=Object.keys(t).length);for(let s=e;s{if(!r)i=t.call(this,s);else if(!G(r,s)){n&&n(i);let l=t.call(this,s);(!e||!e(l,i))&&(i=l)}return r=s,i}}function Xn(t){t.parentNode&&t.parentNode.removeChild(t)}function F(t,e){if(t.closest)return t.closest(e);if(!document.documentElement.contains(t))return null;do{if(yi(t,e))return t;t=t.parentElement||t.parentNode}while(t!==null&&t.nodeType===1);return null}function yi(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector).call(t,e)}function Ei(t,e){let n=t instanceof HTMLElement?[t]:t,r=[];for(let i=0;i{let r=F(n.target,t);r&&e.call(r,n,r)}}function tr(t,e,n,r){let i=Di(n,r);return t.addEventListener(e,i),()=>{t.removeEventListener(e,i)}}function wi(t,e,n,r){let i;return tr(t,"mouseover",e,(s,l)=>{if(l!==i){i=l,n(s,l);let a=o=>{i=null,r(o,l),l.removeEventListener("mouseleave",a)};l.addEventListener("mouseleave",a)}})}const tn=["webkitTransitionEnd","otransitionend","oTransitionEnd","msTransitionEnd","transitionend"];function Go(t,e){let n=r=>{e(r),tn.forEach(i=>{t.removeEventListener(i,n)})};tn.forEach(r=>{t.addEventListener(r,n)})}function nr(t){return Object.assign({onClick:t},rr(t))}function rr(t){return{tabIndex:0,onKeyDown(e){(e.key==="Enter"||e.key===" ")&&(t(e),e.preventDefault())}}}let nn=0;function ee(){return nn+=1,String(nn)}function Zo(){document.body.classList.add("fc-not-allowed")}function qo(){document.body.classList.remove("fc-not-allowed")}function Yo(t){t.classList.add("fc-unselectable"),t.addEventListener("selectstart",ze)}function $o(t){t.classList.remove("fc-unselectable"),t.removeEventListener("selectstart",ze)}function Jo(t){t.addEventListener("contextmenu",ze)}function Xo(t){t.removeEventListener("contextmenu",ze)}function Si(t){let e=[],n=[],r,i;for(typeof t=="string"?n=t.split(/\s*,\s*/):typeof t=="function"?n=[t]:Array.isArray(t)&&(n=t),r=0;rr.replace("$"+s,i||""),t):n}function Ko(t,e){return t-e}function Se(t){return t%1===0}function ki(t){let e=t.querySelector(".fc-scrollgrid-shrink-frame"),n=t.querySelector(".fc-scrollgrid-shrink-cushion");if(!e)throw new Error("needs fc-scrollgrid-shrink-frame className");if(!n)throw new Error("needs fc-scrollgrid-shrink-cushion className");return t.getBoundingClientRect().width-e.getBoundingClientRect().width+n.getBoundingClientRect().width}const Mi=["sun","mon","tue","wed","thu","fri","sat"];function ec(t,e){let n=V(t);return n[2]+=e*7,N(n)}function H(t,e){let n=V(t);return n[2]+=e,N(n)}function K(t,e){let n=V(t);return n[6]+=e,N(n)}function tc(t,e){return te(t,e)/7}function te(t,e){return(e.valueOf()-t.valueOf())/(1e3*60*60*24)}function Oi(t,e){return(e.valueOf()-t.valueOf())/(1e3*60*60)}function Ni(t,e){return(e.valueOf()-t.valueOf())/(1e3*60)}function xi(t,e){return(e.valueOf()-t.valueOf())/1e3}function Bi(t,e){let n=w(t),r=w(e);return{years:0,months:0,days:Math.round(te(n,r)),milliseconds:e.valueOf()-r.valueOf()-(t.valueOf()-n.valueOf())}}function Hi(t,e){let n=Ne(t,e);return n!==null&&n%7===0?n/7:null}function Ne(t,e){return W(t)===W(e)?Math.round(te(t,e)):null}function w(t){return N([t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()])}function Pi(t){return N([t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours()])}function Ui(t){return N([t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes()])}function Li(t){return N([t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()])}function Fi(t,e,n){let r=t.getUTCFullYear(),i=$e(t,r,e,n);if(i<1)return $e(t,r-1,e,n);let s=$e(t,r+1,e,n);return s>=1?Math.min(i,s):i}function $e(t,e,n,r){let i=N([e,0,1+ji(e,n,r)]),s=w(t),l=Math.round(te(i,s));return Math.floor(l/7)+1}function ji(t,e,n){let r=7+e-n;return-((7+N([t,0,r]).getUTCDay()-e)%7)+r-1}function rn(t){return[t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()]}function sn(t){return new Date(t[0],t[1]||0,t[2]==null?1:t[2],t[3]||0,t[4]||0,t[5]||0)}function V(t){return[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds(),t.getUTCMilliseconds()]}function N(t){return t.length===1&&(t=t.concat([0])),new Date(Date.UTC(...t))}function ir(t){return!isNaN(t.valueOf())}function W(t){return t.getUTCHours()*1e3*60*60+t.getUTCMinutes()*1e3*60+t.getUTCSeconds()*1e3+t.getUTCMilliseconds()}let sr={};function zi(t,e){sr[t]=e}function Vi(t){return new sr[t]}class Wi{getMarkerYear(e){return e.getUTCFullYear()}getMarkerMonth(e){return e.getUTCMonth()}getMarkerDay(e){return e.getUTCDate()}arrayToMarker(e){return N(e)}markerToArray(e){return V(e)}}zi("gregory",Wi);const ln=["years","months","days","milliseconds"],Qi=/^(-?)(?:(\d+)\.)?(\d+):(\d\d)(?::(\d\d)(?:\.(\d\d\d))?)?/;function D(t,e){return typeof t=="string"?Gi(t):typeof t=="object"&&t?an(t):typeof t=="number"?an({[e||"milliseconds"]:t}):null}function Gi(t){let e=Qi.exec(t);if(e){let n=e[1]?-1:1;return{years:0,months:0,days:n*(e[2]?parseInt(e[2],10):0),milliseconds:n*((e[3]?parseInt(e[3],10):0)*60*60*1e3+(e[4]?parseInt(e[4],10):0)*60*1e3+(e[5]?parseInt(e[5],10):0)*1e3+(e[6]?parseInt(e[6],10):0))}}return null}function an(t){let e={years:t.years||t.year||0,months:t.months||t.month||0,days:t.days||t.day||0,milliseconds:(t.hours||t.hour||0)*60*60*1e3+(t.minutes||t.minute||0)*60*1e3+(t.seconds||t.second||0)*1e3+(t.milliseconds||t.millisecond||t.ms||0)},n=t.weeks||t.week;return n&&(e.days+=n*7,e.specifiedWeeks=!0),e}function Zi(t,e){return t.years===e.years&&t.months===e.months&&t.days===e.days&&t.milliseconds===e.milliseconds}function nc(t,e){return{years:t.years+e.years,months:t.months+e.months,days:t.days+e.days,milliseconds:t.milliseconds+e.milliseconds}}function qi(t,e){return{years:t.years-e.years,months:t.months-e.months,days:t.days-e.days,milliseconds:t.milliseconds-e.milliseconds}}function rc(t,e){return{years:t.years*e,months:t.months*e,days:t.days*e,milliseconds:t.milliseconds*e}}function Yi(t){return ae(t)/365}function $i(t){return ae(t)/30}function ae(t){return ge(t)/864e5}function ge(t){return t.years*(365*864e5)+t.months*(30*864e5)+t.days*864e5+t.milliseconds}function ic(t,e){let n=null;for(let r=0;r10&&(e==null?r=r.replace("Z",""):e!==0&&(r=r.replace("Z",Et(e,!0)))),r}function lr(t){return t.toISOString().replace(/T.*$/,"")}function sc(t){return le(t.getUTCHours(),2)+":"+le(t.getUTCMinutes(),2)+":"+le(t.getUTCSeconds(),2)}function Et(t,e=!1){let n=t<0?"-":"+",r=Math.abs(t),i=Math.floor(r/60),s=Math.round(r%60);return e?`${n+le(i,2)}:${le(s,2)}`:`GMT${n}${i}${s?`:${le(s,2)}`:""}`}const Xi=/^\s*(\d{4})(-?(\d{2})(-?(\d{2})([T ](\d{2}):?(\d{2})(:?(\d{2})(\.(\d+))?)?(Z|(([-+])(\d{2})(:?(\d{2}))?))?)?)?)?$/;function Ki(t){let e=Xi.exec(t);if(e){let n=new Date(Date.UTC(Number(e[1]),e[3]?Number(e[3])-1:0,Number(e[5]||1),Number(e[7]||0),Number(e[8]||0),Number(e[10]||0),e[12]?+`0.${e[12]}`*1e3:0));if(ir(n)){let r=null;return e[13]&&(r=(e[15]==="-"?-1:1)*(Number(e[16]||0)*60+Number(e[18]||0))),{marker:n,isTimeUnspecified:!e[6],timeZoneOffset:r}}}return null}class es{constructor(e){let n=this.timeZone=e.timeZone,r=n!=="local"&&n!=="UTC";e.namedTimeZoneImpl&&r&&(this.namedTimeZoneImpl=new e.namedTimeZoneImpl(n)),this.canComputeOffset=!!(!r||this.namedTimeZoneImpl),this.calendarSystem=Vi(e.calendarSystem),this.locale=e.locale,this.weekDow=e.locale.week.dow,this.weekDoy=e.locale.week.doy,e.weekNumberCalculation==="ISO"&&(this.weekDow=1,this.weekDoy=4),typeof e.firstDay=="number"&&(this.weekDow=e.firstDay),typeof e.weekNumberCalculation=="function"&&(this.weekNumberFunc=e.weekNumberCalculation),this.weekText=e.weekText!=null?e.weekText:e.locale.options.weekText,this.weekTextLong=(e.weekTextLong!=null?e.weekTextLong:e.locale.options.weekTextLong)||this.weekText,this.cmdFormatter=e.cmdFormatter,this.defaultSeparator=e.defaultSeparator}createMarker(e){let n=this.createMarkerMeta(e);return n===null?null:n.marker}createNowMarker(){return this.canComputeOffset?this.timestampToMarker(new Date().valueOf()):N(rn(new Date))}createMarkerMeta(e){if(typeof e=="string")return this.parse(e);let n=null;return typeof e=="number"?n=this.timestampToMarker(e):e instanceof Date?(e=e.valueOf(),isNaN(e)||(n=this.timestampToMarker(e))):Array.isArray(e)&&(n=N(e)),n===null||!ir(n)?null:{marker:n,isTimeUnspecified:!1,forcedTzo:null}}parse(e){let n=Ki(e);if(n===null)return null;let{marker:r}=n,i=null;return n.timeZoneOffset!==null&&(this.canComputeOffset?r=this.timestampToMarker(r.valueOf()-n.timeZoneOffset*60*1e3):i=n.timeZoneOffset),{marker:r,isTimeUnspecified:n.isTimeUnspecified,forcedTzo:i}}getYear(e){return this.calendarSystem.getMarkerYear(e)}getMonth(e){return this.calendarSystem.getMarkerMonth(e)}add(e,n){let r=this.calendarSystem.markerToArray(e);return r[0]+=n.years,r[1]+=n.months,r[2]+=n.days,r[6]+=n.milliseconds,this.calendarSystem.arrayToMarker(r)}subtract(e,n){let r=this.calendarSystem.markerToArray(e);return r[0]-=n.years,r[1]-=n.months,r[2]-=n.days,r[6]-=n.milliseconds,this.calendarSystem.arrayToMarker(r)}addYears(e,n){let r=this.calendarSystem.markerToArray(e);return r[0]+=n,this.calendarSystem.arrayToMarker(r)}addMonths(e,n){let r=this.calendarSystem.markerToArray(e);return r[1]+=n,this.calendarSystem.arrayToMarker(r)}diffWholeYears(e,n){let{calendarSystem:r}=this;return W(e)===W(n)&&r.getMarkerDay(e)===r.getMarkerDay(n)&&r.getMarkerMonth(e)===r.getMarkerMonth(n)?r.getMarkerYear(n)-r.getMarkerYear(e):null}diffWholeMonths(e,n){let{calendarSystem:r}=this;return W(e)===W(n)&&r.getMarkerDay(e)===r.getMarkerDay(n)?r.getMarkerMonth(n)-r.getMarkerMonth(e)+(r.getMarkerYear(n)-r.getMarkerYear(e))*12:null}greatestWholeUnit(e,n){let r=this.diffWholeYears(e,n);return r!==null?{unit:"year",value:r}:(r=this.diffWholeMonths(e,n),r!==null?{unit:"month",value:r}:(r=Hi(e,n),r!==null?{unit:"week",value:r}:(r=Ne(e,n),r!==null?{unit:"day",value:r}:(r=Oi(e,n),Se(r)?{unit:"hour",value:r}:(r=Ni(e,n),Se(r)?{unit:"minute",value:r}:(r=xi(e,n),Se(r)?{unit:"second",value:r}:{unit:"millisecond",value:n.valueOf()-e.valueOf()}))))))}countDurationsBetween(e,n,r){let i;return r.years&&(i=this.diffWholeYears(e,n),i!==null)?i/Yi(r):r.months&&(i=this.diffWholeMonths(e,n),i!==null)?i/$i(r):r.days&&(i=Ne(e,n),i!==null)?i/ae(r):(n.valueOf()-e.valueOf())/ge(r)}startOf(e,n){return n==="year"?this.startOfYear(e):n==="month"?this.startOfMonth(e):n==="week"?this.startOfWeek(e):n==="day"?w(e):n==="hour"?Pi(e):n==="minute"?Ui(e):n==="second"?Li(e):null}startOfYear(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e)])}startOfMonth(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e)])}startOfWeek(e){return this.calendarSystem.arrayToMarker([this.calendarSystem.getMarkerYear(e),this.calendarSystem.getMarkerMonth(e),e.getUTCDate()-(e.getUTCDay()-this.weekDow+7)%7])}computeWeekNumber(e){return this.weekNumberFunc?this.weekNumberFunc(this.toDate(e)):Fi(e,this.weekDow,this.weekDoy)}format(e,n,r={}){return n.format({marker:e,timeZoneOffset:r.forcedTzo!=null?r.forcedTzo:this.offsetForMarker(e)},this)}formatRange(e,n,r,i={}){return i.isEndExclusive&&(n=K(n,-1)),r.formatRange({marker:e,timeZoneOffset:i.forcedStartTzo!=null?i.forcedStartTzo:this.offsetForMarker(e)},{marker:n,timeZoneOffset:i.forcedEndTzo!=null?i.forcedEndTzo:this.offsetForMarker(n)},this,i.defaultSeparator)}formatIso(e,n={}){let r=null;return n.omitTimeZoneOffset||(n.forcedTzo!=null?r=n.forcedTzo:r=this.offsetForMarker(e)),Ji(e,r,n.omitTime)}timestampToMarker(e){return this.timeZone==="local"?N(rn(new Date(e))):this.timeZone==="UTC"||!this.namedTimeZoneImpl?new Date(e):N(this.namedTimeZoneImpl.timestampToArray(e))}offsetForMarker(e){return this.timeZone==="local"?-sn(V(e)).getTimezoneOffset():this.timeZone==="UTC"?0:this.namedTimeZoneImpl?this.namedTimeZoneImpl.offsetForArray(V(e)):null}toDate(e,n){return this.timeZone==="local"?sn(V(e)):this.timeZone==="UTC"?new Date(e.valueOf()):this.namedTimeZoneImpl?new Date(e.valueOf()-this.namedTimeZoneImpl.offsetForArray(V(e))*1e3*60):new Date(e.valueOf()-(n||0))}}class me{constructor(e){this.iconOverrideOption&&this.setIconOverride(e[this.iconOverrideOption])}setIconOverride(e){let n,r;if(typeof e=="object"&&e){n=Object.assign({},this.iconClasses);for(r in e)n[r]=this.applyIconOverridePrefix(e[r]);this.iconClasses=n}else e===!1&&(this.iconClasses={})}applyIconOverridePrefix(e){let n=this.iconOverridePrefix;return n&&e.indexOf(n)!==0&&(e=n+e),e}getClass(e){return this.classes[e]||""}getIconClass(e,n){let r;return n&&this.rtlIconClasses?r=this.rtlIconClasses[e]||this.iconClasses[e]:r=this.iconClasses[e],r?`${this.baseIconClass} ${r}`:""}getCustomButtonIconClass(e){let n;return this.iconOverrideCustomButtonOption&&(n=e[this.iconOverrideCustomButtonOption],n)?`${this.baseIconClass} ${this.applyIconOverridePrefix(n)}`:""}}me.prototype.classes={};me.prototype.iconClasses={};me.prototype.baseIconClass="";me.prototype.iconOverridePrefix="";const on={week:3,separator:0,omitZeroMinute:0,meridiem:0,omitCommas:0},xe={timeZoneName:7,era:6,year:5,month:4,day:2,weekday:2,hour:1,minute:1,second:1},ye=/\s*([ap])\.?m\.?/i,ts=/,/g,ns=/\s+/g,rs=/\u200e/g,is=/UTC|GMT/;class ss{constructor(e){let n={},r={},i=0;for(let s in e)s in on?(r[s]=e[s],i=Math.max(on[s],i)):(n[s]=e[s],s in xe&&(i=Math.max(xe[s],i)));this.standardDateProps=n,this.extendedSettings=r,this.severity=i,this.buildFormattingFunc=C(cn)}format(e,n){return this.buildFormattingFunc(this.standardDateProps,this.extendedSettings,n)(e)}formatRange(e,n,r,i){let{standardDateProps:s,extendedSettings:l}=this,a=ds(e.marker,n.marker,r.calendarSystem);if(!a)return this.format(e,r);let o=a;o>1&&(s.year==="numeric"||s.year==="2-digit")&&(s.month==="numeric"||s.month==="2-digit")&&(s.day==="numeric"||s.day==="2-digit")&&(o=1);let u=this.format(e,r),c=this.format(n,r);if(u===c)return u;let p=fs(s,o),h=cn(p,l,r),d=h(e),m=h(n),y=hs(u,d,c,m),v=l.separator||i||r.defaultSeparator||"";return y?y.before+d+v+m+y.after:u+v+c}getLargestUnit(){switch(this.severity){case 7:case 6:case 5:return"year";case 4:return"month";case 3:return"week";case 2:return"day";default:return"time"}}}function cn(t,e,n){let r=Object.keys(t).length;return r===1&&t.timeZoneName==="short"?i=>Et(i.timeZoneOffset):r===0&&e.week?i=>us(n.computeWeekNumber(i.marker),n.weekText,n.weekTextLong,n.locale,e.week):ls(t,e,n)}function ls(t,e,n){t=Object.assign({},t),e=Object.assign({},e),as(t,e),t.timeZone="UTC";let r=new Intl.DateTimeFormat(n.locale.codes,t),i;if(e.omitZeroMinute){let s=Object.assign({},t);delete s.minute,i=new Intl.DateTimeFormat(n.locale.codes,s)}return s=>{let{marker:l}=s,a;i&&!l.getUTCMinutes()?a=i:a=r;let o=a.format(l);return os(o,s,t,e,n)}}function as(t,e){t.timeZoneName&&(t.hour||(t.hour="2-digit"),t.minute||(t.minute="2-digit")),t.timeZoneName==="long"&&(t.timeZoneName="short"),e.omitZeroMinute&&(t.second||t.millisecond)&&delete e.omitZeroMinute}function os(t,e,n,r,i){return t=t.replace(rs,""),n.timeZoneName==="short"&&(t=cs(t,i.timeZone==="UTC"||e.timeZoneOffset==null?"UTC":Et(e.timeZoneOffset))),r.omitCommas&&(t=t.replace(ts,"").trim()),r.omitZeroMinute&&(t=t.replace(":00","")),r.meridiem===!1?t=t.replace(ye,"").trim():r.meridiem==="narrow"?t=t.replace(ye,(s,l)=>l.toLocaleLowerCase()):r.meridiem==="short"?t=t.replace(ye,(s,l)=>`${l.toLocaleLowerCase()}m`):r.meridiem==="lowercase"&&(t=t.replace(ye,s=>s.toLocaleLowerCase())),t=t.replace(ns," "),t=t.trim(),t}function cs(t,e){let n=!1;return t=t.replace(is,()=>(n=!0,e)),n||(t+=` ${e}`),t}function us(t,e,n,r,i){let s=[];return i==="long"?s.push(n):(i==="short"||i==="narrow")&&s.push(e),(i==="long"||i==="short")&&s.push(" "),s.push(r.simpleNumberFormat.format(t)),r.options.direction==="rtl"&&s.reverse(),s.join("")}function ds(t,e,n){return n.getMarkerYear(t)!==n.getMarkerYear(e)?5:n.getMarkerMonth(t)!==n.getMarkerMonth(e)?4:n.getMarkerDay(t)!==n.getMarkerDay(e)?2:W(t)!==W(e)?1:0}function fs(t,e){let n={};for(let r in t)(!(r in xe)||xe[r]<=e)&&(n[r]=t[r]);return n}function hs(t,e,n,r){let i=0;for(;i{this.props.value!==l.value&&s.forEach(a=>{a.context=l.value,a.forceUpdate()})},this.sub=l=>{s.push(l);let a=l.componentWillUnmount;l.componentWillUnmount=()=>{s.splice(s.indexOf(l),1),a&&a.call(l)}}}return i},e}class As{constructor(e,n,r,i){this.execFunc=e,this.emitter=n,this.scrollTime=r,this.scrollTimeReset=i,this.handleScrollRequest=s=>{this.queuedRequest=Object.assign({},this.queuedRequest||{},s),this.drain()},n.on("_scrollRequest",this.handleScrollRequest),this.fireInitialScroll()}detach(){this.emitter.off("_scrollRequest",this.handleScrollRequest)}update(e){e&&this.scrollTimeReset?this.fireInitialScroll():this.drain()}fireInitialScroll(){this.handleScrollRequest({time:this.scrollTime})}drain(){this.queuedRequest&&this.execFunc(this.queuedRequest)&&(this.queuedRequest=null)}}const Z=ar({});function bs(t,e,n,r,i,s,l,a,o,u,c,p,h){return{dateEnv:i,options:n,pluginHooks:l,emitter:u,dispatch:a,getCurrentData:o,calendarApi:c,viewSpec:t,viewApi:e,dateProfileGenerator:r,theme:s,isRtl:n.direction==="rtl",addResizeHandler(d){u.on("_resize",d)},removeResizeHandler(d){u.off("_resize",d)},createScrollResponder(d){return new As(d,u,D(n.scrollTime),n.scrollTimeReset)},registerInteractiveComponent:p,unregisterInteractiveComponent:h}}class ne extends B{shouldComponentUpdate(e,n){return this.debug&&console.log(ut(e,this.props),ut(n,this.state)),!Ye(this.props,e,this.propEquality)||!Ye(this.state,n,this.stateEquality)}safeSetState(e){Ye(this.state,Object.assign(Object.assign({},this.state),e),this.stateEquality)||this.setState(e)}}ne.addPropsEquality=ys;ne.addStateEquality=Es;ne.contextType=Z;ne.prototype.propEquality={};ne.prototype.stateEquality={};class I extends ne{}I.contextType=Z;function ys(t){let e=Object.create(this.prototype.propEquality);Object.assign(e,t),this.prototype.propEquality=e}function Es(t){let e=Object.create(this.prototype.stateEquality);Object.assign(e,t),this.prototype.stateEquality=e}function ve(t,e){typeof t=="function"?t(e):t&&(t.current=e)}class Ct extends I{constructor(){super(...arguments),this.id=ee(),this.currentDomNodes=[],this.queuedDomNodes=[],this.handleEl=e=>{this.props.elRef&&ve(this.props.elRef,e)}}render(){const{props:e,context:n}=this,{options:r}=n,{generator:i,renderProps:s}=e,l=cr(e);let a,o=[];if(or(e.generatorName,r))r.customRenderingReplacesEl&&delete l.elRef;else{const u=typeof i=="function"?i(s,g):i;typeof u=="string"||Hn(u)||Array.isArray(u)?a=u:typeof u=="object"&&("html"in u?l.dangerouslySetInnerHTML={__html:u.html}:"domNodes"in u&&(o=Array.prototype.slice.call(u.domNodes)))}return this.queuedDomNodes=o,g(e.elTag,l,a)}componentDidMount(){this.applyQueueudDomNodes(),this.triggerCustomRendering(!0)}componentDidUpdate(){this.applyQueueudDomNodes(),this.triggerCustomRendering(!0)}componentWillUnmount(){this.triggerCustomRendering(!1)}triggerCustomRendering(e){const{props:n,context:r}=this,{handleCustomRendering:i,customRenderingMetaMap:s}=r.options;if(i){const l=s?.[n.generatorName];l&&i(Object.assign({id:this.id,isActive:e,containerEl:this.base,reportNewContainerEl:this.handleEl,generatorMeta:l},n))}}applyQueueudDomNodes(){const{queuedDomNodes:e,currentDomNodes:n}=this,r=this.base;if(!X(e,n)){n.forEach(Xn);for(let i of e)r.appendChild(i);this.currentDomNodes=e}}}Ct.addPropsEquality({elClasses:X,elStyle:G,elAttrs:vi,renderProps:G});function or(t,e){var n;return!!(e.handleCustomRendering&&t&&(!((n=e.customRenderingMetaMap)===null||n===void 0)&&n[t]))}function cr(t,e){const n=Object.assign(Object.assign({},t.elAttrs),{ref:t.elRef});return(t.elClasses||e)&&(n.className=(t.elClasses||[]).concat(e||[]).concat(n.className||[]).filter(Boolean).join(" ")),t.elStyle&&(n.style=t.elStyle),n}const ur=ar(0);class L extends B{constructor(){super(...arguments),this.InnerContent=_s.bind(void 0,this)}render(){const{props:e}=this,n=Cs(e.classNameGenerator,e.renderProps);if(e.children){const r=cr(e,n),i=e.children(this.InnerContent,e.renderProps,r);return e.elTag?g(e.elTag,r,i):i}else return g(Ct,Object.assign(Object.assign({},e),{elTag:e.elTag||"div",elClasses:(e.elClasses||[]).concat(n),renderId:this.context}))}componentDidMount(){var e,n;(n=(e=this.props).didMount)===null||n===void 0||n.call(e,Object.assign(Object.assign({},this.props.renderProps),{el:this.base}))}componentWillUnmount(){var e,n;(n=(e=this.props).willUnmount)===null||n===void 0||n.call(e,Object.assign(Object.assign({},this.props.renderProps),{el:this.base}))}}L.contextType=ur;function _s(t,e){const n=t.props;return g(Ct,Object.assign({renderProps:n.renderProps,generatorName:n.generatorName,generator:n.generator,renderId:t.context},e))}function Cs(t,e){const n=typeof t=="function"?t(e):t||[];return typeof n=="string"?[n]:n}let lc=class extends I{render(){let{props:e,context:n}=this,{options:r}=n,i={view:n.viewApi};return g(L,Object.assign({},e,{elTag:e.elTag||"div",elClasses:[...dr(e.viewSpec),...e.elClasses||[]],renderProps:i,classNameGenerator:r.viewClassNames,generatorName:void 0,generator:void 0,didMount:r.viewDidMount,willUnmount:r.viewWillUnmount}),()=>e.children)}};function dr(t){return[`fc-${t.type}-view`,"fc-view"]}function Ds(t,e){let n=null,r=null;return t.start&&(n=e.createMarker(t.start)),t.end&&(r=e.createMarker(t.end)),!n&&!r||n&&r&&rr&&n.push({start:r,end:s.start}),s.end>r&&(r=s.end);return re.start)&&(t.start===null||e.end===null||t.start=t.start)&&(t.end===null||e.end!==null&&e.end<=t.end)}function $(t,e){return(t.start===null||e>=t.start)&&(t.end===null||e=e.end?new Date(e.end.valueOf()-1):t}function fr(t){let e=Math.floor(te(t.start,t.end))||1,n=w(t.start),r=H(n,e);return{start:n,end:r}}function St(t,e=D(0)){let n=null,r=null;if(t.end){r=w(t.end);let i=t.end.valueOf()-r.valueOf();i&&i>=ge(e)&&(r=H(r,1))}return t.start&&(n=w(t.start),r&&r<=n&&(r=H(n,1))),{start:n,end:r}}function oc(t){let e=St(t);return te(e.start,e.end)>1}function Ee(t,e,n,r){return r==="year"?D(n.diffWholeYears(t,e),"year"):r==="month"?D(n.diffWholeMonths(t,e),"month"):Bi(t,e)}function Ts(t,e){switch(e.type){case"CHANGE_DATE":return e.dateMarker;default:return t}}function Is(t,e){let n=t.initialDate;return n!=null?e.createMarker(n):Ae(t.now,e)}function Ae(t,e){return typeof t=="function"&&(t=t()),t==null?e.createNowMarker():e.createMarker(t)}class ks{constructor(e){this.props=e,this.nowDate=Ae(e.nowInput,e.dateEnv),this.initHiddenDays()}buildPrev(e,n,r){let{dateEnv:i}=this.props,s=i.subtract(i.startOf(n,e.currentRangeUnit),e.dateIncrement);return this.build(s,-1,r)}buildNext(e,n,r){let{dateEnv:i}=this.props,s=i.add(i.startOf(n,e.currentRangeUnit),e.dateIncrement);return this.build(s,1,r)}build(e,n,r=!0){let{props:i}=this,s,l,a,o,u,c;return s=this.buildValidRange(),s=this.trimHiddenDays(s),r&&(e=Rs(e,s)),l=this.buildCurrentRangeInfo(e,n),a=/^(year|month|week|day)$/.test(l.unit),o=this.buildRenderRange(this.trimHiddenDays(l.range),l.unit,a),o=this.trimHiddenDays(o),u=o,i.showNonCurrentDates||(u=He(u,l.range)),u=this.adjustActiveRange(u),u=He(u,s),c=Dt(l.range,s),{validRange:s,currentRange:l.range,currentRangeUnit:l.unit,isRangeAllDay:a,activeRange:u,renderRange:o,slotMinTime:i.slotMinTime,slotMaxTime:i.slotMaxTime,isValid:c,dateIncrement:this.buildDateIncrement(l.duration)}}buildValidRange(){let e=this.props.validRangeInput,n=typeof e=="function"?e.call(this.props.calendarApi,this.nowDate):e;return this.refineRange(n)||{start:null,end:null}}buildCurrentRangeInfo(e,n){let{props:r}=this,i=null,s=null,l=null,a;return r.duration?(i=r.duration,s=r.durationUnit,l=this.buildRangeFromDuration(e,n,i,s)):(a=this.props.dayCount)?(s="day",l=this.buildRangeFromDayCount(e,n,a)):(l=this.buildCustomVisibleRange(e))?s=r.dateEnv.greatestWholeUnit(l.start,l.end).unit:(i=this.getFallbackDuration(),s=dt(i).unit,l=this.buildRangeFromDuration(e,n,i,s)),{duration:i,unit:s,range:l}}getFallbackDuration(){return D({day:1})}adjustActiveRange(e){let{dateEnv:n,usesMinMaxTime:r,slotMinTime:i,slotMaxTime:s}=this.props,{start:l,end:a}=e;return r&&(ae(i)<0&&(l=w(l),l=n.add(l,i)),ae(s)>1&&(a=w(a),a=H(a,-1),a=n.add(a,s))),{start:l,end:a}}buildRangeFromDuration(e,n,r,i){let{dateEnv:s,dateAlignment:l}=this.props,a,o,u;if(!l){let{dateIncrement:p}=this.props;p&&ge(p)!l[o.defId].recurringDef);for(let o in l){let u=l[o];if(u.recurringDef){let{duration:c}=u.recurringDef;c||(c=u.allDay?s.defaultAllDayEventDuration:s.defaultTimedEventDuration);let p=Os(u,c,e,r,i.recurringTypes);for(let h of p){let d=Rt(o,{start:h,end:r.add(h,c)});a[d.instanceId]=d}}}return{defs:l,instances:a}}function Os(t,e,n,r,i){let l=i[t.recurringDef.typeId].expand(t.recurringDef.typeData,{start:r.subtract(n.start,e),end:n.end},r);return t.allDay&&(l=l.map(w)),l}const Re={id:String,groupId:String,title:String,url:String,interactive:Boolean},hr={start:f,end:f,date:f,allDay:Boolean},Ns=Object.assign(Object.assign(Object.assign({},Re),hr),{extendedProps:f});function pr(t,e,n,r,i=Tt(n)){let{refined:s,extra:l}=gr(t,n,i),a=Bs(e,n),o=Ms(s,a,n.dateEnv,n.pluginHooks.recurringTypes);if(o){let c=ft(s,l,e?e.sourceId:"",o.allDay,!!o.duration,n);return c.recurringDef={typeId:o.typeId,typeData:o.typeData,duration:o.duration},{def:c,instance:null}}let u=xs(s,a,n,r);if(u){let c=ft(s,l,e?e.sourceId:"",u.allDay,u.hasEnd,n),p=Rt(c.defId,u.range,u.forcedStartTzo,u.forcedEndTzo);return{def:c,instance:p}}return null}function gr(t,e,n=Tt(e)){return _t(t,n)}function Tt(t){return Object.assign(Object.assign(Object.assign({},Ue),Ns),t.pluginHooks.eventRefiners)}function ft(t,e,n,r,i,s){let l={title:t.title||"",groupId:t.groupId||"",publicId:t.id||"",url:t.url||"",recurringDef:null,defId:ee(),sourceId:n,allDay:r,hasEnd:i,interactive:t.interactive,ui:Le(t,s),extendedProps:Object.assign(Object.assign({},t.extendedProps||{}),e)};for(let a of s.pluginHooks.eventDefMemberAdders)Object.assign(l,a(t));return Object.freeze(l.ui.classNames),Object.freeze(l.extendedProps),l}function xs(t,e,n,r){let{allDay:i}=t,s,l=null,a=!1,o,u=null,c=t.start!=null?t.start:t.date;if(s=n.dateEnv.createMarkerMeta(c),s)l=s.marker;else if(!r)return null;return t.end!=null&&(o=n.dateEnv.createMarkerMeta(t.end)),i==null&&(e!=null?i=e:i=(!s||s.isTimeUnspecified)&&(!o||o.isTimeUnspecified)),i&&l&&(l=w(l)),o&&(u=o.marker,i&&(u=w(u)),l&&u<=l&&(u=null)),u?a=!0:r||(a=n.options.forceEventDuration||!1,u=n.dateEnv.add(l,i?n.options.defaultAllDayEventDuration:n.options.defaultTimedEventDuration)),{allDay:i,hasEnd:a,range:{start:l,end:u},forcedStartTzo:s?s.forcedTzo:null,forcedEndTzo:o?o.forcedTzo:null}}function Bs(t,e){let n=null;return t&&(n=t.defaultAllDay),n==null&&(n=e.options.defaultAllDay),n}function Pe(t,e,n,r){let i=j(),s=Tt(n);for(let l of t){let a=pr(l,e,n,r,s);a&&ht(a,i)}return i}function ht(t,e=j()){return e.defs[t.def.defId]=t.def,t.instance&&(e.instances[t.instance.instanceId]=t.instance),e}function Hs(t,e){let n=t.instances[e];if(n){let r=t.defs[n.defId],i=Ve(t,s=>Ps(r,s));return i.defs[r.defId]=r,i.instances[n.instanceId]=n,i}return j()}function Ps(t,e){return!!(t.groupId&&t.groupId===e.groupId)}function j(){return{defs:{},instances:{}}}function It(t,e){return{defs:Object.assign(Object.assign({},t.defs),e.defs),instances:Object.assign(Object.assign({},t.instances),e.instances)}}function Ve(t,e){let n=J(t.defs,e),r=J(t.instances,i=>n[i.defId]);return{defs:n,instances:r}}function Us(t,e){let{defs:n,instances:r}=t,i={},s={};for(let l in n)e.defs[l]||(i[l]=n[l]);for(let l in r)!e.instances[l]&&i[r[l].defId]&&(s[l]=r[l]);return{defs:i,instances:s}}function Ls(t,e){return Array.isArray(t)?Pe(t,null,e,!0):typeof t=="object"&&t?Pe([t],null,e,!0):t!=null?String(t):null}function mn(t){return Array.isArray(t)?t:typeof t=="string"?t.split(/\s+/):[]}const Ue={display:String,editable:Boolean,startEditable:Boolean,durationEditable:Boolean,constraint:f,overlap:f,allow:f,className:mn,classNames:mn,color:String,backgroundColor:String,borderColor:String,textColor:String},Fs={display:null,startEditable:null,durationEditable:null,constraints:[],overlap:null,allows:[],backgroundColor:"",borderColor:"",textColor:"",classNames:[]};function Le(t,e){let n=Ls(t.constraint,e);return{display:t.display||null,startEditable:t.startEditable!=null?t.startEditable:t.editable,durationEditable:t.durationEditable!=null?t.durationEditable:t.editable,constraints:n!=null?[n]:[],overlap:t.overlap!=null?t.overlap:null,allows:t.allow!=null?[t.allow]:[],backgroundColor:t.backgroundColor||t.color||"",borderColor:t.borderColor||t.color||"",textColor:t.textColor||"",classNames:(t.className||[]).concat(t.classNames||[])}}function mr(t){return t.reduce(js,Fs)}function js(t,e){return{display:e.display!=null?e.display:t.display,startEditable:e.startEditable!=null?e.startEditable:t.startEditable,durationEditable:e.durationEditable!=null?e.durationEditable:t.durationEditable,constraints:t.constraints.concat(e.constraints),overlap:typeof e.overlap=="boolean"?e.overlap:t.overlap,allows:t.allows.concat(e.allows),backgroundColor:e.backgroundColor||t.backgroundColor,borderColor:e.borderColor||t.borderColor,textColor:e.textColor||t.textColor,classNames:t.classNames.concat(e.classNames)}}const zs={id:String,defaultAllDay:Boolean,url:String,format:String,events:f,eventDataTransform:f,success:f,failure:f};function vr(t,e,n=Ar(e)){let r;if(typeof t=="string"?r={url:t}:typeof t=="function"||Array.isArray(t)?r={events:t}:typeof t=="object"&&t&&(r=t),r){let{refined:i,extra:s}=_t(r,n),l=Vs(i,e);if(l)return{_raw:t,isFetching:!1,latestFetchId:"",fetchRange:null,defaultAllDay:i.defaultAllDay,eventDataTransform:i.eventDataTransform,success:i.success,failure:i.failure,publicId:i.id||"",sourceId:ee(),sourceDefId:l.sourceDefId,meta:l.meta,ui:Le(i,e),extendedProps:s}}return null}function Ar(t){return Object.assign(Object.assign(Object.assign({},Ue),zs),t.pluginHooks.eventSourceRefiners)}function Vs(t,e){let n=e.pluginHooks.eventSourceDefs;for(let r=n.length-1;r>=0;r-=1){let s=n[r].parseMeta(t);if(s)return{sourceDefId:r,meta:s}}return null}function Ws(t,e,n,r,i){switch(e.type){case"RECEIVE_EVENTS":return Qs(t,n[e.sourceId],e.fetchId,e.fetchRange,e.rawEvents,i);case"ADD_EVENTS":return Zs(t,e.eventStore,r?r.activeRange:null,i);case"RESET_EVENTS":return e.eventStore;case"MERGE_EVENTS":return It(t,e.eventStore);case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return r?oe(t,r.activeRange,i):t;case"REMOVE_EVENTS":return Us(t,e.eventStore);case"REMOVE_EVENT_SOURCE":return br(t,e.sourceId);case"REMOVE_ALL_EVENT_SOURCES":return Ve(t,s=>!s.sourceId);case"REMOVE_ALL_EVENTS":return j();default:return t}}function Qs(t,e,n,r,i,s){if(e&&n===e.latestFetchId){let l=Pe(Gs(i,e,s),e,s);return r&&(l=oe(l,r,s)),It(br(t,e.sourceId),l)}return t}function Gs(t,e,n){let r=n.options.eventDataTransform,i=e?e.eventDataTransform:null;return i&&(t=vn(t,i)),r&&(t=vn(t,r)),t}function vn(t,e){let n;if(!e)n=t;else{n=[];for(let r of t){let i=e(r);i?n.push(i):i==null&&n.push(r)}}return n}function Zs(t,e,n,r){return n&&(e=oe(e,n,r)),It(t,e)}function qs(t,e,n){let{defs:r}=t,i=Q(t.instances,s=>{let l=r[s.defId];return l.allDay||l.recurringDef?s:Object.assign(Object.assign({},s),{range:{start:n.createMarker(e.toDate(s.range.start,s.forcedStartTzo)),end:n.createMarker(e.toDate(s.range.end,s.forcedEndTzo))},forcedStartTzo:n.canComputeOffset?null:s.forcedStartTzo,forcedEndTzo:n.canComputeOffset?null:s.forcedEndTzo})});return{defs:r,instances:i}}function br(t,e){return Ve(t,n=>n.sourceId!==e)}function Ys(t,e){return{defs:t.defs,instances:J(t.instances,n=>!e[n.instanceId])}}class yr{constructor(){this.handlers={},this.thisContext=null}setThisContext(e){this.thisContext=e}setOptions(e){this.options=e}on(e,n){$s(this.handlers,e,n)}off(e,n){Js(this.handlers,e,n)}trigger(e,...n){let r=this.handlers[e]||[],i=this.options&&this.options[e],s=[].concat(i||[],r);for(let l of s)l.apply(this.thisContext,n)}hasHandlers(e){return!!(this.handlers[e]&&this.handlers[e].length||this.options&&this.options[e])}}function $s(t,e,n){(t[e]||(t[e]=[])).push(n)}function Js(t,e,n){n?t[e]&&(t[e]=t[e].filter(r=>r!==n)):delete t[e]}const Xs={startTime:"09:00",endTime:"17:00",daysOfWeek:[1,2,3,4,5],display:"inverse-background",classNames:"fc-non-business",groupId:"_businessHours"};function Ks(t,e){return Pe(el(t),null,e)}function el(t){let e;return t===!0?e=[{}]:Array.isArray(t)?e=t.filter(n=>n.daysOfWeek):typeof t=="object"&&t?e=[t]:e=[],e=e.map(n=>Object.assign(Object.assign({},Xs),n)),e}function tl(t,e,n){n.emitter.trigger("select",Object.assign(Object.assign({},kt(t,n)),{jsEvent:e?e.origEvent:null,view:n.viewApi||n.calendarApi.view}))}function nl(t,e){e.emitter.trigger("unselect",{jsEvent:t?t.origEvent:null,view:e.viewApi||e.calendarApi.view})}function kt(t,e){let n={};for(let r of e.pluginHooks.dateSpanTransforms)Object.assign(n,r(t,e));return Object.assign(n,vl(t,e.dateEnv)),n}function An(t,e,n){let{dateEnv:r,options:i}=n,s=e;return t?(s=w(s),s=r.add(s,i.defaultAllDayEventDuration)):s=r.add(s,i.defaultTimedEventDuration),s}function rl(t,e,n,r){let i=Fe(t.defs,e),s=j();for(let l in t.defs){let a=t.defs[l];s.defs[l]=il(a,i[l],n,r)}for(let l in t.instances){let a=t.instances[l],o=s.defs[a.defId];s.instances[l]=sl(a,o,i[a.defId],n,r)}return s}function il(t,e,n,r){let i=n.standardProps||{};i.hasEnd==null&&e.durationEditable&&(n.startDelta||n.endDelta)&&(i.hasEnd=!0);let s=Object.assign(Object.assign(Object.assign({},t),i),{ui:Object.assign(Object.assign({},t.ui),i.ui)});n.extendedProps&&(s.extendedProps=Object.assign(Object.assign({},s.extendedProps),n.extendedProps));for(let l of r.pluginHooks.eventDefMutationAppliers)l(s,n,r);return!s.hasEnd&&r.options.forceEventDuration&&(s.hasEnd=!0),s}function sl(t,e,n,r,i){let{dateEnv:s}=i,l=r.standardProps&&r.standardProps.allDay===!0,a=r.standardProps&&r.standardProps.hasEnd===!1,o=Object.assign({},t);return l&&(o.range=fr(o.range)),r.datesDelta&&n.startEditable&&(o.range={start:s.add(o.range.start,r.datesDelta),end:s.add(o.range.end,r.datesDelta)}),r.startDelta&&n.durationEditable&&(o.range={start:s.add(o.range.start,r.startDelta),end:o.range.end}),r.endDelta&&n.durationEditable&&(o.range={start:o.range.start,end:s.add(o.range.end,r.endDelta)}),a&&(o.range={start:o.range.start,end:An(e.allDay,o.range.start,i)}),e.allDay&&(o.range={start:w(o.range.start),end:w(o.range.end)}),o.range.end_r(n,e))}function _r(t,e){let n=[];return e[""]&&n.push(e[""]),e[t.defId]&&n.push(e[t.defId]),n.push(t.ui),mr(n)}function uc(t,e){let n=t.map(ll);return n.sort((r,i)=>Ri(r,i,e)),n.map(r=>r._seg)}function ll(t){let{eventRange:e}=t,n=e.def,r=e.instance?e.instance.range:e.range,i=r.start?r.start.valueOf():0,s=r.end?r.end.valueOf():0;return Object.assign(Object.assign(Object.assign({},n.extendedProps),n),{id:n.publicId,start:i,end:s,duration:s-i,allDay:Number(n.allDay),_seg:t})}function al(t,e){let{pluginHooks:n}=e,r=n.isDraggableTransformers,{def:i,ui:s}=t.eventRange,l=s.startEditable;for(let a of r)l=a(l,i,s,e);return l}function ol(t,e){return t.isStart&&t.eventRange.ui.durationEditable&&e.options.eventResizableFromStart}function cl(t,e){return t.isEnd&&t.eventRange.ui.durationEditable}function ul(t,e,n,r,i,s,l){let{dateEnv:a,options:o}=n,{displayEventTime:u,displayEventEnd:c}=o,p=t.eventRange.def,h=t.eventRange.instance;u==null&&(u=r!==!1),c==null&&(c=i!==!1);let d=h.range.start,m=h.range.end,y=s||t.start||t.eventRange.range.start,v=l||t.end||t.eventRange.range.end,A=w(d).valueOf()===w(y).valueOf(),E=w(K(m,-1)).valueOf()===w(K(v,-1)).valueOf();return u&&!p.allDay&&(A||E)?(y=A?d:y,v=E?m:v,c&&p.hasEnd?a.formatRange(y,v,e,{forcedStartTzo:s?null:h.forcedStartTzo,forcedEndTzo:l?null:h.forcedEndTzo}):a.format(y,e,{forcedTzo:s?null:h.forcedStartTzo})):""}function dc(t,e,n){let r=t.eventRange.range;return{isPast:r.end<(n||e.start),isFuture:r.start>=(n||e.end),isToday:e&&$(e,r.start)}}function dl(t){let e=["fc-event"];return t.isMirror&&e.push("fc-event-mirror"),t.isDraggable&&e.push("fc-event-draggable"),(t.isStartResizable||t.isEndResizable)&&e.push("fc-event-resizable"),t.isDragging&&e.push("fc-event-dragging"),t.isResizing&&e.push("fc-event-resizing"),t.isSelected&&e.push("fc-event-selected"),t.isStart&&e.push("fc-event-start"),t.isEnd&&e.push("fc-event-end"),t.isPast&&e.push("fc-event-past"),t.isToday&&e.push("fc-event-today"),t.isFuture&&e.push("fc-event-future"),e}function fc(t){return t.instance?t.instance.instanceId:`${t.def.defId}:${t.range.start.toISOString()}`}function fl(t,e){let{def:n,instance:r}=t.eventRange,{url:i}=n;if(i)return{href:i};let{emitter:s,options:l}=e,{eventInteractive:a}=l;return a==null&&(a=n.interactive,a==null&&(a=!!s.hasHandlers("eventClick"))),a?rr(o=>{s.trigger("eventClick",{el:o.target,event:new M(e,n,r),jsEvent:o,view:e.viewApi})}):{}}const hl={start:f,end:f,allDay:Boolean};function pl(t,e,n){let r=gl(t,e),{range:i}=r;if(!i.start)return null;if(!i.end){if(n==null)return null;i.end=e.add(i.start,n)}return r}function gl(t,e){let{refined:n,extra:r}=_t(t,hl),i=n.start?e.createMarkerMeta(n.start):null,s=n.end?e.createMarkerMeta(n.end):null,{allDay:l}=n;return l==null&&(l=i&&i.isTimeUnspecified&&(!s||s.isTimeUnspecified)),Object.assign({range:{start:i?i.marker:null,end:s?s.marker:null},allDay:l},r)}function hc(t,e){return Ss(t.range,e.range)&&t.allDay===e.allDay&&ml(t,e)}function ml(t,e){for(let n in e)if(n!=="range"&&n!=="allDay"&&t[n]!==e[n])return!1;for(let n in t)if(!(n in e))return!1;return!0}function vl(t,e){return Object.assign(Object.assign({},Dr(t.range,e,t.allDay)),{allDay:t.allDay})}function Cr(t,e,n){return Object.assign(Object.assign({},Dr(t,e,n)),{timeZone:e.timeZone})}function Dr(t,e,n){return{start:e.toDate(t.start),end:e.toDate(t.end),startStr:e.formatIso(t.start,{omitTime:n}),endStr:e.formatIso(t.end,{omitTime:n})}}function Al(t,e,n){let r=gr({editable:!1},n),i=ft(r.refined,r.extra,"",t.allDay,!0,n);return{def:i,ui:_r(i,e),instance:Rt(i.defId,t.range),range:t.range,isStart:!0,isEnd:!0}}function bl(t,e,n){let r=!1,i=function(a){r||(r=!0,e(a))},s=function(a){r||(r=!0,n(a))},l=t(i,s);l&&typeof l.then=="function"&&l.then(i,s)}class En extends Error{constructor(e,n){super(e),this.response=n}}function yl(t,e,n){t=t.toUpperCase();const r={method:t};return t==="GET"?e+=(e.indexOf("?")===-1?"?":"&")+new URLSearchParams(n):(r.body=new URLSearchParams(n),r.headers={"Content-Type":"application/x-www-form-urlencoded"}),fetch(e,r).then(i=>{if(i.ok)return i.json().then(s=>[s,i],()=>{throw new En("Failure parsing JSON",i)});throw new En("Request failed",i)})}let Xe;function wr(){return Xe==null&&(Xe=El()),Xe}function El(){if(typeof document>"u")return!0;let t=document.createElement("div");t.style.position="absolute",t.style.top="0px",t.style.left="0px",t.innerHTML="
",t.querySelector("table").style.height="100px",t.querySelector("div").style.height="100%",document.body.appendChild(t);let n=t.querySelector("div").offsetHeight>0;return document.body.removeChild(t),n}class _l extends I{constructor(){super(...arguments),this.state={forPrint:!1},this.handleBeforePrint=()=>{this.setState({forPrint:!0})},this.handleAfterPrint=()=>{this.setState({forPrint:!1})}}render(){let{props:e}=this,{options:n}=e,{forPrint:r}=this.state,i=r||n.height==="auto"||n.contentHeight==="auto",s=!i&&n.height!=null?n.height:"",l=["fc",r?"fc-media-print":"fc-media-screen",`fc-direction-${n.direction}`,e.theme.getClass("root")];return wr()||l.push("fc-liquid-hack"),e.children(l,s,i,r)}componentDidMount(){let{emitter:e}=this.props;e.on("_beforeprint",this.handleBeforePrint),e.on("_afterprint",this.handleAfterPrint)}componentWillUnmount(){let{emitter:e}=this.props;e.off("_beforeprint",this.handleBeforePrint),e.off("_afterprint",this.handleAfterPrint)}}class Sr{constructor(e){this.component=e.component,this.isHitComboAllowed=e.isHitComboAllowed||null}destroy(){}}function Cl(t,e){return{component:t,el:e.el,useEventCenter:e.useEventCenter!=null?e.useEventCenter:!0,isHitComboAllowed:e.isHitComboAllowed||null}}function pc(t){return{[t.component.uid]:t}}const _n={};class Dl{getCurrentData(){return this.currentDataManager.getCurrentData()}dispatch(e){this.currentDataManager.dispatch(e)}get view(){return this.getCurrentData().viewApi}batchRendering(e){e()}updateSize(){this.trigger("_resize",!0)}setOption(e,n){this.dispatch({type:"SET_OPTION",optionName:e,rawOptionValue:n})}getOption(e){return this.currentDataManager.currentCalendarOptionsInput[e]}getAvailableLocaleCodes(){return Object.keys(this.getCurrentData().availableRawLocales)}on(e,n){let{currentDataManager:r}=this;r.currentCalendarOptionsRefiners[e]?r.emitter.on(e,n):console.warn(`Unknown listener name '${e}'`)}off(e,n){this.currentDataManager.emitter.off(e,n)}trigger(e,...n){this.currentDataManager.emitter.trigger(e,...n)}changeView(e,n){this.batchRendering(()=>{if(this.unselect(),n)if(n.start&&n.end)this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e}),this.dispatch({type:"SET_OPTION",optionName:"visibleRange",rawOptionValue:n});else{let{dateEnv:r}=this.getCurrentData();this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e,dateMarker:r.createMarker(n)})}else this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:e})})}zoomTo(e,n){let r=this.getCurrentData(),i;n=n||"day",i=r.viewSpecs[n]||this.getUnitViewSpec(n),this.unselect(),i?this.dispatch({type:"CHANGE_VIEW_TYPE",viewType:i.type,dateMarker:e}):this.dispatch({type:"CHANGE_DATE",dateMarker:e})}getUnitViewSpec(e){let{viewSpecs:n,toolbarConfig:r}=this.getCurrentData(),i=[].concat(r.header?r.header.viewsWithButtons:[],r.footer?r.footer.viewsWithButtons:[]),s,l;for(let a in n)i.push(a);for(s=0;s{this.dispatch({type:"REMOVE_EVENTS",eventStore:Er(e)})}})}getEventById(e){let n=this.getCurrentData(),{defs:r,instances:i}=n.eventStore;e=String(e);for(let s in r){let l=r[s];if(l.publicId===e){if(l.recurringDef)return new M(n,l,null);for(let a in i){let o=i[a];if(o.defId===l.defId)return new M(n,l,o)}}}return null}getEvents(){let e=this.getCurrentData();return Mt(e.eventStore,e)}removeAllEvents(){this.dispatch({type:"REMOVE_ALL_EVENTS"})}getEventSources(){let e=this.getCurrentData(),n=e.eventSources,r=[];for(let i in n)r.push(new se(e,n[i]));return r}getEventSourceById(e){let n=this.getCurrentData(),r=n.eventSources;e=String(e);for(let i in r)if(r[i].publicId===e)return new se(n,r[i]);return null}addEventSource(e){let n=this.getCurrentData();if(e instanceof se)return n.eventSources[e.internalEventSource.sourceId]||this.dispatch({type:"ADD_EVENT_SOURCES",sources:[e.internalEventSource]}),e;let r=vr(e,n);return r?(this.dispatch({type:"ADD_EVENT_SOURCES",sources:[r]}),new se(n,r)):null}removeAllEventSources(){this.dispatch({type:"REMOVE_ALL_EVENT_SOURCES"})}refetchEvents(){this.dispatch({type:"FETCH_EVENT_SOURCES",isRefetch:!0})}scrollToTime(e){let n=D(e);n&&this.trigger("_scrollRequest",{time:n})}}function gc(t,e){return t.left>=e.left&&t.left=e.top&&t.topthis.eventUiBuilders[p]||C(Sl));for(let c in n){let p=n[c],h=l[c]||Ke,d=this.eventUiBuilders[c];u[c]={businessHours:p.businessHours||e.businessHours,dateSelection:i[c]||null,eventStore:h,eventUiBases:d(e.eventUiBases[""],p.ui,s[c]),eventSelection:h.instances[e.eventSelection]?e.eventSelection:"",eventDrag:a[c]||null,eventResize:o[c]||null}}return u}_splitDateSpan(e){let n={};if(e){let r=this.getKeysForDateSpan(e);for(let i of r)n[i]=e}return n}_getKeysForEventDefs(e){return Q(e.defs,n=>this.getKeysForEventDef(n))}_splitEventStore(e,n){let{defs:r,instances:i}=e,s={};for(let l in r)for(let a of n[l])s[a]||(s[a]=j()),s[a].defs[l]=r[l];for(let l in i){let a=i[l];for(let o of n[a.defId])s[o]&&(s[o].instances[l]=a)}return s}_splitIndividualUi(e,n){let r={};for(let i in e)if(i)for(let s of n[i])r[s]||(r[s]={}),r[s][i]=e[i];return r}_splitInteraction(e){let n={};if(e){let r=this._splitEventStore(e.affectedEvents,this._getKeysForEventDefs(e.affectedEvents)),i=this._getKeysForEventDefs(e.mutatedEvents),s=this._splitEventStore(e.mutatedEvents,i),l=a=>{n[a]||(n[a]={affectedEvents:r[a]||Ke,mutatedEvents:s[a]||Ke,isEvent:e.isEvent})};for(let a in r)l(a);for(let a in s)l(a)}return n}}function Sl(t,e,n){let r=[];t&&r.push(t),e&&r.push(e);let i={"":mr(r)};return n&&Object.assign(i,n),i}function Rr(t,e,n,r){return{dow:t.getUTCDay(),isDisabled:!!(r&&!$(r.activeRange,t)),isOther:!!(r&&!$(r.currentRange,t)),isToday:!!(e&&$(e,t)),isPast:!!(n?tn:e&&t>=e.end)}}function Ot(t,e){let n=["fc-day",`fc-day-${Mi[t.dow]}`];return t.isDisabled?n.push("fc-day-disabled"):(t.isToday&&(n.push("fc-day-today"),n.push(e.getClass("today"))),t.isPast&&n.push("fc-day-past"),t.isFuture&&n.push("fc-day-future"),t.isOther&&n.push("fc-day-other")),n}const Rl=O({year:"numeric",month:"long",day:"numeric"}),Tl=O({week:"long"});function Il(t,e,n="day",r=!0){const{dateEnv:i,options:s,calendarApi:l}=t;let a=i.format(e,n==="week"?Tl:Rl);if(s.navLinks){let o=i.toDate(e);const u=c=>{let p=n==="day"?s.navLinkDayClick:n==="week"?s.navLinkWeekClick:null;typeof p=="function"?p.call(l,i.toDate(e),c):(typeof p=="string"&&(n=p),l.zoomTo(e,n))};return Object.assign({title:de(s.navLinkHint,[a,o],a),"data-navlink":""},r?nr(u):{onClick:u})}return{"aria-label":a}}let et=null;function kl(){return et===null&&(et=Ml()),et}function Ml(){let t=document.createElement("div");Kn(t,{position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}),t.innerHTML="
",document.body.appendChild(t);let n=t.firstChild.getBoundingClientRect().left>t.getBoundingClientRect().left;return Xn(t),n}let tt;function Ol(){return tt||(tt=Nl()),tt}function Nl(){let t=document.createElement("div");t.style.overflow="scroll",t.style.position="absolute",t.style.top="-9999px",t.style.left="-9999px",document.body.appendChild(t);let e=Tr(t);return document.body.removeChild(t),e}function Tr(t){return{x:t.offsetHeight-t.clientHeight,y:t.offsetWidth-t.clientWidth}}function xl(t,e=!1){let n=window.getComputedStyle(t),r=parseInt(n.borderLeftWidth,10)||0,i=parseInt(n.borderRightWidth,10)||0,s=parseInt(n.borderTopWidth,10)||0,l=parseInt(n.borderBottomWidth,10)||0,a=Tr(t),o=a.y-r-i,u=a.x-s-l,c={borderLeft:r,borderRight:i,borderTop:s,borderBottom:l,scrollbarBottom:u,scrollbarLeft:0,scrollbarRight:0};return kl()&&n.direction==="rtl"?c.scrollbarLeft=o:c.scrollbarRight=o,e&&(c.paddingLeft=parseInt(n.paddingLeft,10)||0,c.paddingRight=parseInt(n.paddingRight,10)||0,c.paddingTop=parseInt(n.paddingTop,10)||0,c.paddingBottom=parseInt(n.paddingBottom,10)||0),c}function yc(t,e=!1,n){let r=n?t.getBoundingClientRect():Bl(t),i=xl(t,e),s={left:r.left+i.borderLeft+i.scrollbarLeft,right:r.right-i.borderRight-i.scrollbarRight,top:r.top+i.borderTop,bottom:r.bottom-i.borderBottom-i.scrollbarBottom};return e&&(s.left+=i.paddingLeft,s.right-=i.paddingRight,s.top+=i.paddingTop,s.bottom-=i.paddingBottom),s}function Bl(t){let e=t.getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,right:e.right+window.pageXOffset,bottom:e.bottom+window.pageYOffset}}function Hl(t){let e=Pl(t),n=t.getBoundingClientRect();for(let r of e){let i=wl(n,r.getBoundingClientRect());if(i)n=i;else return null}return n}function Pl(t){let e=[];for(;t instanceof HTMLElement;){let n=window.getComputedStyle(t);if(n.position==="fixed")break;/(auto|scroll)/.test(n.overflow+n.overflowY+n.overflowX)&&e.push(t),t=t.parentNode}return e}class Ec{constructor(e,n,r,i){this.els=n;let s=this.originClientRect=e.getBoundingClientRect();r&&this.buildElHorizontals(s.left),i&&this.buildElVerticals(s.top)}buildElHorizontals(e){let n=[],r=[];for(let i of this.els){let s=i.getBoundingClientRect();n.push(s.left-e),r.push(s.right-e)}this.lefts=n,this.rights=r}buildElVerticals(e){let n=[],r=[];for(let i of this.els){let s=i.getBoundingClientRect();n.push(s.top-e),r.push(s.bottom-e)}this.tops=n,this.bottoms=r}leftToIndex(e){let{lefts:n,rights:r}=this,i=n.length,s;for(s=0;s=n[s]&&e=n[s]&&e0}canScrollHorizontally(){return this.getMaxScrollLeft()>0}canScrollUp(){return this.getScrollTop()>0}canScrollDown(){return this.getScrollTop()0}canScrollRight(){return this.getScrollLeft()a.end&&(i+=this.insertEntry({index:e.index,thickness:e.thickness,span:{start:a.end,end:l.end}},s)),i?(r.push({index:e.index,thickness:e.thickness,span:kr(a,l)},...s),i):(r.push(e),0)}insertEntryAt(e,n){let{entriesByLevel:r,levelCoords:i}=this;n.lateral===-1?(nt(i,n.level,n.levelCoord),nt(r,n.level,[e])):nt(r[n.level],n.lateral,e),this.stackCnts[Dn(e)]=n.stackCnt}findInsertion(e){let{levelCoords:n,entriesByLevel:r,strictOrder:i,stackCnts:s}=this,l=n.length,a=0,o=-1,u=-1,c=null,p=0;for(let m=0;m=a+e.thickness)break;let v=r[m],A,E=wn(v,e.span.start,Cn),R=E[0]+E[1];for(;(A=v[R])&&A.span.starta&&(a=S,c=A,o=m,u=R),S===a&&(p=Math.max(p,s[Dn(A)]+1)),R+=1}}let h=0;if(c)for(h=o+1;hn(t[i-1]))return[i,0];for(;rl)r=s+1;else return[s,1]}return[r,0]}class Sc{constructor(e,n){this.emitter=new yr}destroy(){}setMirrorIsVisible(e){}setMirrorNeedsRevert(e){}setAutoScrollEnabled(e){}}const Rc={};function Fl(t,e){return!t||e>10?O({weekday:"short"}):e>1?O({weekday:"short",month:"numeric",day:"numeric",omitCommas:!0}):O({weekday:"long"})}const Mr="fc-col-header-cell";function Or(t){return t.text}class jl extends I{render(){let{dateEnv:e,options:n,theme:r,viewApi:i}=this.context,{props:s}=this,{date:l,dateProfile:a}=s,o=Rr(l,s.todayRange,null,a),u=[Mr].concat(Ot(o,r)),c=e.format(l,s.dayHeaderFormat),p=!o.isDisabled&&s.colCnt>1?Il(this.context,l):{},h=Object.assign(Object.assign(Object.assign({date:e.toDate(l),view:i},s.extraRenderProps),{text:c}),o);return g(L,{elTag:"th",elClasses:u,elAttrs:Object.assign({role:"columnheader",colSpan:s.colSpan,"data-date":o.isDisabled?void 0:lr(l)},s.extraDataAttrs),renderProps:h,generatorName:"dayHeaderContent",generator:n.dayHeaderContent||Or,classNameGenerator:n.dayHeaderClassNames,didMount:n.dayHeaderDidMount,willUnmount:n.dayHeaderWillUnmount},d=>g("div",{className:"fc-scrollgrid-sync-inner"},!o.isDisabled&&g(d,{elTag:"a",elAttrs:p,elClasses:["fc-col-header-cell-cushion",s.isSticky&&"fc-sticky"]})))}}const zl=O({weekday:"long"});class Vl extends I{render(){let{props:e}=this,{dateEnv:n,theme:r,viewApi:i,options:s}=this.context,l=H(new Date(2592e5),e.dow),a={dow:e.dow,isDisabled:!1,isFuture:!1,isPast:!1,isToday:!1,isOther:!1},o=n.format(l,e.dayHeaderFormat),u=Object.assign(Object.assign(Object.assign(Object.assign({date:l},a),{view:i}),e.extraRenderProps),{text:o});return g(L,{elTag:"th",elClasses:[Mr,...Ot(a,r),...e.extraClassNames||[]],elAttrs:Object.assign({role:"columnheader",colSpan:e.colSpan},e.extraDataAttrs),renderProps:u,generatorName:"dayHeaderContent",generator:s.dayHeaderContent||Or,classNameGenerator:s.dayHeaderClassNames,didMount:s.dayHeaderDidMount,willUnmount:s.dayHeaderWillUnmount},c=>g("div",{className:"fc-scrollgrid-sync-inner"},g(c,{elTag:"a",elClasses:["fc-col-header-cell-cushion",e.isSticky&&"fc-sticky"],elAttrs:{"aria-label":n.format(l,zl)}})))}}class Nr extends B{constructor(e,n){super(e,n),this.initialNowDate=Ae(n.options.now,n.dateEnv),this.initialNowQueriedMs=new Date().valueOf(),this.state=this.computeTiming().currentState}render(){let{props:e,state:n}=this;return e.children(n.nowDate,n.todayRange)}componentDidMount(){this.setTimeout()}componentDidUpdate(e){e.unit!==this.props.unit&&(this.clearTimeout(),this.setTimeout())}componentWillUnmount(){this.clearTimeout()}computeTiming(){let{props:e,context:n}=this,r=K(this.initialNowDate,new Date().valueOf()-this.initialNowQueriedMs),i=n.dateEnv.startOf(r,e.unit),s=n.dateEnv.add(i,D(1,e.unit)),l=s.valueOf()-r.valueOf();return l=Math.min(1e3*60*60*24,l),{currentState:{nowDate:i,todayRange:Sn(i)},nextState:{nowDate:s,todayRange:Sn(s)},waitMs:l}}setTimeout(){let{nextState:e,waitMs:n}=this.computeTiming();this.timeoutId=setTimeout(()=>{this.setState(e,()=>{this.setTimeout()})},n)}clearTimeout(){this.timeoutId&&clearTimeout(this.timeoutId)}}Nr.contextType=Z;function Sn(t){let e=w(t),n=H(e,1);return{start:e,end:n}}class Tc extends I{constructor(){super(...arguments),this.createDayHeaderFormatter=C(Wl)}render(){let{context:e}=this,{dates:n,dateProfile:r,datesRepDistinctDays:i,renderIntro:s}=this.props,l=this.createDayHeaderFormatter(e.options.dayHeaderFormat,i,n.length);return g(Nr,{unit:"day"},(a,o)=>g("tr",{role:"row"},s&&s("day"),n.map(u=>i?g(jl,{key:u.toISOString(),date:u,dateProfile:r,todayRange:o,colCnt:n.length,dayHeaderFormat:l}):g(Vl,{key:u.getUTCDay(),dow:u.getUTCDay(),dayHeaderFormat:l}))))}}function Wl(t,e,n){return t||Fl(e,n)}class Ic{constructor(e,n){let r=e.start,{end:i}=e,s=[],l=[],a=-1;for(;r=n.length?n[n.length-1]+1:n[r]}}class kc{constructor(e,n){let{dates:r}=e,i,s,l;if(n){for(s=r[0].getUTCDay(),i=1;is.groupId===t)):typeof t=="object"&&t?it(oe(t,e,i)):[]}function it(t){let{instances:e}=t,n=[];for(let r in e)n.push(e[r].range);return n}function Yl(t,e){for(let n of t)if(wt(n,e))return!0;return!1}const _e=/^(visible|hidden)$/;class $l extends I{constructor(){super(...arguments),this.handleEl=e=>{this.el=e,ve(this.props.elRef,e)}}render(){let{props:e}=this,{liquid:n,liquidIsAbsolute:r}=e,i=n&&r,s=["fc-scroller"];return n&&(r?s.push("fc-scroller-liquid-absolute"):s.push("fc-scroller-liquid")),g("div",{ref:this.handleEl,className:s.join(" "),style:{overflowX:e.overflowX,overflowY:e.overflowY,left:i&&-(e.overcomeLeft||0)||"",right:i&&-(e.overcomeRight||0)||"",bottom:i&&-(e.overcomeBottom||0)||"",marginLeft:!i&&-(e.overcomeLeft||0)||"",marginRight:!i&&-(e.overcomeRight||0)||"",marginBottom:!i&&-(e.overcomeBottom||0)||"",maxHeight:e.maxHeight||""}},e.children)}needsXScrolling(){if(_e.test(this.props.overflowX))return!1;let{el:e}=this,n=this.el.getBoundingClientRect().width-this.getYScrollbarWidth(),{children:r}=e;for(let i=0;in)return!0;return!1}needsYScrolling(){if(_e.test(this.props.overflowY))return!1;let{el:e}=this,n=this.el.getBoundingClientRect().height-this.getXScrollbarWidth(),{children:r}=e;for(let i=0;in)return!0;return!1}getXScrollbarWidth(){return _e.test(this.props.overflowX)?0:this.el.offsetHeight-this.el.clientHeight}getYScrollbarWidth(){return _e.test(this.props.overflowY)?0:this.el.offsetWidth-this.el.clientWidth}}class Rn{constructor(e){this.masterCallback=e,this.currentMap={},this.depths={},this.callbackMap={},this.handleValue=(n,r)=>{let{depths:i,currentMap:s}=this,l=!1,a=!1;n!==null?(l=r in s,s[r]=n,i[r]=(i[r]||0)+1,a=!0):(i[r]-=1,i[r]||(delete s[r],delete this.callbackMap[r],l=!0)),this.masterCallback&&(l&&this.masterCallback(null,String(r)),a&&this.masterCallback(n,String(r)))}}createRef(e){let n=this.callbackMap[e];return n||(n=this.callbackMap[e]=r=>{this.handleValue(r,String(e))}),n}collect(e,n,r){return bi(this.currentMap,e,n,r)}getAll(){return bt(this.currentMap)}}function Jl(t){let e=Ei(t,".fc-scrollgrid-shrink"),n=0;for(let r of e)n=Math.max(n,ki(r));return Math.ceil(n)}function Hr(t,e){return t.liquid&&e.liquid}function Xl(t,e){return e.maxHeight!=null||Hr(t,e)}function Kl(t,e,n,r){let{expandRows:i}=n;return typeof e.content=="function"?e.content(n):g("table",{role:"presentation",className:[e.tableClassName,t.syncRowHeights?"fc-scrollgrid-sync-table":""].join(" "),style:{minWidth:n.tableMinWidth,width:n.clientWidth,height:i?n.clientHeight:""}},n.tableColGroupNode,g(r?"thead":"tbody",{role:"presentation"},typeof e.rowContent=="function"?e.rowContent(n):e.rowContent))}function ea(t,e){return X(t,e,G)}function ta(t,e){let n=[];for(let r of t){let i=r.span||1;for(let s=0;se,ea),this.renderMicroColGroup=C(ta),this.scrollerRefs=new Rn,this.scrollerElRefs=new Rn(this._handleScrollerEl.bind(this)),this.state={shrinkWidth:null,forceYScrollbars:!1,scrollerClientWidths:{},scrollerClientHeights:{}},this.handleSizing=()=>{this.safeSetState(Object.assign({shrinkWidth:this.computeShrinkWidth()},this.computeScrollerDims()))}}render(){let{props:e,state:n,context:r}=this,i=e.sections||[],s=this.processCols(e.cols),l=this.renderMicroColGroup(s,n.shrinkWidth),a=ia(e.liquid,r);e.collapsibleWidth&&a.push("fc-scrollgrid-collapsible");let o=i.length,u=0,c,p=[],h=[],d=[];for(;u{}},i);return g(i?"th":"td",{ref:r.elRef,role:"presentation"},g("div",{className:`fc-scroller-harness${c?" fc-scroller-harness-liquid":""}`},g($l,{ref:this.scrollerRefs.createRef(h),elRef:this.scrollerElRefs.createRef(h),overflowY:p,overflowX:s.liquid?"hidden":"visible",maxHeight:e.maxHeight,liquid:c,liquidIsAbsolute:!0},d)))}_handleScrollerEl(e,n){let r=aa(this.props.sections,n);r&&ve(r.chunk.scrollerElRef,e)}componentDidMount(){this.handleSizing(),this.context.addResizeHandler(this.handleSizing)}componentDidUpdate(){this.handleSizing()}componentWillUnmount(){this.context.removeResizeHandler(this.handleSizing)}computeShrinkWidth(){return ra(this.props.cols)?Jl(this.scrollerElRefs.getAll()):0}computeScrollerDims(){let e=Ol(),{scrollerRefs:n,scrollerElRefs:r}=this,i=!1,s={},l={};for(let a in n.currentMap){let o=n.currentMap[a];if(o&&o.needsYScrolling()){i=!0;break}}for(let a of this.props.sections){let o=a.key,u=r.currentMap[o];if(u){let c=u.parentNode;s[o]=Math.floor(c.getBoundingClientRect().width-(i?e.y:0)),l[o]=Math.floor(c.getBoundingClientRect().height)}}return{forceYScrollbars:i,scrollerClientWidths:s,scrollerClientHeights:l}}}la.addStateEquality({scrollerClientWidths:G,scrollerClientHeights:G});function aa(t,e){for(let n of t)if(n.key===e)return n;return null}class Pr extends I{constructor(){super(...arguments),this.handleEl=e=>{this.el=e,e&&yn(e,this.props.seg)}}render(){const{props:e,context:n}=this,{options:r}=n,{seg:i}=e,{eventRange:s}=i,{ui:l}=s,a={event:new M(n,s.def,s.instance),view:n.viewApi,timeText:e.timeText,textColor:l.textColor,backgroundColor:l.backgroundColor,borderColor:l.borderColor,isDraggable:!e.disableDragging&&al(i,n),isStartResizable:!e.disableResizing&&ol(i,n),isEndResizable:!e.disableResizing&&cl(i),isMirror:!!(e.isDragging||e.isResizing||e.isDateSelecting),isStart:!!i.isStart,isEnd:!!i.isEnd,isPast:!!e.isPast,isFuture:!!e.isFuture,isToday:!!e.isToday,isSelected:!!e.isSelected,isDragging:!!e.isDragging,isResizing:!!e.isResizing};return g(L,Object.assign({},e,{elRef:this.handleEl,elClasses:[...dl(a),...i.eventRange.ui.classNames,...e.elClasses||[]],renderProps:a,generatorName:"eventContent",generator:r.eventContent||e.defaultGenerator,classNameGenerator:r.eventClassNames,didMount:r.eventDidMount,willUnmount:r.eventWillUnmount}))}componentDidUpdate(e){this.el&&this.props.seg!==e.seg&&yn(this.el,this.props.seg)}}class Pc extends I{render(){let{props:e,context:n}=this,{options:r}=n,{seg:i}=e,{ui:s}=i.eventRange,l=r.eventTimeFormat||e.defaultTimeFormat,a=ul(i,l,n,e.defaultDisplayEventTime,e.defaultDisplayEventEnd);return g(Pr,Object.assign({},e,{elTag:"a",elStyle:{borderColor:s.borderColor,backgroundColor:s.backgroundColor},elAttrs:fl(i,n),defaultGenerator:oa,timeText:a}),(o,u)=>g(P,null,g(o,{elTag:"div",elClasses:["fc-event-main"],elStyle:{color:u.textColor}}),!!u.isStartResizable&&g("div",{className:"fc-event-resizer fc-event-resizer-start"}),!!u.isEndResizable&&g("div",{className:"fc-event-resizer fc-event-resizer-end"})))}}function oa(t){return g("div",{className:"fc-event-main-frame"},t.timeText&&g("div",{className:"fc-event-time"},t.timeText),g("div",{className:"fc-event-title-container"},g("div",{className:"fc-event-title fc-sticky"},t.event.title||g(P,null," "))))}const Uc=t=>g(Z.Consumer,null,e=>{let{options:n}=e,r={isAxis:t.isAxis,date:e.dateEnv.toDate(t.date),view:e.viewApi};return g(L,Object.assign({},t,{elTag:t.elTag||"div",renderProps:r,generatorName:"nowIndicatorContent",generator:n.nowIndicatorContent,classNameGenerator:n.nowIndicatorClassNames,didMount:n.nowIndicatorDidMount,willUnmount:n.nowIndicatorWillUnmount}))}),ca=O({day:"numeric"});class ua extends I{constructor(){super(...arguments),this.refineRenderProps=we(fa)}render(){let{props:e,context:n}=this,{options:r}=n,i=this.refineRenderProps({date:e.date,dateProfile:e.dateProfile,todayRange:e.todayRange,showDayNumber:e.showDayNumber,extraRenderProps:e.extraRenderProps,viewApi:n.viewApi,dateEnv:n.dateEnv});return g(L,Object.assign({},e,{elClasses:[...Ot(i,n.theme),...e.elClasses||[]],elAttrs:Object.assign(Object.assign({},e.elAttrs),i.isDisabled?{}:{"data-date":lr(e.date)}),renderProps:i,generatorName:"dayCellContent",generator:r.dayCellContent||e.defaultGenerator,classNameGenerator:i.isDisabled?void 0:r.dayCellClassNames,didMount:r.dayCellDidMount,willUnmount:r.dayCellWillUnmount}))}}function da(t){return!!(t.dayCellContent||or("dayCellContent",t))}function fa(t){let{date:e,dateEnv:n}=t,r=Rr(e,t.todayRange,null,t.dateProfile);return Object.assign(Object.assign(Object.assign({date:n.toDate(e),view:t.viewApi},r),{dayNumberText:t.showDayNumber?n.format(e,ca):""}),t.extraRenderProps)}class Lc extends I{render(){let{props:e}=this,{seg:n}=e;return g(Pr,{elTag:"div",elClasses:["fc-bg-event"],elStyle:{backgroundColor:n.eventRange.ui.backgroundColor},defaultGenerator:ha,seg:n,timeText:"",isDragging:!1,isResizing:!1,isDateSelecting:!1,isSelected:!1,isPast:e.isPast,isFuture:e.isFuture,isToday:e.isToday,disableDragging:!0,disableResizing:!0})}}function ha(t){let{title:e}=t.event;return e&&g("div",{className:"fc-event-title"},t.event.title)}function Fc(t){return g("div",{className:`fc-${t}`})}const jc=t=>g(Z.Consumer,null,e=>{let{dateEnv:n,options:r}=e,{date:i}=t,s=r.weekNumberFormat||t.defaultFormat,l=n.computeWeekNumber(i),a=n.format(i,s);return g(L,Object.assign({},t,{renderProps:{num:l,text:a,date:i},generatorName:"weekNumberContent",generator:r.weekNumberContent||pa,classNameGenerator:r.weekNumberClassNames,didMount:r.weekNumberDidMount,willUnmount:r.weekNumberWillUnmount}))});function pa(t){return t.text}const st=10;class ga extends I{constructor(){super(...arguments),this.state={titleId:yt()},this.handleRootEl=e=>{this.rootEl=e,this.props.elRef&&ve(this.props.elRef,e)},this.handleDocumentMouseDown=e=>{const n=Ci(e);this.rootEl.contains(n)||this.handleCloseClick()},this.handleDocumentKeyDown=e=>{e.key==="Escape"&&this.handleCloseClick()},this.handleCloseClick=()=>{let{onClose:e}=this.props;e&&e()}}render(){let{theme:e,options:n}=this.context,{props:r,state:i}=this,s=["fc-popover",e.getClass("popover")].concat(r.extraClassNames||[]);return ai(g("div",Object.assign({},r.extraAttrs,{id:r.id,className:s.join(" "),"aria-labelledby":i.titleId,ref:this.handleRootEl}),g("div",{className:"fc-popover-header "+e.getClass("popoverHeader")},g("span",{className:"fc-popover-title",id:i.titleId},r.title),g("span",{className:"fc-popover-close "+e.getIconClass("close"),title:n.closeHint,onClick:this.handleCloseClick})),g("div",{className:"fc-popover-body "+e.getClass("popoverContent")},r.children)),r.parentEl)}componentDidMount(){document.addEventListener("mousedown",this.handleDocumentMouseDown),document.addEventListener("keydown",this.handleDocumentKeyDown),this.updateSize()}componentWillUnmount(){document.removeEventListener("mousedown",this.handleDocumentMouseDown),document.removeEventListener("keydown",this.handleDocumentKeyDown)}updateSize(){let{isRtl:e}=this.context,{alignmentEl:n,alignGridTop:r}=this.props,{rootEl:i}=this,s=Hl(n);if(s){let l=i.getBoundingClientRect(),a=r?F(n,".fc-scrollgrid").getBoundingClientRect().top:s.top,o=e?s.right-l.width:s.left;a=Math.max(a,st),o=Math.min(o,document.documentElement.clientWidth-st-l.width),o=Math.max(o,st);let u=i.offsetParent.getBoundingClientRect();Kn(i,{top:a-u.top,left:o-u.left})}}}class ma extends Ul{constructor(){super(...arguments),this.handleRootEl=e=>{this.rootEl=e,e?this.context.registerInteractiveComponent(this,{el:e,useEventCenter:!1}):this.context.unregisterInteractiveComponent(this)}}render(){let{options:e,dateEnv:n}=this.context,{props:r}=this,{startDate:i,todayRange:s,dateProfile:l}=r,a=n.format(i,e.dayPopoverFormat);return g(ua,{elRef:this.handleRootEl,date:i,dateProfile:l,todayRange:s},(o,u,c)=>g(ga,{elRef:c.ref,id:r.id,title:a,extraClassNames:["fc-more-popover"].concat(c.className||[]),extraAttrs:c,parentEl:r.parentEl,alignmentEl:r.alignmentEl,alignGridTop:r.alignGridTop,onClose:r.onClose},da(e)&&g(o,{elTag:"div",elClasses:["fc-more-popover-misc"]}),r.children))}queryHit(e,n,r,i){let{rootEl:s,props:l}=this;return e>=0&&e=0&&n{let{props:n,context:r}=this,{moreLinkClick:i}=r.options,s=Tn(n).start;function l(a){let{def:o,instance:u,range:c}=a.eventRange;return{event:new M(r,o,u),start:r.dateEnv.toDate(c.start),end:r.dateEnv.toDate(c.end),isStart:a.isStart,isEnd:a.isEnd}}typeof i=="function"&&(i=i({date:s,allDay:!!n.allDayDate,allSegs:n.allSegs.map(l),hiddenSegs:n.hiddenSegs.map(l),jsEvent:e,view:r.viewApi})),!i||i==="popover"?this.setState({isPopoverOpen:!0}):typeof i=="string"&&r.calendarApi.zoomTo(s,i)},this.handlePopoverClose=()=>{this.setState({isPopoverOpen:!1})}}render(){let{props:e,state:n}=this;return g(Z.Consumer,null,r=>{let{viewApi:i,options:s,calendarApi:l}=r,{moreLinkText:a}=s,{moreCnt:o}=e,u=Tn(e),c=typeof a=="function"?a.call(l,o):`+${o} ${a}`,p=de(s.moreLinkHint,[o],c),h={num:o,shortText:`+${o}`,text:c,view:i};return g(P,null,!!e.moreCnt&&g(L,{elTag:e.elTag||"a",elRef:this.linkElRef,elClasses:[...e.elClasses||[],"fc-more-link"],elAttrs:Object.assign(Object.assign(Object.assign({},e.elAttrs),nr(this.handleClick)),{title:p,"aria-expanded":n.isPopoverOpen,"aria-controls":n.isPopoverOpen?n.popoverId:""}),renderProps:h,generatorName:"moreLinkContent",generator:s.moreLinkContent||e.defaultGenerator||va,classNameGenerator:s.moreLinkClassNames,didMount:s.moreLinkDidMount,willUnmount:s.moreLinkWillUnmount},e.children),n.isPopoverOpen&&g(ma,{id:n.popoverId,startDate:u.start,endDate:u.end,dateProfile:e.dateProfile,todayRange:e.todayRange,extraDateSpan:e.extraDateSpan,parentEl:this.parentEl,alignmentEl:e.alignmentElRef?e.alignmentElRef.current:this.linkElRef.current,alignGridTop:e.alignGridTop,onClose:this.handlePopoverClose},e.popoverContent()))})}componentDidMount(){this.updateParentEl()}componentDidUpdate(){this.updateParentEl()}updateParentEl(){this.linkElRef.current&&(this.parentEl=F(this.linkElRef.current,".fc-view-harness"))}}function va(t){return t.text}function Tn(t){if(t.allDayDate)return{start:t.allDayDate,end:H(t.allDayDate,1)};let{hiddenSegs:e}=t;return{start:Aa(e),end:ya(e)}}function Aa(t){return t.reduce(ba).eventRange.range.start}function ba(t,e){return t.eventRange.range.starte.eventRange.range.end?t:e}class _a{constructor(){this.handlers=[]}set(e){this.currentValue=e;for(let n of this.handlers)n(e)}subscribe(e){this.handlers.push(e),this.currentValue!==void 0&&e(this.currentValue)}}class Ca extends _a{constructor(){super(...arguments),this.map=new Map}handle(e){const{map:n}=this;let r=!1;e.isActive?(n.set(e.id,e),r=!0):n.has(e.id)&&(n.delete(e.id),r=!0),r&&this.set(n)}}var Da=':root{--fc-small-font-size:.85em;--fc-page-bg-color:#fff;--fc-neutral-bg-color:hsla(0,0%,82%,.3);--fc-neutral-text-color:grey;--fc-border-color:#ddd;--fc-button-text-color:#fff;--fc-button-bg-color:#2c3e50;--fc-button-border-color:#2c3e50;--fc-button-hover-bg-color:#1e2b37;--fc-button-hover-border-color:#1a252f;--fc-button-active-bg-color:#1a252f;--fc-button-active-border-color:#151e27;--fc-event-bg-color:#3788d8;--fc-event-border-color:#3788d8;--fc-event-text-color:#fff;--fc-event-selected-overlay-color:rgba(0,0,0,.25);--fc-more-link-bg-color:#d0d0d0;--fc-more-link-text-color:inherit;--fc-event-resizer-thickness:8px;--fc-event-resizer-dot-total-width:8px;--fc-event-resizer-dot-border-width:1px;--fc-non-business-color:hsla(0,0%,84%,.3);--fc-bg-event-color:#8fdf82;--fc-bg-event-opacity:0.3;--fc-highlight-color:rgba(188,232,241,.3);--fc-today-bg-color:rgba(255,220,40,.15);--fc-now-indicator-color:red}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-unselectable{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;user-select:none}.fc{display:flex;flex-direction:column;font-size:1em}.fc,.fc *,.fc :after,.fc :before{box-sizing:border-box}.fc table{border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{padding:0;vertical-align:top}.fc a[data-navlink]{cursor:pointer}.fc a[data-navlink]:hover{text-decoration:underline}.fc-direction-ltr{direction:ltr;text-align:left}.fc-direction-rtl{direction:rtl;text-align:right}.fc-theme-standard td,.fc-theme-standard th{border:1px solid var(--fc-border-color)}.fc-liquid-hack td,.fc-liquid-hack th{position:relative}@font-face{font-family:fcicons;font-style:normal;font-weight:400;src:url("data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBfAAAAC8AAAAYGNtYXAXVtKNAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5ZgYydxIAAAF4AAAFNGhlYWQUJ7cIAAAGrAAAADZoaGVhB20DzAAABuQAAAAkaG10eCIABhQAAAcIAAAALGxvY2ED4AU6AAAHNAAAABhtYXhwAA8AjAAAB0wAAAAgbmFtZXsr690AAAdsAAABhnBvc3QAAwAAAAAI9AAAACAAAwPAAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADpBgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6Qb//f//AAAAAAAg6QD//f//AAH/4xcEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAWIAjQKeAskAEwAAJSc3NjQnJiIHAQYUFwEWMjc2NCcCnuLiDQ0MJAz/AA0NAQAMJAwNDcni4gwjDQwM/wANIwz/AA0NDCMNAAAAAQFiAI0CngLJABMAACUBNjQnASYiBwYUHwEHBhQXFjI3AZ4BAA0N/wAMJAwNDeLiDQ0MJAyNAQAMIw0BAAwMDSMM4uINIwwNDQAAAAIA4gC3Ax4CngATACcAACUnNzY0JyYiDwEGFB8BFjI3NjQnISc3NjQnJiIPAQYUHwEWMjc2NCcB87e3DQ0MIw3VDQ3VDSMMDQ0BK7e3DQ0MJAzVDQ3VDCQMDQ3zuLcMJAwNDdUNIwzWDAwNIwy4twwkDA0N1Q0jDNYMDA0jDAAAAgDiALcDHgKeABMAJwAAJTc2NC8BJiIHBhQfAQcGFBcWMjchNzY0LwEmIgcGFB8BBwYUFxYyNwJJ1Q0N1Q0jDA0Nt7cNDQwjDf7V1Q0N1QwkDA0Nt7cNDQwkDLfWDCMN1Q0NDCQMt7gMIw0MDNYMIw3VDQ0MJAy3uAwjDQwMAAADAFUAAAOrA1UAMwBoAHcAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMhMjY1NCYjISIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAAVYRGRkR/qoRGRkRA1UFBAUOCQkVDAsZDf2rDRkLDBUJCA4FBQUFBQUOCQgVDAsZDQJVDRkLDBUJCQ4FBAVVAgECBQMCBwQECAX9qwQJAwQHAwMFAQICAgIBBQMDBwQDCQQCVQUIBAQHAgMFAgEC/oAZEhEZGRESGQAAAAADAFUAAAOrA1UAMwBoAIkAABMiBgcOAQcOAQcOARURFBYXHgEXHgEXHgEzITI2Nz4BNz4BNz4BNRE0JicuAScuAScuASMFITIWFx4BFx4BFx4BFREUBgcOAQcOAQcOASMhIiYnLgEnLgEnLgE1ETQ2Nz4BNz4BNz4BMxMzFRQWMzI2PQEzMjY1NCYrATU0JiMiBh0BIyIGFRQWM9UNGAwLFQkJDgUFBQUFBQ4JCRULDBgNAlYNGAwLFQkJDgUFBQUFBQ4JCRULDBgN/aoCVgQIBAQHAwMFAQIBAQIBBQMDBwQECAT9qgQIBAQHAwMFAQIBAQIBBQMDBwQECASAgBkSEhmAERkZEYAZEhIZgBEZGREDVQUEBQ4JCRUMCxkN/asNGQsMFQkIDgUFBQUFBQ4JCBUMCxkNAlUNGQsMFQkJDgUEBVUCAQIFAwIHBAQIBf2rBAkDBAcDAwUBAgICAgEFAwMHBAMJBAJVBQgEBAcCAwUCAQL+gIASGRkSgBkSERmAEhkZEoAZERIZAAABAOIAjQMeAskAIAAAExcHBhQXFjI/ARcWMjc2NC8BNzY0JyYiDwEnJiIHBhQX4uLiDQ0MJAzi4gwkDA0N4uINDQwkDOLiDCQMDQ0CjeLiDSMMDQ3h4Q0NDCMN4uIMIw0MDOLiDAwNIwwAAAABAAAAAQAAa5n0y18PPPUACwQAAAAAANivOVsAAAAA2K85WwAAAAADqwNVAAAACAACAAAAAAAAAAEAAAPA/8AAAAQAAAAAAAOrAAEAAAAAAAAAAAAAAAAAAAALBAAAAAAAAAAAAAAAAgAAAAQAAWIEAAFiBAAA4gQAAOIEAABVBAAAVQQAAOIAAAAAAAoAFAAeAEQAagCqAOoBngJkApoAAQAAAAsAigADAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAcAAAABAAAAAAACAAcAYAABAAAAAAADAAcANgABAAAAAAAEAAcAdQABAAAAAAAFAAsAFQABAAAAAAAGAAcASwABAAAAAAAKABoAigADAAEECQABAA4ABwADAAEECQACAA4AZwADAAEECQADAA4APQADAAEECQAEAA4AfAADAAEECQAFABYAIAADAAEECQAGAA4AUgADAAEECQAKADQApGZjaWNvbnMAZgBjAGkAYwBvAG4Ac1ZlcnNpb24gMS4wAFYAZQByAHMAaQBvAG4AIAAxAC4AMGZjaWNvbnMAZgBjAGkAYwBvAG4Ac2ZjaWNvbnMAZgBjAGkAYwBvAG4Ac1JlZ3VsYXIAUgBlAGcAdQBsAGEAcmZjaWNvbnMAZgBjAGkAYwBvAG4Ac0ZvbnQgZ2VuZXJhdGVkIGJ5IEljb01vb24uAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=") format("truetype")}.fc-icon{speak:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;font-family:fcicons!important;font-style:normal;font-variant:normal;font-weight:400;height:1em;line-height:1;text-align:center;text-transform:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:1em}.fc-icon-chevron-left:before{content:"\\e900"}.fc-icon-chevron-right:before{content:"\\e901"}.fc-icon-chevrons-left:before{content:"\\e902"}.fc-icon-chevrons-right:before{content:"\\e903"}.fc-icon-minus-square:before{content:"\\e904"}.fc-icon-plus-square:before{content:"\\e905"}.fc-icon-x:before{content:"\\e906"}.fc .fc-button{border-radius:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;overflow:visible;text-transform:none}.fc .fc-button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.fc .fc-button{-webkit-appearance:button}.fc .fc-button:not(:disabled){cursor:pointer}.fc .fc-button::-moz-focus-inner{border-style:none;padding:0}.fc .fc-button{background-color:transparent;border:1px solid transparent;border-radius:.25em;display:inline-block;font-size:1em;font-weight:400;line-height:1.5;padding:.4em .65em;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}.fc .fc-button:hover{text-decoration:none}.fc .fc-button:focus{box-shadow:0 0 0 .2rem rgba(44,62,80,.25);outline:0}.fc .fc-button:disabled{opacity:.65}.fc .fc-button-primary{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:hover{background-color:var(--fc-button-hover-bg-color);border-color:var(--fc-button-hover-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:disabled{background-color:var(--fc-button-bg-color);border-color:var(--fc-button-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button-primary:not(:disabled).fc-button-active,.fc .fc-button-primary:not(:disabled):active{background-color:var(--fc-button-active-bg-color);border-color:var(--fc-button-active-border-color);color:var(--fc-button-text-color)}.fc .fc-button-primary:not(:disabled).fc-button-active:focus,.fc .fc-button-primary:not(:disabled):active:focus{box-shadow:0 0 0 .2rem rgba(76,91,106,.5)}.fc .fc-button .fc-icon{font-size:1.5em;vertical-align:middle}.fc .fc-button-group{display:inline-flex;position:relative;vertical-align:middle}.fc .fc-button-group>.fc-button{flex:1 1 auto;position:relative}.fc .fc-button-group>.fc-button.fc-button-active,.fc .fc-button-group>.fc-button:active,.fc .fc-button-group>.fc-button:focus,.fc .fc-button-group>.fc-button:hover{z-index:1}.fc-direction-ltr .fc-button-group>.fc-button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0;margin-left:-1px}.fc-direction-ltr .fc-button-group>.fc-button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.fc-direction-rtl .fc-button-group>.fc-button:not(:first-child){border-bottom-right-radius:0;border-top-right-radius:0;margin-right:-1px}.fc-direction-rtl .fc-button-group>.fc-button:not(:last-child){border-bottom-left-radius:0;border-top-left-radius:0}.fc .fc-toolbar{align-items:center;display:flex;justify-content:space-between}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:1.5em}.fc .fc-toolbar.fc-footer-toolbar{margin-top:1.5em}.fc .fc-toolbar-title{font-size:1.75em;margin:0}.fc-direction-ltr .fc-toolbar>*>:not(:first-child){margin-left:.75em}.fc-direction-rtl .fc-toolbar>*>:not(:first-child){margin-right:.75em}.fc-direction-rtl .fc-toolbar-ltr{flex-direction:row-reverse}.fc .fc-scroller{-webkit-overflow-scrolling:touch;position:relative}.fc .fc-scroller-liquid{height:100%}.fc .fc-scroller-liquid-absolute{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-scroller-harness{direction:ltr;overflow:hidden;position:relative}.fc .fc-scroller-harness-liquid{height:100%}.fc-direction-rtl .fc-scroller-harness>.fc-scroller{direction:rtl}.fc-theme-standard .fc-scrollgrid{border:1px solid var(--fc-border-color)}.fc .fc-scrollgrid,.fc .fc-scrollgrid table{table-layout:fixed;width:100%}.fc .fc-scrollgrid table{border-left-style:hidden;border-right-style:hidden;border-top-style:hidden}.fc .fc-scrollgrid{border-bottom-width:0;border-collapse:separate;border-right-width:0}.fc .fc-scrollgrid-liquid{height:100%}.fc .fc-scrollgrid-section,.fc .fc-scrollgrid-section table,.fc .fc-scrollgrid-section>td{height:1px}.fc .fc-scrollgrid-section-liquid>td{height:100%}.fc .fc-scrollgrid-section>*{border-left-width:0;border-top-width:0}.fc .fc-scrollgrid-section-footer>*,.fc .fc-scrollgrid-section-header>*{border-bottom-width:0}.fc .fc-scrollgrid-section-body table,.fc .fc-scrollgrid-section-footer table{border-bottom-style:hidden}.fc .fc-scrollgrid-section-sticky>*{background:var(--fc-page-bg-color);position:sticky;z-index:3}.fc .fc-scrollgrid-section-header.fc-scrollgrid-section-sticky>*{top:0}.fc .fc-scrollgrid-section-footer.fc-scrollgrid-section-sticky>*{bottom:0}.fc .fc-scrollgrid-sticky-shim{height:1px;margin-bottom:-1px}.fc-sticky{position:sticky}.fc .fc-view-harness{flex-grow:1;position:relative}.fc .fc-view-harness-active>.fc-view{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-col-header-cell-cushion{display:inline-block;padding:2px 4px}.fc .fc-bg-event,.fc .fc-highlight,.fc .fc-non-business{bottom:0;left:0;position:absolute;right:0;top:0}.fc .fc-non-business{background:var(--fc-non-business-color)}.fc .fc-bg-event{background:var(--fc-bg-event-color);opacity:var(--fc-bg-event-opacity)}.fc .fc-bg-event .fc-event-title{font-size:var(--fc-small-font-size);font-style:italic;margin:.5em}.fc .fc-highlight{background:var(--fc-highlight-color)}.fc .fc-cell-shaded,.fc .fc-day-disabled{background:var(--fc-neutral-bg-color)}a.fc-event,a.fc-event:hover{text-decoration:none}.fc-event.fc-event-draggable,.fc-event[href]{cursor:pointer}.fc-event .fc-event-main{position:relative;z-index:2}.fc-event-dragging:not(.fc-event-selected){opacity:.75}.fc-event-dragging.fc-event-selected{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-event .fc-event-resizer{display:none;position:absolute;z-index:4}.fc-event-selected .fc-event-resizer,.fc-event:hover .fc-event-resizer{display:block}.fc-event-selected .fc-event-resizer{background:var(--fc-page-bg-color);border-color:inherit;border-radius:calc(var(--fc-event-resizer-dot-total-width)/2);border-style:solid;border-width:var(--fc-event-resizer-dot-border-width);height:var(--fc-event-resizer-dot-total-width);width:var(--fc-event-resizer-dot-total-width)}.fc-event-selected .fc-event-resizer:before{bottom:-20px;content:"";left:-20px;position:absolute;right:-20px;top:-20px}.fc-event-selected,.fc-event:focus{box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event-selected:before,.fc-event:focus:before{bottom:0;content:"";left:0;position:absolute;right:0;top:0;z-index:3}.fc-event-selected:after,.fc-event:focus:after{background:var(--fc-event-selected-overlay-color);bottom:-1px;content:"";left:-1px;position:absolute;right:-1px;top:-1px;z-index:1}.fc-h-event{background-color:var(--fc-event-bg-color);border:1px solid var(--fc-event-border-color);display:block}.fc-h-event .fc-event-main{color:var(--fc-event-text-color)}.fc-h-event .fc-event-main-frame{display:flex}.fc-h-event .fc-event-time{max-width:100%;overflow:hidden}.fc-h-event .fc-event-title-container{flex-grow:1;flex-shrink:1;min-width:0}.fc-h-event .fc-event-title{display:inline-block;left:0;max-width:100%;overflow:hidden;right:0;vertical-align:top}.fc-h-event.fc-event-selected:before{bottom:-10px;top:-10px}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-start),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-end){border-bottom-left-radius:0;border-left-width:0;border-top-left-radius:0}.fc-direction-ltr .fc-daygrid-block-event:not(.fc-event-end),.fc-direction-rtl .fc-daygrid-block-event:not(.fc-event-start){border-bottom-right-radius:0;border-right-width:0;border-top-right-radius:0}.fc-h-event:not(.fc-event-selected) .fc-event-resizer{bottom:0;top:0;width:var(--fc-event-resizer-thickness)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end{cursor:w-resize;left:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-direction-ltr .fc-h-event:not(.fc-event-selected) .fc-event-resizer-end,.fc-direction-rtl .fc-h-event:not(.fc-event-selected) .fc-event-resizer-start{cursor:e-resize;right:calc(var(--fc-event-resizer-thickness)*-.5)}.fc-h-event.fc-event-selected .fc-event-resizer{margin-top:calc(var(--fc-event-resizer-dot-total-width)*-.5);top:50%}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-start,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-end{left:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc-direction-ltr .fc-h-event.fc-event-selected .fc-event-resizer-end,.fc-direction-rtl .fc-h-event.fc-event-selected .fc-event-resizer-start{right:calc(var(--fc-event-resizer-dot-total-width)*-.5)}.fc .fc-popover{box-shadow:0 2px 6px rgba(0,0,0,.15);position:absolute;z-index:9999}.fc .fc-popover-header{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:3px 4px}.fc .fc-popover-title{margin:0 2px}.fc .fc-popover-close{cursor:pointer;font-size:1.1em;opacity:.65}.fc-theme-standard .fc-popover{background:var(--fc-page-bg-color);border:1px solid var(--fc-border-color)}.fc-theme-standard .fc-popover-header{background:var(--fc-neutral-bg-color)}';gi(Da);const wa=[],Ur={code:"en",week:{dow:0,doy:4},direction:"ltr",buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day",list:"list"},weekText:"W",weekTextLong:"Week",closeHint:"Close",timeHint:"Time",eventHint:"Event",allDayText:"all-day",moreLinkText:"more",noEventsText:"No events to display"},Lr=Object.assign(Object.assign({},Ur),{buttonHints:{prev:"Previous $0",next:"Next $0",today(t,e){return e==="day"?"Today":`This ${t}`}},viewHint:"$0 view",navLinkHint:"Go to $0",moreLinkHint(t){return`Show ${t} more event${t===1?"":"s"}`}});function Sa(t){let e=t.length>0?t[0].code:"en",n=wa.concat(t),r={en:Lr};for(let i of n)r[i.code]=i;return{map:r,defaultCode:e}}function Fr(t,e){return typeof t=="object"&&!Array.isArray(t)?jr(t.code,[t.code],t):Ra(t,e)}function Ra(t,e){let n=[].concat(t||[]),r=Ta(n,e)||Lr;return jr(t,n,r)}function Ta(t,e){for(let n=0;n0;i-=1){let s=r.slice(0,i).join("-");if(e[s])return e[s]}}return null}function jr(t,e,n){let r=At([Ur,n],["buttonText"]);delete r.code;let{week:i}=r;return delete r.week,{codeArg:t,codes:e,week:i,simpleNumberFormat:new Intl.NumberFormat(t),options:r}}function ce(t){return{id:ee(),name:t.name,premiumReleaseDate:t.premiumReleaseDate?new Date(t.premiumReleaseDate):void 0,deps:t.deps||[],reducers:t.reducers||[],isLoadingFuncs:t.isLoadingFuncs||[],contextInit:[].concat(t.contextInit||[]),eventRefiners:t.eventRefiners||{},eventDefMemberAdders:t.eventDefMemberAdders||[],eventSourceRefiners:t.eventSourceRefiners||{},isDraggableTransformers:t.isDraggableTransformers||[],eventDragMutationMassagers:t.eventDragMutationMassagers||[],eventDefMutationAppliers:t.eventDefMutationAppliers||[],dateSelectionTransformers:t.dateSelectionTransformers||[],datePointTransforms:t.datePointTransforms||[],dateSpanTransforms:t.dateSpanTransforms||[],views:t.views||{},viewPropsTransformers:t.viewPropsTransformers||[],isPropsValid:t.isPropsValid||null,externalDefTransforms:t.externalDefTransforms||[],viewContainerAppends:t.viewContainerAppends||[],eventDropTransformers:t.eventDropTransformers||[],componentInteractions:t.componentInteractions||[],calendarInteractions:t.calendarInteractions||[],themeClasses:t.themeClasses||{},eventSourceDefs:t.eventSourceDefs||[],cmdFormatter:t.cmdFormatter,recurringTypes:t.recurringTypes||[],namedTimeZonedImpl:t.namedTimeZonedImpl,initialView:t.initialView||"",elementDraggingImpl:t.elementDraggingImpl,optionChangeHandlers:t.optionChangeHandlers||{},scrollGridImpl:t.scrollGridImpl||null,listenerRefiners:t.listenerRefiners||{},optionRefiners:t.optionRefiners||{},propSetHandlers:t.propSetHandlers||{}}}function Ia(t,e){let n={},r={premiumReleaseDate:void 0,reducers:[],isLoadingFuncs:[],contextInit:[],eventRefiners:{},eventDefMemberAdders:[],eventSourceRefiners:{},isDraggableTransformers:[],eventDragMutationMassagers:[],eventDefMutationAppliers:[],dateSelectionTransformers:[],datePointTransforms:[],dateSpanTransforms:[],views:{},viewPropsTransformers:[],isPropsValid:null,externalDefTransforms:[],viewContainerAppends:[],eventDropTransformers:[],componentInteractions:[],calendarInteractions:[],themeClasses:{},eventSourceDefs:[],cmdFormatter:null,recurringTypes:[],namedTimeZonedImpl:null,initialView:"",elementDraggingImpl:null,optionChangeHandlers:{},scrollGridImpl:null,listenerRefiners:{},optionRefiners:{},propSetHandlers:{}};function i(s){for(let l of s){const a=l.name,o=n[a];o===void 0?(n[a]=l.id,i(l.deps),r=Ma(r,l)):o!==l.id&&console.warn(`Duplicate plugin '${a}'`)}}return t&&i(t),i(e),r}function ka(){let t=[],e=[],n;return(r,i)=>((!n||!X(r,t)||!X(i,e))&&(n=Ia(r,i)),t=r,e=i,n)}function Ma(t,e){return{premiumReleaseDate:Oa(t.premiumReleaseDate,e.premiumReleaseDate),reducers:t.reducers.concat(e.reducers),isLoadingFuncs:t.isLoadingFuncs.concat(e.isLoadingFuncs),contextInit:t.contextInit.concat(e.contextInit),eventRefiners:Object.assign(Object.assign({},t.eventRefiners),e.eventRefiners),eventDefMemberAdders:t.eventDefMemberAdders.concat(e.eventDefMemberAdders),eventSourceRefiners:Object.assign(Object.assign({},t.eventSourceRefiners),e.eventSourceRefiners),isDraggableTransformers:t.isDraggableTransformers.concat(e.isDraggableTransformers),eventDragMutationMassagers:t.eventDragMutationMassagers.concat(e.eventDragMutationMassagers),eventDefMutationAppliers:t.eventDefMutationAppliers.concat(e.eventDefMutationAppliers),dateSelectionTransformers:t.dateSelectionTransformers.concat(e.dateSelectionTransformers),datePointTransforms:t.datePointTransforms.concat(e.datePointTransforms),dateSpanTransforms:t.dateSpanTransforms.concat(e.dateSpanTransforms),views:Object.assign(Object.assign({},t.views),e.views),viewPropsTransformers:t.viewPropsTransformers.concat(e.viewPropsTransformers),isPropsValid:e.isPropsValid||t.isPropsValid,externalDefTransforms:t.externalDefTransforms.concat(e.externalDefTransforms),viewContainerAppends:t.viewContainerAppends.concat(e.viewContainerAppends),eventDropTransformers:t.eventDropTransformers.concat(e.eventDropTransformers),calendarInteractions:t.calendarInteractions.concat(e.calendarInteractions),componentInteractions:t.componentInteractions.concat(e.componentInteractions),themeClasses:Object.assign(Object.assign({},t.themeClasses),e.themeClasses),eventSourceDefs:t.eventSourceDefs.concat(e.eventSourceDefs),cmdFormatter:e.cmdFormatter||t.cmdFormatter,recurringTypes:t.recurringTypes.concat(e.recurringTypes),namedTimeZonedImpl:e.namedTimeZonedImpl||t.namedTimeZonedImpl,initialView:t.initialView||e.initialView,elementDraggingImpl:t.elementDraggingImpl||e.elementDraggingImpl,optionChangeHandlers:Object.assign(Object.assign({},t.optionChangeHandlers),e.optionChangeHandlers),scrollGridImpl:e.scrollGridImpl||t.scrollGridImpl,listenerRefiners:Object.assign(Object.assign({},t.listenerRefiners),e.listenerRefiners),optionRefiners:Object.assign(Object.assign({},t.optionRefiners),e.optionRefiners),propSetHandlers:Object.assign(Object.assign({},t.propSetHandlers),e.propSetHandlers)}}function Oa(t,e){return t===void 0?e:e===void 0?t:new Date(Math.max(t.valueOf(),e.valueOf()))}class q extends me{}q.prototype.classes={root:"fc-theme-standard",tableCellShaded:"fc-cell-shaded",buttonGroup:"fc-button-group",button:"fc-button fc-button-primary",buttonActive:"fc-button-active"};q.prototype.baseIconClass="fc-icon";q.prototype.iconClasses={close:"fc-icon-x",prev:"fc-icon-chevron-left",next:"fc-icon-chevron-right",prevYear:"fc-icon-chevrons-left",nextYear:"fc-icon-chevrons-right"};q.prototype.rtlIconClasses={prev:"fc-icon-chevron-right",next:"fc-icon-chevron-left",prevYear:"fc-icon-chevrons-right",nextYear:"fc-icon-chevrons-left"};q.prototype.iconOverrideOption="buttonIcons";q.prototype.iconOverrideCustomButtonOption="icon";q.prototype.iconOverridePrefix="fc-icon-";function Na(t,e){let n={},r;for(r in t)gt(r,n,t,e);for(r in e)gt(r,n,t,e);return n}function gt(t,e,n,r){if(e[t])return e[t];let i=xa(t,e,n,r);return i&&(e[t]=i),i}function xa(t,e,n,r){let i=n[t],s=r[t],l=c=>i&&i[c]!==null?i[c]:s&&s[c]!==null?s[c]:null,a=l("component"),o=l("superType"),u=null;if(o){if(o===t)throw new Error("Can't have a custom view type that references itself");u=gt(o,e,n,r)}return!a&&u&&(a=u.component),a?{type:t,component:a,defaults:Object.assign(Object.assign({},u?u.defaults:{}),i?i.rawOptions:{}),overrides:Object.assign(Object.assign({},u?u.overrides:{}),s?s.rawOptions:{})}:null}function In(t){return Q(t,Ba)}function Ba(t){let e=typeof t=="function"?{component:t}:t,{component:n}=e;return e.content&&(n=Ha(e)),{superType:e.type,component:n,rawOptions:e}}function Ha(t){return e=>g(Z.Consumer,null,n=>g(L,{elTag:"div",elClasses:dr(n.viewSpec),renderProps:Object.assign(Object.assign({},e),{nextDayThreshold:n.options.nextDayThreshold}),generatorName:void 0,generator:t.content,classNameGenerator:t.classNames,didMount:t.didMount,willUnmount:t.willUnmount}))}function Pa(t,e,n,r){let i=In(t),s=In(e.views),l=Na(i,s);return Q(l,a=>Ua(a,s,e,n,r))}function Ua(t,e,n,r,i){let s=t.overrides.duration||t.defaults.duration||r.duration||n.duration,l=null,a="",o="",u={};if(s&&(l=La(s),l)){let h=dt(l);a=h.unit,h.value===1&&(o=a,u=e[a]?e[a].rawOptions:{})}let c=h=>{let d=h.buttonText||{},m=t.defaults.buttonTextKey;return m!=null&&d[m]!=null?d[m]:d[t.type]!=null?d[t.type]:d[o]!=null?d[o]:null},p=h=>{let d=h.buttonHints||{},m=t.defaults.buttonTextKey;return m!=null&&d[m]!=null?d[m]:d[t.type]!=null?d[t.type]:d[o]!=null?d[o]:null};return{type:t.type,component:t.component,duration:l,durationUnit:a,singleUnit:o,optionDefaults:t.defaults,optionOverrides:Object.assign(Object.assign({},u),t.overrides),buttonTextOverride:c(r)||c(n)||t.overrides.buttonText,buttonTextDefault:c(i)||t.defaults.buttonText||c(fe)||t.type,buttonTitleOverride:p(r)||p(n)||t.overrides.buttonHint,buttonTitleDefault:p(i)||t.defaults.buttonHint||p(fe)}}let kn={};function La(t){let e=JSON.stringify(t),n=kn[e];return n===void 0&&(n=D(t),kn[e]=n),n}function Fa(t,e){switch(e.type){case"CHANGE_VIEW_TYPE":t=e.viewType}return t}function ja(t,e){switch(e.type){case"SET_OPTION":return Object.assign(Object.assign({},t),{[e.optionName]:e.rawOptionValue});default:return t}}function za(t,e,n,r){let i;switch(e.type){case"CHANGE_VIEW_TYPE":return r.build(e.dateMarker||n);case"CHANGE_DATE":return r.build(e.dateMarker);case"PREV":if(i=r.buildPrev(t,n),i.isValid)return i;break;case"NEXT":if(i=r.buildNext(t,n),i.isValid)return i;break}return t}function Va(t,e,n){let r=e?e.activeRange:null;return Vr({},$a(t,n),r,n)}function Wa(t,e,n,r){let i=n?n.activeRange:null;switch(e.type){case"ADD_EVENT_SOURCES":return Vr(t,e.sources,i,r);case"REMOVE_EVENT_SOURCE":return Ga(t,e.sourceId);case"PREV":case"NEXT":case"CHANGE_DATE":case"CHANGE_VIEW_TYPE":return n?Wr(t,i,r):t;case"FETCH_EVENT_SOURCES":return Nt(t,e.sourceIds?Jn(e.sourceIds):Qr(t,r),i,e.isRefetch||!1,r);case"RECEIVE_EVENTS":case"RECEIVE_EVENT_ERROR":return Ya(t,e.sourceId,e.fetchId,e.fetchRange);case"REMOVE_ALL_EVENT_SOURCES":return{};default:return t}}function Qa(t,e,n){let r=e?e.activeRange:null;return Nt(t,Qr(t,n),r,!0,n)}function zr(t){for(let e in t)if(t[e].isFetching)return!0;return!1}function Vr(t,e,n,r){let i={};for(let s of e)i[s.sourceId]=s;return n&&(i=Wr(i,n,r)),Object.assign(Object.assign({},t),i)}function Ga(t,e){return J(t,n=>n.sourceId!==e)}function Wr(t,e,n){return Nt(t,J(t,r=>Za(r,e,n)),e,!1,n)}function Za(t,e,n){return Gr(t,n)?!n.options.lazyFetching||!t.fetchRange||t.isFetching||e.startt.fetchRange.end:!t.latestFetchId}function Nt(t,e,n,r,i){let s={};for(let l in t){let a=t[l];e[l]?s[l]=qa(a,n,r,i):s[l]=a}return s}function qa(t,e,n,r){let{options:i,calendarApi:s}=r,l=r.pluginHooks.eventSourceDefs[t.sourceDefId],a=ee();return l.fetch({eventSource:t,range:e,isRefetch:n,context:r},o=>{let{rawEvents:u}=o;i.eventSourceSuccess&&(u=i.eventSourceSuccess.call(s,u,o.response)||u),t.success&&(u=t.success.call(s,u,o.response)||u),r.dispatch({type:"RECEIVE_EVENTS",sourceId:t.sourceId,fetchId:a,fetchRange:e,rawEvents:u})},o=>{let u=!1;i.eventSourceFailure&&(i.eventSourceFailure.call(s,o),u=!0),t.failure&&(t.failure(o),u=!0),u||console.warn(o.message,o),r.dispatch({type:"RECEIVE_EVENT_ERROR",sourceId:t.sourceId,fetchId:a,fetchRange:e,error:o})}),Object.assign(Object.assign({},t),{isFetching:!0,latestFetchId:a})}function Ya(t,e,n,r){let i=t[e];return i&&n===i.latestFetchId?Object.assign(Object.assign({},t),{[e]:Object.assign(Object.assign({},i),{isFetching:!1,fetchRange:r})}):t}function Qr(t,e){return J(t,n=>Gr(n,e))}function $a(t,e){let n=Ar(e),r=[].concat(t.eventSources||[]),i=[];t.initialEvents&&r.unshift(t.initialEvents),t.events&&r.unshift(t.events);for(let s of r){let l=vr(s,e,n);l&&i.push(l)}return i}function Gr(t,e){return!e.pluginHooks.eventSourceDefs[t.sourceDefId].ignoreRange}function Ja(t,e){switch(e.type){case"UNSELECT_DATES":return null;case"SELECT_DATES":return e.selection;default:return t}}function Xa(t,e){switch(e.type){case"UNSELECT_EVENT":return"";case"SELECT_EVENT":return e.eventInstanceId;default:return t}}function Ka(t,e){let n;switch(e.type){case"UNSET_EVENT_DRAG":return null;case"SET_EVENT_DRAG":return n=e.state,{affectedEvents:n.affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return t}}function eo(t,e){let n;switch(e.type){case"UNSET_EVENT_RESIZE":return null;case"SET_EVENT_RESIZE":return n=e.state,{affectedEvents:n.affectedEvents,mutatedEvents:n.mutatedEvents,isEvent:n.isEvent};default:return t}}function to(t,e,n,r,i){let s=t.headerToolbar?Mn(t.headerToolbar,t,e,n,r,i):null,l=t.footerToolbar?Mn(t.footerToolbar,t,e,n,r,i):null;return{header:s,footer:l}}function Mn(t,e,n,r,i,s){let l={},a=[],o=!1;for(let u in t){let c=t[u],p=no(c,e,n,r,i,s);l[u]=p.widgets,a.push(...p.viewsWithButtons),o=o||p.hasTitle}return{sectionWidgets:l,viewsWithButtons:a,hasTitle:o}}function no(t,e,n,r,i,s){let l=e.direction==="rtl",a=e.customButtons||{},o=n.buttonText||{},u=e.buttonText||{},c=n.buttonHints||{},p=e.buttonHints||{},h=t?t.split(" "):[],d=[],m=!1;return{widgets:h.map(v=>v.split(",").map(A=>{if(A==="title")return m=!0,{buttonName:A};let E,R,S,x,k,T;if(E=a[A])S=_=>{E.click&&E.click.call(_.target,_,_.target)},(x=r.getCustomButtonIconClass(E))||(x=r.getIconClass(A,l))||(k=E.text),T=E.hint||E.text;else if(R=i[A]){d.push(A),S=()=>{s.changeView(A)},(k=R.buttonTextOverride)||(x=r.getIconClass(A,l))||(k=R.buttonTextDefault);let _=R.buttonTextOverride||R.buttonTextDefault;T=de(R.buttonTitleOverride||R.buttonTitleDefault||e.viewHint,[_,A],_)}else if(s[A])if(S=()=>{s[A]()},(k=o[A])||(x=r.getIconClass(A,l))||(k=u[A]),A==="prevYear"||A==="nextYear"){let _=A==="prevYear"?"prev":"next";T=de(c[_]||p[_],[u.year||"year","year"],u[A])}else T=_=>de(c[A]||p[A],[u[_]||_,_],u[A]);return{buttonName:A,buttonClick:S,buttonIcon:x,buttonText:k,buttonHint:T}})),viewsWithButtons:d,hasTitle:m}}class ro{constructor(e,n,r){this.type=e,this.getCurrentData=n,this.dateEnv=r}get calendar(){return this.getCurrentData().calendarApi}get title(){return this.getCurrentData().viewTitle}get activeStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start)}get activeEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end)}get currentStart(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start)}get currentEnd(){return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end)}getOption(e){return this.getCurrentData().options[e]}}let io={ignoreRange:!0,parseMeta(t){return Array.isArray(t.events)?t.events:null},fetch(t,e){e({rawEvents:t.eventSource.meta})}};const so=ce({name:"array-event-source",eventSourceDefs:[io]});let lo={parseMeta(t){return typeof t.events=="function"?t.events:null},fetch(t,e,n){const{dateEnv:r}=t.context,i=t.eventSource.meta;bl(i.bind(null,Cr(t.range,r)),s=>e({rawEvents:s}),n)}};const ao=ce({name:"func-event-source",eventSourceDefs:[lo]}),oo={method:String,extraParams:f,startParam:String,endParam:String,timeZoneParam:String};let co={parseMeta(t){return t.url&&(t.format==="json"||!t.format)?{url:t.url,format:"json",method:(t.method||"GET").toUpperCase(),extraParams:t.extraParams,startParam:t.startParam,endParam:t.endParam,timeZoneParam:t.timeZoneParam}:null},fetch(t,e,n){const{meta:r}=t.eventSource,i=fo(r,t.range,t.context);yl(r.method,r.url,i).then(([s,l])=>{e({rawEvents:s,response:l})},n)}};const uo=ce({name:"json-event-source",eventSourceRefiners:oo,eventSourceDefs:[co]});function fo(t,e,n){let{dateEnv:r,options:i}=n,s,l,a,o,u={};return s=t.startParam,s==null&&(s=i.startParam),l=t.endParam,l==null&&(l=i.endParam),a=t.timeZoneParam,a==null&&(a=i.timeZoneParam),typeof t.extraParams=="function"?o=t.extraParams():o=t.extraParams||{},Object.assign(u,o),u[s]=r.formatIso(e.start),u[l]=r.formatIso(e.end),r.timeZone!=="local"&&(u[a]=r.timeZone),u}const ho={daysOfWeek:f,startTime:D,endTime:D,duration:D,startRecur:f,endRecur:f};let po={parse(t,e){if(t.daysOfWeek||t.startTime||t.endTime||t.startRecur||t.endRecur){let n={daysOfWeek:t.daysOfWeek||null,startTime:t.startTime||null,endTime:t.endTime||null,startRecur:t.startRecur?e.createMarker(t.startRecur):null,endRecur:t.endRecur?e.createMarker(t.endRecur):null},r;return t.duration&&(r=t.duration),!r&&t.startTime&&t.endTime&&(r=qi(t.endTime,t.startTime)),{allDayGuess:!t.startTime&&!t.endTime,duration:r,typeData:n}}return null},expand(t,e,n){let r=He(e,{start:t.startRecur,end:t.endRecur});return r?mo(t.daysOfWeek,t.startTime,r,n):[]}};const go=ce({name:"simple-recurring-event",recurringTypes:[po],eventRefiners:ho});function mo(t,e,n,r){let i=t?Jn(t):null,s=w(n.start),l=n.end,a=[];for(;szr(t.eventSources)],propSetHandlers:{dateProfile:Ao,eventStore:bo}})];class Eo{constructor(e,n){this.runTaskOption=e,this.drainedOption=n,this.queue=[],this.delayedRunner=new vt(this.drain.bind(this))}request(e,n){this.queue.push(e),this.delayedRunner.request(n)}pause(e){this.delayedRunner.pause(e)}resume(e,n){this.delayedRunner.resume(e,n)}drain(){let{queue:e}=this;for(;e.length;){let n=[],r;for(;r=e.shift();)this.runTask(r),n.push(r);this.drained(n)}}runTask(e){this.runTaskOption&&this.runTaskOption(e)}drained(e){this.drainedOption&&this.drainedOption(e)}}function _o(t,e,n){let r;return/^(year|month)$/.test(t.currentRangeUnit)?r=t.currentRange:r=t.activeRange,n.formatRange(r.start,r.end,O(e.titleFormat||Co(t)),{isEndExclusive:t.isRangeAllDay,defaultSeparator:e.titleRangeSeparator})}function Co(t){let{currentRangeUnit:e}=t;if(e==="year")return{year:"numeric"};if(e==="month")return{year:"numeric",month:"long"};let n=Ne(t.currentRange.start,t.currentRange.end);return n!==null&&n>1?{year:"numeric",month:"short",day:"numeric"}:{year:"numeric",month:"long",day:"numeric"}}class Do{constructor(e){this.computeOptionsData=C(this._computeOptionsData),this.computeCurrentViewData=C(this._computeCurrentViewData),this.organizeRawLocales=C(Sa),this.buildLocale=C(Fr),this.buildPluginHooks=ka(),this.buildDateEnv=C(wo),this.buildTheme=C(So),this.parseToolbars=C(to),this.buildViewSpecs=C(Pa),this.buildDateProfileGenerator=we(Ro),this.buildViewApi=C(To),this.buildViewUiProps=we(Mo),this.buildEventUiBySource=C(Io,G),this.buildEventUiBases=C(ko),this.parseContextBusinessHours=we(Oo),this.buildTitle=C(_o),this.emitter=new yr,this.actionRunner=new Eo(this._handleAction.bind(this),this.updateData.bind(this)),this.currentCalendarOptionsInput={},this.currentCalendarOptionsRefined={},this.currentViewOptionsInput={},this.currentViewOptionsRefined={},this.currentCalendarOptionsRefiners={},this.getCurrentData=()=>this.data,this.dispatch=h=>{this.actionRunner.request(h)},this.props=e,this.actionRunner.pause();let n={},r=this.computeOptionsData(e.optionOverrides,n,e.calendarApi),i=r.calendarOptions.initialView||r.pluginHooks.initialView,s=this.computeCurrentViewData(i,r,e.optionOverrides,n);e.calendarApi.currentDataManager=this,this.emitter.setThisContext(e.calendarApi),this.emitter.setOptions(s.options);let l=Is(r.calendarOptions,r.dateEnv),a=s.dateProfileGenerator.build(l);$(a.activeRange,l)||(l=a.currentRange.start);let o={dateEnv:r.dateEnv,options:r.calendarOptions,pluginHooks:r.pluginHooks,calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData};for(let h of r.pluginHooks.contextInit)h(o);let u=Va(r.calendarOptions,a,o),c={dynamicOptionOverrides:n,currentViewType:i,currentDate:l,dateProfile:a,businessHours:this.parseContextBusinessHours(o),eventSources:u,eventUiBases:{},eventStore:j(),renderableEventStore:j(),dateSelection:null,eventSelection:"",eventDrag:null,eventResize:null,selectionConfig:this.buildViewUiProps(o).selectionConfig},p=Object.assign(Object.assign({},o),c);for(let h of r.pluginHooks.reducers)Object.assign(c,h(null,null,p));lt(c,o)&&this.emitter.trigger("loading",!0),this.state=c,this.updateData(),this.actionRunner.resume()}resetOptions(e,n){let{props:r}=this;r.optionOverrides=n?Object.assign(Object.assign({},r.optionOverrides),e):e,this.actionRunner.request({type:"NOTHING"})}_handleAction(e){let{props:n,state:r,emitter:i}=this,s=ja(r.dynamicOptionOverrides,e),l=this.computeOptionsData(n.optionOverrides,s,n.calendarApi),a=Fa(r.currentViewType,e),o=this.computeCurrentViewData(a,l,n.optionOverrides,s);n.calendarApi.currentDataManager=this,i.setThisContext(n.calendarApi),i.setOptions(o.options);let u={dateEnv:l.dateEnv,options:l.calendarOptions,pluginHooks:l.pluginHooks,calendarApi:n.calendarApi,dispatch:this.dispatch,emitter:i,getCurrentData:this.getCurrentData},{currentDate:c,dateProfile:p}=r;this.data&&this.data.dateProfileGenerator!==o.dateProfileGenerator&&(p=o.dateProfileGenerator.build(c)),c=Ts(c,e),p=za(p,e,c,o.dateProfileGenerator),(e.type==="PREV"||e.type==="NEXT"||!$(p.currentRange,c))&&(c=p.currentRange.start);let h=Wa(r.eventSources,e,p,u),d=Ws(r.eventStore,e,h,p,u),y=zr(h)&&!o.options.progressiveEventRendering&&r.renderableEventStore||d,{eventUiSingleBase:v,selectionConfig:A}=this.buildViewUiProps(u),E=this.buildEventUiBySource(h),R=this.buildEventUiBases(y.defs,v,E),S={dynamicOptionOverrides:s,currentViewType:a,currentDate:c,dateProfile:p,eventSources:h,eventStore:d,renderableEventStore:y,selectionConfig:A,eventUiBases:R,businessHours:this.parseContextBusinessHours(u),dateSelection:Ja(r.dateSelection,e),eventSelection:Xa(r.eventSelection,e),eventDrag:Ka(r.eventDrag,e),eventResize:eo(r.eventResize,e)},x=Object.assign(Object.assign({},u),S);for(let _ of l.pluginHooks.reducers)Object.assign(S,_(r,e,x));let k=lt(r,u),T=lt(S,u);!k&&T?i.trigger("loading",!0):k&&!T&&i.trigger("loading",!1),this.state=S,n.onAction&&n.onAction(e)}updateData(){let{props:e,state:n}=this,r=this.data,i=this.computeOptionsData(e.optionOverrides,n.dynamicOptionOverrides,e.calendarApi),s=this.computeCurrentViewData(n.currentViewType,i,e.optionOverrides,n.dynamicOptionOverrides),l=this.data=Object.assign(Object.assign(Object.assign({viewTitle:this.buildTitle(n.dateProfile,s.options,i.dateEnv),calendarApi:e.calendarApi,dispatch:this.dispatch,emitter:this.emitter,getCurrentData:this.getCurrentData},i),s),n),a=i.pluginHooks.optionChangeHandlers,o=r&&r.calendarOptions,u=i.calendarOptions;if(o&&o!==u){o.timeZone!==u.timeZone&&(n.eventSources=l.eventSources=Qa(l.eventSources,n.dateProfile,l),n.eventStore=l.eventStore=qs(l.eventStore,r.dateEnv,l.dateEnv));for(let c in a)o[c]!==u[c]&&a[c](u[c],l)}e.onData&&e.onData(l)}_computeOptionsData(e,n,r){let{refinedOptions:i,pluginHooks:s,localeDefaults:l,availableLocaleData:a,extra:o}=this.processRawCalendarOptions(e,n);Nn(o);let u=this.buildDateEnv(i.timeZone,i.locale,i.weekNumberCalculation,i.firstDay,i.weekText,s,a,i.defaultRangeSeparator),c=this.buildViewSpecs(s.views,e,n,l),p=this.buildTheme(i,s),h=this.parseToolbars(i,e,p,c,r);return{calendarOptions:i,pluginHooks:s,dateEnv:u,viewSpecs:c,theme:p,toolbarConfig:h,localeDefaults:l,availableRawLocales:a.map}}processRawCalendarOptions(e,n){let{locales:r,locale:i}=Je([fe,e,n]),s=this.organizeRawLocales(r),l=s.map,a=this.buildLocale(i||s.defaultCode,l).options,o=this.buildPluginHooks(e.plugins||[],yo),u=this.currentCalendarOptionsRefiners=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},dn),fn),hn),o.listenerRefiners),o.optionRefiners),c={},p=Je([fe,a,e,n]),h={},d=this.currentCalendarOptionsInput,m=this.currentCalendarOptionsRefined,y=!1;for(let v in p)v!=="plugins"&&(p[v]===d[v]||Y[v]&&v in d&&Y[v](d[v],p[v])?h[v]=m[v]:u[v]?(h[v]=u[v](p[v]),y=!0):c[v]=d[v]);return y&&(this.currentCalendarOptionsInput=p,this.currentCalendarOptionsRefined=h),{rawOptions:this.currentCalendarOptionsInput,refinedOptions:this.currentCalendarOptionsRefined,pluginHooks:o,availableLocaleData:s,localeDefaults:a,extra:c}}_computeCurrentViewData(e,n,r,i){let s=n.viewSpecs[e];if(!s)throw new Error(`viewType "${e}" is not available. Please make sure you've loaded all neccessary plugins`);let{refinedOptions:l,extra:a}=this.processRawViewOptions(s,n.pluginHooks,n.localeDefaults,r,i);Nn(a);let o=this.buildDateProfileGenerator({dateProfileGeneratorClass:s.optionDefaults.dateProfileGeneratorClass,duration:s.duration,durationUnit:s.durationUnit,usesMinMaxTime:s.optionDefaults.usesMinMaxTime,dateEnv:n.dateEnv,calendarApi:this.props.calendarApi,slotMinTime:l.slotMinTime,slotMaxTime:l.slotMaxTime,showNonCurrentDates:l.showNonCurrentDates,dayCount:l.dayCount,dateAlignment:l.dateAlignment,dateIncrement:l.dateIncrement,hiddenDays:l.hiddenDays,weekends:l.weekends,nowInput:l.now,validRangeInput:l.validRange,visibleRangeInput:l.visibleRange,monthMode:l.monthMode,fixedWeekCount:l.fixedWeekCount}),u=this.buildViewApi(e,this.getCurrentData,n.dateEnv);return{viewSpec:s,options:l,dateProfileGenerator:o,viewApi:u}}processRawViewOptions(e,n,r,i,s){let l=Je([fe,e.optionDefaults,r,i,e.optionOverrides,s]),a=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},dn),fn),hn),ms),n.listenerRefiners),n.optionRefiners),o={},u=this.currentViewOptionsInput,c=this.currentViewOptionsRefined,p=!1,h={};for(let d in l)l[d]===u[d]||Y[d]&&Y[d](l[d],u[d])?o[d]=c[d]:(l[d]===this.currentCalendarOptionsInput[d]||Y[d]&&Y[d](l[d],this.currentCalendarOptionsInput[d])?d in this.currentCalendarOptionsRefined&&(o[d]=this.currentCalendarOptionsRefined[d]):a[d]?o[d]=a[d](l[d]):h[d]=l[d],p=!0);return p&&(this.currentViewOptionsInput=l,this.currentViewOptionsRefined=o),{rawOptions:this.currentViewOptionsInput,refinedOptions:this.currentViewOptionsRefined,extra:h}}}function wo(t,e,n,r,i,s,l,a){let o=Fr(e||l.defaultCode,l.map);return new es({calendarSystem:"gregory",timeZone:t,namedTimeZoneImpl:s.namedTimeZonedImpl,locale:o,weekNumberCalculation:n,firstDay:r,weekText:i,cmdFormatter:s.cmdFormatter,defaultSeparator:a})}function So(t,e){let n=e.themeClasses[t.themeSystem]||q;return new n(t)}function Ro(t){let e=t.dateProfileGeneratorClass||ks;return new e(t)}function To(t,e,n){return new ro(t,e,n)}function Io(t){return Q(t,e=>e.ui)}function ko(t,e,n){let r={"":e};for(let i in t){let s=t[i];s.sourceId&&n[s.sourceId]&&(r[i]=n[s.sourceId])}return r}function Mo(t){let{options:e}=t;return{eventUiSingleBase:Le({display:e.eventDisplay,editable:e.editable,startEditable:e.eventStartEditable,durationEditable:e.eventDurationEditable,constraint:e.eventConstraint,overlap:typeof e.eventOverlap=="boolean"?e.eventOverlap:void 0,allow:e.eventAllow,backgroundColor:e.eventBackgroundColor,borderColor:e.eventBorderColor,textColor:e.eventTextColor,color:e.eventColor},t),selectionConfig:Le({constraint:e.selectConstraint,overlap:typeof e.selectOverlap=="boolean"?e.selectOverlap:void 0,allow:e.selectAllow},t)}}function lt(t,e){for(let n of e.pluginHooks.isLoadingFuncs)if(n(t))return!0;return!1}function Oo(t){return Ks(t.options.businessHours,t)}function Nn(t,e){for(let n in t)console.warn(`Unknown option '${n}'`+(e?` for view '${e}'`:""))}class No extends I{render(){let e=this.props.widgetGroups.map(n=>this.renderWidgetGroup(n));return g("div",{className:"fc-toolbar-chunk"},...e)}renderWidgetGroup(e){let{props:n}=this,{theme:r}=this.context,i=[],s=!0;for(let l of e){let{buttonName:a,buttonClick:o,buttonText:u,buttonIcon:c,buttonHint:p}=l;if(a==="title")s=!1,i.push(g("h2",{className:"fc-toolbar-title",id:n.titleId},n.title));else{let h=a===n.activeButton,d=!n.isTodayEnabled&&a==="today"||!n.isPrevEnabled&&a==="prev"||!n.isNextEnabled&&a==="next",m=[`fc-${a}-button`,r.getClass("button")];h&&m.push(r.getClass("buttonActive")),i.push(g("button",{type:"button",title:typeof p=="function"?p(n.navUnit):p,disabled:d,"aria-pressed":h,className:m.join(" "),onClick:o},u||(c?g("span",{className:c}):"")))}}if(i.length>1){let l=s&&r.getClass("buttonGroup")||"";return g("div",{className:l},...i)}return i[0]}}class xn extends I{render(){let{model:e,extraClassName:n}=this.props,r=!1,i,s,l=e.sectionWidgets,a=l.center;return l.left?(r=!0,i=l.left):i=l.start,l.right?(r=!0,s=l.right):s=l.end,g("div",{className:[n||"","fc-toolbar",r?"fc-toolbar-ltr":""].join(" ")},this.renderSection("start",i||[]),this.renderSection("center",a||[]),this.renderSection("end",s||[]))}renderSection(e,n){let{props:r}=this;return g(No,{key:e,widgetGroups:n,title:r.title,navUnit:r.navUnit,activeButton:r.activeButton,isTodayEnabled:r.isTodayEnabled,isPrevEnabled:r.isPrevEnabled,isNextEnabled:r.isNextEnabled,titleId:r.titleId})}}class xo extends I{constructor(){super(...arguments),this.state={availableWidth:null},this.handleEl=e=>{this.el=e,ve(this.props.elRef,e),this.updateAvailableWidth()},this.handleResize=()=>{this.updateAvailableWidth()}}render(){let{props:e,state:n}=this,{aspectRatio:r}=e,i=["fc-view-harness",r||e.liquid||e.height?"fc-view-harness-active":"fc-view-harness-passive"],s="",l="";return r?n.availableWidth!==null?s=n.availableWidth/r:l=`${1/r*100}%`:s=e.height||"",g("div",{"aria-labelledby":e.labeledById,ref:this.handleEl,className:i.join(" "),style:{height:s,paddingBottom:l}},e.children)}componentDidMount(){this.context.addResizeHandler(this.handleResize)}componentWillUnmount(){this.context.removeResizeHandler(this.handleResize)}updateAvailableWidth(){this.el&&this.props.aspectRatio&&this.setState({availableWidth:this.el.offsetWidth})}}class Bo extends Sr{constructor(e){super(e),this.handleSegClick=(n,r)=>{let{component:i}=this,{context:s}=i,l=pt(r);if(l&&i.isValidSegDownEl(n.target)){let a=F(n.target,".fc-event-forced-url"),o=a?a.querySelector("a[href]").href:"";s.emitter.trigger("eventClick",{el:r,event:new M(i.context,l.eventRange.def,l.eventRange.instance),jsEvent:n,view:s.viewApi}),o&&!n.defaultPrevented&&(window.location.href=o)}},this.destroy=tr(e.el,"click",".fc-event",this.handleSegClick)}}class Ho extends Sr{constructor(e){super(e),this.handleEventElRemove=n=>{n===this.currentSegEl&&this.handleSegLeave(null,this.currentSegEl)},this.handleSegEnter=(n,r)=>{pt(r)&&(this.currentSegEl=r,this.triggerEvent("eventMouseEnter",n,r))},this.handleSegLeave=(n,r)=>{this.currentSegEl&&(this.currentSegEl=null,this.triggerEvent("eventMouseLeave",n,r))},this.removeHoverListeners=wi(e.el,".fc-event",this.handleSegEnter,this.handleSegLeave)}destroy(){this.removeHoverListeners()}triggerEvent(e,n,r){let{component:i}=this,{context:s}=i,l=pt(r);(!n||i.isValidSegDownEl(n.target))&&s.emitter.trigger(e,{el:r,event:new M(s,l.eventRange.def,l.eventRange.instance),jsEvent:n,view:s.viewApi})}}class Po extends ne{constructor(){super(...arguments),this.buildViewContext=C(bs),this.buildViewPropTransformers=C(Lo),this.buildToolbarProps=C(Uo),this.headerRef=at(),this.footerRef=at(),this.interactionsStore={},this.state={viewLabelId:yt()},this.registerInteractiveComponent=(e,n)=>{let r=Cl(e,n),l=[Bo,Ho].concat(this.props.pluginHooks.componentInteractions).map(a=>new a(r));this.interactionsStore[e.uid]=l,_n[e.uid]=r},this.unregisterInteractiveComponent=e=>{let n=this.interactionsStore[e.uid];if(n){for(let r of n)r.destroy();delete this.interactionsStore[e.uid]}delete _n[e.uid]},this.resizeRunner=new vt(()=>{this.props.emitter.trigger("_resize",!0),this.props.emitter.trigger("windowResize",{view:this.props.viewApi})}),this.handleWindowResize=e=>{let{options:n}=this.props;n.handleWindowResize&&e.target===window&&this.resizeRunner.request(n.windowResizeDelay)}}render(){let{props:e}=this,{toolbarConfig:n,options:r}=e,i=this.buildToolbarProps(e.viewSpec,e.dateProfile,e.dateProfileGenerator,e.currentDate,Ae(e.options.now,e.dateEnv),e.viewTitle),s=!1,l="",a;e.isHeightAuto||e.forPrint?l="":r.height!=null?s=!0:r.contentHeight!=null?l=r.contentHeight:a=Math.max(r.aspectRatio,.5);let o=this.buildViewContext(e.viewSpec,e.viewApi,e.options,e.dateProfileGenerator,e.dateEnv,e.theme,e.pluginHooks,e.dispatch,e.getCurrentData,e.emitter,e.calendarApi,this.registerInteractiveComponent,this.unregisterInteractiveComponent),u=n.header&&n.header.hasTitle?this.state.viewLabelId:"";return g(Z.Provider,{value:o},n.header&&g(xn,Object.assign({ref:this.headerRef,extraClassName:"fc-header-toolbar",model:n.header,titleId:u},i)),g(xo,{liquid:s,height:l,aspectRatio:a,labeledById:u},this.renderView(e),this.buildAppendContent()),n.footer&&g(xn,Object.assign({ref:this.footerRef,extraClassName:"fc-footer-toolbar",model:n.footer,titleId:""},i)))}componentDidMount(){let{props:e}=this;this.calendarInteractions=e.pluginHooks.calendarInteractions.map(r=>new r(e)),window.addEventListener("resize",this.handleWindowResize);let{propSetHandlers:n}=e.pluginHooks;for(let r in n)n[r](e[r],e)}componentDidUpdate(e){let{props:n}=this,{propSetHandlers:r}=n.pluginHooks;for(let i in r)n[i]!==e[i]&&r[i](n[i],n)}componentWillUnmount(){window.removeEventListener("resize",this.handleWindowResize),this.resizeRunner.clear();for(let e of this.calendarInteractions)e.destroy();this.props.emitter.trigger("_unmount")}buildAppendContent(){let{props:e}=this,n=e.pluginHooks.viewContainerAppends.map(r=>r(e));return g(P,{},...n)}renderView(e){let{pluginHooks:n}=e,{viewSpec:r}=e,i={dateProfile:e.dateProfile,businessHours:e.businessHours,eventStore:e.renderableEventStore,eventUiBases:e.eventUiBases,dateSelection:e.dateSelection,eventSelection:e.eventSelection,eventDrag:e.eventDrag,eventResize:e.eventResize,isHeightAuto:e.isHeightAuto,forPrint:e.forPrint},s=this.buildViewPropTransformers(n.viewPropsTransformers);for(let a of s)Object.assign(i,a.transform(i,e));let l=r.component;return g(l,Object.assign({},i))}}function Uo(t,e,n,r,i,s){let l=n.build(i,void 0,!1),a=n.buildPrev(e,r,!1),o=n.buildNext(e,r,!1);return{title:s,activeButton:t.type,navUnit:t.singleUnit,isTodayEnabled:l.isValid&&!$(e.currentRange,i),isPrevEnabled:a.isValid,isNextEnabled:o.isValid}}function Lo(t){return t.map(e=>new e)}class Fo extends Dl{constructor(e,n={}){super(),this.isRendering=!1,this.isRendered=!1,this.currentClassNames=[],this.customContentRenderId=0,this.handleAction=r=>{switch(r.type){case"SET_EVENT_DRAG":case"SET_EVENT_RESIZE":this.renderRunner.tryDrain()}},this.handleData=r=>{this.currentData=r,this.renderRunner.request(r.calendarOptions.rerenderDelay)},this.handleRenderRequest=()=>{if(this.isRendering){this.isRendered=!0;let{currentData:r}=this;pn(()=>{pe(g(_l,{options:r.calendarOptions,theme:r.theme,emitter:r.emitter},(i,s,l,a)=>(this.setClassNames(i),this.setHeight(s),g(ur.Provider,{value:this.customContentRenderId},g(Po,Object.assign({isHeightAuto:l,forPrint:a},r))))),this.el)})}else this.isRendered&&(this.isRendered=!1,pe(null,this.el),this.setClassNames([]),this.setHeight(""))},this.el=e,this.renderRunner=new vt(this.handleRenderRequest),new Do({optionOverrides:n,calendarApi:this,onAction:this.handleAction,onData:this.handleData})}render(){let e=this.isRendering;e?this.customContentRenderId+=1:this.isRendering=!0,this.renderRunner.request(),e&&this.updateSize()}destroy(){this.isRendering&&(this.isRendering=!1,this.renderRunner.request())}updateSize(){pn(()=>{super.updateSize()})}batchRendering(e){this.renderRunner.pause("batchRendering"),e(),this.renderRunner.resume("batchRendering")}pauseRendering(){this.renderRunner.pause("pauseRendering")}resumeRendering(){this.renderRunner.resume("pauseRendering",!0)}resetOptions(e,n){this.currentDataManager.resetOptions(e,n)}setClassNames(e){if(!X(e,this.currentClassNames)){let{classList:n}=this.el;for(let r of this.currentClassNames)n.remove(r);for(let r of e)n.add(r);this.currentClassNames=e}}setHeight(e){er(this.el,"height",e)}}const jo={headerToolbar:!0,footerToolbar:!0,events:!0,eventSources:!0,resources:!0};function zo(t){return typeof t=="object"&&(Array.isArray(t)?t=Array.prototype.slice.call(t):t&&(t={...t})),t}const Vc=Zr({props:{options:Object},data(){return{renderId:0,customRenderingMap:new Map}},methods:{getApi(){return this.calendar},buildOptions(t){return{...t,customRenderingMetaMap:this.$slots,handleCustomRendering:this.handleCustomRendering}}},render(){const t=[];for(const e of this.customRenderingMap.values())t.push(Qe(qr,{key:e.id,to:e.containerEl},e.generatorMeta(e.renderProps)));return Qe("div",{attrs:{"data-fc-render-id":this.renderId}},Qe(Yr,t))},mounted(){const t=new Ca;this.handleCustomRendering=t.handle.bind(t);const e=this.buildOptions(this.options),n=new Fo(this.$el,e);this.calendar=n,n.render(),t.subscribe(r=>{this.customRenderingMap=r,this.renderId++,this.needCustomRenderingResize=!0})},beforeUpdate(){this.getApi().resumeRendering()},updated(){this.needCustomRenderingResize&&(this.needCustomRenderingResize=!1,this.getApi().updateSize())},beforeUnmount(){this.getApi().destroy()},watch:Vo()});function Vo(){let t={options:{deep:!0,handler(e){let n=this.getApi();n.pauseRendering();let r=this.buildOptions(e);n.resetOptions(r),this.renderId++}}};for(let e in jo)t[`options.${e}`]={deep:!0,handler(n){if(n!==void 0){let r=this.getApi();r.pauseRendering(),r.resetOptions({[e]:zo(n)},!0),this.renderId++}}};return t}export{nc as $,H as A,Lc as B,Dc as C,Tc as D,Pr as E,Dn as F,kr as G,Mc as H,gi as I,ce as J,ks as K,ec as L,zc as M,Nr as N,tc as O,Ec as P,te as Q,Rn as R,la as S,L as T,Uc as U,lc as V,jc as W,D as X,ge as Y,ic as Z,sc as _,Ic as a,bc as a0,cc as a1,Z as a2,rc as a3,$ as a4,w as a5,Ji as a6,Aa as a7,wc as a8,wn as a9,Rc as aA,Kn as aB,Go as aC,Xn as aD,Bl as aE,mc as aF,wl as aG,vc as aH,Ac as aI,Q as aJ,wt as aK,hc as aL,Ko as aM,_c as aN,yc as aO,Cc as aP,Pl as aQ,gc as aR,Ir as aS,$l as aT,lr as aU,bn as aV,Rr as aW,Ot as aX,oc as aY,Vc as aZ,Cn as aa,Sc as ab,Yo as ac,Jo as ad,$o as ae,Xo as af,Sr as ag,pc as ah,Nc as ai,qo as aj,Zo as ak,tl as al,pt as am,Hs as an,F as ao,M as ap,rl as aq,Oc as ar,j as as,Qo as at,Mt as au,_n as av,Ee as aw,Ci as ax,f as ay,yr as az,kc as b,O as c,Ul as d,Hc as e,dc as f,Bc as g,g as h,G as i,Fc as j,fc as k,I as l,C as m,Pc as n,ul as o,P as p,fl as q,xc as r,uc as s,yt as t,ve as u,Il as v,da as w,ua as x,at as y,He as z};