.obsidian/plugins/fantasy-calendar/main.js

503 lines
577 KiB
JavaScript
Raw Permalink Normal View History

2023-11-18 05:21:52 +00:00
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var gg=Object.create;var Br=Object.defineProperty;var yg=Object.getOwnPropertyDescriptor;var vg=Object.getOwnPropertyNames;var bg=Object.getPrototypeOf,wg=Object.prototype.hasOwnProperty;var cl=t=>Br(t,"__esModule",{value:!0});var Xe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Dg=(t,e)=>{cl(t);for(var n in e)Br(t,n,{get:e[n],enumerable:!0})},_g=(t,e,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of vg(e))!wg.call(t,a)&&a!=="default"&&Br(t,a,{get:()=>e[a],enumerable:!(n=yg(e,a))||n.enumerable});return t},Ee=t=>_g(cl(Br(t!=null?gg(bg(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var Nn=Xe((fo,ho)=>{(function(t,e){typeof fo=="object"&&typeof ho!="undefined"?ho.exports=e():typeof define=="function"&&define.amd?define(e):(t=typeof globalThis!="undefined"?globalThis:t||self,t["fast-copy"]=e())})(fo,function(){"use strict";var t=Function.prototype.toString,e=Object.create,n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getOwnPropertySymbols,o=Object.getPrototypeOf,l=Object.prototype,s=l.hasOwnProperty,c=l.propertyIsEnumerable,u={SYMBOL_PROPERTIES:typeof i=="function",WEAKMAP:typeof WeakMap=="function"},d=function(){if(u.WEAKMAP)return new WeakMap;var A=e({has:function(L){return!!~A._keys.indexOf(L)},set:function(L,k){A._keys.push(L),A._values.push(k)},get:function(L){return A._values[A._keys.indexOf(L)]}});return A._keys=[],A._values=[],A},m=function(A,L){if(!A.constructor)return e(null);var k=A.constructor,E=A.__proto__||o(A);if(k===L.Object)return E===L.Object.prototype?{}:e(E);if(~t.call(k).indexOf("[native code]"))try{return new k}catch{}return e(E)},v=function(A,L,k,E){var w=m(A,L);E.set(A,w);for(var N in A)s.call(A,N)&&(w[N]=k(A[N],E));if(u.SYMBOL_PROPERTIES){var F=i(A),j=F.length;if(j)for(var x=0,T=void 0;x<j;x++)T=F[x],c.call(A,T)&&(w[T]=k(A[T],E))}return w},h=function(A,L,k,E){var w=m(A,L);E.set(A,w);var N=u.SYMBOL_PROPERTIES?r(A).concat(i(A)):r(A),F=N.length;if(F){for(var j=0,x=void 0,T=void 0;j<F;j++)if(x=N[j],x!=="callee"&&x!=="caller")if(T=a(A,x),T){!T.get&&!T.set&&(T.value=k(A[x],E));try{n(w,x,T)}catch{w[x]=T.value}}else w[x]=k(A[x],E)}return w},y=function(A){var L="";return A.global&&(L+="g"),A.ignoreCase&&(L+="i"),A.multiline&&(L+="m"),A.unicode&&(L+="u"),A.sticky&&(L+="y"),L},p=Array.isArray,S=function(){if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof global!="undefined")return global;console&&console.error&&console.error('Unable to locate global object, returning "this".')}();function _(A,L){var k=!!(L&&L.isStrict),E=L&&L.realm||S,w=k?h:v,N=function(F,j){if(!F||typeof F!="object")return F;if(j.has(F))return j.get(F);var x=F.constructor;if(x===E.Object)return w(F,E,N,j);var T;if(p(F)){if(k)return h(F,E,N,j);var I=F.length;T=new x,j.set(F,T);for(var U=0;U<I;U++)T[U]=N(F[U],j);return T}if(F instanceof E.Date)return new x(F.getTime());if(F instanceof E.RegExp)return T=new x(F.source,F.flags||y(F)),T.lastIndex=F.lastIndex,T;if(E.Map&&F instanceof E.Map)return T=new x,j.set(F,T),F.forEach(function($,ee){T.set(ee,N($,j))}),T;if(E.Set&&F instanceof E.Set)return T=new x,j.set(F,T),F.forEach(function($){T.add(N($,j))}),T;if(E.Blob&&F instanceof E.Blob)return F.slice(0,F.size,F.type);if(E.Buffer&&E.Buffer.isBuffer(F))return T=E.Buffer.allocUnsafe?E.Buffer.allocUnsafe(F.length):new x(F.length),j.set(F,T),F.copy(T),T;if(E.ArrayBuffer){if(E.ArrayBuffer.isView(F))return T=new x(F.buffer.slice(0)),j.set(F,T),T;if(F instanceof E.ArrayBuffer)return T=F.slice(0),j.set(F,T),T}return typeof F.then=="function"||F instanceof Error||E.WeakMap&&F instanceof E.WeakMap||E.WeakSet&&F instanceof E.WeakSet?F:w(F,E,N,j)};return N(A,d())}return _.default=_,_.strict=function(L,k){return _(L,{isStrict:!0,realm:k?k.realm:void 0})},_})});var dl=Xe(Nr=>{"use strict";Object.defineProperty(Nr,"__esModule",{value:!0});Nr.default=void 0;var Cg={sum:function(e){return e.reduce(function(n,a){return n+a})}},Eg=Cg;Nr.default=Eg});var Mr=Xe((Wb,fl)=>{function Ag(t){return
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var a,r=!0,i=!1,o;return{s:function(){a=t[Symbol.iterator]()},n:function(){var s=a.next();return r=s.done,s},e:function(s){i=!0,o=s},f:function(){try{!r&&a.return!=null&&a.return()}finally{if(i)throw o}}}}function N2(t,e){if(!!t){if(typeof t=="string")return nu(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nu(t,e)}}function nu(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,a=new Array(e);n<e;n++)a[n]=t[n];return a}function au(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,a)}return n}function M2(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?au(Object(n),!0).forEach(function(a){I2(t,a,n[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):au(Object(n)).forEach(function(a){Object.defineProperty(t,a,Object.getOwnPropertyDescriptor(n,a))})}return t}function I2(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var O2={count:5,hueMin:0,hueMax:360,chromaMin:0,chromaMax:100,lightMin:0,lightMax:100,quality:50,samples:800},ru=function(e,n){for(var a=Number.MAX_SAFE_INTEGER,r=0,i=0;i<e.length;i+=1){var o=e[i],l=Math.sqrt(Math.pow(Math.abs(o[0]-n[0]),2)+Math.pow(Math.abs(o[1]-n[1]),2)+Math.pow(Math.abs(o[2]-n[2]),2));l<a&&(a=l,r=i)}return r},q2=function(e,n){var a=Lr.default.lab(e),r=a.hcl(),i=a.rgb(),o=Lr.default.rgb(i).lab(),l=2;return r[0]>=n.hueMin&&r[0]<=n.hueMax&&r[1]>=n.chromaMin&&r[1]<=n.chromaMax&&r[2]>=n.lightMin&&r[2]<=n.lightMax&&o[0]>=e[0]-l&&o[0]<=e[0]+l&&o[1]>=e[1]-l&&o[1]<=e[1]+l&&o[2]>=e[2]-l&&o[2]<=e[2]+l},R2=function(e){for(var n=e.slice(0),a=[n.shift()];n.length>0;){for(var r=a[a.length-1],i=0,o=Number.MIN_SAFE_INTEGER,l=0;l<n.length;l+=1){var s=Math.sqrt(Math.pow(Math.abs(r[0]-n[l][0]),2)+Math.pow(Math.abs(r[1]-n[l][1]),2)+Math.pow(Math.abs(r[2]-n[l][2]),2));s>o&&(o=s,i=l)}a.push(n.splice(i,1)[0])}return a},L2=function(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},n=M2({},O2,{},e);if(n.count<=0)return[];n.samples<n.count*3&&(n.samples=Math.ceil(n.count*3));var a=[],r=[],i=new Set,o=Math.ceil(Math.cbrt(n.samples)),l=(n.hueMax-n.hueMin)/o,s=(n.chromaMax-n.chromaMin)/o,c=(n.lightMax-n.lightMin)/o;if(l<=0)throw new Error("hueMax must be greater than hueMin!");if(s<=0)throw new Error("chromaMax must be greater than chromaMin!");if(c<=0)throw new Error("lightMax must be greater than lightMin!");for(var u=n.hueMin+l/2;u<=n.hueMax;u+=l)for(var d=n.chromaMin+s/2;d<=n.chromaMax;d+=s)for(var m=n.lightMin+c/2;m<=n.lightMax;m+=c){var v=Lr.default.hcl(u,d,m).lab();q2(v,n)&&i.add(v.toString())}if(i=Array.from(i),i=i.map(function(Ae){return Ae.split(",").map(function(Oe){return parseFloat(Oe)})}),i.length<n.count)throw new Error("Not enough samples to generate palette, increase sample count.");for(var h=Math.floor(i.length/n.count),y=0;y<i.length&&(a.push(i[y]),r.push([]),!(a.length>=n.count));y+=h);for(var p=1;p<=n.quality;p+=1){for(var S=(0,Co.default)(r),_=(0,Co.default)(i),A=0;A<a.length;A+=1){var L=ru(_,a[A]);S[A].push(_[L]),_.splice(L,1)}for(var k=0;k<_.length;k+=1){var E=i[k],w=ru(a,E);S[w].push(i[k])}for(var N=(0,Co.default)(a),F=0;F<S.length;F+=1){var j=S[F],x=j.length,T=[],I=[],U=[],$=B2(j),ee;try{for($.s();!(ee=$.n()).done;){var Z=ee.value;T.push(Z[0]),I.push(Z[1]),U.push(Z[2])}}catch(Ae){$.e(Ae)}finally{$.f()}var K=_o.default.sum(T)/x,ve=_o.default.sum(I)/x,xe=_o.default.sum(U)/x;a[F]=[K,ve,xe]}if((0,S2.default)(N,a))break}return a=R2(a),a.map(function(Ae){return Lr.default.lab(Ae)})},P2=L2;jr.default=P2});var ou=Xe((Vr,Ka)=>{(function(t){var e=typeof Vr=="object"&&Vr,n=typeof Ka=="object"&&Ka&&Ka.exports==e&&Ka,a=typeof global=="obj
`,nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",Nfr:"\u{1D511}",nge:"\u2271",ngE:"\u2267\u0338",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",ngt:"\u226F",nGt:"\u226B\u20D2",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",NJcy:"\u040A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nle:"\u2270",nlE:"\u2266\u0338",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nlt:"\u226E",nLt:"\u226A\u20D2",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",not:"\xAC",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",Nscr:"\u{1D4A9}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsube:"\u2288",nsubE:"\u2AC5\u0338",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupe:"\u2289",nsupE:"\u2AC6\u0338",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntilde:"\xF1",Ntilde:"\xD1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",Nu:"\u039D",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",oacute:"\xF3",Oacute:"\xD3",oast:"\u229B",ocir:"\u229A",ocirc:"\xF4",Ocirc:"\xD4",ocy:"\u043E",Ocy:"\u041E",odash:"\u229D",odblac:"\u0151",Odblac:"\u0150",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",OElig:"\u01
`;for(let p=0;p<=1;p+=s){let S=e+(n-e)*i(p);c+=p*100+`%{${o(S,1-S)}}
`}let u=c+`100% {${o(n,1-n)}}
}`,d=`__svelte_${G2(u)}_${l}`,m=To(t),{stylesheet:v,rules:h}=$r.get(m)||U2(m,t);h[d]||(h[d]=!0,v.insertRule(`@keyframes ${d} ${u}`,v.cssRules.length));let y=t.style.animation||"";return t.style.animation=`${y?`${y}, `:""}${d} ${a}ms linear ${r}ms 1 both`,Zr+=1,d}function Du(t,e){let n=(t.style.animation||"").split(", "),a=n.filter(e?i=>i.indexOf(e)<0:i=>i.indexOf("__svelte")===-1),r=n.length-a.length;r&&(t.style.animation=a.join(", "),Zr-=r,Zr||z2())}function z2(){Fo(()=>{Zr||($r.forEach(t=>{let{stylesheet:e}=t,n=e.cssRules.length;for(;n--;)e.deleteRule(n);t.rules={}}),$r.clear())})}function zn(t,e,n,a){if(!e)return Q;let r=t.getBoundingClientRect();if(e.left===r.left&&e.right===r.right&&e.top===r.top&&e.bottom===r.bottom)return Q;let{delay:i=0,duration:o=300,easing:l=Wr,start:s=pu()+i,end:c=s+o,tick:u=Q,css:d}=n(t,{from:e,to:r},a),m=!0,v=!1,h;function y(){d&&(h=So(t,0,1,o,i,l,d)),i||(v=!0)}function p(){d&&Du(t,h),m=!1}return yu(S=>{if(!v&&S>=s&&(v=!0),v&&S>=c&&(u(1,0),p()),!m)return!1;if(v){let _=S-s,A=0+1*l(_/o);u(A,1-A)}return!0}),y(),u(0,1),p}function Yn(t){let e=getComputedStyle(t);if(e.position!=="absolute"&&e.position!=="fixed"){let{width:n,height:a}=e,r=t.getBoundingClientRect();t.style.position="absolute",t.style.width=n,t.style.height=a,Y2(t,r)}}function Y2(t,e){let n=t.getBoundingClientRect();if(e.left!==n.left||e.top!==n.top){let a=getComputedStyle(t),r=a.transform==="none"?"":a.transform;t.style.transform=`${r} translate(${e.left-n.left}px, ${e.top-n.top}px)`}}var Qa;function Xa(t){Qa=t}function Ja(){if(!Qa)throw new Error("Function called outside component initialization");return Qa}function $n(t){Ja().$$.on_mount.push(t)}function Bo(t){Ja().$$.on_destroy.push(t)}function Ve(){let t=Ja();return(e,n,{cancelable:a=!1}={})=>{let r=t.$$.callbacks[e];if(r){let i=wu(e,n,{cancelable:a});return r.slice().forEach(o=>{o.call(t,i)}),!i.defaultPrevented}return!0}}function Zn(t,e){return Ja().$$.context.set(t,e),e}function Ne(t){return Ja().$$.context.get(t)}function ce(t,e){let n=t.$$.callbacks[e.type];n&&n.slice().forEach(a=>a.call(this,e))}var er=[];var Aa=[],Kr=[],_u=[],Cu=Promise.resolve(),No=!1;function Eu(){No||(No=!0,Cu.then(Au))}function Kn(){return Eu(),Cu}function It(t){Kr.push(t)}var Mo=new Set,Qr=0;function Au(){let t=Qa;do{for(;Qr<er.length;){let e=er[Qr];Qr++,Xa(e),$2(e.$$)}for(Xa(null),er.length=0,Qr=0;Aa.length;)Aa.pop()();for(let e=0;e<Kr.length;e+=1){let n=Kr[e];Mo.has(n)||(Mo.add(n),n())}Kr.length=0}while(er.length);for(;_u.length;)_u.pop()();No=!1,Mo.clear(),Xa(t)}function $2(t){if(t.fragment!==null){t.update(),we(t.before_update);let e=t.dirty;t.dirty=[-1],t.fragment&&t.fragment.p(t.ctx,e),t.after_update.forEach(It)}}var tr;function Z2(){return tr||(tr=Promise.resolve(),tr.then(()=>{tr=null})),tr}function Io(t,e,n){t.dispatchEvent(wu(`${e?"intro":"outro"}${n}`))}var Xr=new Set,_n;function De(){_n={r:0,c:[],p:_n}}function _e(){_n.r||we(_n.c),_n=_n.p}function P(t,e){t&&t.i&&(Xr.delete(t),t.i(e))}function G(t,e,n,a){if(t&&t.o){if(Xr.has(t))return;Xr.add(t),_n.c.push(()=>{Xr.delete(t),a&&(n&&t.d(1),a())}),t.o(e)}else a&&a()}var K2={duration:0};function Oo(t,e,n,a){let r=e(t,n),i=a?0:1,o=null,l=null,s=null;function c(){s&&Du(t,s)}function u(m,v){let h=m.b-i;return v*=Math.abs(h),{a:i,b:m.b,d:h,duration:v,start:m.start,end:m.start+v,group:m.group}}function d(m){let{delay:v=0,duration:h=300,easing:y=Wr,tick:p=Q,css:S}=r||K2,_={start:pu()+v,b:m};m||(_.group=_n,_n.r+=1),o||l?l=_:(S&&(c(),s=So(t,i,m,h,v,y,S)),m&&p(0,1),o=u(_,h),It(()=>Io(t,m,"start")),yu(A=>{if(l&&A>l.start&&(o=u(l,h),l=null,Io(t,o.b,"start"),S&&(c(),s=So(t,i,o.b,o.duration,0,y,r.css))),o){if(A>=o.end)p(i=o.b,1-i),Io(t,o.b,"end"),l||(o.b?c():--o.group.r||we(o.group.c)),o=null;else if(A>=o.start){let L=A-o.start;i=o.a+o.d*y(L/o.duration),p(i,1-i)}}return!!(o||l)}))}return{run(m){ot(r)?Z2().then(()=>{r=r(),d(m)}):d(m)},end(){c(),o=l=null}}}var mw=typeof window!="undefined"?window:typeof globalThis!="undefined"?globalThis:global;function Q2(t,e){t.d(1),e.delete(t.key)}function X2(t,e){G(t,1,1,()=>{e.delete(t.key)})}function nr(t,e){t.f(),Q2(t,
Also celebrated on this date is the Sanctification of Renewal, a sacred holiday to the followers of Garyx.`,id:"824574",note:null,date:{day:null,year:null,month:null},category:null},{name:"Summer Solstice",description:" At the summer solstice, the Sun travels the longest path through the sky, and that day therefore has the most daylight.",id:"824575",note:null,date:{day:null,year:null,month:null},category:null},{name:"Autumn Equinox",description:"The 4th of Brewfest is the Autumnal Equinox, when the sun crosses the equator from north to south. This date is the official end of high summer and the beginning of autumn on the Greyhawk Calendar. This date is holy to Wenta and is sometimes regarded as an unofficial holy day of Velnius. Among the xvarts, it also marks the celebration of Raxivort's Orgy. The worshippers of Rillifane Rallathil celebrate the Transformation on this day, a time of dancing and spiritual rebirth marking the beginning of autumn and the promise that spring will come again.",id:"824576",note:null,date:{day:null,year:null,month:null},category:null},{name:"Great Moons Glory",description:"The night of Great Moon's Glory on Readying 11th, when Luna is full but Celene is new. It is holy to Celestian, and a time when offerings are left to Atroa to beg her to come early and to Telchur to request that he peacefully leave. Druids of the Old Faith are known to also hold this night as auspicious, but few outside their circles know the details.",id:"824577",note:null,date:{day:null,year:null,month:null},category:null},{name:"Dark Night",description:`Dark Night, also called Black Night, Star Night, and the Night of Hopeful Dawn, is observed on Goodmonth 11. It is a holy night for the church of Celestian because the stars are so easy to observe without the light of one of the moons getting in the way.
It is also a holy night for the church of Rao, who refer to it as the Night of Hopeful Judgment. They believe that Rao chooses this time to separate the sinful from the righteous in the afterworld. There is also a prophecy in the Raoan holy text, the Book of Incarum, that claims that Rao will cleanse the world of evil on this night, sometime in the future.
The priesthood of Kurell consider it holy, too, calling it Kurell's Night, requiring the faithful to undertake special missions on this night to prove their cleverness and skill. Kurell smiles particularly on acts of theft or vengeance performed on his holy night, blessing those who do so successfully. Donations to Kurell's church are encouraged afterwards, for Kurell may take vengeance against those who do not properly thank him for his aid.
Most other people regard Dark Night as a time of ill omen, fearing it as much as the night of the Blood Moon Festival. Bonfires are burned from dusk till dawn, particularly in small villages and in Elmshire and Narwell. Orc and goblin religions view it as an excellent night for raiding settlements. Certain evil cults perform kidnappings, murders, and vile rites during this period. On the other hand, lycanthropic activity is at its lowest.
Iggwilv and Tuerny attempted to summon a demonic army to Luna on this night in 585 CY.`,id:"824578",note:null,date:{day:null,year:null,month:null},category:null},{name:"Agelong",description:`Agelong, observed on the 4th of Richfest (the Summer Solstice), is the celebration of the legendary creation of the elves. According to myth, after Corellon Larethian spilled his blood during the battle with Gruumsh, the rest of the Seldarine gathered this sacred blood and mingled it with the tears shed during the same battle by Sehanine Moonbow. The Seldarine then infused these divine fluids into vessels they had created to be the bodies of the elven race.
This day is, among the elves, mostly an excuse to go orc-hunting. Elven warriors cut themselves with daggers carved from volcanic glass to remind themselves of Corellon's own wound from Gruumsh's spear, then strive to slaughter as many orcs as possible during the night.`,id:"824579",note:null,date:{day:4,year:null,month:8},category:null},{name:"Blood Moon Festival",description:`The Blood Moon Festival is celebrated on Coldeven 11, the night when Luna is full just before the Spring Equinox. On this night, curses are said to be twice as powerful and the forces of evil are at their strongest. Fiends roam the lands, and human sacrifice is common. This night is held especially sacred by cultists of Nerull, but worshipers of Kurell also mark this night as especially auspicious for acts of vengeance. Goodly folk superstitiously guard their homes with horseshoes, holy water, bottles of milk, and iron filings.
Demonic forces sent by Iuz destroyed the leadership of the Horned Society during the Blood Moon Festival of 583 CY.
It's possible that this is also the night the elves celebrate as Faerieluck.`,id:"824580",note:null,date:{day:11,year:null,month:3},category:null},{name:"Breadgiving Day",description:`Celebrated on on the Winter Solstice (Needfest 4), Breadgiving Day, is a day of charity observed in the Free City of Greyhawk by the faiths of Pelor, Rao, and Saint Cuthbert.
This was not originally a religious holiday as such. It is a new practice that began after the Greyhawk Wars to feed the refugees that flooded the city during that time. Since of Old City who line up by the hundreds along the Processional from the Black Gate. The booths are worked by low-ranking priests from all three religions, with armed priests of St. Cuthbert providing security. A smaller event is held simultaneously below Wharfgate in Greyhawk City's Shacktown.
The clergies of Heironeous, Pholtus, and Trithereon do not participate, but they compete with one another to perform good deeds the whole week of Needfest. The rivalries between Trithereon and Pholtus, Trithereon and Heironeous, and Pholtus and St. Cuthbert are such that the faiths sometimes fall into arguments and even blows if their "good deeds" conflict with each other. Greyhawk's rowdy citizens often cheer and place bets on the outcomes of these quarrels.
The priests of Pelor hold a morning ceremony on this day with a sermon, singing, and music.`,id:"824581",note:null,date:{day:4,year:null,month:0},category:null},{name:"Brewfest",description:`Also called Drunken Days or the Feast of Brewers, Brewfest, the fourth festival week of Oerth's calendar, is a rowdy period unsurprisingly claimed as a holy time by the churches of Olidammara and Wenta. The Free City of Greyhawk does not celebrate the entire week, but Brewfest 1 and Brewfest 7 are both set aside as public holidays. In Elmshire, the week is spent in restful, carefree music, drinking, and dancing. In Hardby it is spent with fistfights, riots, and ensuing hangovers. In Narwell it is celebrated with ale-brewing contests, horse races, beatings, and robbery. In Safeton it is celebrated with nervous violence and nightly orc hunts. The week is also sacred to the Old Faith.
The elves call this week Fallrite, and use it to contemplate the spirits of their ancestors, the passage to the afterworld, and the fragility of life. They believe other races make merry during Brewfest because they are "hiding" to avoid facing death's reality. In contrast, the olvenfolk strive to fulfill the most important of their duties and reach the most crucial of their decisions during this time of year. The elven kings and queens traditionally judge capital cases during Fallrite.`,id:"824582",note:null,date:{day:4,year:null,month:12},category:null},{name:"Faerieluck",description:"Faerieluck is a holiday celebrated by the elves in early spring, when the power of Faerie runs high and they celebrate with their fey cousins: the sprites, buckawns, pixies, nymphs and so forth. The point of the festival is to remind the elves of their ancient kinship with these creatures. The day is spent playing practical jokes, engaging in battles of wit, and general merriment.",id:"824583",note:null,date:{day:11,year:null,month:2},category:null},{name:"Feast of Edoira",description:`The Feast of Edoira is a holiday celebrated in the Domain of Greyhawk on Growfest 4, during the Spring Equinox. It is named after Edoira, a priest of Rao who centuries ago established the Edoiran Compact, a pact by which many of the lawful good-aligned faiths and people of the Domain could agree to cooperate. The Compact was later extended to non-lawful good and neutral faiths.
Edoira was never deified but was revered by many good faiths in the Domain. The holiday was marked by religious services on Godsday of Growfest led by the clerics of the good faiths who partook of the Compact, and secular festivals by the ordinary citizenry. Observance of the holiday has declined over the years, though the clergies of Rao and Pelor still hold their traditional interfaith services, with occasional participation by the priesthoods of Heironeous and Mayaheine. Since the end of the Greyhawk Wars most of the Domain's outlying communities no longer observe the holiday. Only one church in Safeton still does so.`,id:"824584",note:null,date:{day:4,year:null,month:4},category:null},{name:"Desportium of Magic",description:`The highlight of Growfest is the Desportium of Magic. During this day torchlight only, no magic illumination is supposed to be used. Wizards and Sorcerers then perform feats of illusion and magic trying to outdo one another with their displays. Usually there is a panel of judges to decide, in the larger cities there is usually a limit of 5-person teams competing. Each performance during the Desportium of Magic uses a long established theme, that of an attack on the town by various monsters and Dark Elves, repelled by brave warriors and spellcasters. The displays, made up of any number of spells cast without the use of magic devices, cannot actually cause any harm to property or people, but must be as wonderful, striking, detailed, and lifelike as possible.
This motif is based on actual attacks through the years from the Uttermost War to the most recent Great Slave Raids. The idea is to make the attackers as dreadful as possible and the defenders as heroic as possible, secondary is to make sure that people will always remember the terror of the Uttermost War. In large cities like the CSIO and CSWE and Tarantis, these performances last all night and are amazing to watch. In smaller villages without spellcasters, puppet plays are often done in its stead.`,id:"824585",note:null,date:{day:7,year:null,month:4},category:null},{name:"Holy Day of Pelor",description:`The Holy Day of Pelor, also known as Giving Day and Midsummer's Day, is celebrated on the Summer Solstice.
Because Pelor is widely loved by the commoners, this day is set aside as a day of rest in the Free City of Greyhawk. Only essential work is done on this day. Many merchants close their shops on Giving Day as well out of respect for the Sun Father and his teachings. Gambling houses are closed, but not hostelries, for Giving Day is a day of feasting and goodwill, a time for enjoying the fruits of the Oerth.
Public services are held from dawn until noon by Pelor's priests, outdoors if the weather permits (which if almost always does, as the clerics use weather-controlling magic for maximum sunlight). Even Greyhawk City's large temple of Pelor is not big enough to hold the throngs who come to celebrate on this day, so throngs of the faithful fill the temple grounds in the Garden Quarter, spilling out from the Millstream to the Nobles' Wall, and to the road leading toward Greyhawk's Grand Theater. Many come, of course, for the free meal the priests provide after the service. The Pelorian priests are well aware of this, but believe that for the needy, a full stomach must come before wisdom and learning. Members of Greyhawk's Guild of Thieves and Beggar's Union, many of whom remember Midsummer's Day fondly from their orphaned childhoods, both protect priests of Pelor on this day, and woe onto those who attempt to test them on this matter.
Priests of Pelor, bedecked in yellow and gold, parade about the streets, demanding donations for their charitable works, freely using guilt to squeeze more from stingy purses. Free healings are given out, particularly to children. Most Greyhawkers wear at least one item of yellow cloth on this day out of respect.
Some crusading Pelorians crusade against evil lycanthropes on this night, since both Celene and Luna are full.`,id:"824586",note:null,date:{day:4,year:null,month:8},category:null},{name:"Holy Day of Serenity",description:"The Holy Day of Serenity, on Reaping 10, is celebrated in Veluna as a holy day of Rao, though it's actually the anniversary of Veluna's secession from Furyondy in 476 CY. It is celebrated with religious singing and worship.",id:"824587",note:null,date:{day:10,year:null,month:9},category:null}],id:null,categories:[{name:"Natural Events",id:"natural-events",color:"#2E7D32"},{name:"Religious Holidays",id:"religious-holidays",color:"#FFEB3B"},{name:"Secular Holidays",id:"secular-holidays",color:"#0D47A1"},{name:"Magical Events",id:"magical-events",color:"#311B92"},{name:"Miscellaneous Events",id:"miscellaneous-events",color:"#0288D1"}]},{name:"Calendar of Golarion",description:"Calendar for the world of Pathfinder.",autoParse:!1,path:"/",supportTimelines:!1,syncTimelines:!1,timelineTag:"#timeline",static:{displayDayNumber:!1,firstWeekDay:0,incrementDay:!1,displayMoons:!0,overflow:!0,weekdays:[{type:"day",name:"Moonday",id:"ID_db8af8f85b8a"},{type:"day",name:"Toilday",id:"ID_f87a094b2849"},{type:"day",name:"Wealday",id:"ID_2a5bb88b3ae8"},{type:"day",name:"Oathday",id:"ID_c93a0be8981b"},{type:"day",name:"Fireday",id:"ID_2b7b59794a0b"},{type:"day",name:"Starday",id:"ID_baaa6a89ca1b"},{type:"day",name:"Sunday",id:"ID_f9baca088b28"}],months:[{name:"Abadius",type:"month",length:31,id:"ID_dad9da89f818"},{name:"Calistril",type:"month",length:28,id:"ID_980a88cb9b68"},{name:"Pharast",type:"month",length:31,id:"ID_a9c96ac80908"},{name:"Gozran",type:"month",length:30,id:"ID_a99a697b9abb"},{name:"Desnus",type:"month",length:31,id:"ID_8bcad9a8f84a"},{name:"Sarenith",type:"month",length:30,id:"ID_484a49a998db"},{name:"Erastus",type:"month",length:31,id:"ID_9a48e9b96938"},{name:"Arodus",type:"month",length:31,id:"ID_bbe99b2afaea"},{name:"Rova",type:"month",length:30,id:"ID_ba39fbe8c8b8"},{name:"Lamashan",type:"month",length:31,id:"ID_69d93ba9dba8"},{name:"Neth",type:"month",length:30,id:"ID_4ad8fb79eb6a"},{name:"Kuthona",type:"month",length:31,id:"ID_9a3a8b388939"}],moons:[{name:"Somal",cycle:29.5,offset:9.5,faceColor:"#ffffff",shadowColor:"#292b4a",id:"ID_b87ab959cac9"}],leapDays:[{name:"Leap Day",type:"leapday",interval:[{ignore:!1,exclusive:!1,interval:8}],offset:0,timespan:1,intercalary:!1,id:"ID_88c8da3b8b2b"}],eras:[{name:"Age of Serpents",format:"Year {{year}} - {{era_name}}",start:{year:4720,month:8,day:15},id:"ID_eb4af87babaa",restart:!1,endsYear:!1,event:!1},{name:"Age of Darkness",format:"Year {{abs_year}} - {{era_name}}",start:{year:-5300,month:0,day:1},id:"ID_58e99a8b9b9a",restart:!1,endsYear:!1,event:!1},{name:"Age of Anguish",format:"Year {{year}} - {{era_name}}",start:{year:-4500,month:8,day:1},id:"ID_3af84ada898a",restart:!1,endsYear:!1,event:!1},{name:"Age of Destiny",format:"Year {{year}} - {{era_name}}",start:{year:-3500,month:8,day:1},id:"ID_abc87ad9fbfb",restart:!1,endsYear:!1,event:!1},{name:"Age of Enthronement",format:"Year {{year}} AR - {{era_name}}",start:{year:1,month:8,day:1},id:"ID_19197be9dac8",restart:!1,endsYear:!1,event:!1},{name:"Age of Lost Omens",format:"Year {{year}} AR - {{era_name}}",start:{year:4606,month:8,day:1},id:"ID_7b585b5bd9ea",restart:!1,endsYear:!1,event:!1}]},current:{year:4720,day:15,month:0},events:[{name:"Summer Solstice",description:"At the summer solstice, the Sun travels the longest path through the sky, and that day therefore has the most daylight.",id:"824492",note:null,date:{day:null,year:null,month:null},category:null},{name:"Winter Solstice",description:"The winter solstice marks the shortest day and longest night of the year, when the sun is at its lowest arc in the sky.",id:"824493",note:null,date:{day:null,year:null,month:null},category:null},{name:"Spring Equinox",description:"The equinox marks the day and the night is equally as long.",id:"824494",note:null,date:{day:null,year:null,month:null},category:null},{name:"Autumn Equinox",description:"The equinox
Culminating on the first new moon of the new year, the Eternal Kiss is an 11 day ceremony honoring Zon-Kuthon. On the final day, a living sacrifice is made to the Dark Prince, after the victim is pampered and pleasured for the ten days prior. The sacrifice can either be an enemy or a great devotee of the church, and is kept alive for as long as possible during the torture using magic. This holiday often involves fortune-telling as a part of the torture, using the victim's entrails or their cries of pain to determine the Midnight Lord's will. Occasionally it is believed that the sacrifice will prophesy with the voice of Zon-Kuthon himself.`,id:"824496",note:null,date:{day:null,year:null,month:null},category:null},{name:"Longnight",description:"Longnight is a holiday celebrated on the full moon in the winter month of Abadius. During the festival, revelers stay up all night to greet the dawn to defy the long winter months. It is even celebrated in Irrisen, where there are no natural seasons.",id:"824497",note:null,date:{day:null,year:null,month:0},category:null},{name:"Foundation Day",description:`Absalom, Milani
Foundation Day is a civil holiday celebrated on the New Year (1 Abadius) in Absalom to commemorate the city's founding by the god Aroden in 1 AR.`,id:"824498",note:null,date:{day:1,year:null,month:0},category:null},{name:"Pjallarane Day",description:`Irrisen
Pjallarane Day is an ancient holiday in Irrisen celebrated on 1 Abadius (New Year's Day). Every 100 years, Baba Yaga returns to Golarion to remove her daughter from the throne of Irrisen, and put another daughter on the throne instead. In 3713 AR the third Queen of Irrisen, Pjallarane, and her children chose to resist. Baba Yaga ruthlessly crushed the rebellion in a single day, which is now celebrated as a holiday. The festival includes feasting and the burning of effigies of tar and straw. This is a reminder of the fate of Pjallarane's followers, who were burned alive as a warning to all those who would oppose Baba Yaga.`,id:"824499",note:null,date:{day:1,year:null,month:0},category:null},{name:"Vault Day",description:`Abadar
Vault Day is a holiday held on 6 Abadius in honor of Abadar, Master of the First Vault.`,id:"824500",note:null,date:{day:6,year:null,month:0},category:null},{name:"Ruby Prince's Birthday",description:`Osirion
The Ruby Prince's Birthday is a national holiday in Osirion in honor of the birthday of Khemet III, the Ruby Prince. It is celebrated annually on the 20 Abadius.`,id:"824501",note:null,date:{day:20,year:null,month:0},category:null},{name:"Merrymead",description:`Druma, Cayden Cailean
A holiday occurring on 2 Calistril, Merrymead was started in Druma and is supposed to be a time to share of the last of the previous year's mead with the rest of the community.
In current times, most people just use it as an excuse to drink excessively. The poor travel from bar to bar drinking whatever alcohol they can afford, while the wealthy will set aside specific vintages for this day. A known consequence of this day are 'mead riots' that happen when there are more celebrants than there is alcohol to serve them. This leads to a violent, destructive group of people in a crowded bar. If this is a common occurrence for particular cities, they may reinforce their guard force for the inevitably eventful night.`,id:"824502",note:null,date:{day:2,year:null,month:1},category:null},{name:"King Eodred II's Birthday",description:`Korvosa
King Eodred II's Birthday was a local holiday in the Varisian city-state of Korvosa and was celebrated on 16 Calistril. It commemorated the birthday of its former ruler, King Eodred Arabasti II, who decreed that on the day, scantily clad women would dance and serve free wine to celebrants.`,id:"824503",note:null,date:{day:16,year:null,month:1},category:null},{name:"Loyalty Day",description:`Cheliax, Asmodeus
Loyalty Day is a holiday in the nation of Cheliax commemorating the date on Calistril 19, 4640 AR when House Thrune signed the Treaty of Egorian, declaring it the victor in the Chelish Civil War and ruler of the empire. Because of House Thrune's well-known ties to the infernal, this holiday is also observed by the Church of Asmodeus who consider it a feast day. The church along with local governments provide a free meal to all citizens to remind them of the benefits House Thrune provides them with.`,id:"824504",note:null,date:{day:19,year:null,month:1},category:null},{name:"Fateless Day",description:`Mahathallah
Followers of Mahathallah mark each leap day as Fateless Day, when the River of Souls temporarily stops and souls can escape Pharasma's judgment. They perform many sacrificial and suicidal rituals on Fateless Day.`,id:"824505",note:null,date:{day:29,year:null,month:1},category:null},{name:"Golemwalk Parade",description:`Magnimar, Varisia
The Golemwalk Parade is a parade of golems created by amateurs hoping to win a monetary grant, or even a job, from the Golemworks in Magnimar. At the end of the parade along the Avenue of Honors, the constructs are judged.`,id:"824506",note:null,date:{day:null,year:null,month:2},category:null},{name:"Day of Bones",description:`Pharasma
Priests and worshipers of the Lady of Graves parade the bodies of the recently dead on this holiday, holding free burials afterwards.`,id:"824507",note:null,date:{day:5,year:null,month:2},category:null},{name:"Sable Company Founding Day",description:`Korvosa
Sable Company Founding Day is a holiday marking the founding of the Sable Company of the Varisian city-state of Korvosa. Celebrated on 6 Pharast, the day is marked by somber military parades that generally preclude the consumption of alcohol, a staple on most other holidays.`,id:"824508",note:null,date:{day:6,year:null,month:2},category:null},{name:"Night of Tears",description:`Solku
The Night of Tears held annually on 7 Pharast in the Katapeshi town of Solku. It is a solemn vigil commemorating those lost in the Battle of Red Hail in 4701 AR.`,id:"824509",note:null,date:{day:7,year:null,month:2},category:null},{name:"Kaliashahrim",description:`Qadira
Kaliashahrim is a national holiday celebrated on Pharast 13 in Qadira that celebrates the Padishah Emperor of distant Katheer, and Qadira's loyalty to him.`,id:"824510",note:null,date:{day:13,year:null,month:2},category:null},{name:"Conquest Day",description:`Nex
Every year, on the 26th of Pharast, Elder Architect Oblosk \u2014 oldest member of Nex's Council of Three and Nine \u2014 ascends to the highest balconies of the Bandeshar in Quantium. In a voice made thunderous by the platform's magic, the wizened pech councilman spends the hours from dusk to just past noon enumerating the atrocities committed by the necromancers of Geb upon the people of Nex, culminating with the disappearance of the archwizard Nex himself. At the conclusion of this record of national wounds, the country's eleven other council members join Oblosk in renewing their yearly vow to neither forget nor forgive the Gebbites' atrocities and to again swear in their lost ruler's name to endlessly wage war against their ancient enemies.
On this day, known as Conquest Day, all the people of Nex are expected to share in their leaders' oaths, to celebrate the shared patriotism of their wondrous nation, and to remember the sacrifices of heroes past. This also makes it a day for many Nexian wizards to reveal deadly new spells, gigantic constructs, and audacious arcane masterworks\u2014which many creators promise to be the doom of their foes. Even throughout the rest of the Inner Sea region, many crusaders, rebels, and zealots observe Conquest Day as a day to renew blood oaths, launch long-planned battles, and finally take revenge. It is a day for words of honor, a day for battle cries, and a day where glory most favors the bold.`,id:"824511",note:null,date:{day:26,year:null,month:2},category:null},{name:"Days of Wrath",description:`Asmodeus, Cheliax
The Days of Wrath, or Dies Irae, are a holiday celebrated on both solstices and equinoxes in the nation of Cheliax and wherever Asmodeus is worshiped. They are primarily a national holiday and not truly a religious one, but the two are often confused due to Cheliax's current political climate. Various contests and blood sports are held on these days, promoting those elites who can clearly demonstrate their superiority over others. Some believe that these competitions are watched and judged by devils themselves. In the parts of the world where the Prince of Darkness is not openly venerated, these holidays take on a different tone: they are used to settle old grievances and also to end contracts.
In these days, bloodsports are organized into cities' stadiums. Slaves and servants of any master may choose to enter the arena for one-on-one bloody battles to the death. Free men and women of all classes are free to enter the arena as well. The entrants fight in rounds until at last one stands alone. The winner is granted freedom from slavery or servitude, erasure of all debts, and a purse of gold.
The winter solstice sees the culmination of the Dies Irae, with all the winners of the three previous bouts summoned to Egorian to fight to the death for the amusement of the nobles. The winner is given a title of baronet and a plot of land.`,id:"824512",note:null,date:{day:null,year:null,month:null},category:null},{name:"Firstbloom",description:`Gozreh
Firstbloom is a holiday celebrating the first planting of the agricultural season, and generally associated with the weather god Gozreh. It falls on the vernal equinox. Many farming communities see it as the beginning of the year, even though conventional calendars begin two months earlier. Despite weariness after a full day planting, many farming communities hold celebrations come the night: feasting, dancing and courtship feature showing the cycle of nature.`,id:"824513",note:null,date:{day:null,year:null,month:null},category:null},{name:"First Cut",description:`Falcon's Hollow
The First Cut celebration in Falcon's Hollow used to mark the start of the work in the woods each spring. Now, however, it is a meaningless ramshackle ceremony as Thuldrin Kreed forces the lumber crews to work through even during the coldest months in the winter. Still, First Cut brings people out to celebrate the start of the spring.`,id:"824514",note:null,date:{day:null,year:null,month:null},category:null},{name:"Currentseve",description:`Gozreh
On this religious holiday, all who travel on the water make offerings to Gozreh in the hopes of safe passage for the coming year.`,id:"824515",note:null,date:{day:7,year:null,month:3},category:null},{name:"Taxfest",description:`Abadar
No one enjoys paying taxes but the collection of fair taxes is considered an integral part of the maintenance of society, and is therefore holy to the god Abadar. Every year on the 15th of Gozran, priests of the church of Abadar spend the day walking city streets, doing what they can to make the bitter pill of annual taxes a bit easier to swallow.
The Business of the Day
From dawn to dusk, clerics of Abadar attend the tax collectors of sizeable communities as the tax wagons roll from door to door. The church officials monitor these activities to make sure that the process is conducted respectfully and justly, and that citizens know that the process is monitored. More than just aiding in the yearly errand, the faithful personally thank every citizen for contributing to the improvement of their city, extol the public works funded by their contributions, and foretell the grandeur of civic projects to come. The disenfranchised and destitute they attempt to comfort as best they can, quoting from their god's dogma on work and worthiness, but this is not a day for discounts or deferrals. The citizens are able to voice their concerns and ideas as to where the monies levied should best be applied. Citizens are free to speak their mind on any issue here without fear of repercussion.
The Celebrations of the Day
At dusk, the Abadarans host several celebrations in parks, plazas, and other communal areas about the city, organizing donations and contributions from local vendors to feed and entertain all-comers. Having already preached to most of the city over the course of the day, the clerics perform only a brief opening ceremony, dedicating the feast to Abadar, the city, and its great people. These celebrations are often quite distinct from neighbourhood to neighbourhood and are almost always divided along economic boundaries.
The festivities involving the wealthiest citizens usually happen on the steps of city hall or other grand civic buildings and feature the best music and food, but often little more than polite card and guessing games. These galas usually wrap up by midnight.
For the common folk, the parks and marketplaces take on a carnival atmosphere, with simple but good food, local ales, performances by talented citizens, and games of chance going on well into the night. A prevailing superstition through these festivals is that, during the celebration, it is lucky to kiss\u2014or in some regions, pinch\u2014a cleric of Abadar, leading to many a rosy-cheeked cleric.
Even the city's poor are given reason to celebrate, as the local temple of Abadar hosts a cheery but unabashedly religious gathering on its steps, feeding all comers, doling out a hearty ration of wine, singing hymns of the faith, and providing tokens for a second wine ration for any who return to attend a service within the month.
For a holiday that revolves around paying taxes, this Abadaran festival is not as reviled as one might expect.`,id:"824516",note:null,date:{day:15,year:null,month:3},category:null},{name:"Wrights of Augustana",description:`Andoran, Brigh
This local festival in the Andoran port city of Augustana is held to honor and celebrate the local shipbuilding industry as well as the navy. The mathematics and engineering required for the building of the ships is praised by Brigh's faithful.`,id:"824517",note:null,date:{day:16,year:null,month:3},category:null},{name:"Gala of Sails",description:`Absalom
One of two local festivals where kite-battlers compete.`,id:"824518",note:null,date:{day:27,year:null,month:3},category:null},{name:"Remembrance Moon",description:`Iomedae, Lastwall, Ustalav
A national holiday to commemorate those who died in the Shining Crusade against the Whispering Tyrant. Although not strictly a religious holiday, Iomedae's name is heavily invoked, due to her many military accomplishments during the war.`,id:"824519",note:null,date:{day:null,year:null,month:4},category:null},{name:"Angel Day",description:`Magnimar, Varisia
Angel Day is a local Magnimarian holiday celebrated on 31 Desnus. The annual celebration marks the founding of the city, and its founders' flight from Korvosa. It also honors the presence and popular worship of the empyreal lords, which predates the city by centuries. During the festival, nearly all local businesses shut their doors and the citizens take part in countless feasts, masquerade balls dressed as angels, and the burning of devil effigies meant to symbolize infernally-influenced Korvosa.`,id:"824520",note:null,date:{day:31,year:null,month:4},category:null},{name:"Old-Mage Day",description:"Holiday celebrating Old-Mage Jatembe, the father of Garundi magic.",id:"824521",note:null,date:{day:13,year:null,month:4},category:null},{name:"Multiple Events",description:`Festival of the Ruling Sun
Shizuru
Celebrates the longest day.
Founder's FollyUlar Kel
Adventurers and children follow a hallucinatory red stripe along zigzagging paths, amusing residents.
Harvest Bounty Festival
Segada
Marking the beginning of the harvest season, this festival involves sporting tournaments, dancing, storytelling, and feasts. Celebrants give thanks and eliminate grudges.
Longwalk
Grandmother Spider, Nurvatchta; southern hemisphere winter solstice
Celebrates the escape of Nurvatchta's anadi people from bondage, in part thanks to Grandmother Spider lengthening their cover of darkness in their escape.
Ritual of Stardust
Desna
Festival held in the evening and through the night, where Desna's faithful sing songs and throw sand and powdered gems into bonfires.
Runefeast
Magrim
Day marking the day dwarves learnt the first runes and the proper way to pray.
Sunwrought FestivalSarenrae, Brigh
Day commemorating the defeat of Rovagug by Sarenrae, celebrated with the flying of kites, fireworks, and gift giving.`,id:"824522",note:null,date:{day:null,year:null,month:null},category:null},{name:"Burning Blades",description:`Sarenrae
The holy, month-long festival ends on this day, featuring dances with flaming blades.`,id:"824523",note:null,date:{day:10,year:null,month:5},category:null},{name:"Liberty Day",description:`Andoran, Milani
Holiday celebrating Andoran's independence. Milanites celebrate that very little violence occurred.`,id:"824524",note:null,date:{day:3,year:null,month:5},category:null},{name:"Talon Tag",description:`Andoran
The Eagle Knights perform aerial displays in Almas on this day.`,id:"824525",note:null,date:{day:21,year:null,month:5},category:null},{name:"Riverwind Festival",description:`Korvosa
An early summer holiday that honors a cooling shift in the winds, celebrated with much drinking.`,id:"824526",note:null,date:{day:22,year:null,month:5},category:null},{name:"Inheritor's Ascendance ",description:`Iomedae
Inheritor's Ascendance, originally called 'Herald's Day', honours the day that Iomedae was chosen by the god Aroden to become his herald (thus replacing Arazni), thus boosting her power beyond that of a fledgling goddess. This holiday was renamed after the demise of Aroden.`,id:"824527",note:null,date:{day:1,year:null,month:7},category:null},{name:"First Crusader Day",description:`Mendev
Holiday in celebration of the continuing crusade against the demons of the Worldwound.`,id:"824528",note:null,date:{day:6,year:null,month:7},category:null},{name:"Day of Silenced Whispers",description:`Ustalav
The Day of Silenced Whispers is an Ustalavic holiday celebrated every 9 Arodus marking the defeat of the Whispering Tyrant in 3827 AR by the coalition forces of the Shining Crusade and the liberation of the country after centuries of undead domination.`,id:"824529",note:null,date:{day:9,year:null,month:7},category:null},{name:"Founding Day",description:`Ilsurian, Varisia
Festival celebrating the founding by Ilsur of the town of Ilsurian in 4631 AR.`,id:"824530",note:null,date:{day:10,year:null,month:7},category:null},{name:"Armasse",description:`Aroden, Iomedae, Milani
The raucous, week-long festival known as Armasse is held each year beginning on 16 Arodus. The celebration \u2014 once dedicated to the god Aroden \u2014 is still important to the faithful of Iomedae, who use it to train commoners in combat, ordain apprentice clergy, pick squires for knights, and teach military history, hoping to prevent the mistakes of the past from being repeated. Among those not dedicated to the Inheritor the holiday has lost most of its religious significance since Aroden's death, tending now only toward wild partying, a fact that has precluded the diabolist authorities of Cheliax from prohibiting Armasse outright. Nevertheless, in places where the church of Asmodeus is openly allowed, it hosts special activities for its parishioners during the same week in an effort to counter the influence of the holiday. The city of Corentyn is especially known for its extravagant Armasse festivities.`,id:"824531",note:null,date:{day:16,year:null,month:7},category:null},{name:"Saint Alika's Birthday",description:`Korvosa
Quiet holiday honoring the birth of Saint Alika the Martyr.`,id:"824532",note:null,date:{day:31,year:null,month:7},category:null},{name:"Archerfeast",description:`Erastil
Archer's Day or Archerfeast is a holiday of the god Erastil held annually on the 3rd of Erastus. Despite the holiday's origins in the worship of Erastil, common country folk from the Lands of the Linnorm Kings to Taldor celebrate the height of summer with a day set aside for establishing new relationships, enjoying current camaraderie, and celebrating the gifts of the gods. Archery competitions are held frequently in which the men test their skill with the bow through progressively harder trials. The exact form of competition is different from place to place, and the winner is awarded a rack of elk horns and a quiver of blessed arrows. He is also given the title of "Protector", which he holds until the next year.
While the festival's traditions emphasize contests of marksmanship, most have expanded to exhibit talents of all types, from baking and storytelling to racing and mock combat. Aside from encouraging a fair-like atmosphere, many of the displays and competitions serve one of two secondary purposes: either as a way for merchants to show off their superior livestock and wares, or (more popularly) as a way for eligible men and women to show off to each other.
While the day's events at most Archerfeast fairs are filled with games, food, and crafts, the night brings dancing, drinking, pranks, and the crowning of the princes and princesses of spring and summer for the two single youths and two single adults who fared best in the day's events. The festivities continue late into the evening, but end promptly at midnight, so that in true Erastilian fashion the next day's responsibilities are not overly impeded. For those not of Erastil's flock, however, private parties, drinking, and trysting carry on long into the next morning.`,id:"824533",note:null,date:{day:3,year:null,month:6},category:null},{name:"Founding Festival",description:`Korvosa
Founding Festival is a local Korvosan celebration marking the establishment of the city in 4407 AR. Held annually on 14 Erastus, the festival is a chance for the citizens to let off some steam, drink copiously, and watch magical light shows late into the night.`,id:"824534",note:null,date:{day:14,year:null,month:6},category:null},{name:"Burning Night",description:`Razmiran
Items or people who have transgressed against the god-king of Razmiran are burned on this day.`,id:"824535",note:null,date:{day:17,year:null,month:6},category:null},{name:"Kianidi Festival",description:`Garundi
The Kianidi Festival is a week long event held annually between 15 and 21 Erastus by Garundi people everywhere. The Garundi have a powerful belief in belonging to a specific location in this world, with clans or tribes sometimes traveling for years in search of their true home. In these travels each individual will collect small mementos of the places she or he has visited in order to remember them and maintain a spiritual connection. During the Kianidi, a tribe will gather and display these mementos to the group. The best ones are chosen and made part of the clan or tribal history, something which Garundi feel is a great honor.`,id:"824536",note:null,date:{day:15,year:null,month:6},category:null},{name:"Harvest Moon",description:null,id:"824537",note:null,date:{day:null,year:null,month:8},category:null},{name:"Multiple Events",description:`Festival of Night's Return
Nidal
Celebrated throughout Nidal, this holiday involves the burning of effigies and self-flagellation.
Swallowtail Festival
Desna
Holiday celebrated with storytelling, feasting, and the release of butterflies.
Waning Light Festival
Segada
Also called Blessing of the Sun and Night of Spirits, participants bid farewell to the long days of sunshine with feasting, dancing, and music.`,id:"824538",note:null,date:{day:null,year:null,month:null},category:null},{name:"Signing Day",description:`Andoran, Cheliax, Galt, Isger
Signing Day is a Chelish holiday, dating back to the height of the empire. Observed on the second Oathday of Rova, this is the day on which new laws in the empire took effect. The significance of this day expanded over many years until imperial marriages, significant business arrangements and oaths of fealty were all conducted on this day.
Originally, the holiday began as a celebration of the mutual-defense pact between Cheliax, Isger, Galt and Andoran when the united nations threw off the shackles of Taldor, declaring themselves independent from the empire. Observances of the holiday vary, but often include firework displays, feats of strength, and public debates to showcase speaking and rhetorical skills.
As Cheliax degenerated to civil war and diabolism after 4606 AR, blood pacts and infernal contracts also began to be signed on this day. As a result of Cheliax's new affiliation, Andoran and Galt began to distance themselves from Cheliax and the original interpretation of the holiday. In Andoran it continues to be the day that most national laws take effect as well as being a traditional day of marriage, and the date on which new Steel Falcons are inducted.`,id:"824539",note:null,date:{day:null,year:null,month:8},category:null},{name:"Crabfest",description:`Korvosa
Crabfest is a Korvosan holiday held on the first Wealday of Rova. It celebrates the return of the crabs from the cooler waters of the Jeggare River to their winter habitat in Conqueror's Bay, and is marked by crab boil feasts held throughout the city and its surrounding communities.`,id:"824540",note:null,date:{day:null,year:null,month:8},category:null},{name:"Feast of Szurpade",description:`Irrisen
This "celebration of plenty" festival mocks the traditional harvest festivals celebrated in the region before Baba Yaga and her eternal winter descended upon the land.`,id:"824541",note:null,date:{day:26,year:null,month:8},category:null},{name:"Day of Sundering",description:`Ydersius
Once many holidays were celebrated by the faith of Ydersius, but today only this date has much significance.`,id:"824542",note:null,date:{day:29,year:null,month:8},category:null},{name:"Admani Upastuti",description:`Jalmeri
Admani Upastuti is a Jalmeri holiday celebrated on the first full moon of Lamashan that marks the founding of Jalmeray as a Vudran colony.`,id:"824543",note:null,date:{day:null,year:null,month:9},category:null},{name:"Ascendance Day",description:`Iomedae
Ascendance Day is an Iomedaean holiday, held on the 6th of Lamashan. The day marks the anniversary of the day Iomedae took the Test of the Starstone in the autumn of 3832 AR and ascended to godhood.
Celebration
The day is a joyous celebration for the faithful, with singing, pledging of friendships, and forgiving of old grudges.
To many, the Test of the Starstone represents the greatest of all challenges, yet for Iomedae it was one of three storied promotions in her rise from Aroden's herald to a goddess in her own right. On the 6th of Lamashan, the Inheritor's faithful observe the heroism of Iomedae's life before her moment of ascension and celebrate the anniversary of the apotheosis itself.
The celebration takes place in several stages. Early in the day, troupes of performers\u2014as often passionate amateurs as professionals\u2014stage morality plays featuring the Eleven Acts of Iomedae, the heroic near-miracles and sacrifices she made leading up to her trials in the Starstone Cathedral. Scripts vary by region, city, and even neighborhood, but despite differences in setting, performance medium, and word choice, the themes and morals are all the same.
As the day continues, the priests organize jousts and mock battles, allowing anyone to participate so long as she can demonstrate enough skill to not be a risk to herself or others. The winners of these contests then face tests of mental acuity such as solving riddles, deciphering philosophical quandaries, and answering questions of honor and justice. Those who prove themselves in both contests are awarded a white cloak\u2014representing the Inheritor at peace\u2014styled after Iomedae's own red garment to wear for the rest of the celebration. Feasting and singing follow the competitions, mirroring the jubilation that followed Iomedae's ascension. This is occasion for making pledges of friendship and forgiving enemies, and priests circulate about the crowd offering the Inheritor's blessing to those who do and providing a moment's counsel or mediation for those who need an extra nudge.
The celebration typically ends before midnight, and the following day the priests and previous day's champions gather up the blunted swords from the mock battles, sharpen them, and distribute them among the church's armory and those of like-minded organizations so that all may remain vigilant against evil and prepared to strike it down.`,id:"824544",note:null,date:{day:6,year:null,month:9},category:null},{name:"Bastion Day",description:`Solku
Bastion Day is a two-day festival held annually on 19 and 20 Lamashan in the Katapeshi town of Solku honoring the founding of the town, when it is traditional to host a stranger from one noon until the next.`,id:"824545",note:null,date:{day:19,year:4712,month:9},category:null},{name:"Jestercap",description:`Andoran, Druma, Taldor
Jestercap occurs at the end of the month of Lamashan, traditionally on the 27th (although a few regions have taken to moving the exact day around slightly so it always falls on the last Starday of the month, allowing people who wish to celebrate in excess to have the following day of rest to recover).
History
While Jestercap has been embraced with excited open arms by the gnome communities of the Inner Sea region, its original genesis is said to have been in one of Taldor's coastal cities not long after King Aspex the Even-Tongued broke from the nation, significantly weakening Taldor's power and beginning that nation's long decline. The holiday was originally intended to distract the distraught Taldan populace with a night of revelry and comedic entertainment, but the antics of jesters were simply not enough.
Over the course of the first few years, Jestercap evolved from a holiday of observation to a holiday of participation. Today, the holiday is a time where anyone can pull pranks or jokes or japes on companions, on neighbors, and (most typically) on rivals, with the understanding that provided no lasting harm is done, any humiliations inflicted before midnight are to be taken in stride. Of course, come morning the day after, there are inevitably jokes that went too far, and grudges and feuds borne from Jestercap antics have a way of lingering for months to follow.
In Religion
Followers of Chaldira Zuzaristan, a halfling deity of mischief, treat Jestercap as a holy day and their pranks \u2014 often elaborate and extravagant in nature and plotted for months in advance \u2014 as displays of their faith.`,id:"824546",note:null,date:{day:27,year:null,month:9},category:null},{name:"Feast of the Survivors",description:`Zon-Kuthon, Nidal
A harvest festival signifying the centuries of Nidalese ancestors protected by Zon-Kuthon. The ceremonial tables are made of human bones of community members from past generations.`,id:"824547",note:null,date:{day:null,year:null,month:9},category:null},{name:"Kraken Carnival",description:`Absalom
The second of two local festivals where kite-battlers compete.`,id:"824548",note:null,date:{day:15,year:null,month:9},category:null},{name:"Independence Day",description:`Galt
Marks the beginning of the Red Revolution.`,id:"824549",note:null,date:{day:5,year:null,month:10},category:null},{name:"Seven Veils",description:`Sivanah
The holiday known as Seven Veils, which takes place on the 23rd of Neth in most realms of the Inner Sea region, is a celebration of the region's diversity \u2014 a time when social boundaries break down even further in a day-long event filled with dancing, feasting, and courting. The evening traditionally closes out with the Seven Veil masquerade, a ball wherein the participants wear disguises that hide their race or gender (often using minor magical trinkets and spells) or disguise these features as entirely new characteristics. At the end of the ball, the participants remove their disguises to their partners, often with unpredictable and sometimes delightfully awkward results. Traditionalists and conservative minds often find the Seven Veils masquerades to be scandalous or off-putting, yet they remain particularly popular in most of the larger cities of the land.
Historians note that the original "Dance of the Seven Veils" has a much different genesis than one promoting diversity \u2014 the mysterious cult of Sivanah, goddess of illusions, mystery, and reflections, is generally cited as the source of this festival, and indeed, worshippers of the goddess (herself known as the Seventh Veil) count the 23rd of Neth as one of their most sacred of days. What rituals the church of Sivanah performs on this date, however, are unknown to outsiders, for the cult enjoys its secrets. This secrecy has, unsurprisingly, given rise to all manner of sinister rumour, yet when Seven Veils rolls around each year, its eager participants are quick to set aside rumour in preference for the night's fun and games.`,id:"824550",note:null,date:{day:23,year:null,month:10},category:null},{name:"Abjurant Day",description:`Nethys
Abjurant Day occurs on 8 Neth and is known as a day of cooperation between neighbors to shore up mutual defenses and train allies in magic. Potential apprentices are often tested on the day.`,id:"824551",note:null,date:{day:8,year:null,month:10},category:null},{name:"Great Fire Remembrance",description:`Korvosa
Great Fire Remembrance is a holiday celebrated on each 13 Neth in the Varisian city of Korvosa. It commemorates the Great Fire of 4429 AR, which devastated the then still fledgling Chelish colony of Fort Korvosa. On this somber day, most of the city shuts down and people generally remain at home. It has become tradition not to light any fires (not even cooking fires) on Great Fire Remembrance.`,id:"824552",note:null,date:{day:13,year:null,month:10},category:null},{name:"Even-Tongued Day",description:`Cheliax, Asmodeus, Milani
Observed on 14 of Neth, Even-Tongued Day was once a day of joy and celebration in Cheliax, but has become instead one of mourning.
Originally, the date marked the conquest of Aspex the Even-Tongued, who brought the nations of Galt, Andoran and Isger under Chelish control. Since the death of Aroden and the loss of these nations, the holiday instead marks the loss of territory and glory once held by Cheliax. Oaths are sometimes made, typically to Asmodeus, and rarely of a pleasant nature (such as the reclaiming of the lost empire and vengeance against treacherous former allies).
Citizens wear black on this day, public speaking is forbidden, and old feuds and vendettas are rekindled.`,id:"824553",note:null,date:{day:14,year:null,month:10},category:null},{name:"Evoking Day",description:`Nethys
A holy day to followers of Nethys, Evoking Day is full of vibrant explosions, skillful wielding of spells, and much dancing. Evoking Day is observed on the 18th of Neth, and while this holiday is mostly celebrated in Garund, temples dedicated to Nethys host celebrations throughout the Inner Sea region. Traditional celebrations of Evoking Day have changed over the thousands of years since its first incarnation, but to this day every occurrence of Evoking Day still features a grand meal shared by celebrants during the afternoon and a wondrous exhibition of brilliant and explosive magic once the sun sets. These days, such colorful magical displays are augmented with fireworks of a dozen different colors and patterns.
In temples of Nethys dedicated to revering evocation magic, priests and prominent arcanists participate in spell duels where each contestant stands on a raised platform and takes turns trying to incapacitate her opponent. The magic wielded in theses duels favors the flashy over the dangerous, but clerics of Nethys are on hand to treat any injuries. These duels gather large crowds eager to lend their applause to their favorite contestant.
It is also during this festival when wizards who worship Nethys open their spellbooks to others who share their craft. Wizards normally guard their spellbooks with their lives and covet the eldritch information therein, but on Evoking Day these wizards meet with one another prior to the afternoon feast to share their spells just as they prepare to share a grand meal.
Though Evoking Day is primarily a day of grand magic, those with no spellcasting talent still flock to local temples of Nethys to partake in the shared feast and flashy evening displays of magic and fireworks. Between the meal and into the night, celebrants wear black-and-white robes and perform joyous dances meant to give thanks to the wonders Nethys brought to humankind. These dances are grand affairs involving dozens of dancers all spinning and clapping to the accompanying music as their black-and-white robes fan out around them with each spin. As night descends and the fireworks and magical displays begin, the dancing rises to a climax erupting in shouts and calls to Nethys with each thunderous boom.`,id:"824554",note:null,date:{day:18,year:null,month:10},category:null},{name:"Baptism of Ice",description:`Irrisen
In the Irriseni Baptism of Ice, an annual fertility festival held from the 24th to the 30th of Neth, locals parade all children born during the year through the town in fine clothes. In most towns, the festival ends with a symbolic sacrifice of a child to the cold. However, in Whitethrone and Irrisen's provincial capitals, a peasant child is killed through exposure.`,id:"824555",note:null,date:{day:24,year:null,month:10},category:null},{name:"Transmutatum",description:`Nethys
Transmutatum is one of the three major holidays of the church of Nethys, on 28th of Neth. It is a day of reflection and self-improvement. Many followers of Nethys begin research and crafting projects on this day.`,id:"824556",note:null,date:{day:28,year:null,month:10},category:null},{name:"Winter Week",description:"Traditional feast; time for courting and spending time with friends.",id:"824557",note:null,date:{day:null,year:null,month:11},category:null},{name:"The Shadowchaining",description:`Zon-Kuthon, Nidal
Commemorating the Midnight Lord's gift of shadow animals.`,id:"824558",note:null,date:{day:1,year:null,month:11},category:null},{name:"Pseudodragon Festival",description:`Korvosa
Korvosa's Pseudodragon Festival, a holiday celebrated annually on 7 Kuthona, marks the winter migration of wild pseudodragons from the Mindspin Mountains to Conqueror's Bay, which inspires the creatures already in the city\u2014even those domesticated\u2014to play with their wild kin in the skies over the city. Locals mark the day with a joyous inebriation.`,id:"824559",note:null,date:{day:7,year:null,month:11},category:null},{name:"Ascension Day",description:`Cayden Cailean
Much like the god to whom it is dedicated, the Caydenite holiday of Ascension Day is generally celebrated in a very informal style. Occurring annually on 11 Kuthona, it commemorates the day Cayden Cailean passed the Test of the Starstone and ascended to godhood in 2765 AR. In all likelihood, the 11th of Kuthona is not the exact date on which it actually happened, but since the god was dead drunk when it happened, it will probably be never known.`,id:"824560",note:null,date:{day:11,year:null,month:11},category:null},{name:"Winterbloom",description:`Naderi
Holiday celebrating Naderi's ascension. Celebrations are typically understated but include readings of The Lay of Arden and Lysena.`,id:"824561",note:null,date:{day:15,year:null,month:11},category:null},{name:"Final Day",description:`Groetus
Cultists of Groetus perform an hour's silence at dusk on the last day of the year and seek guidance from their god about the End Time.`,id:"824562",note:null,date:{day:31,year:null,month:11},category:null},{name:"Night of the Pale",description:`Not all of Golarion's holidays and festivals are times of rejoicing and delight. Holidays worshiped by dark and sinister cults and religions tend to be hidden affairs, their rituals and ceremonies involving cruelties and vile practices that send shivers of fear through gentler society. Scholars suspect that the Night of the Pale\u2014a holiday that traditionally takes place on the last day of the year, the 31st of Kuthona\u2014has links to several sinister religions, but today no one church has specific association with the event. Nonetheless, the Night of the Pale is an event that many look forward to all year, whether in fear or excitement.
On the Night of the Pale, it is said that the ghosts of those who died during the previous year manifest upon the world and come to visit the homes they lived in during life. Although some might think that the chance of seeing even the shade of a dearly departed one might be a blessing, the Night of the Pale is not a time for tearful reunions, for these ghosts, tradition says, do not return out of love for those they left behind but out of darker compulsions. Lingering jealousy, unfinished arguments, or the simmering need for revenge are said to be what compels the dead to return to torment the living on the Night of the Pale.
The evening of this night in many communities is celebrated by a morbid feast, the food prepared with themes revolving around graveyards, the dead, and other spooky traditions. This feast, on one level, helps the celebrants to make light of their fears while sharing good company with similarly nervous neighbors, but at another level is believed to placate vengeful spirits as toasts are raised to the memories of the recently departed. These feasts include retellings of favorite memories of the departed, in hopes of reminding the approaching ghosts of brighter and kinder memories than those that compel them to return. The feast always ends at least an hour before midnight in order to give participants time to return home, decorate doors and windows with salt and other trinkets taken from the feasting table (salted bread baked into crook-like shapes are a favorite, as these can be hung from doorknobs and eaves) to ward off evil spirits, and hide in their bedrooms until dawn. Brave youths and adventurers often deliberately stay out after midnight, either to dare the ghosts to challenge them or simply for the thrill of bucking tradition. Every Night of the Pale, it seems, there are disappearances among those who stay out after midnight, although whether these vanishings are the result of dissatisfied locals taking the opportunity to run away from home, murderers or wild animals or other mundane dangers, or the vengeful spirits carrying off their victims depends upon the circumstances.
The morning after a Night of the Pale is also the first day of the new year\u2014a time that many celebrate more as a relief for surviving the night before than in anticipation of what the new year might bring, although regional preferences for how this day is celebrated vary enough that no single tradition holds over the other. Save, of course, the lingering fears of what dread spirits might come knocking upon warded doors one year away...`,id:"824563",note:null,date:{day:31,year:null,month:11},category:null},{name:"Turning Day",description:`Alseta
The changing of the year is celebrated with the forgiveness of old debts and grudges, and embracing new opportunities.`,id:"824564",note:null,date:{day:31,year:null,month:11},category:null},{name:"Ritual of Stardust",description:`Desna
The Ritual of Stardust is one of the few formal religious holidays in honor of the goddess Desna. It is held on both the summer and winter solstices.
Followers of the Song of Spheres gather at dusk and light enormous bonfires and hold feasts, watching the sparks and embers float out into the darkening sky. After it is fully dark, the celebrants chant and sing songs as they watch the fires burn low. When only embers remain, sand mixed with ground star gems (either star rubies, star sapphires, or rose quartz) is thrown on them or into the air downwind. At this point it is common to make proclamations of love and friendship and of promised journeys to come. The twinkling of the sand is thought to mirror the night sky and demonstrate Desna's witnessing of these pronouncements.`,id:"824565",note:null,date:{day:null,year:null,month:null},category:null},{name:"Planting Week",description:`Erastil
This holy week to the god Erastil is a time of heavy work in the fields for farmers.`,id:"824566",note:null,date:{day:null,year:null,month:null},category:null},{name:"Ascendance Night",description:`Norgorber
Day marking the apotheosis of the Reaper of Reputation.`,id:"824567",note:null,date:{day:2,year:null,month:4},category:null},{name:"Azvadeva Dejal",description:`Gruhastha
Celebration of the revelation of the Azvadeva Pujila, with gifts of books, celebrations of knowledge, blessing of animals, and a vegetarian feast.`,id:"824568",note:null,date:{day:3,year:null,month:4},category:null},{name:"Goblin Flea Market",description:`Andoran
A market day that focuses on unusual crafts and offers games to children who dress up for the occasion.`,id:"824569",note:null,date:{day:null,year:null,month:null},category:null},{name:"Breaching Festival",description:`Korvosa
Yearly festival in which contestants try to break through the magical wards protecting the Academae.`,id:"824570",note:null,date:{day:null,year:null,month:4},category:null},{name:"Silverglazer Sunday",description:`Andoran
Silverglazer Sunday is a two-part Andoren national festival that is held on the last Sunday of Arodus and the first Sunday of Rova every year. Celebrants spend the two Sundays fishing, holding swimming competitions, and making enormous puppets.`,id:"824571",note:null,date:{day:null,year:null,month:null},category:null},{name:"Batul al-Alim",description:`Qadira
Batul al-Alim is a holiday celebrated on the last Oathday of Calistril in Qadira. It commemorates the birthday of the popular romantic poet of the same name.`,id:"824572",note:null,date:{day:null,year:null,month:1},category:null}],id:null,categories:[{name:"Natural Events",id:"natural-events",color:"#2E7D32"},{name:"Religious Holidays",id:"religious-holidays",color:"#9b2c2c"},{name:"Secular Holidays",id:"secular-holidays",color:"#0D47A1"},{name:"Historical Events",id:"historical-events",color:"#455A64"},{name:"Miscellaneous Events",id:"miscellaneous-events",color:"#0288D1"}]},{name:"Calendar of Galifar",description:"Calendar of the world of Eberron.",autoParse:!1,path:"/",supportTimelines:!1,syncTimelines:!1,timelineTag:"#timeline",static:{displayDayNumber:!1,firstWeekDay:0,incrementDay:!1,displayMoons:!0,overflow:!1,weekdays:[{type:"day",name:"Sul",id:"ID_598a7bd9b8b9"},{type:"day",name:"Mol",id:"ID_69088ac8f818"},{type:"day",name:"Zol",id:"ID_a8c85a98f8fa"},{type:"day",name:"Wir",id:"ID_fa4b687aaba9"},{type:"day",name:"Zor",id:"ID_58e9a82a6bc8"},{type:"day",name:"Far",id:"ID_9a18cb889ada"},{type:"day",name:"Sar",id:"ID_3b9bfa38c979"}],months:[{name:"Zarantyr",type:"month",length:28,id:"ID_7a8afb09aa6a"},{name:"Olarune",type:"month",length:28,id:"ID_386b188b2a89"},{name:"Therendor",type:"month",length:28,id:"ID_599a0ad859c8"},{name:"Eyre",type:"month",length:28,id:"ID_98a95869e90b"},{name:"Dravago",type:"month",length:28,id:"ID_eb5a194bcbf8"},{name:"Nymm",type:"month",length:28,id:"ID_bb596aa9ca5b"},{name:"Lharvion",type:"month",length:28,id:"ID_fb1bb9dabb88"},{name:"Barrakas",type:"month",length:28,id:"ID_8bcb19c8f90a"},{name:"Rhaan",type:"month",length:28,id:"ID_0a09eb5b7b9b"},{name:"Sypheros",type:"month",length:28,id:"ID_3b98ab1a29e8"},{name:"Aryth",type:"month",length:28,id:"ID_899b59faaba9"},{name:"Vult",type:"month",length:28,id:"ID_8a286b78aac9"}],moons:[{name:"Nymm",cycle:28,offset:-14,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_a8b88988a94a"},{name:"Sypheros",cycle:35,offset:-11,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_5ba80b4b096a"},{name:"Therendor",cycle:42,offset:21,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_c999085a499b"},{name:"Rhaan",cycle:49,offset:9,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_39f91ab8a85a"},{name:"Olarune",cycle:56,offset:27,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_2ada8b99788b"},{name:"Eyre",cycle:63,offset:10,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_49285b79d988"},{name:"Vult",cycle:70,offset:6,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_eaebb94a9acb"},{name:"Zarantyr",cycle:77,offset:31,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_98d86aabcbb9"},{name:"Aryth",cycle:84,offset:41,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_d989b809d97b"},{name:"Dravago",cycle:91,offset:31,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_1a293959eaab"},{name:"Lharvion",cycle:98,offset:34,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_cbf919491a5b"},{name:"Barrakas",cycle:105,offset:-11,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_4a1a2a6b589b"}],leapDays:[],eras:[]},current:{year:998,day:1,month:0},events:[{name:"The Tain Gala - Sharn",description:"The Tain Gala is a notable event held on the first Far of each month in Sharn.",id:"824461",note:null,date:{day:null,year:null,month:null},category:null},{name:"Revelation Day - Blood of Vol",description:"Meditation ceremony for Seekers (also called Ascension Day).",id:"824462",note:null,date:{day:13,year:null,month:0},category:null},{name:"Winter Solstice",description:"The longest night of the year.",id:"824463",note:null,date:{day:14,year:null,month:0},category:null},{name:"Rebirth Eve - The Silver Flame",description:"The Purified new year; a night for spiritual vigil and guarding against evil. ",id:"824464",note:null,date:{day:14,year:null,month:0},category:null},{name:"Crystalfall - Sharn",description:"A day of remembrance; Ice sculptures are created (and destroyed) to commemorate the destruction of the Glass Tower on 9 Olarune in 918 by abjurers. ",id:"824465",note:null,date:{day:9,year:998,m
`,id:"824472",note:null,date:{day:26,year:null,month:4},category:null},{name:"Promisetide - The Silver Flame",description:"A controversial holiday outside of the Silver Flame faith, on this day the Purified honor the Silver Flame for the promise of paradise. They also honor (without worship) the Sovereign Host for having created the world, before stepping aside to allow the Flame its rightful place as the last god of Eberron.\xA0 ",id:"824473",note:null,date:{day:28,year:null,month:4},category:null},{name:"Brightblade - Sharn and The Sovereign Host",description:`This Sovereign Host festival, dedicated to Dol Dorn, is marked by gladiatorial and athletic contests.
In Sharn, festival celebrations occur throughout the temple districts with events culminating in a combined contest of champions at the Cornerstone Arena. `,id:"824474",note:null,date:{day:12,year:null,month:5},category:null},{name:"First Dawn - The Silver Flame",description:"On this day in 914, the Church of the Silver Flame officially assumed control of the government of Thrane. On each anniversary, the Purified give thanks for their just rule, while also honoring the memory of King Thalin, whose death paved the way for their governance.",id:"824475",note:null,date:{day:21,year:915,month:5},category:null},{name:"Silvertide - The Silver Flame",description:"Commemoration of both the couatl sacrifice and the entry, thousands of years ago, of the Silver Flame into Eberron mark this highest of holy days. The vast majority of Purified spend this day in prayer and observance.\xA0 ",id:"824476",note:null,date:{day:14,year:null,month:6},category:null},{name:"The Race of Eight Winds - Sharn",description:`Legend tells of King Galifar II's fascination with aerial scouts and cavalry. The evolution of this annual contest took centuries, but has given Sharn an exotic and well anticipated event involving beasts and their riders in a symbiotic quest for glory* over a course that finds them weaving through the spires of the city.
*the winner also receives 500gp and a land grant located elsewhere in Breland.`,id:"824477",note:null,date:{day:21,year:201,month:6},category:null},{name:"The Hunt - Sharn and The Sovereign Host",description:`The Sovereign Host celebrate Balinor with communal hunts of dangerous creatures.
In Sharn, a dangerous beast*, whose transport to the city was arranged by the priests of Balinor, is released into the Depths of the Lower-City. Open to any who would participate (and pay an entry fee in the form of a 5gp donation), the victor must return with the beast's head to receive a 500gp purse, local fame, and the blessing of Balinor.
*often a singular beast, it can be several - which then requires the victor to return with the most skins. `,id:"824478",note:null,date:{day:4,year:null,month:7},category:null},{name:"Victory Day - The Silver Flame",description:"Commemorating the conclusion of the lycanthropic purge (832 YK - 880 YK), on Victory Day the adult faithful of the Silver Flame attend sermons on triumph, defeat, and the somewhat questionable methods utilized by the templars during the purge - while the children of the faithful act out great battles with toy swords. ",id:"824479",note:null,date:{day:9,year:881,month:7},category:null},{name:"Fathen's Fall - Sharn",description:"Honoring the memory of Fathen, a great hero of the Silver Crusade (832 YK - 880 YK), who, in the last days of the purge, was torn apart by wererats on the streets of North Market. Faithful gather on this day at the Shrine of Fathen the Martyr to listen to a sermon from the priest of High Hope. This holiday is often uncomfortable and tense for shifter communities in Sharn. ",id:"824480",note:null,date:{day:25,year:881,month:7},category:null},{name:"Boldrei's Feast - Sharn and The Sovereign Host",description:`A feast of community in the name of Boldrei, extravagant parties are often held on this holiday and it has also become the traditional day for elections.
In Sharn, a great feast is held at the Pavilion of the Host with goods and services donated\xA0 from local merchants, as well as House Ghallanda. Many grand parties, some quite astonishing in their opulence, are hosted by the wealthiest members of varying districts - often in competition with one another for social standing. `,id:"824481",note:null,date:{day:9,year:null,month:8},category:null},{name:"The Ascension - Sharn",description:"Each year on The Ascension, followers reaffirm their faith and give thanks as well as attend blessing ceremonies at temples throughout the city - the grandest of which occurs at the Cathedral of the Cleansing Flame. All of this is to honor the sacrifice of Tira Miron, the Voice of the Flame, without which there would be no Church of the Silver Flame. Contributions to their community on this day are a high priority for the faithful.",id:"824482",note:null,date:{day:1,year:null,month:9},category:null},{name:"Wildnight - Sharn",description:"With the The Fury (the Sovereign of Passion and Madness) reaching the height of her power on this night, people find it difficult to control or restrain their impulses - once the sun sets, public revelry in the streets climbs to joyous or, all too often, dangerous levels, calming only as the sun rises on the following morning. ",id:"824483",note:null,date:{day:18,year:null,month:9},category:null},{name:"Saint Voltros's Day - The Silver Flame",description:"Though one of the least high holy days, it is marked by brief prayers and church services in the honor of the birth of Saint Voltros - the first paladin called to only serve the Silver Flame.",id:"824484",note:null,date:{day:25,year:null,month:9},category:null},{name:"Thronehold - Sharn",description:"On this day in 996, the Treaty of Thronehold was signed, formally ending the Last War. Annual celebratory feasts are held throughout the Five Nations to mark this auspicious and long-awaited event. ",id:"824485",note:null,date:{day:11,year:997,month:10},category:null},{name:"Rampartide - The Silver Flame",description:"In accordance with scripture, on this day the Purified steel themselves against wickedness, both without and within, through repentance and fasting. Children, elderly, and the sick are required only to give up their favorite foods for the day. ",id:"824486",note:null,date:{day:24,year:null,month:10},category:null},{name:"Long Shadows - Sharn",description:"As dark magic dominates over these three days of the Long Shadows, the myth of Sovereign Lord Aureon's stolen shadow is forefront in the minds of the people. Most will spend these days indoors huddled around the warmth of a fire, but those few who worship the dark deity use this time to prey upon the weak and the foolish. ",id:"824487",note:null,date:{day:26,year:null,month:11},category:null},{name:"Khybersef - The Silver Flame",description:`Originally called Khyber's Eve, the Purified spend the night in intense prayer and spiritual vigilance against the, according to scripture, "thinning of the bonds that hold the demon lords in Khyber" between now (the beginning of winter) and the solstice. Quests and crusades often begin on Khybersef. `,id:"824488",note:null,date:{day:27,year:null,month:11},category:null},{name:"Spring Equinox",description:"The spring equinox is when the day and the night are equally as long, and are getting longer.",id:"824489",note:null,date:{day:null,year:null,month:null},category:null},{name:"Summer Solstice",description:" At the summer solstice, the Sun travels the longest path through the sky, and that day therefore has the most daylight.",id:"824490",note:null,date:{day:null,year:null,month:null},category:null},{name:"Autumn Equinox",description:"The autumn equinox is when the day and the night are equally as long, and are getting shorter.",id:"824491",note:null,date:{day:null,year:null,month:null},category:null}],id:null,categories:[]},{name:"Barovian Calendar",description:"Calendar of the realm of Barovia, home of Strahd.",autoParse:!1,path:"/",supportTimelines:!1,syncTimelines:!1,timelineTag:"#timeline",static:{di
sunrise and sunset. Many western cultures consider it the official start
of summer.`,id:"824456",note:null,date:{day:null,year:null,month:null},category:"natural-event"},{name:"Spring Equinox",description:`The Spring Equinox,
also called the Vernal Equinox, is the day between the winter and
summer solstices where the day is the exact same length as the night.
Many western cultures consider it the official start of Spring.
`,id:"824457",note:null,date:{day:null,year:null,month:null},category:"natural-event"},{name:"Autumnal Equinox",description:`The Autumnal Equinox,
also called the Fall Equinox, is the midpoint between the summer and
winter solstices, where the day is the exact same length as the night.
Many western cultures consider it the official start of Autumn.
`,id:"824458",note:null,date:{day:null,year:null,month:null},category:null},{name:"New Year's Day",description:"New Year's day marks the start of a new year.",id:"824459",note:null,date:{day:1,year:null,month:null},category:null},{name:"Paschal Full Moon",description:"The first full moon after march 21st, which is considered the fixed date for the spring equinox.",id:"824460",note:null,date:{day:null,year:null,month:null},category:"natural-event"}],id:null,categories:[{name:"Natural Event",id:"natural-event",color:"#9e9d24"}]},{name:"Exandrian Calendar",description:"Calendar of the world of Wildemount.",autoParse:!1,path:"/",supportTimelines:!1,syncTimelines:!1,timelineTag:"#timeline",static:{displayDayNumber:!1,firstWeekDay:2,incrementDay:!1,displayMoons:!0,overflow:!0,weekdays:[{type:"day",name:"Miresen",id:"ID_3b38aaa81bca"},{type:"day",name:"Grissen",id:"ID_da6b19882baa"},{type:"day",name:"Whelsen",id:"ID_a9cae8f88b98"},{type:"day",name:"Conthsen",id:"ID_e87859eb5aaa"},{type:"day",name:"Folsen",id:"ID_59180abbea8a"},{type:"day",name:"Yulisen",id:"ID_98082bd8d8ca"},{type:"day",name:"Da'leysen",id:"ID_da4ba92b299a"}],months:[{name:"Horisal",type:"month",length:29,id:"ID_e89a4ab9995b"},{name:"Misuthar",type:"month",length:30,id:"ID_18b8894bab7b"},{name:"Dualahei",type:"month",length:30,id:"ID_0a9b29f8f8db"},{name:"Thunsheer",type:"month",length:31,id:"ID_6a8a8a5bea5b"},{name:"Unndilar",type:"month",length:28,id:"ID_b8295bdbcafa"},{name:"Brussendar",type:"month",length:31,id:"ID_c92a489bb909"},{name:"Sydenstar",type:"month",length:32,id:"ID_7b48bb1b0a4a"},{name:"Fessuran",type:"month",length:29,id:"ID_289858c97849"},{name:"Quen'pillar",type:"month",length:27,id:"ID_f8abd9a86aa9"},{name:"Cuersaar",type:"month",length:29,id:"ID_7aba59fa2b69"},{name:"Duscar",type:"month",length:32,id:"ID_5819f86b99cb"}],moons:[{name:"Catha",cycle:33,offset:7,faceColor:"#ffffff",shadowColor:"#292b4a",id:"ID_0ab929092b5b"},{name:"Ruidus",cycle:328,offset:80,faceColor:"#ff6161",shadowColor:"#1f1f1f",id:"ID_b9783ac818e9"}],leapDays:[],eras:[{name:"The Founding",format:"Year {{year}} - {{era_name}}",start:{year:1,month:0,day:1},id:"ID_cb9baaabab7a",restart:!1,endsYear:!1,event:!1},{name:"Age of Arcanum",format:"Year {{year}} - {{era_name}}",start:{year:-1500,month:0,day:1},id:"ID_499b3ae8c868",restart:!1,endsYear:!1,event:!1},{name:"The Calamity",format:"Year {{year}} - {{era_name}}",start:{year:-665,month:0,day:1},id:"ID_7ac8c9590999",restart:!1,endsYear:!1,event:!1},{name:"Post-Divergence",format:"Year {{year}} P.D.",start:{year:1,month:0,day:1},id:"ID_58aad97ac84b",restart:!1,endsYear:!1,event:!1}]},current:{day:1,month:0,year:836},events:[{name:"Spring Equinox",description:"The spring equinox is when the day and the night are equally as long, and are getting longer.",id:"824430",note:null,date:{day:null,year:null,month:null},category:null},{name:"Summer Solstice",description:" At the summer solstice, the Sun travels the longest path through the sky, and that day therefore has the most daylight.",id:"824431",note:null,date:{day:null,year:null,month:null},category:null},{name:"Autumn Equinox",description:"The autumn equinox is when the day and the night are equally as long, and are getting shorter.",id:"824432",note:null,date:{day:null,year:null,month:null},category:null},{name:"Winter Solstice",description:"The winter solstice marks the shortest day and longest night of the year, when the sun is at its lowest arc in the sky.",id:"824433",note:null,date:{day:null,year:null,month:null},category:null},{name:"New Dawn",description:`The first day of the new year is also the holy day of the Changebringer, as the old year gives way to a new path.
In Tal'Dorei, Emon celebrates New Dawn with a grand midnight feast, which commonly features a short play celebrating the changes witnessed in the past year.
On the Menagerie Coast, people celebrate by having a feast on the shore at dusk to watch the sunset. They feast and discuss their hopes for the new year until the sun rises.`,id:"824434",note:null,date:{day:1,year:null,month:0},category:"religious-holidays"},{name:"Hillsgold",description:"This holiday is up to the calendar owner to decide what it is for! :)",id:"824435",note:null,date:{day:27,year:null,month:0},category:"secular-holidays"},{name:"Day of Challenging",description:`The holy day of the Stormlord is one of the most raucous holidays in Emon. Thousands of spectators attend the annual Godsbrawl, which is held in the fighting ring within the Temple of the Stormlord. The people root for their deity's favored champion, and there is a fierce (yet friendly) rivalry between the Champion of the Stormlord and the Champion of the Platinum Dragon. The winner earns the title of "Supreme Champion" for an entire year.
The Day of Challenging is one of the most raucous holidays in Port Damali, and thousands of spectators attend the annual Godsbrawl held in the Temple of\xA0Kord to root for their favored deity's champion, particularly the chosen champions of the Storm Lord and the\xA0All-Hammer.\xA0`,id:"824436",note:null,date:{day:7,year:null,month:1},category:"religious-holidays"},{name:"Renewal Festival",description:"Spring begins early in the month of Dualahei, officially starting on the 13th with the Renewal Festival.",id:"824437",note:null,date:{day:13,year:null,month:2},category:"secular-holidays"},{name:"Wild's Grandeur",description:`Though the Archeart is the god of spring, the peak of the spring season is the holy day of the Wildmother.
The people in the southern wilds of Tal'Dorei celebrate the Wildmother's strength by journeying to a place of great natural beauty. This could be the top of a mountainous waterfall, the center of a desert, or even an old and peaceful city park (such as Azalea Street Park in Emon). Though Emon rarely celebrates Wild's Grandeur, the few who do will plant trees in observance of the holiday.
The people of the Menagerie Coast set aside this day to sail for no reason other than the pleasure of observing the natural beauty of their surroundings. Those who still partake in elements of Ki'Nau culture take this day to appreciate the fruits and foods granted by the sea, leaving offerings of delicacies and small handmade crafts at temporary altars of twisted roots and grasses.`,id:"824438",note:null,date:{day:20,year:null,month:2},category:"religious-holidays"},{name:"Harvest's Rise",description:"This holiday is up to the calendar owner to decide what it is for! :)",id:"824439",note:null,date:{day:11,year:null,month:3},category:"secular-holidays"},{name:"Merryfrond's Day",description:"This holiday is up to the calendar owner to decide what it is for! :)",id:"824440",note:null,date:{day:31,year:null,month:3},category:"secular-holidays"},{name:"Deep Solace",description:`Moradin's holy day is Deep Solace, which is celebrated on the eighteenth day of the fifth month. Especially devout followers of the All-Hammer spend the day in isolation, meditating on the meaning of family and how they may be better mothers, fathers, siblings, and children.
The dwarven communities across Exandria, such as the ones in Grimgolir and Kraghammer, celebrate with a full day of feasting and drinking.\xA0`,id:"824441",note:null,date:{day:18,year:null,month:4},category:"religious-holidays"},{name:"Zenith",description:"Summer begins in the middle of Unndilar, officially starting at noon on the 26th day known as the Zenith.",id:"824442",note:null,date:{day:26,year:null,month:4},category:"secular-holidays"},{name:"Artisan's Faire",description:"This holiday is up to the calendar owner to decide what it is for! :)",id:"824443",note:null,date:{day:15,year:null,month:5},category:"secular-holidays"},{name:"Elvendawn",description:`Corellon's holy day is called Elvendawn,
or Midsummer. It is celebrated on the twentieth day
of the sixth month, and commemorates the elves' first
emergence from the Feywild.
In Syngorn, the Elves open small doorways into the Feywild and celebrate alongside the wild fey with uncharacteristic vigor.
Though the Dwendalian
Empire doesn't promote the worship of the Arch Heart,
the elves of Bysaes Tyl quietly celebrate in private by
opening small doors to the Feywild and having a little
more wine than usual.\xA0`,id:"824444",note:null,date:{day:20,year:null,month:5},category:"religious-holidays"},{name:"Highsummer",description:`The holy day of the Dawnfather is the peak of the summer season.
Emon celebrates with an entire week of gift-giving and feasting, ending at midnight on the 21st of Sydenstar (the anniversary of the Battle of the Umbra Hills, where Zan Tal'Dorei dethroned Trist Drassig).
Whitestone (where the Dawnfather is the city's patron god) celebrates with gift-giving and a festival of lights around the Sun Tree. Due to the Briarwood occupation, money is thin, so most Whitestone folk choose to recount the small things they are thankful for, rather than buy gifts.
While other parts of Exandria feast, the Dwendalian
Empire uses this day as an opportunity to enlist more
soldiers in its army. The military holds great feasts and
hands out toy soldiers and other propaganda, encouraging people to enlist and help fight against the evil that
threatens the king.\xA0`,id:"824445",note:null,date:{day:7,year:null,month:6},category:"religious-holidays"},{name:"Morn of Largesse",description:"This holiday is up to the calendar owner to decide what it is for! :)",id:"824446",note:null,date:{day:14,year:null,month:6},category:"secular-holidays"},{name:"Harvest's Close",description:"Autumn begins on the 3rd of Fessuran\xA0and is typically celebrated with feasting in rural regions and with carnivals in the cities.\xA0",id:"824447",note:null,date:{day:3,year:null,month:7},category:"secular-holidays"},{name:"The Hazel Festival",description:"This holiday is up to the calendar owner to decide what it is for! :)",id:"824448",note:null,date:{day:12,year:null,month:8},category:"secular-holidays"},{name:"Civilization's Dawn",description:`The Law Bearer's holy day is Civilization's
Dawn, which is celebrated on the autumnal equinox,
usually the twenty-second day of the ninth month.
Emon celebrates with a great bonfire in the square of each neighborhood, around which each community dances and gives gifts.
In the
Dwendalian Empire, people celebrate by having feasts
in honor of the laws of the Dwendal bloodline. One seat
at every table is left open for the king, who eats in spirit
with the people he rules.\xA0`,id:"824449",note:null,date:{day:22,year:null,month:8},category:"religious-holidays"},{name:"Night of Ascension",description:`The Raven Queen's holy day is called the Night of Ascension, celebrating her apotheosis. The actual date of the her rise to divinity is unclear, but the Night of Ascension is celebrated on the thirteenth day of the tenth month.
Though most in Emon see this celebration of the dead as unnerving and macabre, the followers of the Matron of Ravens believe that the honored dead would prefer to be venerated with cheer, not misery.
What was once a night of cheery celebration of the dead in the Dwendalian Empire has recently become an occasion to burn effigies and decry the Kryn Dynasty for their unnatural relationship with death.`,id:"824450",note:null,date:{day:13,year:null,month:9},category:"religious-holidays"},{name:"Zan's Cup",description:"This holiday is up to the calendar owner to decide what it is for! :)",id:"824451",note:null,date:{day:21,year:null,month:9},category:"secular-holidays"},{name:"Barren Eve",description:"Winter begins on the 2nd day of Duscar, the Barren Eve, which is a nighttime celebration and remembrance of those who fell in battle.",id:"824452",note:null,date:{day:2,year:null,month:10},category:"secular-holidays"},{name:"Embertide",description:"Bahamut's holy day is called Embertide,\xA0and is celebrated on the fifth day of Duscar. This is a day\xA0of remembrance, solemnity, and respect for those who\xA0have fallen in the defense of others.",id:"824453",note:null,date:{day:5,year:null,month:10},category:"religious-holidays"},{name:"Winter's Crest",description:`This day celebrates the freedom of Tal'Dorei from Errevon the Rimelord. It is the peak of the winter season, so devout followers of the Matron of Ravens (as the goddess of winter) consider it to be one of her holy days.
However, in most of the land, people see Winter's Crest as a secular holiday, often celebrated with omnipresent music in public areas, lavish gift-giving to relatives and loved ones, and the cutting and decorating of trees placed indoors. The Sun Tree in Whitestone is often decorated with lights and other baubles for Winter's Crest.`,id:"824454",note:null,date:{day:20,year:null,month:10},category:"secular-holidays"}],id:null,categories:[{name:"Religious Holidays",id:"religious-holidays",color:"#0D47A1"},{name:"Secular Holidays",id:"secular-holidays",color:"#4A148C"}]},{name:"Calendar of Harptos",description:"Calendar of Faer\xFBn of the Forgotten Realms.",autoParse:!1,path:"/",supportTimelines:!1,syncTimelines:!1,timelineTag:"#timeline",static:{displayDayNumber:!1,firstWeekDay:0,incrementDay:!1,displayMoons:!0,overflow:!1,weekdays:[{type:"day",name:"I",id:"ID_9999882bb94a"},{type:"day",name:"II",id:"ID_8a0b4b79d888"},{type:"day",name:"III",id:"ID_da483aca8bf9"},{type:"day",name:"IV",id:"ID_a8fbea39cac8"},{type:"day",name:"V",id:"ID_9b19d9787b0b"},{type:"day",name:"VI",id:"ID_382a590a8a28"},{type:"day",name:"VII",id:"ID_fbca0ab80afb"},{type:"day",name:"VIII",id:"ID_ca093bca5ad9"},{type:"day",name:"IX",id:"ID_d95b39098bf8"},{type:"day",name:"X",id:"ID_389bfb5858db"}],months:[{name:"Hammer (Deepwinter)",type:"month",length:30,id:"ID_cbeb4b190b6a"},{name:"Midwinter",type:"intercalary",length:1,id:"ID_89bad9089b7b"},{name:"Alturiak (The Claw of Winter)",type:"month",length:30,id:"ID_6a08a8aacb7b"},{name:"Ches (The Claw of the Sunsets)",type:"month",length:30,id:"ID_db2a7bf97afa"},{name:"Tarsakh (The Claw of Storms)",type:"month",length:30,id:"ID_6b48982b0bda"},{name:"Greengrass",type:"intercalary",length:1,id:"ID_08790af92809"},{name:"Mirtul (The Melting)",type:"month",length:30,id:"ID_b91b39f95a28"},{name:"Kythorn (The Time of Flowers)",type:"month",length:30,id:"ID_f8e9585a2bf8"},{name:"Flamerule (Summertide)",type:"month",length:30,id:"ID_fa895bdb38e9"},{name:"Midsummer",type:"intercalary",length:1,id:"ID_a9181b5a683a"},{name:"Eleasis (Highsun)",type:"month",length:30,id:"ID_1b1b1b287b0a"},{name:"Eleint (The Fading)",type:"month",length:30,id:"ID_1aca5918993a"},{name:"Highharvestide",type:"intercalary",length:1,id:"ID_a94a183b4b88"},{name:"Marpenoth (Leaffall)",type:"month",length:30,id:"ID_58d97969eb79"},{name:"Uktar (The Rotting)",type:"month",length:30,id:"ID_4b090b787b18"},{name:"The Feast of the Moon",type:"intercalary",length:1,id:"ID_1b0ae8dbdb4a"},{name:"Nightal (The Drawing Down)",type:"month",length:30,id:"ID_abb82afab80a"}],moons:[{name:"Sel\xFAne",cycle:30.4375,offset:13.9,faceColor:"#ffffff",shadowColor:"#000000",id:"ID_48ea2a69a888"}],leapDays:[{name:"Shieldsmeet",type:"leapday",interval:[{ignore:!1,exclusive:!1,interval:4}],offset:0,timespan:9,intercalary:!1,id:"ID_5b08faa88ada"}],eras:[]},current:{year:1491,day:1,month:0},events:[{name:"Winter Solstice",description:null,id:"824588",note:null,date:{day:null,year:null,month:null},category:"natural-events"},{name:"Vernal Equinox",description:null,id:"824589",note:null,date:{day:null,year:null,month:null},category:"natural-events"},{name:"Summer Solstice",description:null,id:"824590",note:null,date:{day:null,year:null,month:null},category:"natural-events"},{name:"Autumnal Equinox",description:null,id:"824591",note:null,date:{day:null,year:null,month:null},category:"natural-events"},{name:"Shieldmeet",description:`Shieldmeet was the equivalent of a leap year day in the Calendar of Harptos, occurring once every four years, adding a day after the festival of Midsummer and before Eleasis 1. Traditionally the day was used for fairs, bazaars, musical and theatrical performances, and tournaments of skill and magical ability. Nobles usually held court to hear the petitions of their people and to make or renew trade pacts, alliances, and agreements. Shieldmeet was known as Cinnaelos'Cor (also seen as Cinnaeloscor), "the Day of Corellon's Peace" in elvish and marked the end of an aeloulaev and the beginning of a new one in the elven Aryselmalyn calendar.`,id:"824592",no
The day traditionally marked the onset of winter. It was also a time to celebrate and honor the ancestors and the respected dead. On this day, folk blessed their ancestors' graves and performed the Ritual of Remembrance. People also gathered to tell stories of the deeds of their ancestors and of the gods until deep into the night, until they merged and became legend. This was a time to hear of past heroes, great treasures, and lost cities.
In Faer\xC3\u0192\xC2\xBBn, battles were typically fought between harvest-time and the coming of winter. This meant that most of the fighting usually occurred in the month of Uktar. The timing of the Feast of the Moon\xC3\xA2\xE2\u201A\xAC\xE2\u20ACafter recently slain soldiers had joined the ranks of the dead\xC3\xA2\xE2\u201A\xAC\xE2\u20ACwas thus practical, if sadly ironic.
The Heralds of Faer\xC3\u0192\xC2\xBBn had a number of special duties on the Feast of the Moon. Prime among these was to perform the Bloodsong ceremony, at which a Herald publicly recited the genealogies of each noble family in the area. In this way, the Heralds reaffirmed a noble family's traditional authority and status, as well as the respect accorded to them.
Priests of a number of deities of various pantheons held rites, ceremonies, and festivals on the Feast of the Moon. Many, though not all, focused on remembering the dead in one way or another.`,id:"824593",note:null,date:{day:1,year:null,month:15},category:"festivals"},{name:"Highharvesttide",description:`Highharvestide was an annual festival in the Calendar of Harptos, taking place between 30 Eleint and 1 Marpenoth. It was traditionally a feast to celebrate the harvest and the abundance of food, but also the time when those wishing to travel left on their journeys before winter set in.
Preparations for the feast started as early as a tenday before, while preparing, cooking, and preserving the harvest for the cold winter months. Traditions varied from community to community, but examples of festive activity included food-related contests; races and challenges of skill and strength; receiving homemade sweets from the local clergy; and priests blessing larders, wine cellars, grain bins, and food preserves.
This day was often an important anniversary to various governments. Often, taxes and tithes came due, rulers held "open courts" to hear the concerns of their citizens, oaths were publicly renewed, troops received marching orders to new duty stations, and guilds met to confer on prices and rate changes for goods and services.
According to tradition, dwarves only drank water and elves drank only dew on this day. However, these traditions began to fade in the 14th and 15th century DR.
It was said that children born on this day were favored by Tymora to have lifelong good luck but be smitten with wanderlust. Another legend was that human females born on this day had control over their reproductive system (i.e., got pregnant only when they wanted to) by force of will alone, and that they could instantly sense when they had been poisoned, either by ingestion or being bitten by a venomous creature for example.`,id:"824594",note:null,date:{day:1,year:null,month:12},category:"festivals"},{name:"Greengrass",description:"Greengrass was a festival to welcome in the first day of spring in the Calendar of Harptos. It occured annually on a special day between Tarsakh 30 and Mirtul 1. Traditionally, the wealthier people brought out flowers to give to the less wealthy, who either wore them or spread them on the ground to encourage the deities to usher in the summer.",id:"824595",note:null,date:{day:1,year:null,month:5},category:"festivals"},{name:"Midwinter",description:`Midwinter (also known as Deadwinter Day) was a festival to mark the midpoint of winter in the Calendar of Harptos. It occured on a special day between Hammer 30 and Alturiak 1. Amongst nobles and monarchs it was known as Midwinter and was traditionally used to make or renew alliances, although the common people called it Deadwinter Day, a reference to the cold and hard times that remained before the spring.
On Midwinter Day the Red Fellowship of the Deity known as the Red Knight observes the Retreat. This solemn ceremony consists of an assembly wherein the clergy discuss the previous year's campaigns. Strategies are discussed, battles analyzed, and the accumulated lore integrated into the church's teachings.
The holiest day of the year for the Church of Shevarash is Midwinter Night, during which the Dark Court Slaughter is remembered. Inductions into the ranks of the clergy occur at this time. Each new cleric screams vows of vengeance into the night air and swears neither to laugh nor smile until the Spider Queen and her followers are no more.`,id:"824596",note:null,date:{day:1,year:null,month:1},category:"festivals"},{name:"Midsummer",description:"Midsummer was a festival that celebrated love and music through feast. It occurred between Flamerule 30 and Eleasis 1 on the Calendar of Harptos. It was a time when love advanced, and it was said the deities themselves took a hand to ensure good weather. If bad weather was experienced on this night it was considered an extremely bad omen. Shieldmeet occurred the day after Midsummer on leap years.",id:"824597",note:null,date:{day:1,year:null,month:9},category:"festivals"}],id:null,categories:[{name:"Natural Events",id:"natural-events",color:"#2E7D32"},{name:"Festivals",id:"festivals",color:"#9b2c2c"}]}];var Fu=Ee(require("obsidian")),lt=class extends Fu.Modal{constructor(e){super(e);this.app=e;this.containerEl.addClass("fantasy-calendar-modal")}};var qo=class extends lt{async onOpen(){await this.display()}async display(){this.containerEl.addClass("fantasy-calendar-choose-preset"),this.contentEl.empty(),this.contentEl.createEl("h3",{text:"Choose a Preset Calendar"});let e=this.contentEl.createDiv("fantasy-calendar-preset-container");for(let a of xu){let r=new ar.ButtonComponent(e).onClick(()=>{this.preset=a,this.display()});this.preset==a&&r.setCta(),r.buttonEl.createDiv({cls:"setting-item-name",text:a.name}),r.buttonEl.createDiv({cls:"setting-item-description",text:a.description})}let n=this.contentEl.createDiv("fantasy-calendar-confirm-buttons");new ar.ButtonComponent(n).setButtonText("Apply").onClick(()=>{this.saved=!0,this.preset=(0,Tu.default)(this.preset),this.preset.id=Ze(6),this.close()}).setCta(),new ar.ExtraButtonComponent(n).setIcon("cross").onClick(()=>{this.close()})}};function Jr(t){let e=t-1;return e*e*e+1}function Su(t,{delay:e=0,duration:n=400,easing:a=Jr,x:r=0,y:i=0,opacity:o=0}={}){let l=getComputedStyle(t),s=+l.opacity,c=l.transform==="none"?"":l.transform,u=s*(1-o);return{delay:e,duration:n,easing:a,css:(d,m)=>`
transform: ${c} translate(${(1-d)*r}px, ${(1-d)*i}px);
opacity: ${s-u*m}`}}var ka=[];function ty(t,e){return{subscribe:pn(t,e).subscribe}}function pn(t,e=Q){let n,a=new Set;function r(l){if(le(t,l)&&(t=l,n)){let s=!ka.length;for(let c of a)c[1](),ka.push(c,t);if(s){for(let c=0;c<ka.length;c+=2)ka[c][0](ka[c+1]);ka.length=0}}}function i(l){r(l(t))}function o(l,s=Q){let c=[l,s];return a.add(c),a.size===1&&(n=e(r)||Q),l(t),()=>{a.delete(c),a.size===0&&(n(),n=null)}}return{set:r,update:i,subscribe:o}}function et(t,e,n){let a=!Array.isArray(t),r=a?[t]:t,i=e.length<2;return ty(n,o=>{let l=!1,s=[],c=0,u=Q,d=()=>{if(c)return;u();let v=e(a?s[0]:s,o);i?o(v):u=ot(v)?v:Q},m=r.map((v,h)=>ko(v,y=>{s[h]=y,c&=~(1<<h),l&&d()},()=>{c|=1<<h}));return l=!0,d(),function(){we(m),u()}})}var Bu=Ee(require("obsidian"));function gn(t){(0,Bu.setIcon)(t,"fantasy-calendar-warning")}function Nu(t){let e=[];if(t.name?.length||e.push("A calendar must have a name."),(!Da(t.current.day,t)||!_a(t.current.month,t)||!Ca(t.current.year,t))&&e.push("Specified current date is not valid."),!t.static.weekdays?.length)e.push("A calendar must have at least 1 weekday.");else{if(!t.static.weekdays?.every(n=>n.name?.length)){let n=t.static.weekdays?.filter(a=>!a.name?.length).length;n==1?e.push(`${n} weekday does not have a name.`):e.push(`${n} weekdays do not have names.`)}t.static.firstWeekDay>=(t.static.weekdays?.length??1/0)&&e.push(`Invalid first weekday selection: ${t.static.weekdays[t.static.firstWeekDay]}`)}if(!t.static.months?.length)e.push("A calendar must have at least 1 month.");else{if(!t.static.months?.every(n=>n.name?.length)){let n=t.static.months?.filter(a=>!a.name?.length).length;n==1?e.push(`${n} month does not have a name.`):e.push(`${n} months do not have names.`)}if(!t.static.months?.every(n=>n.length>0)){let n=t.static.months?.filter(a=>!(a.length>0)).length;n==1?e.push(`${n} month does not have a length.`):e.push(`${n} months do not have lengths.`)}}if(t.static.useCustomYears){if(!t.static.years?.length)e.push("Use Custom Years is on but no years have been created.");else if(!t.static.years.every(n=>n.name?.length)){let n=t.static.years.filter(a=>!a.name?.length).length;n==1?e.push(`${n} year does not have a name.`):e.push(`${n} years do not have names.`)}}return e.join(`
`)}function Ro(t,e){if(t==null)return"No day specified";if(e?.current?.month==null)return"No month selected";if(t<1||t>e?.static?.months[e.current?.month]?.length||!e?.static?.months[e.current?.month]?.length)return"Day does not exist in selected month"}function Lo(t,e){if(t==null)return"No month specified";if(!e?.static?.months?.length)return"No months exist";if(t<0||t>=e?.static?.months?.length)return"Selected month does not exist"}function Po(t,e){if(t==null)return"No year specified";if(t<1&&!e.static?.useCustomYears)return"Years start at 1";if(e?.static?.useCustomYears){if(!e?.static?.years?.length)return"No custom years exist";if(t<0||t>=e?.static?.years?.length)return"Year does not exist in custom years"}}function ny(t){be(t,"svelte-1p943ki",".fantasy-calendar-date-field-container.fantasy-calendar-date-field-container.svelte-1p943ki.svelte-1p943ki{display:flex;flex-direction:row;gap:1rem;border:0}.fantasy-calendar-date-field.svelte-1p943ki.svelte-1p943ki{display:grid;grid-auto-rows:1fr;flex:1 1 0;gap:0.5rem}.fantasy-calendar-date-field.svelte-1p943ki .setting-item-description.svelte-1p943ki{padding-top:0}.fantasy-calendar-date-field.svelte-1p943ki .invalid.svelte-1p943ki{border:1px solid var(--text-error)}.warning-container.svelte-1p943ki.svelte-1p943ki{position:relative;display:grid;align-items:center;gap:0.25rem;grid-template-columns:1fr auto}")}function Mu(t,e,n){let a=t.slice();return a[18]=e[n],a[20]=n,a}function Iu(t,e,n){let a=t.slice();return a[21]=e[n],a[20]=n,a}function Ou(t){let e,n,a,r,i,o,l=!t[0]&&qu(t);return{c(){e=B("div"),a=W(),r=B("div"),l&&l.c(),D(r,"class","setting-item-description svelte-1p943ki")},m(s,c){R(s,e,c),R(s,a,c),R(s,r,c),l&&l.m(r,null),i||(o=ue(n=gn.call(null,e)),i=!0)},p(s,c){s[0]?l&&(l.d(1),l=null):l?l.p(s,c):(l=qu(s),l.c(),l.m(r,null))},d(s){s&&q(e),s&&q(a),s&&q(r),l&&l.d(),i=!1,o()}}}function qu(t){let e=Ro(t[1].day,t[2])+"",n;return{c(){n=fe(e)},m(a,r){R(a,n,r)},p(a,r){r&6&&e!==(e=Ro(a[1].day,a[2])+"")&&ge(n,e)},d(a){a&&q(n)}}}function Ru(t){let e,n,a,r,i,o,l=!t[3]&&Lu(t);return{c(){e=B("div"),a=W(),r=B("div"),l&&l.c(),D(r,"class","setting-item-description svelte-1p943ki")},m(s,c){R(s,e,c),R(s,a,c),R(s,r,c),l&&l.m(r,null),i||(o=ue(n=gn.call(null,e)),i=!0)},p(s,c){s[3]?l&&(l.d(1),l=null):l?l.p(s,c):(l=Lu(s),l.c(),l.m(r,null))},d(s){s&&q(e),s&&q(a),s&&q(r),l&&l.d(),i=!1,o()}}}function Lu(t){let e=Lo(t[1].month,t[2])+"",n;return{c(){n=fe(e)},m(a,r){R(a,n,r)},p(a,r){r&6&&e!==(e=Lo(a[1].month,a[2])+"")&&ge(n,e)},d(a){a&&q(n)}}}function Pu(t){let e,n=t[21].name+"",a,r;return{c(){e=B("option"),a=fe(n),e.__value=r=t[20],e.value=e.__value},m(i,o){R(i,e,o),C(e,a)},p(i,o){o&16&&n!==(n=i[21].name+"")&&ge(a,n)},d(i){i&&q(e)}}}function ju(t){let e,n,a,r,i,o,l=!t[5]&&Vu(t);return{c(){e=B("div"),a=W(),r=B("div"),l&&l.c(),D(r,"class","setting-item-description svelte-1p943ki")},m(s,c){R(s,e,c),R(s,a,c),R(s,r,c),l&&l.m(r,null),i||(o=ue(n=gn.call(null,e)),i=!0)},p(s,c){s[5]?l&&(l.d(1),l=null):l?l.p(s,c):(l=Vu(s),l.c(),l.m(r,null))},d(s){s&&q(e),s&&q(a),s&&q(r),l&&l.d(),i=!1,o()}}}function Vu(t){let e=Po(t[1].year,t[2])+"",n;return{c(){n=fe(e)},m(a,r){R(a,n,r)},p(a,r){r&6&&e!==(e=Po(a[1].year,a[2])+"")&&ge(n,e)},d(a){a&&q(n)}}}function ay(t){let e,n,a;return{c(){e=B("input"),D(e,"type","number"),D(e,"spellcheck","false"),D(e,"placeholder","Year"),D(e,"class","svelte-1p943ki"),me(e,"invalid",!t[5])},m(r,i){R(r,e,i),Dt(e,t[1].year),n||(a=re(e,"input",t[17]),n=!0)},p(r,i){i&2&&ln(e.value)!==r[1].year&&Dt(e,r[1].year),i&32&&me(e,"invalid",!r[5])},d(r){r&&q(e),n=!1,a()}}}function ry(t){let e,n,a,r=t[6]?.filter(Gu),i=[];for(let o=0;o<r.length;o+=1)i[o]=Hu(Mu(t,r,o));return{c(){e=B("select");for(let o=0;o<i.length;o+=1)i[o].c();D(e,"class","dropdown svelte-1p943ki"),t[1].year===void 0&&It(()=>t[16].call(e)),me(e,"invalid",!t[5])},m(o,l){R(o,e,l);for(let s=0;s<i.length;s+=1)i[s].m(e,null);Mt(e,t[1].year),n||(a=re(e,"change",t[16]),n=!0)},p(o,l){if(l&64){r=o[6]?.filter(Gu);let s;for(s=0;s<r.length;s+=1){let c=Mu(o,r,s);i[s]?i[s].p(c,l):(i[s]=Hu(c),i[s].c(),i[s].m(e,null))}for(;s<i.length;s+=1)i[s].d(1);i.len
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dv(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function as(t,e){var n;if(typeof Symbol=="undefined"||t[Symbol.iterator]==null){if(Array.isArray(t)||(n=ts(t))||e&&t&&typeof t.length=="number"){n&&(t=n);var a=0,r=function(){};return{s:r,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(s){throw s},f:r}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,o=!1,l;return{s:function(){n=t[Symbol.iterator]()},n:function(){var s=n.next();return i=s.done,s},e:function(s){o=!0,l=s},f:function(){try{!i&&n.return!=null&&n.return()}finally{if(o)throw l}}}}var _v="finalize",Cv="consider";function Sa(t,e,n){t.dispatchEvent(new CustomEvent(_v,{detail:{items:e,info:n}}))}function Rn(t,e,n){t.dispatchEvent(new CustomEvent(Cv,{detail:{items:e,info:n}}))}var ci="draggedEntered",mr="draggedLeft",di="draggedOverIndex",rs="draggedLeftDocument",fi={LEFT_FOR_ANOTHER:"leftForAnother",OUTSIDE_OF_ANY:"outsideOfAny"};function Ev(t,e,n){t.dispatchEvent(new CustomEvent(ci,{detail:{indexObj:e,draggedEl:n}}))}function Av(t,e,n){t.dispatchEvent(new CustomEvent(mr,{detail:{draggedEl:e,type:fi.LEFT_FOR_ANOTHER,theOtherDz:n}}))}function kv(t,e){t.dispatchEvent(new CustomEvent(mr,{detail:{draggedEl:e,type:fi.OUTSIDE_OF_ANY}}))}function xv(t,e,n){t.dispatchEvent(new CustomEvent(di,{detail:{indexObj:e,draggedEl:n}}))}function Fv(t){window.dispatchEvent(new CustomEvent(rs,{detail:{draggedEl:t}}))}var ut={DRAG_STARTED:"dragStarted",DRAGGED_ENTERED:ci,DRAGGED_ENTERED_ANOTHER:"dragEnteredAnother",DRAGGED_OVER_INDEX:di,DRAGGED_LEFT:mr,DRAGGED_LEFT_ALL:"draggedLeftAll",DROPPED_INTO_ZONE:"droppedIntoZone",DROPPED_INTO_ANOTHER:"droppedIntoAnother",DROPPED_OUTSIDE_OF_ANY:"droppedOutsideOfAny",DRAG_STOPPED:"dragStopped"},rt={POINTER:"pointer",KEYBOARD:"keyboard"},hi="isDndShadowItem",is="data-is-dnd-shadow-item",os="id:dnd-shadow-placeholder-0000",Tv="dnd-action-dragged-el",At="id",ss=0;function Nc(){ss++}function Mc(){if(ss===0)throw new Error("Bug! trying to decrement when there are no dropzones");ss--}var Sv=typeof window=="undefined",Be=function(){};function Ic(t){var e,n=t.getBoundingClientRect(),a=getComputedStyle(t),r=a.transform;if(r){var i,o,l,s;if(r.startsWith("matrix3d("))e=r.slice(9,-1).split(/, /),i=+e[0],o=+e[5],l=+e[12],s=+e[13];else if(r.startsWith("matrix("))e=r.slice(7,-1).split(/, /),i=+e[0],o=+e[3],l=+e[4],s=+e[5];else return n;var c=a.transformOrigin,u=n.x-l-(1-i)*parseFloat(c),d=n.y-s-(1-o)*parseFloat(c.slice(c.indexOf(" ")+1)),m=i?n.width/i:t.offsetWidth,v=o?n.height/o:t.offsetHeight;return{x:u,y:d,width:m,height:v,top:d,right:u+m,bottom:d+v,left:u}}else return n}function Oc(t){var e=Ic(t);return{top:e.top+window.scrollY,bottom:e.bottom+window.scrollY,left:e.left+window.scrollX,right:e.right+window.scrollX}}function ls(t){var e=t.getBoundingClientRect();return{top:e.top+window.scrollY,bottom:e.bottom+window.scrollY,left:e.left+window.scrollX,right:e.right+window.scrollX}}function qc(t){return{x:(t.left+t.right)/2,y:(t.top+t.bottom)/2}}function Bv(t,e){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function us(t,e){return t.y<=e.bottom&&t.y>=e.top&&t.x>=e.left&&t.x<=e.right}function pr(t){return qc(ls(t))}function Rc(t,e){var n=pr(t),a=Oc(e);return us(n,a)}function Nv(t,e){var n=pr(t),a=pr(e);return Bv(n,a)}function Mv(t){var e=ls(t);return e.right<0||e.left>document.documentElement.scrollWidth||e.bottom<0||e.top>document.documentElement.scrollHeight}function Iv(t,e){var n=ls(e);return us(t,n)?{top:t.y-n.top,bottom:n.bottom-t.y,left:t.x-n.left,right:Math.min(n.right,document.documentElement.clientWidth)-t.x}:null}var Ba;function Lc(){Be(function(){return"resetting indexes cache"}),Ba=new Map}Lc();function Ov(t){var e=Array.from(t.children).findIndex(function(n){return n.getAttribute(is)});if(e>=0)return Ba.has(t)||Ba.set(t,new Map),Ba.get(t).set(e,Oc(t.children[e])),e}function qv(t,e){if(!Rc(t,e))return null;var n=e.children;if(n.length===0)return{index:0,isProximityBased:!0};for(var a=Ov(e),r=0;r<n.length;r++)if(Rc(t,n[r])){var i=Ba.has(e)&&Ba.get(e).get(r);return i&&!us(pr(t),i)?{index:a,isProximityBased:!1}:{index:r,isProximityBased:!1}}for(var o=Number.MAX_VALUE,l=void 0,s=0;s<n.length;s++){var c=Nv(t,n[s]);c<o&&(o=c,l=s)}return{index:l,isProximityBased:!0}}var gr=25;function Pc(){var t;function e(){t={directionObj:void 0,stepPx:0}}e();function n(i){var o=t,l=o.directionObj,s=o.stepPx;l&&
<div class="setting-item-description">The day of the week the first year starts on.</div>`,u=W(),d=B("div"),m=B("select"),v=B("option"),v.textContent="Select a Weekday";for(let w=0;w<E.length;w+=1)E[w].c();D(c,"class","setting-item-info"),v.selected=!0,v.hidden=!0,v.disabled=!0,v.__value="Select a Weekday",v.value=v.__value,D(m,"class","dropdown"),D(m,"aria-label",h=t[4].filter(vd).length?null:"Named Weekday Required"),t[1]===void 0&&It(()=>t[15].call(m)),D(d,"class","setting-item-control"),D(s,"class","setting-item")},m(w,N){te(e,w,N),R(w,n,N),te(a,w,N),R(w,r,N),A[i].m(w,N),R(w,l,N),R(w,s,N),C(s,c),C(s,u),C(s,d),C(d,m),C(m,v);for(let F=0;F<E.length;F+=1)E[F].m(m,null);Mt(m,t[1]),y=!0,p||(S=[re(m,"change",t[15]),re(m,"change",t[16])],p=!0)},p(w,N){let F={};N&1&&(F.value=w[0].overflow),e.$set(F);let j=i;if(i=L(w,N),i===j?A[i].p(w,N):(De(),G(A[j],1,1,()=>{A[j]=null}),_e(),o=A[i],o?o.p(w,N):(o=A[i]=_[i](w),o.c()),P(o,1),o.m(l.parentNode,l)),N&24){k=w[4].filter(yd);let x;for(x=0;x<k.length;x+=1){let T=hd(w,k,x);E[x]?E[x].p(T,N):(E[x]=gd(T),E[x].c(),E[x].m(m,null))}for(;x<E.length;x+=1)E[x].d(1);E.length=k.length}(!y||N&16&&h!==(h=w[4].filter(vd).length?null:"Named Weekday Required"))&&D(m,"aria-label",h),N&2&&Mt(m,w[1])},i(w){y||(P(e.$$.fragment,w),P(a.$$.fragment,w),P(o),y=!0)},o(w){G(e.$$.fragment,w),G(a.$$.fragment,w),G(o),y=!1},d(w){J(e,w),w&&q(n),J(a,w),w&&q(r),A[i].d(w),w&&q(l),w&&q(s),Ge(E,w),p=!1,we(S)}}}function N0(t){let e,n;return e=new ct({props:{name:"Weekdays",warn:!t[4]?.length,label:"At least one weekday is required",desc:`${t[4].length} weekday${t[4].length!=1?"s":""}`,open:!1,$$slots:{default:[B0]},$$scope:{ctx:t}}}),{c(){ne(e.$$.fragment)},m(a,r){te(e,a,r),n=!0},p(a,[r]){let i={};r&16&&(i.warn=!a[4]?.length),r&16&&(i.desc=`${a[4].length} weekday${a[4].length!=1?"s":""}`),r&16777247&&(i.$$scope={dirty:r,ctx:a}),e.$set(i)},i(a){n||(P(e.$$.fragment,a),n=!0)},o(a){G(e.$$.fragment,a),n=!1},d(a){J(e,a)}}}var ys=300,yd=t=>t.name?.length,vd=t=>t.name?.length;function M0(t,e,n){let a,r,i,o=Ne("store"),{staticStore:l,weekdayStore:s}=o;Fe(t,l,k=>n(0,r=k)),Fe(t,s,k=>n(4,i=k));let c=r.firstWeekDay,u=k=>{(0,qa.setIcon)(k,"fantasy-calendar-grip")},d=(k,E)=>{new qa.ExtraButtonComponent(k).setIcon("trash").onClick(()=>s.delete(E.id))};function m(k){k.preventDefault(),n(2,v=!1)}let v=!1;function h(k){let{items:E,info:{source:w,trigger:N}}=k.detail;s.set(E),w===rt.KEYBOARD&&N===ut.DRAG_STOPPED&&n(2,v=!0)}function y(k){let{items:E,info:{source:w}}=k.detail;s.set(E),w===rt.POINTER&&n(2,v=!0)}let p=(k,E)=>{new qa.TextComponent(k).setValue(E.name).setPlaceholder("Name").onChange(w=>{E.name=w,s.update(E.id,E)}).inputEl.setAttr("style","width: 100%;")},S=()=>l.setProperty("overflow",!r.overflow),_=()=>s.add();function A(){c=mn(this),n(1,c)}let L=()=>{l.setProperty("firstWeekDay",c)};return t.$$.update=()=>{if(t.$$.dirty&1){e:n(3,a=r.overflow)}},[r,c,v,a,i,l,s,u,d,m,h,y,p,S,_,A,L]}var bd=class extends de{constructor(e){super();he(this,e,M0,N0,le,{},F0)}},wd=bd;var Cd=Ee(require("obsidian"));var Ei=Ee(require("obsidian"));function I0(t){be(t,"svelte-1e37bk8",".month.svelte-1e37bk8.svelte-1e37bk8{display:grid;grid-template-columns:1fr 1fr auto auto;align-items:center;justify-content:space-between;gap:1rem;width:100%}.month.svelte-1e37bk8 .icon.svelte-1e37bk8{align-items:center}")}function O0(t){let e,n,a,r,i,o,l,s,c,u,d,m,v;return{c(){e=B("div"),n=B("input"),a=W(),r=B("input"),i=W(),o=B("select"),l=B("option"),l.textContent="Month",s=B("option"),s.textContent="Intercalary",c=W(),u=B("div"),D(n,"type","text"),D(n,"spellcheck","false"),D(n,"placeholder","Name"),at(n,"width","100%"),D(r,"type","number"),D(r,"spellcheck","false"),D(r,"placeholder","Length"),at(r,"width","100%"),D(r,"min","0"),l.__value="month",l.value=l.__value,s.__value="intercalary",s.value=s.__value,D(o,"class","dropdown"),t[1]===void 0&&It(()=>t[8].call(o)),D(u,"class","icon svelte-1e37bk8"),D(e,"class","month svelte-1e37bk8")},m(h,y){R(h,e,y),C(e,n),Dt(n,t[0]),C(e,a),C(e,r),Dt(r,t[2]),C(e,i),C(e,o),C(o,l),C(o,s),Mt(o,t[1]),C(e,c),C(e,u),m||(v=[re(n,"inp
${t[3]}`:null),D(e,"width",t[2]),D(e,"height",t[2]),D(e,"viewBox","0 0 32 32")},m(c,u){R(c,e,u),C(e,n),C(e,r),C(e,o)},p(c,[u]){u&1&&a!==(a=c[0].faceColor)&&D(n,"fill",a),u&1&&i!==(i=c[0].shadowColor)&&D(r,"fill",i),u&16&&D(r,"d",c[4]),u&1&&l!==(l=c[0].id)&&D(e,"id",l),u&11&&s!==(s=c[1]?`${c[0].name}
${c[3]}`:null)&&D(e,"aria-label",s),u&4&&D(e,"width",c[2]),u&4&&D(e,"height",c[2])},i:Q,o:Q,d(c){c&&q(e)}}}function g1(t,e,n){let a,{moon:r}=e,{label:i=!0}=e,{size:o=28}=e,{phase:l}=e;return t.$$set=s=>{"moon"in s&&n(0,r=s.moon),"label"in s&&n(1,i=s.label),"size"in s&&n(2,o=s.size),"phase"in s&&n(3,l=s.phase)},t.$$.update=()=>{if(t.$$.dirty&8){e:n(4,a=rf[l])}},[r,i,o,l,a]}var sf=class extends de{constructor(e){super();he(this,e,g1,p1,le,{moon:0,label:1,size:2,phase:3})}},jn=sf;var bn=Ee(require("obsidian"));var Es=class extends lt{constructor(e,n,a){super(e);this.calendar=n;this.saved=!1;this.moon={name:null,cycle:null,offset:null,faceColor:"#fff",shadowColor:"#000",id:Ze(6)};a&&(this.moon={...a},this.editing=!0),this.containerEl.addClass("fantasy-calendar-create-moon")}async display(){this.contentEl.empty(),this.contentEl.createEl("h3",{text:this.editing?"Edit Moon":"New Moon"}),this.infoEl=this.contentEl.createDiv("moon-info"),this.buildInfo(),new bn.Setting(this.contentEl).addButton(e=>{e.setButtonText("Save").setCta().onClick(()=>{if(!this.moon.name?.length){new bn.Notice("The moon must have a name.");return}if(!this.moon.cycle){new bn.Notice("The moon must have a positive cycle.");return}this.saved=!0,this.close()})}).addExtraButton(e=>{e.setIcon("cross").setTooltip("Cancel").onClick(()=>this.close())})}buildInfo(){this.infoEl.empty(),new bn.Setting(this.infoEl).setName("Name").addText(e=>{e.setValue(this.moon.name).onChange(n=>{this.moon.name=n})}),new bn.Setting(this.infoEl).setName("Cycle").setDesc("How many days it takes for the moon to complete a full cycle.").addText(e=>{e.inputEl.setAttr("type","number"),e.setValue(`${this.moon.cycle}`).onChange(n=>{isNaN(Number(n))||(this.moon.cycle=Number(n))})}),new bn.Setting(this.infoEl).setName("Offset").setDesc("Shift the starting moon phase by a number of days.").addText(e=>{e.inputEl.setAttr("type","number"),e.setValue(`${this.moon.offset}`).onChange(n=>{isNaN(Number(n))||(this.moon.offset=Number(n))})}),new bn.Setting(this.infoEl).setName("Face Color").addText(e=>{e.inputEl.setAttr("type","color"),e.setValue(this.moon.faceColor).onChange(n=>{this.moon.faceColor=n})}),new bn.Setting(this.infoEl).setName("Shadow Color").addText(e=>{e.inputEl.setAttr("type","color"),e.setValue(this.moon.shadowColor).onChange(n=>{this.moon.shadowColor=n})})}async onOpen(){await this.display()}};function y1(t){be(t,"svelte-v24qmo",".moon.svelte-v24qmo{display:grid;grid-template-columns:1fr auto;align-items:center;justify-content:space-between;gap:1rem;margin-top:0.5rem}.setting-item-name.svelte-v24qmo{display:flex;align-items:center}.icons.svelte-v24qmo{display:flex;align-self:flex-start;justify-self:flex-end;align-items:center}.icon.svelte-v24qmo{align-items:center}")}function lf(t,e,n){let a=t.slice();return a[15]=e[n],a}function v1(t){let e,n,a=t[0],r=[];for(let o=0;o<a.length;o+=1)r[o]=cf(lf(t,a,o));let i=o=>G(r[o],1,1,()=>{r[o]=null});return{c(){e=B("div");for(let o=0;o<r.length;o+=1)r[o].c();D(e,"class","existing-items")},m(o,l){R(o,e,l);for(let s=0;s<r.length;s+=1)r[s].m(e,null);n=!0},p(o,l){if(l&385){a=o[0];let s;for(s=0;s<a.length;s+=1){let c=lf(o,a,s);r[s]?(r[s].p(c,l),P(r[s],1)):(r[s]=cf(c),r[s].c(),P(r[s],1),r[s].m(e,null))}for(De(),s=a.length;s<r.length;s+=1)i(s);_e()}},i(o){if(!n){for(let l=0;l<a.length;l+=1)P(r[l]);n=!0}},o(o){r=r.filter(Boolean);for(let l=0;l<r.length;l+=1)G(r[l]);n=!1},d(o){o&&q(e),Ge(r,o)}}}function b1(t){let e,n;return e=new Vt({props:{message:"Create a new moon to see it here."}}),{c(){ne(e.$$.fragment)},m(a,r){te(e,a,r),n=!0},p:Q,i(a){n||(P(e.$$.fragment,a),n=!0)},o(a){G(e.$$.fragment,a),n=!1},d(a){J(e,a)}}}function uf(t){let e,n,a=t[15].offset+"",r,i;return{c(){e=B("span"),n=fe(", offset: "),r=fe(a),i=fe(" days")},m(o,l){R(o,e,l),C(e,n),C(e,r),C(e,i)},p(o,l){l&1&&a!==(a=o[15].offset+"")&&ge(r,a)},d(o){o&&q(e)}}}function cf(t){let e,n,a,r,i,o=t[15].name+"",l,s,c,u,d,m,v=t[15].cycle+"",h,y,p,S,_,A,L,k,E,w,N,F,j,x;r=new jn({props:{moon:t[15],phase:"First Quarter",label:!1,size:20}});let T=t[15].offset&&uf(t);function I(){return t[12](t[15])}function U
<div class="setting-item-description">The leap day will be added to this month.</div>`,o=W(),l=B("div"),s=B("select");for(let N=0;N<E.length;N+=1)E[N].c();c=W(),ne(u.$$.fragment),d=W(),w&&w.c(),m=W(),ne(v.$$.fragment),h=W(),y=B("div"),p=B("div"),D(i,"class","setting-item-info"),D(s,"class","dropdown"),t[0].timespan===void 0&&It(()=>t[15].call(s)),D(l,"class","setting-item-control"),D(r,"class","setting-item"),D(e,"class","fantasy-calendar-nested-settings"),D(y,"class","buttons svelte-n1tx0h")},m(N,F){R(N,e,F),te(n,e,null),C(e,a),C(e,r),C(r,i),C(r,o),C(r,l),C(l,s);for(let j=0;j<E.length;j+=1)E[j].m(s,null);Mt(s,t[0].timespan),C(e,c),te(u,e,null),C(e,d),w&&w.m(e,null),R(N,m,F),te(v,N,F),R(N,h,F),R(N,y,F),C(y,p),_=!0,A||(L=[re(s,"change",t[15]),ue(S=t[10].call(null,p)),re(p,"click",t[23])],A=!0)},p(N,F){let j={};if(F[0]&1&&(j.value=N[0].name),F[0]&1&&(j.warn=!N[0].name),n.$set(j),F[0]&3){k=N[1];let I;for(I=0;I<k.length;I+=1){let U=yf(N,k,I);E[I]?E[I].p(U,F):(E[I]=vf(U),E[I].c(),E[I].m(s,null))}for(;I<E.length;I+=1)E[I].d(1);E.length=k.length}F[0]&1&&Mt(s,N[0].timespan);let x={};F[0]&1&&(x.value=N[0].intercalary),u.$set(x),N[4]?w?w.p(N,F):(w=bf(N),w.c(),w.m(e,null)):w&&(w.d(1),w=null);let T={};F[0]&1&&(T.warn=!N[0].interval.length),F[0]&5|F[1]&4&&(T.$$scope={dirty:F,ctx:N}),v.$set(T)},i(N){_||(P(n.$$.fragment,N),P(u.$$.fragment,N),P(v.$$.fragment,N),_=!0)},o(N){G(n.$$.fragment,N),G(u.$$.fragment,N),G(v.$$.fragment,N),_=!1},d(N){N&&q(e),J(n),Ge(E,N),J(u),w&&w.d(),N&&q(m),J(v,N),N&&q(h),N&&q(y),A=!1,we(L)}}}function T1(t,e,n){let a,r,i,o,l,s=Ve(),{app:c}=e,{leapDay:u}=e,{calendar:d}=e,m=x=>{let T=new xs(c,u.interval.length>0,x);T.onClose=()=>{!T.saved||!T.condition.interval||(x?u.interval.splice(u.interval.indexOf(x),1,T.condition):u.interval.push(T.condition),n(0,u))},T.open()},v=x=>{let T=[`${x.interval}`];return x.exclusive&&T.push("(Exclusive)"),x.ignore&&T.push(" - Ignoring Offset"),T.join(" ")},h=x=>{new Cr.ExtraButtonComponent(x).setIcon("pencil")},y=x=>{new Cr.ExtraButtonComponent(x).setIcon("trash")},p=x=>{new Cr.ButtonComponent(x).setButtonText("Cancel").setCta()},S=x=>n(0,u.name=x.detail,u);function _(){u.timespan=mn(this),n(0,u)}let A=x=>n(0,u.intercalary=!u.intercalary,u),L=()=>n(0,u.numbered=!u.numbered,u);function k(){u.after=mn(this),n(0,u)}let E=x=>n(0,u.offset=x.detail,u),w=()=>m(),N=x=>m(x),F=x=>n(0,u.interval=u.interval.filter(T=>T!=x),u),j=()=>s("cancel");return t.$$set=x=>{"app"in x&&n(11,c=x.app),"leapDay"in x&&n(0,u=x.leapDay),"calendar"in x&&n(12,d=x.calendar)},t.$$.update=()=>{if(t.$$.dirty[0]&1){e:n(4,a=u.intercalary)}if(t.$$.dirty[0]&4096){e:n(1,r=d.static.months)}if(t.$$.dirty[0]&3){e:n(13,i=r[u.timespan])}if(t.$$.dirty[0]&8192){e:n(3,o=i.length?[...Array(i.length).keys()].map(x=>x+1):[])}if(t.$$.dirty[0]&1){e:n(2,l=u.interval.sort((x,T)=>x.interval-T.interval))}},[u,r,l,o,a,s,m,v,h,y,p,c,d,i,S,_,A,L,k,E,w,N,F,j]}var _f=class extends de{constructor(e){super();he(this,e,T1,F1,le,{app:11,leapDay:0,calendar:12},k1,[-1,-1])}},Cf=_f;function S1(t){let e,n,a,r,i,o;return e=new kn({props:{type:"number",name:"Interval",desc:"How often the condition applies.",value:t[0].interval,warn:!t[0].interval}}),e.$on("blur",t[2]),a=new Ot({props:{disabled:!t[1],name:"Exclusive",desc:"If true, the leap day will not apply when the year meets the condition.\\n\\nRequires the leap day to have at least one non-exclusive condition.",value:t[0].exclusive}}),a.$on("click",t[3]),i=new Ot({props:{name:"Ignore Offset",desc:"The condition will ignore the leap day's offset when checking to apply.",value:t[0].ignore}}),i.$on("click",t[4]),{c(){ne(e.$$.fragment),n=W(),ne(a.$$.fragment),r=W(),ne(i.$$.fragment)},m(l,s){te(e,l,s),R(l,n,s),te(a,l,s),R(l,r,s),te(i,l,s),o=!0},p(l,[s]){let c={};s&1&&(c.value=l[0].interval),s&1&&(c.warn=!l[0].interval),e.$set(c);let u={};s&2&&(u.disabled=!l[1]),s&1&&(u.value=l[0].exclusive),a.$set(u);let d={};s&1&&(d.value=l[0].ignore),i.$set(d)},i(l){o||(P(e.$$.fragment,l),P(a.$$.fragment,l),P(i.$$.fragment,l),o=!0)},o(l){G(e.$$.fragment,l),G(a.$$.fragment,l),G(i.$$.fragment,l),o=!1},d(l){J(e
Requires the leap day to have at least one non-exclusive condition.`).addToggle(e=>e.setDisabled(!this.canBeExclusive).setValue(this.condition.exclusive).onChange(n=>this.condition.exclusive=n)),new Va.Setting(this.contentEl).setName("Ignore Offset").setDesc("The condition will ignore the leap day's offset when checking to apply.").addToggle(e=>e.setValue(this.condition.ignore).onChange(n=>this.condition.ignore=n))}};function xf(t,e,n){let a=t.slice();return a[11]=e[n],a}function N1(t){let e,n,a=t[0],r=[];for(let o=0;o<a.length;o+=1)r[o]=Ff(xf(t,a,o));let i=o=>G(r[o],1,1,()=>{r[o]=null});return{c(){e=B("div");for(let o=0;o<r.length;o+=1)r[o].c();D(e,"class","existing-items")},m(o,l){R(o,e,l);for(let s=0;s<r.length;s+=1)r[s].m(e,null);n=!0},p(o,l){if(l&41){a=o[0];let s;for(s=0;s<a.length;s+=1){let c=xf(o,a,s);r[s]?(r[s].p(c,l),P(r[s],1)):(r[s]=Ff(c),r[s].c(),P(r[s],1),r[s].m(e,null))}for(De(),s=a.length;s<r.length;s+=1)i(s);_e()}},i(o){if(!n){for(let l=0;l<a.length;l+=1)P(r[l]);n=!0}},o(o){r=r.filter(Boolean);for(let l=0;l<r.length;l+=1)G(r[l]);n=!1},d(o){o&&q(e),Ge(r,o)}}}function M1(t){let e,n;return e=new Vt({props:{message:"Create a new leap day to see it here."}}),{c(){ne(e.$$.fragment)},m(a,r){te(e,a,r),n=!0},p:Q,i(a){n||(P(e.$$.fragment,a),n=!0)},o(a){G(e.$$.fragment,a),n=!1},d(a){J(e,a)}}}function Ff(t){let e,n;function a(){return t[8](t[11])}function r(){return t[9](t[11])}return e=new mf({props:{leapday:t[11]}}),e.$on("edit",a),e.$on("delete",r),{c(){ne(e.$$.fragment)},m(i,o){te(e,i,o),n=!0},p(i,o){t=i;let l={};o&1&&(l.leapday=t[11]),e.$set(l)},i(i){n||(P(e.$$.fragment,i),n=!0)},o(i){G(e.$$.fragment,i),n=!1},d(i){J(e,i)}}}function I1(t){let e,n,a,r,i,o;e=new Bt({props:{disabled:t[1],label:t[1]?"At least one named month is required":null}}),e.$on("click",t[7]);let l=[M1,N1],s=[];function c(u,d){return u[0].length?1:0}return a=c(t,-1),r=s[a]=l[a](t),{c(){ne(e.$$.fragment),n=W(),r.c(),i=Ue()},m(u,d){te(e,u,d),R(u,n,d),s[a].m(u,d),R(u,i,d),o=!0},p(u,d){let m={};d&2&&(m.disabled=u[1]),d&2&&(m.label=u[1]?"At least one named month is required":null),e.$set(m);let v=a;a=c(u,d),a===v?s[a].p(u,d):(De(),G(s[v],1,1,()=>{s[v]=null}),_e(),r=s[a],r?r.p(u,d):(r=s[a]=l[a](u),r.c()),P(r,1),r.m(i.parentNode,i))},i(u){o||(P(e.$$.fragment,u),P(r),o=!0)},o(u){G(e.$$.fragment,u),G(r),o=!1},d(u){J(e,u),u&&q(n),s[a].d(u),u&&q(i)}}}function O1(t){let e,n;return e=new ct({props:{name:"Leap Days",open:!1,desc:`${t[0].length} leap day${t[0].length!=1?"s":""}`,$$slots:{default:[I1]},$$scope:{ctx:t}}}),{c(){ne(e.$$.fragment)},m(a,r){te(e,a,r),n=!0},p(a,[r]){let i={};r&1&&(i.desc=`${a[0].length} leap day${a[0].length!=1?"s":""}`),r&16387&&(i.$$scope={dirty:r,ctx:a}),e.$set(i)},i(a){n||(P(e.$$.fragment,a),n=!0)},o(a){G(e.$$.fragment,a),n=!1},d(a){J(e,a)}}}function q1(t,e,n){let a,r,i,{plugin:o}=e,l=Ne("store");Fe(t,l,h=>n(10,a=h));let{leapDayStore:s,leapDayDisabled:c}=l;Fe(t,s,h=>n(0,r=h)),Fe(t,c,h=>n(1,i=h));let u=h=>{let y=new Fs(o.app,a,h);y.onClose=()=>{!y.saved||!y.leapday.interval.length||!y.leapday.name||(y.editing?s.update(h.id,{...y.leapday}):s.add({...y.leapday}))},y.open()},d=()=>u(),m=h=>u(h),v=h=>s.delete(h.id);return t.$$set=h=>{"plugin"in h&&n(6,o=h.plugin)},[r,i,l,s,c,u,o,d,m,v]}var Tf=class extends de{constructor(e){super();he(this,e,q1,O1,le,{plugin:6})}},Sf=Tf;var Nf=Ee(require("obsidian"));var R1=Ee(Nn());var Bf=Ee(require("obsidian"));var yA=Ee(require("obsidian"));function L1(t,e=ia){let n=pn(e),{subscribe:a,set:r,update:i}=n,o=et(n,T=>T.static),l=et(n,T=>T.current),{subscribe:s}=o,c=T=>i(I=>(I.static=T,I)),u=et(o,T=>T.months),d=et(o,T=>T.weekdays),m=et(o,T=>T.years),v=et(o,T=>T.useCustomYears),h=et(o,T=>T.moons),y=et(o,T=>T.displayMoons),p=et(o,T=>T.leapDays),S=et(n,T=>T.events),_=et(n,T=>T.categories),A=et(o,T=>T.months?.length&&T.months?.every(I=>I.name?.length)&&T.months?.every(I=>I.length>0)),L=et(o,T=>T.weekdays?.length&&T.weekdays?.every(I=>I.name?.length)&&T.firstWeekDay<(T.weekdays?.length??1/0)),k=et(o,T=>!T.useCustomYears||T.useCustomYears&&T.years?.length&&T.years.every(I=>I.name?.length)),E=et(n,T=>T.name?.le
saving`,D(e,"class","save svelte-190iu8i"),D(e,"aria-label",t[7]),D(r,"class","additional svelte-190iu8i")},m(l,s){R(l,e,s),R(l,a,s),R(l,r,s),i||(o=ue(n=t[17].call(null,e)),i=!0)},p(l,s){s&128&&D(e,"aria-label",l[7])},d(l){l&&q(e),l&&q(a),l&&q(r),i=!1,o()}}}function V1(t){let e,n,a,r,i,o;return{c(){e=B("div"),a=W(),r=B("span"),r.textContent="All good! Exit to save calendar",D(e,"class","save can-save svelte-190iu8i"),D(e,"aria-label",t[7]),D(r,"class","additional can-save svelte-190iu8i")},m(l,s){R(l,e,s),R(l,a,s),R(l,r,s),i||(o=ue(n=t[17].call(null,e)),i=!0)},p(l,s){s&128&&D(e,"aria-label",l[7])},d(l){l&&q(e),l&&q(a),l&&q(r),i=!1,o()}}}function H1(t){let e,n,a=t[5]&&Of(t);return{c(){e=B("div"),a&&a.c(),D(e,"class","fantasy-calendar-creator svelte-190iu8i"),at(e,"--creator-background-color",t[2]),at(e,"--top",t[3]+"px")},m(r,i){R(r,e,i),a&&a.m(e,null),n=!0},p(r,[i]){r[5]?a?(a.p(r,i),i&32&&P(a,1)):(a=Of(r),a.c(),P(a,1),a.m(e,null)):a&&(De(),G(a,1,1,()=>{a=null}),_e()),(!n||i&4)&&at(e,"--creator-background-color",r[2]),(!n||i&8)&&at(e,"--top",r[3]+"px")},i(r){n||(P(a),n=!0)},o(r){G(a),n=!1},d(r){r&&q(e),a&&a.d()}}}function W1(t,e,n){let a,r,i,o=Fn.Platform.isMobile,l=o;$n(()=>{n(5,l=!0)});let s=Ve(),{width:c}=e,{base:u}=e,{plugin:d}=e,{color:m=null}=e,{top:v}=e,h=Mf(d,u);Fe(t,h,x=>n(4,i=x)),Zn("store",h);let y=x=>{new Fn.ExtraButtonComponent(x).setIcon("left-arrow-with-tail")},p=x=>{new Fn.ExtraButtonComponent(x).setIcon("cross").setTooltip("Exit without saving")},S=x=>{let T=x.createDiv("fantasy-calendar-apply-preset");new Fn.Setting(T).setName("Apply Preset").setDesc("Apply a common fantasy calendar as a preset.").addButton(I=>{I.setCta().setButtonText("Choose Preset").onClick(()=>{let U=new qo(d.app);U.onClose=()=>{if(!!U.saved&&(nt(h,i=(0,If.default)(U.preset),i),i?.name=="Gregorian Calendar")){let $=new Date;h.setCurrentDate({year:$.getFullYear(),month:$.getMonth(),day:$.getDate()})}},U.open()})})},_=!1,{valid:A}=h;Fe(t,A,x=>n(8,r=x));let L=()=>{if(!r&&!d.data.exit.saving){let x=new bs(d);x.onClose=()=>{x.confirmed&&n(5,l=!1),o&&s("exit",{saved:_,calendar:i})},x.open()}else n(6,_=!0),n(5,l=!1)},k=x=>{r?(0,Fn.setIcon)(x,"checkmark"):gn(x)},E=(x,T)=>o?null:Su(x,T),w=()=>{L()},N=()=>n(5,l=!1),F=()=>s("flown"),j=()=>s("exit",{saved:_,calendar:i});return t.$$set=x=>{"width"in x&&n(0,c=x.width),"base"in x&&n(19,u=x.base),"plugin"in x&&n(1,d=x.plugin),"color"in x&&n(2,m=x.color),"top"in x&&n(3,v=x.top)},t.$$.update=()=>{if(t.$$.dirty&16){e:n(7,a=Nu(i))}},[c,d,m,v,i,l,_,a,r,o,s,h,y,p,S,A,L,k,E,u,w,N,F,j]}var qf=class extends de{constructor(e){super();he(this,e,W1,H1,le,{width:0,base:19,plugin:1,color:2,top:3},P1)}},Ts=qf;var Rf;(function(a){a.none="None",a.monthly="Monthly",a.yearly="Yearly"})(Rf||(Rf={}));(0,ze.addIcon)("fantasy-calendar-grip",'<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" data-prefix="fas" data-icon="grip-lines" class="svg-inline--fa fa-grip-lines fa-w-16" role="img" viewBox="0 0 512 512"><path fill="currentColor" d="M496 288H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm0-128H16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h480c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16z"/></svg>');(0,ze.addIcon)("fantasy-calendar-warning",'<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="exclamation-triangle" class="svg-inline--fa fa-exclamation-triangle fa-w-18" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path fill="currentColor" d="M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"></path></svg>');var xi=class extends ze.PluginSettingTab{constructor(e){super(e.app,e);this.plu
var(--calendar-columns),
var(--column-widths)
);grid-auto-rows:var(--calendar-rows)}.intercalary.svelte-1cfzxxk.svelte-1cfzxxk{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;border-top:1px solid var(--background-modifier-border);border-bottom:1px solid var(--background-modifier-border);border-radius:0;align-items:center}.intercalary.svelte-1cfzxxk span.month.svelte-1cfzxxk{text-align:center}.intercalary.svelte-1cfzxxk .fantasy-month.svelte-1cfzxxk{grid-template-columns:unset;grid-auto-columns:var(--column-widths);align-items:center;justify-content:center}.leapday-container.svelte-1cfzxxk.svelte-1cfzxxk{grid-column:span var(--calendar-columns);display:flex;justify-content:center;align-items:center;border-top:1px solid var(--background-modifier-border);border-bottom:1px solid var(--background-modifier-border);color:var(--text-accent)}.full-view.svelte-1cfzxxk.svelte-1cfzxxk{height:100%;margin-bottom:0.5rem}.month.svelte-1cfzxxk.svelte-1cfzxxk{padding:0.25rem}.month-name.svelte-1cfzxxk.svelte-1cfzxxk{margin:0}.month.svelte-1cfzxxk .fantasy-day.day{padding:0px}`)}function lh(t,e,n){let a=t.slice();return a[24]=e[n],a}function uh(t,e,n){let a=t.slice();return a[24]=e[n],a}function ch(t,e,n){let a=t.slice();return a[29]=e[n],a}function dh(t,e,n){let a=t.slice();return a[29]=e[n],a}function fh(t,e,n){let a=t.slice();return a[24]=e[n],a}function hh(t){let e,n=t[1].name+"",a;return{c(){e=B("h3"),a=fe(n),D(e,"class","month-name svelte-1cfzxxk")},m(r,i){R(r,e,i),C(e,a)},p(r,i){i[0]&2&&n!==(n=r[1].name+"")&&ge(a,n)},d(r){r&&q(e)}}}function mh(t){let e,n=t[1].name+"",a;return{c(){e=B("span"),a=fe(n),D(e,"class","month svelte-1cfzxxk")},m(r,i){R(r,e,i),C(e,a)},p(r,i){i[0]&2&&n!==(n=r[1].name+"")&&ge(a,n)},d(r){r&&q(e)}}}function fb(t){let e;return{c(){e=B("div")},m(n,a){R(n,e,a)},p:Q,i:Q,o:Q,d(n){n&&q(e)}}}function hb(t){let e,n;return e=new Ar({props:{day:t[24],adjacent:!0,fullView:t[3]}}),{c(){ne(e.$$.fragment)},m(a,r){te(e,a,r),n=!0},p(a,r){let i={};r[0]&512&&(i.day=a[24]),r[0]&8&&(i.fullView=a[3]),e.$set(i)},i(a){n||(P(e.$$.fragment,a),n=!0)},o(a){G(e.$$.fragment,a),n=!1},d(a){J(e,a)}}}function ph(t){let e,n,a,r,i=[hb,fb],o=[];function l(s,c){return s[6]&&s[24]!=null?0:1}return e=l(t,[-1,-1]),n=o[e]=i[e](t),{c(){n.c(),a=Ue()},m(s,c){o[e].m(s,c),R(s,a,c),r=!0},p(s,c){let u=e;e=l(s,c),e===u?o[e].p(s,c):(De(),G(o[u],1,1,()=>{o[u]=null}),_e(),n=o[e],n?n.p(s,c):(n=o[e]=i[e](s),n.c()),P(n,1),n.m(a.parentNode,a))},i(s){r||(P(n),r=!0)},o(s){G(n),r=!1},d(s){o[e].d(s),s&&q(a)}}}function gh(t){let e,n,a,r,i,o,l,s=t[10](t[24]).next,c=[];for(let y=0;y<s.length;y+=1)c[y]=yh(dh(t,s,y));let u=[pb,mb],d=[];function m(y,p){return y[24].leapday.numbered?0:1}a=m(t,[-1,-1]),r=d[a]=u[a](t);let v=t[10](t[24]).prev,h=[];for(let y=0;y<v.length;y+=1)h[y]=vh(ch(t,v,y));return{c(){for(let y=0;y<c.length;y+=1)c[y].c();e=W(),n=B("div"),r.c(),i=W();for(let y=0;y<h.length;y+=1)h[y].c();o=Ue(),D(n,"class","leapday-container svelte-1cfzxxk")},m(y,p){for(let S=0;S<c.length;S+=1)c[S].m(y,p);R(y,e,p),R(y,n,p),d[a].m(n,null),R(y,i,p);for(let S=0;S<h.length;S+=1)h[S].m(y,p);R(y,o,p),l=!0},p(y,p){if(p[0]&256){s=y[10](y[24]).next;let _;for(_=0;_<s.length;_+=1){let A=dh(y,s,_);c[_]?c[_].p(A,p):(c[_]=yh(A),c[_].c(),c[_].m(e.parentNode,e))}for(;_<c.length;_+=1)c[_].d(1);c.length=s.length}let S=a;if(a=m(y,p),a===S?d[a].p(y,p):(De(),G(d[S],1,1,()=>{d[S]=null}),_e(),r=d[a],r?r.p(y,p):(r=d[a]=u[a](y),r.c()),P(r,1),r.m(n,null)),p[0]&256){v=y[10](y[24]).prev;let _;for(_=0;_<v.length;_+=1){let A=ch(y,v,_);h[_]?h[_].p(A,p):(h[_]=vh(A),h[_].c(),h[_].m(o.parentNode,o))}for(;_<h.length;_+=1)h[_].d(1);h.length=v.length}},i(y){l||(P(r),l=!0)},o(y){G(r),l=!1},d(y){Ge(c,y),y&&q(e),y&&q(n),d[a].d(),y&&q(i),Ge(h,y),y&&q(o)}}}function yh(t){let e;return{c(){e=B("div")},m(n,a){R(n,e,a)},p:Q,d(n){n&&q(e)}}}function mb(t){let e=t[24].leapday.name+"",n;return{c(){n=fe(e)},m(a,r){R(a,n,r)},p(a,r){r[0]&256&&e!==(e=a[24].leapday.name+"")&&ge(n,e)},i:Q,o:Q,d(a){a&&q(n)}}}function pb(t){let e=t[24].leapday.name+"",n,a,r,i;return r=new Ar({props:{day:t[24],adjacent:!1,fullView:t[3]}}),r.$on("day-click",t[12]),r.$on("
${(0,qe.stringifyYaml)(u)}
---`)),await this.saveCalendars(),d instanceof qe.TFile){let v=this.app.workspace.getLeavesOfType("markdown").find(h=>{h.view instanceof qe.FileView&&h.view.file.path==a.note});v?this.app.workspace.setActiveLeaf(v):await this.app.workspace.getUnpinnedLeaf().openFile(d,{active:!0})}})}),r.addItem(i=>{i.setTitle("Edit Event").onClick(()=>{let o=new Pa(this.plugin,this.calendar,a);o.onClose=async()=>{if(!o.saved)return;let l=this.calendar.events.find(s=>s.id==a.id);this.calendar.events.splice(this.calendar.events.indexOf(l),1,o.event),this.helper.refreshMonth(o.event.date.month,o.event.date.year),(o.event.date.month!=l.date.month||o.event.date.year!=l.date.year)&&this.helper.refreshMonth(l.date.month,l.date.year),await this.saveCalendars(),this._app.$set({calendar:this.helper}),this.triggerHelperEvent("day-update")},o.open()})}),r.addItem(i=>{i.setTitle("Delete Event").onClick(async()=>{if(!this.plugin.data.exit.event&&!await Bd(this.plugin))return;let o=this.calendar.events.find(l=>l.id==a.id);this.calendar.events.splice(this.calendar.events.indexOf(o),1),this.helper.refreshMonth(o.date.month,o.date.year),await this.saveCalendars(),this._app.$set({calendar:this.helper}),this.triggerHelperEvent("day-update")})}),r.showAtMouseEvent(n)}),this._app.$on("event",e=>{let n=e.detail;this.createEventForDay(n)}),this._app.$on("reset",()=>{this.helper.reset(),this.yearView=!1,this._app.$set({yearView:!1}),this._app.$set({dayView:!0}),this.triggerHelperEvent("day-update",!1)})}openDay(e){this.helper.viewing.day=e.day,this.helper.viewing.month=e.month,this.helper.viewing.year=e.year,this.yearView=!1,this._app.$set({yearView:!1}),this._app.$set({dayView:!0}),this.triggerHelperEvent("day-update",!1)}openDate(){if(!this.helper||!this.calendar)return;let e=new Zh(this.plugin,this.calendar);e.onClose=async()=>{!e.confirmed||(e.setCurrent?(this.calendar.current={...e.date},this.setCurrentCalendar(this.calendar)):(this.helper.displayed={...e.date},this.helper.update(),this._app.$set({calendar:this.helper})),await this.saveCalendars())},e.open()}toggleMoons(){this.moons=!this.moons,this._app.$set({moons:this.moons})}async onClose(){}onResize(){this.triggerHelperEvent("view-resized",!1)}getViewType(){return Xt}getDisplayText(){return"Fantasy Calendar"}getIcon(){return Xt}triggerHelperEvent(e,n=!0){!this.helper||(this.helper.trigger(e),n&&(this.updateMe=!1,this.plugin.app.workspace.trigger("fantasy-calendars-updated")))}async onunload(){}},$h=class extends lt{constructor(e,n){super(e.app);this.plugin=e;this.calendar=n;this.confirmed=!1}async display(){this.contentEl.empty(),this.contentEl.createEl("h4",{text:"Switch Calendars"});let e=this.contentEl.createDiv("fantasy-calendar-dropdown");e.createEl("label",{text:"Choose a Calendar"}),new qe.DropdownComponent(e).onChange(r=>{this.calendar=this.plugin.data.calendars.find(i=>i.id==r)}).addOptions(Object.fromEntries(this.plugin.data.calendars.map(r=>[r.id,r.name]))).setValue(this.calendar?this.calendar.id:null);let a=this.contentEl.createDiv("fantasy-calendar-confirm-buttons");new qe.ButtonComponent(a).setButtonText("Switch").setCta().onClick(()=>{this.confirmed=!0,this.close()}),new qe.ButtonComponent(a).setButtonText("Cancel").onClick(()=>{this.close()})}onOpen(){this.display()}},Zh=class extends lt{constructor(e,n){super(e.app);this.plugin=e;this.calendar=n;this.confirmed=!1;this.setCurrent=!1;this.date={...this.calendar.current},this.tempCurrentDays=this.date.day}async display(){this.contentEl.empty(),this.contentEl.createEl("h4",{text:"View Day"}),this.dateFieldEl=this.contentEl.createDiv("fantasy-calendar-date-fields"),this.buildDateFields(),new qe.Setting(this.contentEl).setName("Set as Current Date").setDesc("Also set this date to today's date.").addToggle(n=>n.setValue(this.setCurrent).onChange(a=>{this.setCurrent=a}));let e=this.contentEl.createDiv("fantasy-calendar-confirm-buttons");new qe.ButtonComponent(e).setButtonText("Switch").setCta().onClick(()=>{this.confirmed=!0,this.date.day=this.tempCurrentDays,this.close()}),new qe.ButtonComponent(e).setButtonText("Cancel").onClick(()=>{this.
@\`+(e.systemId||"")+"#[line:"+e.lineNumber+",col:"+e.columnNumber+"]"}function ut(e,t,n){return typeof e=="string"?e.substr(t,n):e.length>=t+n||t?new java.lang.String(e,t,n)+"":e}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\\w+/g,function(e){H.prototype[e]=function(){return null}});function oe(e,t){e.currentElement?e.currentElement.appendChild(t):e.doc.appendChild(t)}var Ot=Re(),lt=Pe(),St=lt.XMLReader,Mt=lt.ParseError,$t=ee.DOMImplementation=we().DOMImplementation;ee.XMLSerializer=we().XMLSerializer;ee.DOMParser=ot;ee.__DOMHandler=H});function ce(e,t){return(e%t+t)%t}function fe(e){return"ID_xyxyxyxyxyxy".replace(/[xy]/g,function(t){var n=Math.random()*16|0,r=t=="x"?n:n&3|8;return r.toString(16)})}var{DOMParser:Ft}=ct(),Ut=/(<(span|div).*?<\\/(span|div)>)/g,A=self,ft=class{constructor(){this.queue=[];this.parsing=!1;this.parseTitle=!1;A.addEventListener("message",t=>{if(t.data.type=="options"){let{defaultCalendar:n,addToDefaultIfMissing:r,format:i,parseTitle:s,debug:a}=t.data;this.addToDefaultIfMissing=r,this.defaultCalendar=n,this.format=i,this.parseTitle=s,this.debug=a,this.debug&&console.debug("Received options message")}}),A.addEventListener("message",t=>{if(t.data.type=="calendars"){let{calendars:n}=t.data;this.calendars=[...n],this.debug&&console.debug("Received calendars message")}}),A.addEventListener("message",t=>{t.data.type=="queue"&&(this.add(...t.data.paths),this.debug&&console.debug(\`Received queue message for \${t.data.paths.length} paths\`))})}add(...t){this.debug&&console.debug(\`Adding \${t.length} paths to queue\`),this.queue.push(...t),this.parsing||this.parse()}async parse(){for(this.parsing=!0;this.queue.length;){let t=this.queue.shift();this.debug&&console.debug(\`Parsing \${t} for calendar events (\${this.queue.length} to go)\`),await this.getFileData(t)}this.parsing=!1,this.debug&&console.info("Parsing complete"),A.postMessage({type:"save"})}async getFileData(t){let n=this;return new Promise(r=>{function i(s){if(s.data.type=="queue"){A.removeEventListener("message",i),r();return}if(s.data.type!="file"||s.data.path!=t)return;A.removeEventListener("message",i);let{data:a,cache:o,allTags:c,file:l}=s.data;n.parseFileForEvents(a,o,c,l),r()}setTimeout(()=>r(),500),A.addEventListener("message",i),A.postMessage({path:t,type:"get"})})}getDataFromFrontmatter(t){let n,r,i;return t&&"fc-ignore"in t?{}:(t&&(n=t==null?void 0:t["fc-calendar"],r=t==null?void 0:t["fc-category"],i=t==null?void 0:t["fc-display-name"]),this.addToDefaultIfMissing&&(!n||!n.length)&&(n=this.defaultCalendar),n=n==null?void 0:n.toLowerCase(),{calendar:this.calendars.find(a=>n==a.name.toLowerCase()),fcCategory:r,eventDisplayName:i})}removeEventsFromFile(t){for(let n of this.calendars)for(let r=0;r<n.events.length;r++){let i=n.events[r];!i||!i.note||i.note!=t||A.postMessage({event:i,id:n.id,index:r,type:"delete"})}}parseFileForEvents(t,n,r,i){var v,_,g,d,O,z;let s=[],{frontmatter:a}=n!=null?n:{},{calendar:o,fcCategory:c,eventDisplayName:l}=this.getDataFromFrontmatter(a);if(!o){this.debug&&console.info(\`Could not find calendar associated with file \${i.basename}\`),this.removeEventsFromFile(i.path);return}let u=[];o.supportTimelines&&r&&r.map(h=>h.replace(/#/,"")).includes(o.timelineTag.replace(/#/,""))&&(u=this.parseTimelineEvents(o,t,i,c),s.push(...u));let m=this.parseFrontmatterEvents(o,c,a,i,l);if(s.push(...m),!s||!s.length){this.removeEventsFromFile(i.path);return}let p=0;for(let h of s){let f=o.events.find(b=>b.note==i.path&&(!h.timestamp||b.timestamp==h.timestamp));(f==null?void 0:f.date.day)==h.date.day&&(f==null?void 0:f.date.month)==h.date.month&&(f==null?void 0:f.date.year)==h.date.year&&((v=f==null?void 0:f.end)==null?void 0:v.day)==((_=h.end)==null?void 0:_.day)&&((g=f==null?void 0:f.end)==null?void 0:g.month)==((d=h.end)==null?void 0:d.month)&&((O=f==null?void 0:f.end)==null?void 0:O.year)==((z=h.end)==null?void 0:z.year)&&(f==null?void 0:f.category)==h.category&&(f==null?void 0:f.name)==h.name&&(!h.
`)}var Qh=class extends Jt.FuzzySuggestModal{constructor(e){super(e.app);this.plugin=e}getItems(){return this.plugin.data.calendars}getItemText(e){return e.name}onChooseItem(e,n){this.chosen=e,this.close()}},Ms=class extends Jt.Component{constructor(e){super();this.plugin=e;this.queue=new Set;this.tree=new Map;this.worker=new Ns}get calendars(){return this.plugin.data.calendars}get metadataCache(){return this.plugin.app.metadataCache}get vault(){return this.plugin.app.vault}onload(){this.plugin.addCommand({id:"rescan-events",name:"Rescan Events",callback:()=>{this.plugin.data.debug&&console.info("Beginning full rescan for calendar events"),this.start()}}),this.plugin.addCommand({id:"rescan-events-for-calendar",name:"Rescan Events for Calendar",callback:()=>{let e=new Qh(this.plugin);e.onClose=()=>{e.chosen&&(this.plugin.data.debug&&console.info("Beginning full rescan for calendar events for calendar "+e.chosen.name),this.start(e.chosen))},e.open()}}),this.worker.postMessage({type:"calendars",calendars:this.calendars}),this.registerEvent(this.plugin.app.workspace.on("fantasy-calendars-updated",()=>{this.worker.postMessage({type:"calendars",calendars:this.calendars})})),this.worker.postMessage({type:"options",parseTitle:this.plugin.data.parseDates,addToDefaultIfMissing:this.plugin.data.addToDefaultIfMissing,format:this.plugin.format,defaultCalendar:this.plugin.defaultCalendar?.name,debug:this.plugin.data.debug}),this.registerEvent(this.plugin.app.workspace.on("fantasy-calendar-settings-change",()=>{this.worker.postMessage({type:"options",parseTitle:this.plugin.data.parseDates,addToDefaultIfMissing:this.plugin.data.addToDefaultIfMissing,format:this.plugin.format,defaultCalendar:this.plugin.defaultCalendar?.name,debug:this.plugin.data.debug})})),this.registerEvent(this.metadataCache.on("changed",e=>{this.queue.has(e.path)||this.startParsing([e.path])})),this.registerEvent(this.vault.on("rename",async(e,n)=>{if(!!this.calendars.length&&e instanceof Jt.TFile){for(let a of this.calendars)a.events=a.events.filter(r=>r.note!=n);this.worker.postMessage({type:"calendars",calendars:this.calendars}),this.startParsing([e.path])}})),this.registerEvent(this.vault.on("delete",async e=>{if(e instanceof Jt.TFile){for(let n of this.calendars){let a=n.events.filter(r=>r.note===e.path);n.events=n.events.filter(r=>r.note!=e.path);for(let r of a)this.addToTree(n,r)}await this.plugin.saveCalendar(),this.plugin.app.workspace.trigger("fantasy-calendars-event-update",this.tree),this.tree=new Map}})),this.worker.addEventListener("message",async e=>{if(e.data.type=="get"){let{path:n}=e.data;this.queue.delete(n);let a=this.plugin.app.vault.getAbstractFileByPath(n);if(a instanceof Jt.TFile){let r=this.metadataCache.getFileCache(a),i=(0,Jt.getAllTags)(r),o=await this.vault.cachedRead(a);this.worker.postMessage({type:"file",path:n,cache:r,file:{path:a.path,basename:a.basename},allTags:i,data:o})}else if(a instanceof Jt.TFolder){let r=a.children.map(i=>i.path);this.startParsing(r)}}}),this.worker.addEventListener("message",async e=>{if(e.data.type=="update"){let{id:n,index:a,event:r,original:i}=e.data,o=this.calendars.find(l=>l.id==n);if(!o)return;a==-1?(this.plugin.data.debug&&console.debug(`Adding '${r.name}' to ${o.name}`),o.events.push(r)):(this.plugin.data.debug&&console.debug(`Updating '${r.name}' in calendar ${o.name}`),o.events.splice(a,a>=0?1:0,r)),this.addToTree(o,r),i&&this.addToTree(o,i)}}),this.worker.addEventListener("message",async e=>{if(e.data.type=="delete"){let{id:n,index:a,event:r}=e.data;if(!r)return;let i=this.calendars.find(o=>o.id==n);if(!i)return;this.plugin.data.debug&&console.debug(`Removing '${r.name}' from ${i.name}`),i.events=i.events.filter(o=>o.id!=r.id),this.addToTree(i,r)}}),this.worker.addEventListener("message",async e=>{e.data.type=="save"&&(this.plugin.data.debug&&console.debug("Received save event from file watcher"),this.plugin.app.workspace.trigger("fantasy-calendars-event-update",this.tree),this.tree=new Map,await this.plugin.saveCalendar())}),this.start()}start(e){let n=e?[e]:this.calendars;if(!n.length)return;l
${o.join(`
`)}`);return}let i=a.getDayForDate({year:e.year,month:r,day:e.day});return{moons:i.moons,events:i.events,date:i.date,longDate:i.longDate,leapDay:i.leapday,weekday:i.weekday,displayDate:Kt(i.date,a.calendar)}}async addCategoryToCalendar(e,n=this.plugin.defaultCalendar){if(!e)throw new Error("Category is required.");if(!e.name||!e.color)throw new Error("A category requires a name and a color.");if(e.id||(e.id=Ze(6)),typeof n=="string"&&(n=this.plugin.data.calendars.find(a=>a.name==n)??this.plugin.defaultCalendar),!n||typeof n!="object"||!("categories"in n))throw new Error("Invalid calendar provided.");n.categories.push(e),await this.plugin.saveCalendar()}getHelper(e=this.plugin.defaultCalendar){return new Wa(e,this.plugin)}};var qs=Ee(Nn());var Xh=Wn.Platform.isMacOS?"Meta":"Control",ia={name:null,description:null,id:null,static:{incrementDay:!1,firstWeekDay:null,overflow:!0,weekdays:[],months:[],moons:[],displayMoons:!0,displayDayNumber:!1,leapDays:[],eras:[]},current:{year:null,month:null,day:null},events:[],categories:[],autoParse:!1,path:"/",supportTimelines:!1,syncTimelines:!0,timelineTag:"#timeline"},Jh={addToDefaultIfMissing:!0,calendars:[],configDirectory:null,currentCalendar:null,dailyNotes:!1,dateFormat:"YYYY-MM-DD",defaultCalendar:null,eventPreview:!1,exit:{saving:!1,event:!1,calendar:!1},eventFrontmatter:!1,parseDates:!1,settingsToggleState:{calendars:!1,events:!1,advanced:!0},showIntercalary:!1,version:{major:null,minor:null,patch:null},debug:!1},Rs=class extends Wn.Plugin{constructor(){super(...arguments);this.api=new Os(this);this.watcher=new Ms(this);this.save=(0,Wn.debounce)(async e=>{if(this.configDirectory)try{await this.app.vault.adapter.exists(this.configDirectory)||await this.app.vault.adapter.mkdir(this.configDirectory),await this.app.vault.adapter.write(this.configFilePath,JSON.stringify(e))}catch(n){console.error(n),new Wn.Notice("There was an error saving into the configured directory.")}await this.saveData(e)},200)}async addNewCalendar(e,n){let a=!n||e.name!=n?.name||e.autoParse&&!n?.autoParse||e.path!=n?.path;n==null?this.data.calendars.push(e):this.data.calendars.splice(this.data.calendars.indexOf(n),1,e),this.data.defaultCalendar||(this.data.defaultCalendar=e.id),a&&this.watcher.start(e),await this.saveCalendar()}get currentCalendar(){return this.data.calendars.find(e=>e.id==this.data.currentCalendar)}get canUseDailyNotes(){return this.dailyNotes._loaded}get dailyNotes(){return this.app.internalPlugins.getPluginById("daily-notes")}get canUseTimelines(){return this.app.plugins.getPlugin("obsidian-timelines")!=null}syncTimelines(e){return e.syncTimelines&&this.canUseTimelines}timelineTag(e){let n=e.timelineTag;return this.syncTimelines(e)&&(n=this.app.plugins.getPlugin("obsidian-timelines").settings.timelineTag),/^#/.test(n)||(n=`#${n}`),n??e.timelineTag??""}get format(){return(this.data.dailyNotes&&this.canUseDailyNotes?this.dailyNotes.instance.options.format:this.data.dateFormat)??"YYYY-MM-DD"}get defaultCalendar(){return this.data.calendars.find(e=>e.id==this.data.defaultCalendar)??this.data.calendars[0]}get view(){let e=this.app.workspace.getLeavesOfType(Xt),n=e.length?e[0]:null;if(n&&n.view&&n.view instanceof Hn)return n.view}get full(){let e=this.app.workspace.getLeavesOfType(fa),n=e.length?e[0]:null;if(n&&n.view&&n.view instanceof Hn)return n.view}async onload(){console.log("Loading Fantasy Calendars v"+this.manifest.version),(window.FantasyCalendarAPI=this.api)&&this.register(()=>delete window.FantasyCalendarAPI),this.registerView(Xt,e=>new Hn(this,e)),this.registerView(fa,e=>new Hn(this,e,{full:!0})),this.app.workspace.onLayoutReady(async()=>{await this.loadSettings(),this.watcher.load(),this.addCommands(),this.addSettingTab(new xi(this)),this.addCalendarView(!0)}),this.addRibbonIcon(Xt,"Open Large Fantasy Calendar",e=>{this.app.workspace.getLeaf(e.getModifierState(Xh)).setViewState({type:fa})})}async onunload(){console.log("Unloading Fantasy Calendars v"+this.manifest.version),this.app.workspace.getLeavesOfType(Xt).forEach(e=>e.detach()),this.app.workspace.getLeavesOfType(fa).forEach(
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
/*! https://mths.be/he v1.2.0 by @mathias | MIT license */
/**
* chroma.js - JavaScript library for color conversions
*
* Copyright (c) 2011-2019, Gregor Aisch
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* 3. The name Gregor Aisch may not be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL GREGOR AISCH OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* -------------------------------------------------------
*
* chroma.js includes colors from colorbrewer2.org, which are released under
* the following license:
*
* Copyright (c) 2002 Cynthia Brewer, Mark Harrower,
* and The Pennsylvania State University.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific
* language governing permissions and limitations under the License.
*
* ------------------------------------------------------
*
* Named colors are taken from X11 Color Names.
* http://www.w3.org/TR/css3-color/#svg-color
*
* @preserve
*/